Beiträge von Syreldar

    The truth is, unfortunately i'm not that good in c++, many of the languages i'm good at are useless in the metin2 environment.. so i tried to make the modification as simple as possible to understand, even for the newbies.


    I'm open to more appropriate approaches to the problem, if anyone is willing to improve it!


    By using vector you mean doing like this?


    This is so basic..


    You can't mantain any secondary skill if you don't have selected a doctrine..it has always been like this. If you don't select a class it will get reset every time you login.

    Actually there is 2 columns, one that decreases with time (only when summoned), and another one that have the initial full time value and that one never change. the one that change name is "duration", the other one is "tduration", they are both in minutes.

    Line 1019:

    Code
    1. if (0 != petActor && petActor->IsSummoned())
    2. // if (0 != petActor)
    3. {
    4. petActor->UpdateTime();
    5. }

    replace with:



    Code
    1. if (0 != petActor)
    2. {
    3. petActor->UpdateTime();
    4. }

    should work fine.

    The item_proto string

    Code
    1. 55701 ȏƮݒȯǐ ITEM_QUEST 0 1 ANTI_DROP LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0

    the file that I believe it's responsible
    Bitte melden Sie sich an, um diesen Link zu sehen.
    if you want the whole archive Bitte melden Sie sich an, um diesen Link zu sehen., I beileve that it's similar.


    there is a duration column in the newpet table, and I believe that the time only changes when the pet is summoned

    is the column value the one that decreases with time? And what's the name of the column?

    Hello, pretty sure every single one of you knows about the Dispel and Heal Lag problem that has been around since always.
    This little modification will fix both these problems completely.


    Problem:
    The RemoveAffect function calls ComputePoints() (Complete rearrange of all the player stats and equip parts, one of the heaviest checks).
    The correct function to use is RefreshAffect() which does its job pretty fine!
    But that's not the only problem: Based on the current code, that function would get called every single time an affect gets removed or added, while it should only get called once, at the end of the process.


    Solution: We could make new functions for those 2 special flags (REMOVE_BAD_AFFECT and REMOVE_GOOD_AFFECT), but in order to keep things simple for you guys, i'll simply "dynamicize" the RemoveAffect function.


    1. go to char_affect.cpp:


    2: go to char.h:


    This way, we applied a simple boolean value arg to the RemoveAffect function, which will get set to true by default.
    By setting it to false like this:


    RemoveAffect(affectLUL, false);


    We are basically saying the game to not Rearrange the points when affectLUL gets removed.
    Now we will use a cycle to do that for every affect like usual, and we will rearrange of the points just once, at the end of the process, like it should be.


    Done!


    Comparison:


    Before: Bitte melden Sie sich an, um diesen Link zu sehen.
    After: Bitte melden Sie sich an, um diesen Link zu sehen.

    Folgender Binary Fehler :


    Habe schon nach Lösung ansetzen geschaut und selber rum Probiert Leider Ohne Erfolg.

    The system is completely working, you did something wrong or forgot some parts, pay attention.