Jump to content
  • http://www.wowhead.com/quest=5624


    Ammon
    • Status: Completed
      Main Category: Core / Mangos Daemon
      Sub-Category: Quest
      Version: 0.20 Milestone: 20 Priority: Normal
      Implemented Version: 0.20

    http://www.wowhead.com/quest=5624

    Сan not perform the quest Garments of the Light.I can't heal Guard Roberts.Character heals itself.


    User Feedback

    Recommended Comments

    madmax

    Posted

    Changed Status to Awaiting Feedback

    Changed Implemented Version to Unset

    Changed Milestone to 22

    Changed Priority to Normal

    Changed Category to Quest

    Jefferson Puchalski

    Posted

    Still same as me.

    Do all script stuff, and he fade way. player dont get quest complete.

    Or if we .kill on npc. quest is completed.

    Necrovoice

    Posted

    Looking into this. The quest works as intended with correct spells Lesser heal (Rank2), Power Word: Fortitude(Rank1). The NPC will respond and run away.. quest credit is whats lacking here.

    Jefferson Puchalski

    Posted

    If we give .die on npc, we got credit. I think its a miss understand im SD3 scripts. i tring debug with Linux and WIndows

    Olion

    Posted

    This refactoring commit was inaccurate and had killed the

    Player::TalkedToCreature(

     method giving KC. To fix it, remove this line containing

    { continue; }

    which was erroneously left of a removed conditional operator.

    Jefferson Puchalski

    Posted

    12 hours ago, Necrovoice said:

    It works on m1 and M2 if that helps you. 

    1 hour ago, Olion said:

    This refactoring commit was inaccurate and had killed the

    
    Player::TalkedToCreature(

     method giving KC. To fix it, remove this line containing

    
    { continue; }

    which was erroneously left of a removed conditional operator.

    Sorry i didint see this commit, i will try apply and see if works. Tnx Olion and Necrovoice :D

    Jefferson Puchalski

    Posted (edited)

    Thread 5 "mangosd" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7fffed979700 (LWP 6870)]
    0x00007ffff5861cfb in vfprintf () from /lib64/libc.so.6


    looking forward to see whats happen.
    using gdb

    backtrace.txt

    Edited by Jefferson Puchalski
    Add infos
    Olion

    Posted

    This is your custom logging in the SD3 script. Just take the original npcs_special.cpp and change only Player.cpp as described above.

    Jefferson Puchalski

    Posted

    10 hours ago, Olion said:

    This is your custom logging in the SD3 script. Just take the original npcs_special.cpp and change only Player.cpp as described above.

    Cleam git clone, made changes but still same problem.

     

    #0  0x00007ffff5861cfb in vfprintf () from /lib64/libc.so.6
    #1  0x0000555556611d0b in vutf8printf (out=0x7ffff5bb75a0 <_IO_2_1_stdout_>, str=0x555556bd77f7 "Player GUID : %s", ap=0x7fffed1766a0) at /home/jefferson/wowserver/getmangos/serverZero/src/shared/Utilities/Util.cpp:495
    #2  0x0000555556609fa2 in Log::outString (this=0x555557184fc0, str=0x555556bd77f7 "Player GUID : %s") at /home/jefferson/wowserver/getmangos/serverZero/src/shared/Log/Log.cpp:398
    #3  0x00005555568f5a4d in npc_garments_of_quests::npc_garments_of_questsAI::SpellHit (this=0x7fffc6838fc0, pCaster=0x7fffc6c3b300, pSpell=0x7fffe32b5290)
        at /home/jefferson/wowserver/getmangos/serverZero/src/modules/SD3/scripts/world/npcs_special.cpp:1108
    #4  0x00005555563ac63d in Spell::DoAllEffectOnTarget (this=0x7fffd4262f20, target=0x7fffd4003620) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Spell.cpp:1128
    #5  0x00005555563b3366 in Spell::handle_immediate (this=0x7fffd4262f20) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Spell.cpp:2891
    #6  0x00005555563b31e4 in Spell::cast (this=0x7fffd4262f20, skipCheck=false) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Spell.cpp:2871
    #7  0x00005555563b40c3 in Spell::update (this=0x7fffd4262f20, difftime=100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Spell.cpp:3101
    #8  0x00005555563bfe5d in SpellEvent::Execute (this=0x7fffd40053c0, e_time=21275, p_time=100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Spell.cpp:6410
    #9  0x0000555556615842 in EventProcessor::Update (this=0x7fffc6c3b478, p_time=100) at /home/jefferson/wowserver/getmangos/serverZero/src/framework/Utilities/EventProcessor.cpp:53
    #10 0x00005555561b1e66 in Unit::Update (this=0x7fffc6c3b300, update_diff=100, p_time=100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/Object/Unit.cpp:318
    #11 0x00005555560db577 in Player::Update (this=0x7fffc6c3b300, update_diff=100, p_time=100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/Object/Player.cpp:1149
    #12 0x00005555562e2edd in WorldObject::UpdateHelper::Update (this=0x7fffed176d20, time_diff=100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/Object/Object.h:467
    #13 0x00005555563171b1 in Map::Update (this=0x55555b3d1530, t_diff=@0x7fffc71b8f50: 100) at /home/jefferson/wowserver/getmangos/serverZero/src/game/WorldHandlers/Map.cpp:534
    #14 0x00005555564c6480 in MapUpdateRequest::call (this=0x7fffc71b8f30) at /home/jefferson/wowserver/getmangos/serverZero/src/game/Maps/MapUpdater.cpp:50
    #15 0x000055555660d547 in DelayExecutor::svc (this=0x55555b510450) at /home/jefferson/wowserver/getmangos/serverZero/src/shared/Threading/DelayExecutor.cpp:67
    #16 0x00007ffff773eac4 in ACE_Task_Base::svc_run (args=0x55555b510450) at /home/jefferson/wowserver/getmangos/serverZero/dep/acelite/ace/Task.cpp:260
    #17 0x00007ffff773f2d2 in ACE_Thread_Adapter::invoke_i (this=0x55555b510c20) at /home/jefferson/wowserver/getmangos/serverZero/dep/acelite/ace/Thread_Adapter.cpp:161
    #18 0x00007ffff773f164 in ACE_Thread_Adapter::invoke (this=0x55555b510c20) at /home/jefferson/wowserver/getmangos/serverZero/dep/acelite/ace/Thread_Adapter.cpp:96
    #19 0x00007ffff7654edf in ace_thread_adapter (args=0x55555b510c20) at /home/jefferson/wowserver/getmangos/serverZero/dep/acelite/ace/Base_Thread_Adapter.cpp:126
    #20 0x00007ffff5bc3280 in start_thread () from /lib64/libpthread.so.0
    #21 0x00007ffff5906f9d in clone () from /lib64/libc.so.6

     

    Olion

    Posted

    Alright, let's analyze the log together. We start, for example, from record #4.

    Spell.cpp:1128 :

    { ((Creature*)unit)->AI()->SpellHit(m_caster, m_spellInfo); }

    The SpellHit method appears on the next record, #3, as a deeper one in the calling sequence. npcs_special.cpp:1108 :

    ((Player*)pCaster)->TalkedToCreature(m_creature->GetEntry(), m_creature->GetObjectGuid());

    The next method in the stack trace (from record #2), Log::outString(), is not referenced here. But wait, maybe one of the two RHS methods, GetEntry() or GetObjectGuid(), was compiled inline and calls the log? Look at Object.h:

    150   ObjectGuid const& GetObjectGuid() const { return GetGuidValue(OBJECT_FIELD_GUID); }
    155   uint32 GetEntry() const { return GetUInt32Value(OBJECT_FIELD_ENTRY); }

    None of the methods is defined as virtual, they may not be (and actually are not) overridden. Also, these methods are far too popular to have any logging inside. The Player::TalkedToCreature() method is too long to be auto-inlined by any sane compiler (and does not contain logging anyway). The only conclusion left to us, is that some s**t happened at npcs_special.cpp:1108.

    At this point I cannot help further except by a hint. Do "a fresh clone" only into an empty directory, not forgetting --recursive parameter.

    P.S. The usual cause of such crash is the difference between std::string and C string. The later is awaited by any C print(). So, to print GUID for example, you need the c_str() conversion:

    GetGuidStr().c_str();

     

    Jefferson Puchalski

    Posted

    Oh olion i got It. Realy thanks for class here about game structure. Yep i figure out the error as vprintf its a mesa with C strings and std strings. I really apreceiated u Lost ir time explaing tô me . Now i Will delete repo and clone again with This args you Said.

    Olion

    Posted

    There were no doubts.

    Now, if you just commit the Player.cpp change since 1) you've tested that and 2) no need to catch the developer who broke the method if he doesn't read the bugtracker.

    Btw the last fix to the script was mine, two and a half years ago. There was SetPvP() method missing which disallowed player's positive casts on the mobs. The same effect must be achievable with a `creature_template`.`UnitFlags` setting though. Also, OOC health regen is disabled through `creature_template`.`RegenerateStats`.

    Olion

    Posted

    Changed Status to Completed

    Changed Type to Core

    madmax

    Posted

    Changed Implemented Version to 0.20

    Changed Milestone to 20



    Guest
    This is now closed for further comments

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use