Jump to content

Verflucht

Banned
  • Posts

    27
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Verflucht

  1. I've found a bug while dismounting mounts. After you dismount there is 2-3s lag, you can't chat/use autopots or do anything in general for 2-3seconds. [Hidden Content]
  2. I've been testing the source you have provided to the community and i can say it's one of the best free releases out there. There are a few bugs here and there but they are nothing major. I will be trying to fix some of them and post back here with the code. Once again thank you for this release and everyone else who has contributed to these files.
  3. It's easy to fix. Just re-do the installation because you clearly did something wrong. System works fine
  4. The OP provides a bug-free 40k source file, he is not your personal developer. Figure it out yourself or pay someone to do it for you.
  5. Solution for anyone else that might encounter this issue Go to input_db.cpp and search : signal_timer_enable(30); Above that paste this : #ifdef OFFLINE_SHOP CreateShops(); #endif
  6. Hello, i want to be able to transfer metin stones from weapons/armors when upgrading them with the cube system. I am willing to pay for it. Thanks #Fixed
  7. I wouldn't recommend gazduire at all. I have a test server for compiling my source and my dedi has frequent downtimes due to them performing maintances the entire time.
  8. Go to your binary source > EterPythonLib > PythonGridSlotWindow.cpp Search this : DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber(); Add under : if (dwSlotNumber > 44) { if (dwSlotNumber < 90) { dwSlotNumber -= 45; } else if(dwSlotNumber < 135) { dwSlotNumber -= 90; } else if (dwSlotNumber < 180) { dwSlotNumber -= 135; } } Search this : BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot) And replace the entire function with this : BOOL CGridSlotWindow::GetPickedSlotPointer(TSlot ** ppSlot) { if (!UI::CWindowManager::Instance().IsAttaching()) return CSlotWindow::GetPickedSlotPointer(ppSlot); BYTE byWidth, byHeight; UI::CWindowManager::Instance().GetAttachingIconSize(&byWidth, &byHeight); std::list<TSlot*> SlotList; if (!GetPickedSlotList(byWidth, byHeight, &SlotList)) return FALSE; TSlot * pMinSlot = NULL; //DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber(); //DWORD dwAttachingItemIndex = UI::CWindowManager::Instance().GetAttachingIndex(); for (std::list<TSlot*>::iterator itor = SlotList.begin(); itor != SlotList.end(); ++itor) { TSlot * pSlot = *itor; if (!pMinSlot) { pMinSlot = pSlot; } else { if (pSlot->dwSlotNumber < pMinSlot->dwSlotNumber && pSlot->dwItemIndex != pMinSlot->dwItemIndex) { pMinSlot = pSlot; } else { if (!pMinSlot->isItem && pSlot->isItem && pSlot->dwItemIndex == pMinSlot->dwItemIndex) { pMinSlot = pSlot; } } } } if (!pMinSlot) { return FALSE; } else { TSlot * pCenterSlot; if (!GetSlotPointer(pMinSlot->dwCenterSlotNumber, &pCenterSlot)) return FALSE; *ppSlot = pCenterSlot; // ?? ???? ?? ?? ???.. if (UI::CWindowManager::Instance().IsAttaching()) { DWORD dwSlotNumber = UI::CWindowManager::Instance().GetAttachingSlotNumber(); if (dwSlotNumber > 44) { if (dwSlotNumber < 90) { dwSlotNumber -= 45; } else if (dwSlotNumber < 135) { dwSlotNumber -= 90; } else if (dwSlotNumber < 180) { dwSlotNumber -= 135; } } if (dwSlotNumber == pCenterSlot->dwSlotNumber) { *ppSlot = pMinSlot; } } } return TRUE; } Hope i helped.
  9. It sounds neat, but the design still needs some work to it. Other than that it looks cool!
  10. Hey everyone, i hope everyone is doing well in these tough days. I'm currently facing this odd issue with my game. The costumes and sash is switching twice as you can see in the gif below, i know it's not something crazy but i'd like to get some insight on how to fix this odd issue or where to look to fix this issue. [Hidden Content] Thank you all in advance.
  11. Hello everyone. I hope you're having a wonderful day so far. Today i tried raising the yang limit by some guide i found in another forum. I managed to implement everything and the limit is 100t. It works fine for the most part but the issue i'm currently facing with it is whenever i relog or restart the server the yang amount changes. For example: before i relog/restart i have in my inventory 100t yang, After i relog or restart : the yang in my invetory are 23 Quadrillion or 200/300yang. I noticed that in my database (player>player) the gold amount is never the amount that i have in game. Also when i try changing the gold amount in the player table and save and re-open the table, the value resets itself to 0 or some random number. I don't get any errors while compiling only some warnings that i didn't have before i changed the yang limit and i think they are related to the problem that i'm having but i'm not sure. I get one warning when compiling the game src and that warning is: locale_service.cpp: In function 'void __CheckPlayerSlot(const string&)': locale_service.cpp:1029:10: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long long int' [-Wformat=] printf("<ERROR> PLAYER_PER_ACCOUNT = %d\n", PLAYER_PER_ACCOUNT); When i compile the db src i get these warnings : Navicat Player>Player>gold type is bigint and length 16. (tried 255 and nothing changed) Thank you all in advance. EDIT: Fixed. If you're dealing with the same issue, check your ClientManagerPlayer.cpp (CreatePlayerSaveQuery) and tables.h
  12. Fixed the issue, was a stupid mistake by my side. If you're having this issue aswell, please check the query in this line in your ClientManagerPlayer.cpp : queryLen = snprintf(queryStr, sizeof(queryStr),
  13. Hey everyone! i hope you're having a good day so far. Today i tried making a new char and it doesn't let me. I checked the db logs and the only error thats showing up when i'm trying to make a char is this SYSERR: Feb 21 00:57:31 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column count doesn't match value count at row 1 query: INSERT INTO player (id, account_id, name, level, st, ht, dx, iq, job, voice, dir, x, y, z, hp, mp, random_hp, random_sp, stat_point, stamina, part_base, part_main, part_hair, gold, playtime, skill_level, quickslot) VALUES(0, 1, 'sadasd', 1, 6, 4, 3, 3, 0, 0, 0, 957121, 255054, 0, 760, 260, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ SYSERR: Feb 21 00:57:31 :: __QUERY_PLAYER_CREATE: QUERY_ERROR: UPDATE player_index SET pid2=0 WHERE id=1 I double checked and reinstalled my database but there is still no results. The odd part is that the error above is missing some entries in my player table. (part_sash/prestige) I also checked the ClientManagerPlayer and everything seems to be fine. You can find my ClientManagerPlayer.cpp here: [Hidden Content] I would appreciate any kind of insight helping me resolve this issue. Thank you!
  14. Hey everyone. I just noticed that every sash that has 19% absorb rate and higher is invisible. I can equip it, the effect pops up and the absorb bonus work too, but the sash is invisible. Sashes with 18% absorb ratio and less are not invisible. Please help! Thank you all in advance. EDIT: In debug mode, i get this error when i equip the sash : CItemManager::GetItemDataPointer - FIND ERROR [86005] EDIT 2: I fixed my issue. If you're experiencing the same issue, go to your Client Source/UserInterface/InstanceBase.cpp and replace the whole void CInstanceBase::SetSash(DWORD dwSash) function with this : [Hidden Content]
  15. Hey everyone. I don't know what has caused this but i'm getting a bunch of the same warnings and i have no clue on how to fix them. cmd_general.cpp: In function 'void do_inventory(LPCHARACTER, const char*, int, int)': cmd_general.cpp:2283:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] if (index >= INVENTORY_MAX_NUM) ~~~~~~^~~~~~~~~~~~~~~~~~~~ compiling cmd_gm.cpp cmd_gm.cpp: In function 'void do_item_purge(LPCHARACTER, const char*, int, int)': cmd_gm.cpp:970:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = 0; i < INVENTORY_MAX_NUM; ++i) ~~^~~~~~~~~~~~~~~~~~~ cmd_gm.cpp:981:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = 0; i < WEAR_MAX_NUM; ++i) ~~^~~~~~~~~~~~~~ cmd_gm.cpp:1002:17: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = 0; i < BELT_INVENTORY_SLOT_COUNT; ++i) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ cmd_gm.cpp: In function 'void do_all_skill_master(LPCHARACTER, const char*, int, int)': cmd_gm.cpp:4433:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < SKILL_MAX_NUM; i++) ~~^~~~~~~~~~~~~~~ compiling cmd_oxevent.cpp compiling config.cpp config.cpp: In function 'bool __LoadConnectConfigFile(const char*)': config.cpp:614:28: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] while (*p != '\0' && cnt < (SKILL_MAX_LEVEL + 1)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~ config.cpp:652:29: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] while (*p != '\0' && cnt < (SKILL_MAX_LEVEL + 1)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~ compiling constants.cpp compiling crc32.cpp compiling cube.cpp cube.cpp: In function 'void Cube_add_item(LPCHARACTER, int, int)': cube.cpp:616:40: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] if (inven_index<0 || INVENTORY_MAX_NUM<=inven_index) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ compiling db.cpp compiling desc.cpp desc.cpp: In member function 'void DESC::SendLoginSuccessPacket()': desc.cpp:938:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i) ~~^~~~~~~~~~~~~~~~~~~~ compiling desc_client.cpp 'int' and 'unsigned int'compiling desc_manager.cpp compiling desc_p2p.cpp compiling dev_log.cpp compiling dungeon.cpp compiling empire_text_convert.cpp compiling entity.cpp compiling entity_view.cpp compiling event.cpp compiling event_queue.cpp compiling exchange.cpp exchange.cpp: In member function 'bool CExchange::CheckSpace()': exchange.cpp:317:16: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = 0; i < INVENTORY_PAGE_SIZE*1; ++i) ~~^~~~~~~~~~~~~~~~~~~~~~~ exchange.cpp:324:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = INVENTORY_PAGE_SIZE*1; i < INVENTORY_PAGE_SIZE*2; ++i) ~~^~~~~~~~~~~~~~~~~~~~~~~ exchange.cpp:332:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = INVENTORY_PAGE_SIZE*2; i < INVENTORY_PAGE_SIZE*3; ++i) ~~^~~~~~~~~~~~~~~~~~~~~~~ exchange.cpp:339:36: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (i = INVENTORY_PAGE_SIZE*3; i < INVENTORY_PAGE_SIZE*4; ++i) ~~^~~~~~~~~~~~~~~~~~~~~~~ exchange.cpp:377:22: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++) ~~^~~~~~~~~~~~~~~~~~~~~~ compiling file_loader.cpp compiling fishing.cpp compiling gm.cpp compiling guild.cpp compiling guild_manager.cpp compiling guild_war.cpp compiling horse_rider.cpp compiling horsename_manager.cpp compiling input.cpp compiling input_auth.cpp compiling input_db.cpp input_db.cpp: In function 'bool GetServerLocation(TAccountTable&, BYTE)': input_db.cpp:65:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i) ~~^~~~~~~~~~~~~~~~~~~~ input_db.cpp: In member function 'void CInputDB::PlayerLoad(LPDESC, const char*)': input_db.cpp:485:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < QUICKSLOT_MAX_NUM; ++i) ~~^~~~~~~~~~~~~~~~~~~ input_db.cpp: In member function 'void CInputDB::EmpireSelect(LPDESC, const char*)': input_db.cpp:1327:20: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i) ~~^~~~~~~~~~~~~~~~~~~~ compiling input_login.cpp input_login.cpp: In member function 'void CInputLogin::Empire(LPDESC, const char*)': input_login.cpp:843:21: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i) ~~^~~~~~~~~~~~~~~~~~~~ compiling input_main.cpp input_main.cpp: In member function 'void CInputMain::Exchange(LPCHARACTER, const char*)': input_main.cpp:1219:24: warning: comparison of integer expressions of different signedness: 'INT' {aka 'int'} and 'unsigned int' [-Wsign-compare] if (ch->GetGold() >= GOLD_MAX) ~~~~~~~~~~~~~~^~~~~~~~~~~ input_main.cpp: In member function 'int CInputMain::MyShop(LPCHARACTER, const char*, size_t)': input_main.cpp:2969:20: warning: comparison of integer expressions of different signedness: 'INT' {aka 'int'} and 'unsigned int' [-Wsign-compare] if (ch->GetGold() >= GOLD_MAX) ~~~~~~~~~~~~~~^~~~~~~~~~~ compiling input_p2p.cpp compiling input_teen.cpp compiling input_udp.cpp compiling ip_ban.cpp compiling item.cpp item.cpp: In member function 'int CItem::FindEquipCell(LPCHARACTER, int)': item.cpp:533:55: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare] if (WEAR_MAX_NUM + i * DS_SLOT_MAX + GetSubType() == iCandidateCell) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ item.cpp: In member function 'void CItem::ModifyPoints(bool)': item.cpp:702:43: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if ((pkItemAbsorbed->alValues[1] > 0) && (lDefGrade <= 0) || (pkItemAbsorbed->alValues[5] > 0) && (lDefGrade < 1)) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ compiling item_addon.cpp compiling item_attribute.cpp compiling item_manager.cpp compiling item_manager_idrange.cpp compiling locale.cpp compiling locale_service.cpp compiling log.cpp compiling login_data.cpp compiling lzo_manager.cpp compiling marriage.cpp compiling matrix_card.cpp compiling messenger_manager.cpp compiling mining.cpp compiling mob_manager.cpp mob_manager.cpp: In member function 'void CMob::AddSkillSplash(int, DWORD, DWORD)': mob_manager.cpp:30:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] if (iIndex >= MOB_SKILL_MAX_NUM || iIndex < 0) ~~~~~~~^~~~~~~~~~~~~~~~~~~~ mob_manager.cpp: In member function 'bool CMobManager::Initialize(TMobTable*, int)': mob_manager.cpp:75:21: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare] for (int j = 0; j < MOB_SKILL_MAX_NUM; ++j) ~~^~~~~~~~~~~~~~~~~~~ The game/db compile just fine i'm just having these annoying warnings. Thank you all in advance.
  16. Greetings everyone, i hope you are having a wonderful day so far. Today i added the sash system by LeNnt and everything went smoothly...except from the fact that some of the sashes are not working. If i try to equip the red sash, it doesn't work. If i try to equip one of the blue sashes, the char equips it just fine. Here is a gif to help you understand better the issue i'm facing. Now i triple checked everything in my source files/pack files and everything is in order but most of the sashes are still not working. Thank you all in advance. Edit : Fixed. (If you're having the same issue, check your dump proto source.)
  17. Yes you can, i managed to extract locale/root with the tool.
  18. Thank you for your info! In my country, a lot of people are getting downtimes and lag spikes due to DDOS attacks. do you reckon that i'd be fine with OVH? because i only know a couple of P server owners in my country and they all host their servers with OVH but they always get some downtime/lag due to DDOS attacks.
  19. Hey everyone, i hope you're having a wonderful day so far. What kind of system would i need to run a p server with roughly 80 people? Also, which hosting do you guys use in 2020 and what are the top hosting provides for a server without any ddos problems, i was wondering if there are any other options except ovh or even better. Thank you all in advance!
×
×
  • 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.