Jump to content

NetSky

Members
  • Posts

    127
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by NetSky

  1. Core: 9086 (But this crash is soo old for me)

    SD2: 1532

    Custom: Mtmaps, DualSpec

    Program received signal SIGSEGV, Segmentation fault.
    [Cambiando a Thread 0x7ff5e3ffe910 (LWP 764)]
    WorldSession::HandleMovementOpcodes (this=0x7fe7d6326da0, 
       recv_data=<value optimized out>)
       at ../../../src/game/MovementHandler.cpp:307
    307        movementInfo.guid = mover->GetGUID();
    #0  WorldSession::HandleMovementOpcodes (this=0x7fe7d6326da0, 
       recv_data=<value optimized out>)
       at ../../../src/game/MovementHandler.cpp:307
    #1  0x00000000007d2acd in WorldSession::Update (this=0x7fe7d6326da0)
       at ../../../src/game/WorldSession.cpp:230
    #2  0x00000000007c701a in World::UpdateSessions (this=0x7ffbf802c460, diff=448)
       at ../../../src/game/World.cpp:2113
    #3  0x00000000007c7b58 in World::Update (this=0x7ffbf802c460, diff=448)
       at ../../../src/game/World.cpp:1656
    #4  0x00000000004de67c in WorldRunnable::run (this=<value optimized out>)
       at ../../../src/mangosd/WorldRunnable.cpp:60
    #5  0x000000000087faea in ACE_Based::Thread::ThreadTask (param=0x7fe7547ee150)
       at ../../../src/shared/Threading.cpp:183
    #6  0x00007ffdfe2c7a04 in start_thread () from /lib/libpthread.so.0
    #7  0x00007ffdfd8867bd in clone () from /lib/libc.so.6
    #8  0x0000000000000000 in ?? ()
    #0  WorldSession::HandleMovementOpcodes (this=0x7fe7d6326da0, 
       recv_data=<value optimized out>)
       at ../../../src/game/MovementHandler.cpp:307
           opcode = 238
           mover = 0x7fe7547ee150
           plMover = 0x0
           data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0, 
               _wpos = 0, 
               _storage = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = {
                   _M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, 
                     _M_start = 0x7fe765953a30 "`\\214!Üç\\177", 
                     _M_finish = 0x7fe765953a30 "`\\214!Üç\\177", 
                     _M_end_of_storage = 0x7fe765953a62 ""}}, <No data fields>}}, 
             m_opcode = 238}
           guid = <value optimized out>
           movementInfo = {guid = 280373, flags = 4096, unk1 = 0, 
             time = 4046865250, x = 1228.57617, y = 825.173096, z = -66.5216217, 
             o = 3.46971655, t_guid = 0, t_x = 0, t_y = 0, t_z = 0, t_o = 0, 
             t_time = 0, t_seat = 0 '\\000', s_pitch = 0, fallTime = 0, j_unk = 0, 
             j_sinAngle = -0.946648598, j_cosAngle = -0.322267592, 
             j_xyspeed = 17.0900002, u_unk1 = 0}
    #1  0x00000000007d2acd in WorldSession::Update (this=0x7fe7d6326da0)
       at ../../../src/game/WorldSession.cpp:230
           packet = 0x7fe7b4456e50
           currTime = <value optimized out>
    #2  0x00000000007c701a in World::UpdateSessions (this=0x7ffbf802c460, diff=448)
       at ../../../src/game/World.cpp:2113
           sess = <value optimized out>
    #3  0x00000000007c7b58 in World::Update (this=0x7ffbf802c460, diff=448)
       at ../../../src/game/World.cpp:1656
           autobroadcaston = 0
    #4  0x00000000004de67c in WorldRunnable::run (this=<value optimized out>)
       at ../../../src/mangosd/WorldRunnable.cpp:60
           diff = 448
           realCurrTime = 4046865222
           realPrevTime = <value optimized out>
           prevSleepTime = 0
    #5  0x000000000087faea in ACE_Based::Thread::ThreadTask (param=0x7fe7547ee150)
       at ../../../src/shared/Threading.cpp:183
    No locales.
    #6  0x00007ffdfe2c7a04 in start_thread () from /lib/libpthread.so.0
    No symbol table info available.
    #7  0x00007ffdfd8867bd in clone () from /lib/libc.so.6
    No symbol table info available.
    #8  0x0000000000000000 in ?? ()
    No symbol table info available.
     14 Thread 0x7fe9e3ff8910 (LWP 770)  0x00007ffdfd886df8 in epoll_wait ()
      from /lib/libc.so.6
     13 Thread 0x7febe3ff9910 (LWP 769)  0x00007ffdfe2cec34 in __lll_lock_wait ()
      from /lib/libpthread.so.0
     12 Thread 0x7fede3ffa910 (LWP 768)  0x00007ffdfd886df8 in epoll_wait ()
      from /lib/libc.so.6
     11 Thread 0x7fefe3ffb910 (LWP 767)  0x00007ffdfe2cf8f1 in nanosleep ()
      from /lib/libpthread.so.0
     10 Thread 0x7ff1e3ffc910 (LWP 766)  0x00007ffdfd87f3c2 in select ()
      from /lib/libc.so.6
     9 Thread 0x7ff3e3ffd910 (LWP 765)  0x00007ffdfd84aed1 in nanosleep ()
      from /lib/libc.so.6
    * 8 Thread 0x7ff5e3ffe910 (LWP 764)  WorldSession::HandleMovementOpcodes (
       this=0x7fe7d6326da0, recv_data=<value optimized out>)
       at ../../../src/game/MovementHandler.cpp:307
     7 Thread 0x7ff7e3fff910 (LWP 763)  0x00007ffdfe2cc5a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
     5 Thread 0x7ff9f7ffe910 (LWP 761)  0x00007ffdfe2cc5a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
     4 Thread 0x7ffbf7fff910 (LWP 760)  0x00007ffdfe2cf0cb in read ()
      from /lib/libpthread.so.0
     3 Thread 0x7ffdfd353910 (LWP 759)  0x00007ffdfe2cc5a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
     1 Thread 0x7ffdfffec710 (LWP 755)  0x00007ffdfe2c8cfd in pthread_join ()
      from /lib/libpthread.so.0
    
    Thread 14 (Thread 0x7fe9e3ff8910 (LWP 770)):
    #0  0x00007ffdfd886df8 in epoll_wait () from /lib/libc.so.6
    No symbol table info available.
    #1  0x00007ffdffaf67d2 in ACE_Dev_Poll_Reactor::work_pending_i (
       this=0x7ff7e9744350, max_wait_time=0x7fe9e3ff8050)
       at ../../ace/Dev_Poll_Reactor.cpp:960
           timer_buf = {static zero = {
               static zero = <same as static member of an already seen type>, 
               static max_time = {
                 static zero = <same as static member of an already seen type>, 
                 static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
             static max_time = <same as static member of an already seen type>, 
             tv_ = {tv_sec = 0, tv_usec = 1709}}
           this_timeout = 0xfffffffffffffffc
           nfds = <value optimized out>
    #2  0x00007ffdffaf9dec in ACE_Dev_Poll_Reactor::handle_events_i (
       this=0x7ff7e9744350, max_wait_time=0x7fe9e3ff8050, guard=...)
       at ../../ace/Dev_Poll_Reactor.cpp:1030
           result = <value optimized out>
    #3  0x00007ffdffaf9fb6 in ACE_Dev_Poll_Reactor::handle_events (
       this=0x7ff7e9744350, max_wait_time=0x7fe9e3ff8050)
       at ../../ace/Dev_Poll_Reactor.cpp:1012
           countdown = {<ACE_Copy_Disabled> = {<No data fields>}, 
             max_wait_time_ = 0x7fe9e3ff8050, start_time_ = {static zero = {
                 static zero = <same as static member of an already seen type>, 
                 static max_time = {
                   static zero = <same as static member of an already seen type>, 
                   static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
               static max_time = <same as static member of an already seen type>, 
               tv_ = {tv_sec = 1262472282, tv_usec = 977999}}, stopped_ = false}
           guard = {token_ = @0x7ff7e9744378, owner_ = 1}
           result = -1
    #4  0x00007ffdffb51d6d in ACE_Reactor::run_reactor_event_loop (
       this=0x7ff7ea2d6210, tv=..., eh=0) at ../../ace/Reactor.cpp:271
           result = 1
    #5  0x00000000007da00b in ReactorRunnable::svc (this=0x7ff7e97440f8)
       at ../../../src/game/WorldSocketMgr.cpp:167
           interval = {static zero = {
               static zero = <same as static member of an already seen type>, 
               static max_time = {
                 static zero = <same as static member of an already seen type>, 
                 static max_time = <same as static member of an already seen type>, tv_ = {tv_sec = 0, tv_usec = 0}}, tv_ = {tv_sec = 0, tv_usec = 0}}, 
             static max_time = <same as static member of an already seen type>, 
             tv_ = {tv_sec = 0, tv_usec = 1709}}
    #6  0x00007ffdffb77017 in ACE_Task_Base::svc_run (args=<value optimized out>)
       at ../../ace/Task.cpp:275
           t = 0x7ff7e97440f8
           svc_status = <value optimized out>
    #7  0x00007ffdffb783a1 in ACE_Thread_Adapter::invoke (this=0x7ff7e9744c10)
       at ../../ace/Thread_Adapter.cpp:98
           exit_hook_instance = <value optimized out>
           exit_hook_maybe = {instance_ = 0x0}
           exit_hook_ptr = <value optimized out>
    #8  0x00007ffdfe2c7a04 in start_thread () from /lib/libpthread.so.0

    Al guid in movementInfo in all my crashes are Hunter, and mostly low lvls 16 - 29

    Please, make Kero99 very happy with some info about this crash, i only need resolve this to have a dream of stable server :P

    Best Regard

    hi there

    you could fix this with check if mover still present and return if not but you will get other not traceable crashes i already tried this ;)

  2. anyways this core sided cooldown check would be good as temporary solution till something like mangos-"warden" is possible ^^

    i was thinking of some external program for clients like punkbuster

    this would open possibilities to check clients cheating without harming server performance at all

  3. hmm ok maybe there are some adjustments needed i am working with a source with an enormous amount of changes compared to git but there should be no problem for a git compatible version this time i will push a repo @ git again because it is easier to review i have also needed data gathered for mounts like tundra mammoth e.g. but i could not test because i am testing on my own :D

    vehicles i got working :

    - All DK start vehicles

    - Most Wintergrasp related vehicles(missing data for new ones of 3.22 - but maybe this these are only for use in new battleground (sry i forgot the name beacuse i am not playing often :) ) )

    - All Argent Championship vehicles

    - All Ulduar vehicles

    - some additional vehicles(but need aditional implementation in package handling and playermount handling(e.g. implement player_click_spells similar to npc_click_spells :) )

    This is not yet finished still a lot of work to do

    e.g. different energytypes of vehicles still missing

  4. i will update mine soon - as long as i am working with a modified version of the actual patch i did not realize which major bugs could be there.... transport unitflag was not added correctly for passive passenngers or passive vehicle pilots, movement packages were not handled correctly...

    btw gathered also data for additional vehicles getting rid of vehicle_data and vehicle_seat_data by generic use of dbc seem to be no good ides since many vehicles need custom flags for correct work.

  5. unfortunatelly not :( if you apply any action in ScriptedAI npc leave MotionMaster->MoveFollow() and standing in one place. Hacks like this http://www.scriptdev2.com/dev-small-pet-t4609.html rewriting whole Pet behaviour are needed than.

    no you are wrong it is working as intended if you use core implemented guardian ai :)

    just as i said spells have to be added with autocastflag when guardian is created and everything is working fine ;)

    as far as i can see scripted ai maybe usefull for runeblade summon but nothing else... others can be soluted better with no waste of code :)

  6.        if (unitPlayer && target == this)
           {
               switch(spellProto->SpellFamilyName)
               {
                   case SPELLFAMILY_DRUID:
                       if (spellProto->SpellFamilyFlags & UI64LIT(0x100))
                       {
                           // Glyph of Thorns
                           if (Aura * aur = GetAura(57862, 0))
                               duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                       }
                       break;
                   case SPELLFAMILY_PALADIN:
                       if (spellProto->SpellFamilyFlags & UI64LIT(0x00000002))
                       {
                           // Glyph of Blessing of Might
                           if (Aura * aur = GetAura(57958, 0))
                               duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                       }
                       else if (spellProto->SpellFamilyFlags & UI64LIT(0x00010000))
                       {
                           // Glyph of Blessing of Wisdom
                           if (Aura * aur = GetAura(57979, 0))
                               duration += aur->GetModifier()->m_amount * MINUTE * IN_MILISECONDS;
                       }
                       break;
                   default:
                       break;
               }
           }
    

    i will provide a patchfile maybe later

    this is addition for CalculateSpellDuration Method.

  7. Can you upload it to git please? Or make a valid .patch ? Thanks in advance :)

    you can create a patchfile yourself just copy paste ;)

    then run the patch with patch -p1 < file.patch in your source root

    recompile ad.exe

    and reextract your maps and test it :)

    @bullek this is no core issue btw this is just related to missing data in map files - so newer revision will not fix :) this will be fixed if data is correctly extracted for maps

  8. I have applied aliendiplomat fix but is the same...

    Some screenshots of my main problems

    32946588.th.jpg

    32821082.th.jpg

    49148642.th.jpg

    About Ulduar, on the other hand exist the problem that I said, and i have discovered one more thing. If one can drive a vehicle and go far, then the second drive another vehicle and can drive his own vehicle but if the second go near the first the second appears in the first's vehicle and then the same problem... very odd....

    I know Ulduar vehicles are very complex, I hope someone could work on it.

    Thank you very much

    first : this is db stuff not related to code anyway

    second : energy for vehicles is not yet correctly implemented

  9. would be possible to make the effect of a crash local? like only disconnect the affected players/units and not the whole server. Fault tolerance on mangos would be very nice, i'm pretty sure blizz servers already have that.

    blizzard is not using single servers ;) this type of handling instance/bg crashes is kind of old fashioned(means it

    has always there, as far as I can remember :) )

  10. Hi!

    I have succesfully patched my core with this patch, and vehicles do what they should do, but i have a very very big problem:

    Massacre at light point:

    The cannons can shot but they can move, i mean, when I press "Up arrow" the cannon starts walking, etc...

    Also I have applied ulduar vehicles with this

    -- Salvaged Chopper
    REPLACE INTO npc_spellclick_spells VALUES
    (33062, 52196, 0, 0, 0, 0);
    REPLACE INTO creature_template_addon VALUES
    (33062, 0, 0, 0, 0, 0, 335, NULL, NULL); 
    REPLACE INTO vehicle_data VALUES
    (335, 12, 62974, 62286, 62299, 64660, 0, 0, 0, 0, 0, 0, 0); 
    REPLACE INTO vehicle_seat_data VALUES
    (3005, 1);
    
    -- Salvaged Demolisher
    REPLACE INTO npc_spellclick_spells VALUES
    (33109, 52196, 0, 0, 0, 0);
    REPLACE INTO creature_template_addon VALUES
    (33109, 0, 0, 0, 0, 0, 338, NULL, NULL); 
    REPLACE INTO vehicle_data VALUES
    (338, 12, 62306, 62490, 62308, 62324, 0, 0, 0, 0, 0, 0, 0);
    REPLACE INTO vehicle_seat_data VALUES
    (3011, 1);
    
    -- Salvaged Siege Engine
    REPLACE INTO npc_spellclick_spells VALUES
    (33060, 52196, 0, 0, 0, 0); 
    REPLACE INTO creature_template_addon VALUES
    (33060, 0, 0, 0, 0, 0, 336, NULL, NULL); 
    REPLACE INTO vehicle_data VALUES
    (336, 12, 62345, 62522, 62346, 0, 0, 0, 0, 0, 0, 0, 0);
    REPLACE INTO vehicle_seat_data VALUES
    (3006, 1);
    

    Then they started to work, but if you go in raid group, the first can drive the vehicle but when the second one tries to drive other vehicle jump to the first's vehicle, i mean, apparently only one vehicle can be used at the same time

    Have you check this?

    Thank you

    should not happen maybe check creature data

  11. Core: 8754

    SD2: 1480

    DB: YTDB 515

    HEISEI: 51

    Custom patch: mtmaps,blink,chatlog

    OS: Linux 64 bit

    Frecuently: 2hours aprox

    (gdb) bt full
    #0  0x00007f711bfadfb5 in raise () from /lib/libc.so.6
    No symbol table info available.
    #1  0x00007f711bfafbc3 in abort () from /lib/libc.so.6
    No symbol table info available.
    #2  0x00007f711bfa6f09 in __assert_fail () from /lib/libc.so.6
    No symbol table info available.
    #3  0x00000000006b095c in Aura::UnregisterSingleCastAura (this=0x7f70fd8c32a0)
       at ../../../src/game/SpellAuras.cpp:7410
       caster = <value optimized out>
       __PRETTY_FUNCTION__ = "void Aura::UnregisterSingleCastAura()"
    #4  0x00000000007150d1 in Unit::RemoveAura (this=0x7f70fd343b50, i=@0x7f31, 
       mode=6) at ../../../src/game/Unit.cpp:4055
       Aur = (class Aura *) 0x7f0c
       AurSpellInfo = (const SpellEntry *) 0x7f7116ad5710
       statue = <value optimized out>
       caster_channeled = <value optimized out>
    #5  0x0000000000716a5e in Unit::RemoveAura (this=0x7f70fd343b50, 
       aura=0x7f70fd8c32a0, mode=AURA_REMOVE_BY_DEFAULT)
       at ../../../src/game/Unit.cpp:4043
       i = {_M_node = 0x7f70f40b3110}
    #6  0x0000000000716b66 in Unit::RemoveNotOwnSingleTargetAuras (
       this=0x7f70df0098d0, newPhase=0) at ../../../src/game/Unit.cpp:4026
       aura = (class Aura *) 0x7f70fd8c32a0
    ---Type <return> to continue, or q <return> to quit---
    #7  0x0000000000716bc1 in Unit::RemoveFromWorld (this=0x7f70df0098d0)
       at ../../../src/game/Unit.cpp:11102
    No locals.
    #8  0x0000000000524003 in Creature::RemoveFromWorld (this=0x7f70df0098d0)
       at ../../../src/game/Creature.cpp:157
    No locals.
    #9  0x0000000000600fd7 in ObjectGridUnloader::Visit<Creature> (
       this=<value optimized out>, m=@0x7f70f4356000)
       at ../../../src/game/ObjectGridLoader.cpp:263
    No locals.
    #10 0x00000000006005f5 in ObjectGridUnloader::Unload (this=0x7f7118488d30, 
       grid=@0x7f70f4355fd0)
       at ../../../src/game/../framework/GameSystem/TypeContainerVisitor.h:64
    No locals.
    #11 0x00000000005cf2cc in Map::UnloadGrid (this=0x7f7108db51b0, 
       x=@0x7f7118488ecc, y=@0x7f7118488ec8, pForce=<value optimized out>)
       at ../../../src/game/../framework/GameSystem/GridLoader.h:72
       unloader = {i_grid = @0x7f70f4352bf0}
       grid = <value optimized out>
       gx = <value optimized out>
       __PRETTY_FUNCTION__ = "bool Map::UnloadGrid(const uint32&, const uint32&, bool)"
    #12 0x000000000078bba1 in RemovalState::Update (this=<value optimized out>, 
    ---Type <return> to continue, or q <return> to quit---
       m=@0x7f7108db51b0, grid=@0x7f70f4352bf0, info=<value optimized out>, 
       x=@0x7f7118488ecc, y=@0x7f7118488ec8, t_diff=@0x7f7118488f64)
       at ../../../src/game/GridStates.cpp:65
    No locals.
    #13 0x00000000005d9fa0 in Map::Update (this=0x7f7108db51b0, 
       t_diff=@0x7f7118488f64) at ../../../src/game/Map.cpp:714
       grid = <value optimized out>
       updater = {i_timeDiff = 172}
       grid_object_update = {i_visitor = @0x7f7118488ef0}
       world_object_update = {i_visitor = @0x7f7118488ef0}
       __PRETTY_FUNCTION__ = "virtual void Map::Update(const uint32&)"
    #14 0x00000000005e94a5 in MapManager::Update (.omp_data_i=0x7f7118488fc0)
       at ../../../src/game/MapManager.cpp:282
       update_queue = {<std::_Vector_base<Map*, std::allocator<Map*> >> = {
       _M_impl = {<std::allocator<Map*>> = {<__gnu_cxx::new_allocator<Map*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f71022ed490, 
         _M_finish = 0x7f71022ed5c0, 
         _M_end_of_storage = 0x7f71022ed5c0}}, <No data fields>}
    #15 0x00000000005e961b in MapManager::Update (this=0x7f71091f9240, 
       diff=<value optimized out>) at ../../../src/game/MapManager.cpp:288
       update_queue = {<std::_Vector_base<Map*, std::allocator<Map*> >> = {
       _M_impl = {<std::allocator<Map*>> = {<__gnu_cxx::new_allocator<Map*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f71022ed490, 
    ---Type <return> to continue, or q <return> to quit---
         _M_finish = 0x7f71022ed5c0, 
         _M_end_of_storage = 0x7f71022ed5c0}}, <No data fields>}
    #16 0x0000000000741d24 in World::Update (this=0xb870e0, diff=172)
       at ../../../src/game/World.cpp:1663
       autobroadcaston = 1
    #17 0x00000000004e84d1 in WorldRunnable::run (this=<value optimized out>)
       at ../../../src/mangosd/WorldRunnable.cpp:64
       diff = 172
       realCurrTime = 2788481844
       realPrevTime = <value optimized out>
       prevSleepTime = 95
    #18 0x00000000007e4efc in ACE_Based::Thread::ThreadTask (param=0x7f0c)
       at ../../../src/shared/Threading.cpp:183
       _task = (class ACE_Based::Runnable *) 0x7f7105fc4c80
    #19 0x00007f711ca9e3ba in start_thread () from /lib/libpthread.so.0
    No symbol table info available.
    #20 0x00007f711c060fcd in clone () from /lib/libc.so.6
    No symbol table info available.
    #21 0x0000000000000000 in ?? ()
    No symbol table info available.
    

    src/game/SpellAuras.cpp:7410

    yes confirmed we need to make auraremove more safe commenting assert will cause freeze later on

  12. As of yesterday I patched NetSky's Vehicles patch in with 8746, it's been up and running with no errors on UDB's 384 DB's for a little bit over 24 hours. it also has Dual_Specialization patch, and ahbot as well as the new pet branch and over 75 people has logged in with no problems or crashes....Great Job NetSky and Every one else whos helped make this.

    this is not yet finished there are lot of outstanding improvements which need to be done till you can call this 'finished' ^^

    i will start working with generic dbcs and correcting standstates @ vehicle enter/leave today - sry but i was busy updating acelibs :)

  13. I thought you said the GetZoneId() call would be dangerous?

    indeed

    _player->GetOutdoorPvP()->HandlePlayerLeaveZone(_player, _player->GetZoneId());

    this is what you got there: _player->GetZoneId()

    this will later try to get players map and then crash because map was already deleted @ player instance leave(far tele)

    but in current form it is save

  14. should work as intended (not tested yet) :

    
           if(Guild *pGuild = objmgr.GetGuildById(GuildId))
           {
               uint8 purchasedTabs = pGuild->GetPurchasedTabs();
               // Bank <-> Bank
               if (BankToBank)
               {
                   if(purchasedTabs < BankTabDst  || purchasedTabs < BankTab)
                   {
                       _player->SendEquipError( EQUIP_ERR_NONE, NULL, NULL );
                       return;
                   }
                   pGuild->SwapItems(_player, BankTab, BankTabSlot, BankTabDst, BankTabSlotDst, SplitedAmount);
                   return;
               }
    
               // Player <-> Bank
    
               // allow work with inventory only
               if((!Player::IsInventoryPos(PlayerBag, PlayerSlot) && !(PlayerBag == NULL_BAG && PlayerSlot == NULL_SLOT) ) || purchasedTabs < BankTab)
               {
                   _player->SendEquipError( EQUIP_ERR_NONE, NULL, NULL );
                   return;
               }
    
               // BankToChar swap or char to bank remaining
               if (ToChar)                                             // Bank -> Char cases
                   pGuild->MoveFromBankToChar(_player, BankTab, BankTabSlot, PlayerBag, PlayerSlot, SplitedAmount);
               else                                                    // Char -> Bank cases
                   pGuild->MoveFromCharToBank(_player, PlayerBag, PlayerSlot, BankTab, BankTabSlot, SplitedAmount);
           }
    

    we have to proof case for player bank bags too

    ok i was looking for any exploits possible in itemtransfer elsewhere but seems to be already checked there :)

    [EDIT:] ok tested! exploit not working any more :P i was not sure about purchasedTabs should it be purchasedTabs - 1 in check or just purchasedTabs?

    @ elecyb : pls PM me if you got any other stuff like this to fix it soon as possible ;)

  15. crashes were just related to removeplayer from outdoorpvp calls when logging out (alt+f4)beeing infight in instance because now map/player is removed earlier for crash prevention

    + if (_player->GetOutdoorPvP())

    0

    + _player->GetOutdoorPvP()->HandlePlayerLeaveZone(_player, _player->GetZoneId());

    this has to fix it :) - thx

  16. hi first of all nice job implementing this allocator but now i am experiencing allocation errors about 1 per hour if object destructor is called ... this is pretty strange because i was looking for further information at their homepage and it was pointed out that this kind of crashes should have been fixed already

    i will try using my standard nix allocator instead just for comparison

×
×
  • 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