Jump to content

Amateur

Inactive Member
  • Posts

    7
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Amateur

  1. 19 hours ago, nazox said:

    que version usas Yo uso la versión Karakas pero esta tiene game.core en 2 veces cuando atacas estatuas, ¡pero tal vez puedas comparar la función!

    I use the same, but modified. In the end I have decided to remove IsPartecipant from places that I do not see any sense that they are, it is illogical to ask if it is a member when it should be by entering the dungeon, I limited the entrance to stage 1 to avoid player entries after the dungeon starts .

    • Good 1
  2. Hello, I have a crash in the Meley dungeon, this happens every so often suddenly.

    I have searched the forums and have not found a solution, what could be wrong?

     

    * thread #1, name = 'game', stop reason = signal SIGSEGV
      * frame #0: 0x0826f181 game`__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > std::__find_if<__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >, __gnu_cxx::__ops::_Iter_equals_val<unsigned int const> >(__first=__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > @ 0xffff9550, __last=__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > > @ 0xffff9554, __pred=_Iter_equals_val<unsigned int const> @ edi, (null)=random_access_iterator_tag @ 0xffff955c) at stl_algo.h:120
        frame #1: 0x0826e882 game`MeleyLair::CMgrMap::StartDungeon(CHARACTER*) [inlined] __find_if<__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int> >, __gnu_cxx::__ops::_Iter_equals_val<unsigned int const> >(__pred=<unavailable>, __last=<unavailable>, __first=<unavailable>) at stl_algo.h:162
        frame #2: 0x0826e878 game`MeleyLair::CMgrMap::StartDungeon(CHARACTER*) [inlined] find<__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int> >, unsigned int>(__val=0xffff957c, __last=<unavailable>, __first=<unavailable>) at stl_algo.h:3780
        frame #3: 0x0826e878 game`MeleyLair::CMgrMap::StartDungeon(CHARACTER*) at MeleyLair.cpp:417
        frame #4: 0x0826e862 game`MeleyLair::CMgrMap::StartDungeon(this=0x083f7b80, pkChar=0x5748a9c0) at MeleyLair.cpp:583
        frame #5: 0x0826f644 game`quest::MeleyLair_StartDungeon(L=0x431b1600) at questlua_MeleyLair.cpp:143
        frame #6: 0x083c47aa game`luaD_precall(L=0x431b1600, func=0x5221cf24) at ldo.c:260
        frame #7: 0x083cc576 game`luaV_execute(L=0x431b1600) at lvm.c:627
        frame #8: 0x083c4a9d game`resume(L=0x431b1600, ud=0xffff9b24) at ldo.c:344
        frame #9: 0x083c442b game`luaD_rawrunprotected(L=0x431b1600, f=(game`resume at ldo.c:320), ud=0xffff9b24) at ldo.c:88
        frame #10: 0x083c45cb game`lua_resume(L=0x431b1600, nargs=1) at ldo.c:371
        frame #11: 0x081b1ef8 game`quest::CQuestManager::RunState(this=0xffffad18, qs=0x2c1c2f34) at questlua.cpp:816
        frame #12: 0x081e5b3d game`quest::CQuestManager::Select(this=0xffffad18, pc=895, selection=0) at questmanager.cpp:294
        frame #13: 0x0817028b game`CInputMain::Analyze(DESC*, unsigned char, char const*) at input_main.cpp:2129
        frame #14: 0x08170250 game`CInputMain::Analyze(this=0x3d2654a0, d=0x3d265400, bHeader='\x1d', c_pData="\x1d") at input_main.cpp:3603
        frame #15: 0x0815ac3b game`CInputProcessor::Process(this=0x3d2654a0, lpDesc=0x3d265400, c_pvOrig=<unavailable>, r_iBytesProceed=0xffffa19c, iBytes=<unavailable>) at input.cpp:101
        frame #16: 0x0812675e game`DESC::ProcessInput(this=0x3d265400) at desc.cpp:333
        frame #17: 0x0828736a game`io_loop(fdw=0x28f26700) at main.cpp:1003
        frame #18: 0x0828758c game`idle() at main.cpp:885
        frame #19: 0x08054ed5 game`main(argc=1, argv=0xffffdc50) at main.cpp:541
        frame #20: 0x0805592a game`_start1 + 138
        frame #21: 0x08055898 game`_start + 24
     

    IsPartecipant: 

    Spoiler

    bool CMgrMap::IsPartecipant(DWORD dwPlayerID)     
        {
            if (!dwPlayerID)             
                return false;
            
            if (v_Partecipants.empty())
                return false;
                
            itertype(v_Partecipants) it = std::find(v_Partecipants.begin(), v_Partecipants.end(), dwPlayerID);

            if (it != v_Partecipants.end())
            {
                return true;
            }
            return false;
        }

    StartDungeon:

    Spoiler

    void CMgrMap::StartDungeon(LPCHARACTER pkChar)
        {
            if (!pkChar)
            {
                return;
            }
            if (!IsPartecipant(pkChar->GetPlayerID()))
            {
                return;
            }
            else if (e_pEndEvent != NULL)
            {
                EndDungeon(false, true);
                return;
            }
            else if ((!pkMainNPC) || (!pkGate) || (!pkBoss) || (!pkStatue1) || (!pkStatue2) || (!pkStatue3) || (!pkStatue4))
            {
                EndDungeon(false, true);
                return;
            }
            
            CGuild* pkGuild = CGuildManager::instance().FindGuild(GetGuildID());
            if (!pkGuild)
                return;

    Thanks for your time.

     

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.