Jump to content

balrok

Members
  • Posts

    222
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by balrok

  1. my crashfix: http://pastebin.com/m2038ed4b

    ps: it's a realy bad hack :P and if someone asks: you don't got it from me.. ^^

    the other one is just removing an assert..

    please don't spam the thread with such stuff and stay on topic.. i just posted this patch cause patch in first post got no updates.. also the patch i posted is surely nothing special and if you have an already running one you shouldn't switch to this one..

    ps: cyrex you should use another os.. i think win3.11 doesn't support 64bit, which is in your case better, cause you have more than 4gb ram which can't be adressed with 32bit ^^

  2. betaman2k this is no crashlog, this is just a log :P

    use gdb to create crashlogs

    i got one from the assert(false) in BuildPlayerRepop - i'm using 3.1.3 but have seen this error on 2.4.3 too .. removing the assert fixes the crash, but maybe someone is interested what's wrong there :)

    0x00007f9b39789ed5 in raise () from /lib/libc.so.6
    #0  0x00007f9b39789ed5 in raise () from /lib/libc.so.6
    #1  0x00007f9b3978b3f3 in abort () from /lib/libc.so.6
    #2  0x00007f9b39782dc9 in __assert_fail () from /lib/libc.so.6
    #3  0x00000000006d6b1d in Player::BuildPlayerRepop (this=<value optimized out>) at ../../../src/game/Player.cpp:4067
    #4  0x0000000000791cc9 in WorldSession::LogoutPlayer (this=0x7f9b34244650, Save=true) at ../../../src/game/WorldSession.cpp:302
    #5  0x0000000000792bbb in WorldSession::Update (this=0x7f9b34244650) at ../../../src/game/WorldSession.cpp:275
    #6  0x000000000078c368 in World::UpdateSessions (this=0x7f9b34023750, diff=248) at ../../../src/game/World.cpp:2042
    #7  0x000000000078c526 in World::Update (this=0x7f9b34023750, diff=248) at ../../../src/game/World.cpp:1590
    #8  0x000000000053c28d in WorldRunnable::run (this=<value optimized out>) at ../../../src/mangosd/WorldRunnable.cpp:64
    #9  0x000000000082cf06 in ACE_Based::Thread::ThreadTask (param=0xd3a53d0) at ../../../src/shared/Threading.cpp:183
    #10 0x00007f9b3a257fc7 in start_thread () from /lib/libpthread.so.0
    #11 0x00007f9b398275ad in clone () from /lib/libc.so.6
    #12 0x0000000000000000 in ?? ()
    #0  0x00007f9b39789ed5 in raise () from /lib/libc.so.6
    No symbol table info available.
    #1  0x00007f9b3978b3f3 in abort () from /lib/libc.so.6
    No symbol table info available.
    #2  0x00007f9b39782dc9 in __assert_fail () from /lib/libc.so.6
    No symbol table info available.
    #3  0x00000000006d6b1d in Player::BuildPlayerRepop (this=<value optimized out>) at ../../../src/game/Player.cpp:4067
       data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0, _wpos = 3, _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 = 0x7f9b2808f200 "\\003II", _M_finish = 0x7f9b2808f203 "", _M_end_of_storage = 0x7f9b2808f209 "ª\\n(\\233\\177"}}, <No data fields>}}, m_opcode = 1172}
       corpse = <value optimized out>
       __PRETTY_FUNCTION__ = "void Player::BuildPlayerRepop()"
    #4  0x0000000000791cc9 in WorldSession::LogoutPlayer (this=0x7f9b34244650, Save=true) at ../../../src/game/WorldSession.cpp:302
       guild = <value optimized out>
       _map = <value optimized out>
       data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 140303914989264, _wpos = 140304661142102, 
       _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 = 0x7f9b2823d560 "@ß#(\\233\\177", _M_finish = 0x7f9b3abc1a4d "H\\213\\005\\034þ1", _M_end_of_storage = 0x7f9b2823d2d8 ""}}, <No data fields>}}, 
     m_opcode = 35996}
    #5  0x0000000000792bbb in WorldSession::Update (this=0x7f9b34244650) at ../../../src/game/WorldSession.cpp:275
       packet = (WorldPacket *) 0x20c49ba5e353f7cf
       currTime = 6
    #6  0x000000000078c368 in World::UpdateSessions (this=0x7f9b34023750, diff=248) at ../../../src/game/World.cpp:2042
       itr = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<const unsigned int, WorldSession*>, false>> = {_M_cur_node = 0x7f9b34023750, 
       _M_cur_bucket = 0xffffffffff600424}, <No data fields>}
       sess = (WorldSession *) 0x20c49ba5e353f7cf
    #7  0x000000000078c526 in World::Update (this=0x7f9b34023750, diff=248) at ../../../src/game/World.cpp:1590
    No locals.
    #8  0x000000000053c28d in WorldRunnable::run (this=<value optimized out>) at ../../../src/mangosd/WorldRunnable.cpp:64
       diff = 248
       realCurrTime = 1695528029
       realPrevTime = <value optimized out>
       prevSleepTime = 0
    #9  0x000000000082cf06 in ACE_Based::Thread::ThreadTask (param=0xd3a53d0) at ../../../src/shared/Threading.cpp:183
       _task = (class ACE_Based::Runnable *) 0xd3a53d0
    #10 0x00007f9b3a257fc7 in start_thread () from /lib/libpthread.so.0
    No symbol table info available.
    #11 0x00007f9b398275ad in clone () from /lib/libc.so.6
    No symbol table info available.
    #12 0x0000000000000000 in ?? ()
    No symbol table info available.
    
    

  3. lol realy?

    since i still didn't find out for what reason setgoartkit was added (as the name sounds - it can change the model of a gameobject maybe) it would help much to remove wrong / not needed code, which is surrounding this unknown thing.. ^^

    so i apply your patch right now.. if other people say it changes things the bad way, they can post here :) - then we can use a better patch :)

    edit: setgoartkit calls SetByteValue

    and setbytevalue calls ObjectAccessor::Instance().AddUpdateObject(this);

    which sounds good for me :))

    realy nice solution then :)

  4. ah thx tom_rus i thought bg-marks getting a different mailtype..

    with latest revision this should be fixed - i just check for mail from battlemasters - since they actualy don't send anything else than battlegroundmarks i think it's ok..

    checking for item-ids doesn't sound so good cause we then need to take care about this code everytime a new bg comes out (which is quite often in last days)

  5. my solution was a bit different - i got rid of this oldZoneId variable

    so everything got quite short:

     6251     if(m_zoneUpdateId != newZone)
    6252     {
    6253         // inform outdoor pvp
    6254         sOutdoorPvPMgr.HandlePlayerLeaveZone(this, m_zoneUpdateId);
    6255         sOutdoorPvPMgr.HandlePlayerEnterZone(this, newZone);
    6256 
    6257         SendInitWorldStates(newZone, newArea);              // only if really enters to new zone, not just area change, works strange...
    6258 
    6259         if (sWorld.getConfig(CONFIG_WEATHER))
    6260         {
    

    i just did a quick test and hope it still works as expected (:

  6. no

    it works like this

    dbtableguid is stored in code and is connected to event

    when a creature gets spawned i look if dbtableguid matches some event, if no->just spawn it

    if yes, add creature to bg-instance creature/gameobject map (m_EventObjects[event1,event2]=creature/guid) and then look if event is active->spawn or not ->no spawn

    and later if we want to spawn a specific event we look in we look in m_EventObjects[event1,event2] and spawn every creature and gameobject of this instance

  7. queue is in battlegroundmgr.*

    but if you don't understand c++ you're lost there^^

    btw i was also lvl60 alterac valley player - did this the whole day.. ^^

    For lower queue time : remove limits that players can join into max 2 separate battlegrounds.

    our server solved it to open only 2 battlegrounds per day.. this is very effective for low-populated servers to reduce the waittime and the amount of closed battlegrounds due to too less players

    about all other ideas: they sound interesting but don't expect to have someone who will code your ideas..

    also regarding your signature.. i doubt that blizzdeveloper are looking in this forum^^

  8. 1,2) placing an assert should be save, cause map is only needed for gameobject/creature finding and at this point the map must already be loaded.. also it could get rid of many if(map) checks :)

    only at battleground-destructor i think it's possible that the map won't exist cause

    i guess a bg also get's destroyed if no-one enqueues for them - or just think about the battleground-templates which just exist in a virtual way

    3) the problem is, that the battleground exists before the map

  9. ok now in mangos [8554]

    as noted in the last commit, you'll need database-content (posted the extracted spawns in http://udbforums.org/index.php?topic=14328.0 )

    and scriptdev2 for working spiritguides (not yet committed there)

    ah i noticed that i forgot the thanks part in my patch..

    so at this place a very big thanks to triply who helped with getting a good blueprint and for reviewing

    and also vladimir for reviewing and discussion :)

  10. opcodes are still handled by mangos - and also the opcode answer (my first plan was to move the answer into sd2 - but wasn't that good)

    but i have to change in database npc_flags for spiritguides, cause prior this those flags was set through code - and without them you can't talk to spiritguides

    ---

    for bg2db_av: it's now ready - had to make some changes which will get soon into bg2db too

    also i added there the bonusweekends (untested - but wasn't a big change anyway, so shouldn't harm)

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