Jump to content

FlorinMarian

Premium
  • Posts

    305
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Everything posted by FlorinMarian

  1. Hi, guys! I've studied C++ last year at informatics but I can't say that it was love at first seen. If anyone can see where's the nullptr which causes this, i'll be very glad to give thank him. [New LWP 100559] Core was generated by `./srv1-ch1-core1'. Program terminated with signal SIGABRT, Aborted. #0 thr_kill () at thr_kill.S:3 3 thr_kill.S: No such file or directory. [Current thread is 1 (LWP 100121)] (gdb) bt #0 thr_kill () at thr_kill.S:3 #1 0x00e5239a in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52 #2 0x00de2ad1 in abort () at /usr/src/lib/libc/stdlib/abort.c:67 #3 0x00d7f4bf in report_failure (err=<optimized out>, thrown_exception=0xf2aa7dc0) at cxxrt_exception.cc:719 #4 0x00d7e232 in operator new (size=<optimized out>) at cxxrt_memory.cc:100 #5 0x008aecf9 in CHARACTER_MANAGER::CreateCharacter (this=0xffffd6a8, name=0x251f149d "Spirit al m\342niei comun", dwPID=0) at char_manager.cpp:91 #6 0x008afbdb in CHARACTER_MANAGER::SpawnMob (this=<optimized out>, dwVnum=1065, lMapIndex=660069, x=268363, y=732709, z=0, bSpawnMotion=<optimized out>, iRot=148, bShow=<optimized out>) at char_manager.cpp:441 #7 0x0088b8f7 in CHARACTER::Dead (this=0xf6d5ec80, pkKiller=<optimized out>, bImmediateDead=<optimized out>) at char_battle.cpp:1619 #8 0x008f60e3 in (anonymous namespace)::FKillSectree::operator() (this=<optimized out>, ent=0xf6d5ec80) at dungeon.cpp:979 #9 FCollectEntity::ForEach<(anonymous namespace)::FKillSectree> (this=<optimized out>, f=...) at ./sectree.h:73 #10 SECTREE_MAP::for_each<(anonymous namespace)::FKillSectree> (this=<optimized out>, rfunc=...) at ./sectree_manager.h:81 #11 CDungeon::KillAll (this=0x55268d00) at dungeon.cpp:1024 #12 0x0096f294 in quest::dungeon_kill_all (L=<optimized out>) at questlua_dungeon.cpp:1494 #13 0x00d12828 in luaD_precall (L=0xe2f77880, func=0xa8652d18) at ldo.c:260 #14 0x00d202c7 in luaV_execute (L=0xe2f77880) at lvm.c:627 #15 0x00d12f08 in resume (L=0xe2f77880, ud=0xffff9f5c) at ldo.c:344 #16 0x00d123f6 in luaD_rawrunprotected (L=0xe2f77880, f=0xd12e90 <resume>, ud=0xffff9f5c) at ldo.c:88 #17 0x00d12d45 in lua_resume (L=0xe2f77880, nargs=0) at ldo.c:371 #18 0x00969001 in quest::CQuestManager::RunState (this=0xfffface0, qs=...) at questlua.cpp:1012 #19 0x009952bf in quest::CQuestManager::ExecuteQuestScript (pc=..., quest_name=..., state=0, code=0x25067c00 "if pc . in_dungeon ( ) and pc . get_map_index ( ) >= 660000 and pc . get_map_index ( ) < 670000 then d . kill_all ( ) \nd . setqf2 ( \"deviltower_zone\" , \"9_done\" , 1 ) \nnotice_multiline ( gameforge [ g"..., code_size=434, pChatScripts=0x0, bUseCache=true) at questmanager.cpp:1791 #20 0x0099214f in quest::CQuestManager::ExecuteQuestScript (pc=..., quest_index=19, state=0, code=0x25067c00 "if pc . in_dungeon ( ) and pc . get_map_index ( ) >= 660000 and pc . get_map_index ( ) < 670000 then d . kill_all ( ) \nd . setqf2 ( \"deviltower_zone\" , \"9_done\" , 1 ) \nnotice_multiline ( gameforge [ g"..., code_size=434, pChatScripts=0x0, bUseCache=<optimized out>) at questmanager.cpp:1737 #21 0x0099b658 in quest::NPC::HandleEvent (this=0x2503d694, pc=..., EventIndex=1) at questnpc.cpp:524 #22 0x0099bc91 in quest::NPC::OnKill (this=0x2503d694, pc=...) at questnpc.cpp:321 #23 0x00992708 in quest::CQuestManager::Kill (this=0xfffface0, pc=750, npc=1093) at questmanager.cpp:526 #24 0x0088d22c in CHARACTER::Reward (this=0xf7b47980, bItemDrop=<optimized out>) at char_battle.cpp:879 #25 0x0088bec0 in CHARACTER::Dead (this=0xf7b47980, pkKiller=<optimized out>, bImmediateDead=<optimized out>) at char_battle.cpp:1634 #26 0x008907c5 in CHARACTER::Damage (this=0xf7b47980, pAttacker=0xf5f6a600, dam=3596, type=DAMAGE_TYPE_NORMAL) at char_battle.cpp:2394 #27 0x0085ba90 in battle_hit (pkAttacker=0xf5f6a600, pkVictim=0xf7b47980, iRetDam=@0xffffa45c: 2551) at battle.cpp:852 #28 0x0085b8cf in battle_melee_attack (ch=0xf5f6a600, victim=0xf7b47980) at battle.cpp:220 #29 0x0088a61e in CHARACTER::Attack (this=0xf5f6a600, pkVictim=0xf7b47980, bType=0 '\000') at char_battle.cpp:321 #30 0x00922d36 in CInputMain::Attack (this=<optimized out>, ch=0xf5f6a600, header=2 '\002', data=0xa5d92f00 "\002") at input_main.cpp:1998 #31 0x00926983 in CInputMain::Analyze (this=0xa77206f8, d=0xa7720680, bHeader=2 '\002', c_pData=0xa5d92f00 "\002") at input_main.cpp:4396 #32 0x00912850 in CInputProcessor::Process (this=0xa77206f8, lpDesc=0xa7720680, c_pvOrig=0xa5d92f00, iBytes=8, r_iBytesProceed=@0xffffa688: 0) at input.cpp:118 #33 0x008e9055 in DESC::ProcessInput (this=0xa7720680) at desc.cpp:306 #34 0x00a28194 in io_loop (fdw=0x21a27660) at main.cpp:1091 #35 0x00a27e79 in idle () at main.cpp:982 #36 0x00a26385 in main (argc=1, argv=0xffffdbf8) at main.cpp:609 (gdb) Thank you! EDIT: Every crash related to this fails at " LPCHARACTER ch = M2_NEW CHARACTER;" and each .core generated has ~ 3GB (maximum allowed for 32bits binary) This makes sense to be vulnerable to a exploit which allocate memory until it crashes.
  2. Hi, guys! Even i've passed C++ exam on faculty, I didn't spent enough time on it and I'd love to know how this enum works. enum EItemWearableFlag { WEARABLE_BODY = (1 << 0), WEARABLE_HEAD = (1 << 1), WEARABLE_FOOTS = (1 << 2), WEARABLE_WRIST = (1 << 3), WEARABLE_WEAPON = (1 << 4), WEARABLE_NECK = (1 << 5), WEARABLE_EAR = (1 << 6), WEARABLE_UNIQUE = (1 << 7), WEARABLE_SHIELD = (1 << 8), WEARABLE_ARROW = (1 << 9), WEARABLE_HAIR = (1 << 10), WEARABLE_ABILITY = (1 << 11), WEARABLE_COSTUME_BODY = (1 << 12), WEARABLE_COSTUME_HAIR = (1 << 13), #ifdef ENABLE_MOUNT_COSTUME_SYSTEM WEARABLE_COSTUME_MOUNT = (1 << 14), #endif #ifdef __ACCE_COSTUME_SYSTEM__ WEARABLE_COSTUME_SASH = (1 << 15), #endif #ifdef ENABLE_WEAPON_COSTUME_SYSTEM WEARABLE_COSTUME_WEAPON = (1 << 16), #endif #ifdef __PET_SYSTEM__ WEARABLE_NORMAL_PET = (1 << 17), #endif #if defined(ENABLE_COSTUME_ITEM_SKIN) WEARABLE_PET_SKIN = (1 << 18), WEARABLE_MOUNT_SKIN = (1 << 19), #endif #ifdef ITEM_TALISMAN_EQUIPMENT WEARABLE_PENDANT = (1 << 20), #endif }; What I don't understand, is why this statement isn't true for my item? else if (GetWearFlag() & WEARABLE_PENDANT) return WEAR_PENDANT; 9620 È­¿°ÀÇ ³ë¸®°³ +20 ITEM_ARMOR ARMOR_PENDANT 1 NONE ITEM_TUNABLE WEAR_PENDANT NONE 360000 5000 9621 440 0 LEVEL 20 LIMIT_NONE 0 APPLY_ENCHANT_FIRE 20 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 Thank you!
  3. That did the trick. It wasn't really 27 as slot number but setting correct slot number solved my problem. Thank you ! #CloseRequest
  4. Hi, guys! I've spent lot of hours but i'm out of ideas, any help will be appreciated. What I try to achieve? I try to add PET_SLOT on CostumeWindow. It works like a charm if i try to add it on InventoryWindowEx.py but isn't visible if when I try to apply it on CostumeWindow.py. Very important: For debugging purposes I've moved other costume items to "x":115, "y":158 and I can confirm coords are correct (I have an extended window, not classical new_costume_bg.jpg). It's also important to mention that I've mixed item.EQUIPMENT_PET with item.EQUIPMENT_BELT and I had pet item on belt slot but belt dissapeared somewhere on costume window. ItemData.h enum EItemType { ITEM_TYPE_NONE, //0 ITEM_TYPE_WEAPON, //1//¹«±â ITEM_TYPE_ARMOR, //2//°©¿Ê ITEM_TYPE_USE, //3//¾ÆÀÌÅÛ »ç¿ë ITEM_TYPE_AUTOUSE, //4 ITEM_TYPE_MATERIAL, //5 ITEM_TYPE_SPECIAL, //6 //½ºÆä¼È ¾ÆÀÌÅÛ ITEM_TYPE_TOOL, //7 ITEM_TYPE_LOTTERY, //8//º¹±Ç ITEM_TYPE_ELK, //9//µ· ITEM_TYPE_METIN, //10 ITEM_TYPE_CONTAINER, //11 ITEM_TYPE_FISH, //12//³¬½Ã ITEM_TYPE_ROD, //13 ITEM_TYPE_RESOURCE, //14 ITEM_TYPE_CAMPFIRE, //15 ITEM_TYPE_UNIQUE, //16 ITEM_TYPE_SKILLBOOK, //17 ITEM_TYPE_QUEST, //18 ITEM_TYPE_POLYMORPH, //19 ITEM_TYPE_TREASURE_BOX, //20//º¸¹°»óÀÚ ITEM_TYPE_TREASURE_KEY, //21//º¸¹°»óÀÚ ¿­¼è ITEM_TYPE_SKILLFORGET, //22 ITEM_TYPE_GIFTBOX, //23 ITEM_TYPE_PICK, //24 ITEM_TYPE_HAIR, //25//¸Ó¸® ITEM_TYPE_TOTEM, //26//ÅäÅÛ ITEM_TYPE_BLEND, //27//»ý¼ºµÉ¶§ ·£´ýÇÏ°Ô ¼Ó¼ºÀÌ ºÙ´Â ¾à¹° ITEM_TYPE_COSTUME, //28//ÄÚ½ºÃõ ¾ÆÀÌÅÛ (2011³â 8¿ù Ãß°¡µÈ ÄÚ½ºÃõ ½Ã½ºÅÛ¿ë ¾ÆÀÌÅÛ) ITEM_TYPE_DS, //29 //¿ëÈ¥¼® ITEM_TYPE_SPECIAL_DS, //30 // Ư¼öÇÑ ¿ëÈ¥¼® (DS_SLOT¿¡ Âø¿ëÇÏ´Â UNIQUE ¾ÆÀÌÅÛÀ̶ó »ý°¢ÇÏ¸é µÊ) ITEM_TYPE_EXTRACT, //31 ÃßÃâµµ±¸. ITEM_TYPE_SECONDARY_COIN, //32 ¸íµµÀü. ITEM_TYPE_RING, //33 ¹ÝÁö (À¯´ÏÅ© ½½·ÔÀÌ ¾Æ´Ñ ¼ø¼ö ¹ÝÁö ½½·Ô) ITEM_TYPE_BELT, //34 º§Æ® #ifdef ENABLE_ATTR_TRANSFER_SYSTEM ITEM_TYPE_TRANSFER_SCROLL, //35 #endif #ifdef ENABLE_GROWTH_PET_SYSTEM ITEM_TYPE_PET, //36 #endif #ifdef __UNIMPLEMENTED__ ITEM_TYPE_MEDIUM, //37 ITEM_TYPE_GACHA //38 Florin #endif #ifdef ENABLE_PET_SLOT ITEM_TYPE_NORMAL_PET, //39 #endif ITEM_TYPE_MAX_NUM, }; enum EWearPositions { WEAR_BODY, // 0 WEAR_HEAD, // 1 WEAR_FOOTS, // 2 WEAR_WRIST, // 3 WEAR_WEAPON, // 4 WEAR_NECK, // 5 WEAR_EAR, // 6 WEAR_UNIQUE1, // 7 WEAR_UNIQUE2, // 8 WEAR_ARROW, // 9 WEAR_SHIELD, // 10 WEAR_ABILITY1, // 11 WEAR_ABILITY2, // 12 WEAR_ABILITY3, // 13 WEAR_ABILITY4, // 14 WEAR_ABILITY5, // 15 WEAR_ABILITY6, // 16 WEAR_ABILITY7, // 17 WEAR_ABILITY8, // 18 WEAR_COSTUME_BODY, // 19 WEAR_COSTUME_HAIR, // 20 #ifdef ENABLE_MOUNT_COSTUME_SYSTEM WEAR_COSTUME_MOUNT, // 21 #endif #ifdef ENABLE_SASH_SYSTEM WEAR_COSTUME_SASH, // 22 #endif #ifdef ENABLE_WEAPON_COSTUME_SYSTEM WEAR_COSTUME_WEAPON, //23 #endif WEAR_RING1, // 24 : ½Å±Ô ¹ÝÁö½½·Ô1 (¿ÞÂÊ) WEAR_RING2, // 25 : ½Å±Ô ¹ÝÁö½½·Ô2 (¿À¸¥ÂÊ) WEAR_BELT, // 26 : ½Å±Ô º§Æ®½½·Ô #ifdef ENABLE_PET_SLOT WEAR_NORMAL_PET, // 27 #endif WEAR_MAX_NUM = 32, }; GameType.h #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM const DWORD c_New_Equipment_Start = c_Equipment_Start + 24; // 21 const DWORD c_New_Equipment_Count = 3 #ifdef ENABLE_PET_SLOT + 1 #endif ; const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0; const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1; const DWORD c_Equipment_Belt = c_New_Equipment_Start + 2; #endif #ifdef ENABLE_PET_SLOT const DWORD c_Equipment_Pet = c_New_Equipment_Start + 3; #endif PythonItemModule.cpp #ifdef ENABLE_PET_SLOT PyModule_AddIntConstant(poModule, "EQUIPMENT_PET", c_Equipment_Pet); #endif Thank you!
  5. You should NEVER use contabo VPS in production. They do a massive overselling on CPU / RAM / Storage. Your load averages are quite large and I guess they weren't accessed when server had an active Guild War. I recommend to go checkout OVH Game packages or a reseller (like that shown on my banner). Best regards, Florin.
  6. You will order 2 VPS Servers, one for Game Server and another one as webhost. On webhost you will have full access and nobody else will store files there excepting you.
  7. You're too afraid about this issue which can be easily solved with small investment in remote backup and standalone webserver. About your idea, any method you will use will also require DB access. Most silly issues you can encounter following your path: 1. It's hard to make a captcha which can't be bypassed 2. If I understood correctly, you want to create account if it doesnt exists. What about typos? Eg. my account is "admin" and i write accidentaly "amdin" and may password admin. You will just make those who want to spam your DB easy life. Best regards, Florin.
  8. In PuTTy, and <interface> can be em0, vtnet0 or something simmilar. You can ask for network interface name by writting "ifconfig" command on PuTTy.
  9. Without a massive overselling, should be fine. Maybe your provider has maybe problems with networking (packet loss). Play a little bit and check with this command if u have dropped packets: netstat -idb -I <interface>
  10. Hi, there! Most easier it's to comment our python part where buttons are created (uiscript folder), key combination (game.py) and interfacemodule.py if you get any further error. Best regards, Florin.
  11. Can we have a preview of your VPS configuration ? Best regards, Florin.
  12. Hi, there! You can extract this part with "who and what damage" from Dungeon Info System, which includes Ranking. I recommend to extract it from Overfall2 Serverfiles because there they have already lua integration and you have only to pickup any metin on any map instead of specific boss in specific dungeon. Best regards, Florin.
  13. It comes from my guess. Simple replace bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) function with bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) { return false; }
  14. AS @TMP4 said, there could be on input_main.cpp some checks or on battle.cpp can be used function IS_SPEED_HACK. Remove whole body of function IS_SPEED_HACK and just say "return false;". Best regards, Florin.
  15. Hi! You did a mistake when you stolen the system but I don't recomend using it if you didn't fixed core problems. I guess Overfall2 has fixed those issues and can be easily checked by opening a shop on core1 and try to use shop item on another core, if you have the issues unsolved you will be able to open a new shop also on that core. Best regards, Florin.
  16. Hi! I guess nobody will do this work for free but if think a little bit you can implement skill book combination system and instead of owsap function you call UseItemex for each instance. Hope it helps. Best regards, Florin.
  17. Hi! Maybe log table has less characters available than your item name. Open your log database with Navicat, then click on log table and press CTRL+D, you should figure out if this is the case or not. Best regards, Florin.
  18. #CloseReq. I didn't applied the fix yet but yeah, it makes sense. Thank you @TMP4 and @WeedHexfor your help!
  19. Just 3 sockets (by default). The bug comes from Growth pet system. Thank you!
  20. Hi, guys! I've tried to fix it by myself but life shown me again I'm not enough experienced in python yet. The error: 0713 16:00:27609 :: Traceback (most recent call last): 0713 16:00:27609 :: File "ui.py", line 2130, in OnOverInItem 0713 16:00:27609 :: File "ui.py", line 92, in __call__ 0713 16:00:27609 :: File "ui.py", line 83, in __call__ 0713 16:00:27609 :: File "uiInventory.py", line 1385, in OverInItem 0713 16:00:27609 :: File "uiInventory.py", line 1652, in ShowToolTip 0713 16:00:27609 :: File "uiToolTip.py", line 610, in SetInventoryItem 0713 16:00:27609 :: File "uiToolTip.py", line 1665, in AddItemData 0713 16:00:27609 :: IndexError 0713 16:00:27609 :: : 0713 16:00:27609 :: list index out of range 0713 16:00:27609 :: ui.py: Click here uiiventory.py: Click here uitooltip.py: Click here Thank you !
  21. Hi! You should specify when/how that bonus should be received. Important tips are related to: How many times that function will be called? When it will be called first time? How long that bonus should last on your account? Best regards, Florin.
  22. There could be lot of issues caused by multiple pages inventory, special storage or other slots implemented. You should add debug messages on MoveItem /CreateItem functions to get ChatPackets with slots involved when you try to access newly created item or to move something in Dragon Soul Inventory.
  23. FreeBSD version doesn't matter at all if you compile your source on simmilar version. About specs, if u can afford, you should buy a dedicated server instead of a VPS Server due of : - Game AntiDDoS filter; - NVMe Storage; - Pure performance (on VPS NVMe it's limited and it works more like a SATA SSD not really like a NVMe); If you want something between them, you're welcome to browse my website and check for VPS Game packages. Best regards, Florin.
×
×
  • 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.