Jump to content

redscoutyt2

Inactive Member
  • Posts

    50
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by redscoutyt2

  1. Hi everyone! First of all, sorry for my bad English. I've tried to increase dwDuration in polymorph.cpp but it doesn't go over 35 minutes, how can I solve it? I did this: bool CPolymorphUtils::PolymorphCharacter(LPCHARACTER pChar, LPITEM pItem, const CMob* pMob, LPCHARACTER ch) { bool hasTriceratops = false; switch (pChar->GetSkillMasterType(POLYMORPH_SKILL_ID)) { if (ch->FindAffect(AFFECT_TRICERATROPSZ)) hasTriceratops = true; case SKILL_PERFECT_MASTER: //dwDuration = 35; //break; if (hasTriceratops == true) { dwDuration = 40; break; } else { dwDuration = 55; break; } I even increased dwDuration in the else function just to make sure it goes over 35 but it doesnt. Can someone help me? Thank you!
  2. It has one bug I can't solve. The problem is: When I drag an item(first item) to another item(second item), the second item disappears and the first item goes to the second item slot, and the second item just disappears. If i log out, or restart the client nothing will happen only when I restart the server. When I restart the server the second item which is disappers, will appear again. Solved, i'll update the post.
  3. Hi guys. I have a mount inventory system which is using the belt inventory. I have a button for it, and I had to have a Belt on to use it(like official) but I wanted to use it without Belt If you want to do this follow this tutorial, I'm not good at coding, so maybe there's better solution, but I did this that way. Sorry for my English. Open char_item.cpp and search: bool CHARACTER::IsEmptyItemGrid(TItemPos Cell, BYTE bSize, int iExceptionCell) const Search this in IsEmptyItemGrid (Item disappear fix by: Pisti95) if (Cell.IsBeltInventoryPosition()) { LPITEM beltItem = GetWear(WEAR_BELT); if (NULL == beltItem) return false; if (false == CBeltInventoryHelper::IsAvailableCell(bCell - BELT_INVENTORY_SLOT_START, beltItem->GetValue(0))) return false; Comment it, make it look like this: if (Cell.IsBeltInventoryPosition()) { //LPITEM beltItem = GetWear(WEAR_BELT); //if (NULL == beltItem) // return true; //if (false == CBeltInventoryHelper::IsAvailableCell(bCell - BELT_INVENTORY_SLOT_START, beltItem->GetValue(0))) // return false; Open belt_inventory_helper.h Search for: static bool IsExistItemInBeltInventory(LPCHARACTER pc) Make it look like this: static bool IsExistItemInBeltInventory(LPCHARACTER pc) { //for (WORD i = BELT_INVENTORY_SLOT_START; i < BELT_INVENTORY_SLOT_END; ++i) //{ // LPITEM beltInventoryItem = pc->GetInventoryItem(i); // // if (NULL != beltInventoryItem) // return true; //} return true; } You can compile game. Python part to ,,turn off" disabled slots, and make it look like you have a Belt on Open uiinventory.py Search this in class BeltInventoryWindow def RefreshSlot(self): Change this: self.wndBeltInventorySlot.SetAlwaysRenderCoverButton(slotNumber, True) To this: self.wndBeltInventorySlot.SetAlwaysRenderCoverButton(slotNumber, False) Then change this: self.wndBeltInventorySlot.DisableCoverButton(slotNumber) To this: self.wndBeltInventorySlot.EnableCoverButton(slotNumber) And I dont know if its necessary, but I did these thing too Search for this in class BeltInventoryWindow def __LoadWindow(self): In this search for: for i in xrange(item.BELT_INVENTORY_SLOT_COUNT): slotNumber = item.BELT_INVENTORY_SLOT_START + i wndBeltInventorySlot.SetCoverButton(slotNumber, "d:/ymir work/ui/game/quest/slot_button_01.sub",\ "d:/ymir work/ui/game/quest/slot_button_01.sub",\ "d:/ymir work/ui/game/quest/slot_button_01.sub") "d:/ymir work/ui/game/belt_inventory/slot_disabled.tga", False, False) And comment the last line, make it look like this: #"d:/ymir work/ui/game/belt_inventory/slot_disabled.tga", False, False) Client source (Still don't know, if it's necessary or not) Open Userinterface/PythonPlayerModule.cpp Search for: #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM PyObject * playerIsEquippingBelt(PyObject* poSelf, PyObject* poArgs) { Make it look like this: (Change PyObject * playerIsAvailableBeltInventoryCell(PyObject* poSelf, PyObject* poArgs) too! ) #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM PyObject * playerIsEquippingBelt(PyObject* poSelf, PyObject* poArgs) { const CPythonPlayer* player = CPythonPlayer::InstancePtr(); bool bEquipping = false; // const TItemData* data = player->GetItemData(TItemPos(EQUIPMENT, c_Equipment_Belt)); // // if (NULL != data) // bEquipping = 0 < data->count; return Py_BuildValue("b", bEquipping); } PyObject * playerIsAvailableBeltInventoryCell(PyObject* poSelf, PyObject* poArgs) { const CPythonPlayer* player = CPythonPlayer::InstancePtr(); // const TItemData* pData = player->GetItemData(TItemPos(EQUIPMENT, c_Equipment_Belt)); // // if (NULL == pData || 0 == pData->count) // return Py_BuildValue("b", true); // // CItemManager::Instance().SelectItemData(pData->vnum); CItemData * pItem = CItemManager::Instance().GetSelectedItemDataPointer(); long beltGrade = pItem->GetValue(0); int pos = 0; if (!PyTuple_GetInteger(poArgs, 0, &pos)) return Py_BadArgument(); //return Py_BuildValue("b", CBeltInventoryHelper::IsAvailableCell(pos - c_Belt_Inventory_Slot_Start, GetItemGrade(pItem->GetName()))); return Py_BuildValue("b", CBeltInventoryHelper::IsAvailableCell(pos - c_Belt_Inventory_Slot_Start, beltGrade)); } #endif And we're done. Have a good day!
  4. Can I do something like, when I talk with an npc and I need a specific item, it displays the item like in the video? (So I dont drag the item to the npc, and it shows me the item, It just automatically shows me the specific item by item vnum Thanks for the answer!
  5. @nazox Hi! Thanks for your answer! I’ve already did this, it didnt help(char.cpp) Im using item_quest type in item_proto and a quest which polymorph you to a mob, and removes the item. It should work, right?
  6. Hi guys. Sorry for my English. I have a little problem, I dont know if its a bug or not, but I supposed to damage way more when I'm polymorphed right? So, I deal the exact same damage while I'm polymorphed (+-1k damage) as I do by default. Thanks for the answers!
  7. Okay, so it happened again: Channel 1 sysser: [Hidden Content] Auth sysser is clear I was busy, and when I got back(1 hour) he could connect again, it didnt need a restart. I asked him to login again, he got kicked again, then I couldnt login either
  8. @MrQuinWhen it will happen again, i'll post it right here, sadly I deleted the sysser/syslog after I restarted the server.
  9. @ TMP4 It didnt crash, me and my other friends were on the same channel and the same map, he was just running around, then got dropped, and he couldnt login back to the game, but he could login with another charachter on the same account
  10. Hi everyone! First of all, sorry for my bad English. I have a big problem, its very annoying, the problem is: I'm testing my server with my friends, we're killing mobs, testing runs, and the game randomly kicks me/or one of my friends to the login menu, they can log in back to the character select menu, they select their character, the game starts loading, then immediately drops them into the login menu, and they cant log in only after a server restart. So if I restart the server, they can log in back, no sysser. Can someone help me please? Its very annoying and I dont even know how to fix it Edit: They can log in with another character, but not with the one the game dropped
  11. If safebox is open I want the CTRL + Right mouse button icon under the item bonuses, like in the first picture, I tried it in uitooltip, but i dont know where and what to call, can someone help me?
  12. Hi guys,I updated my source from freebsd 9.2 to freebsd 12.1, and the new game and db file needs new libs (probably because of the 12.1 compiler) and I dont know how to get them, is there any command to install them or where should I search or download it? Thanks for the answers.
  13. Hi! Im looking for the Metin2Mester and the nextworld2 unpacked client, please if you have it then send me
×
×
  • 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.