Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/21/19 in all areas

  1. Yes, I put it only for the one who had that system in their files.
    1 point
  2. Sorry, I forgot that part in the guide. Here is my inventorywindowex.py: [Hidden Content]
    1 point
  3. In /etc/rc.conf you must have this line to generate core dumps: dumpdev="AUTO"
    1 point
  4. lua_pushnumb?er to lua_pushnumber
    1 point
  5. Hello everyone, What this can do ? This item can set a fix attribute that you set from item_proto (value0 and value1). This is just an example, it's made just for costume_body, if you want to make it for something else just make a new subtype. (1) Open char_item.cpp and search this: case USE_RESET_COSTUME_ATTR: After this case put this: #ifdef SET_ATT_ITEM case USE_SET_ATT_COSTUME : { LPITEM item2; if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell))) return false; if (item2->IsEquipped()) { BuffOnAttr_RemoveBuffsFromItem(item2); } if (item2->IsExchanging() || item2->IsEquipped()) // @fixme114 return false; if ((item2->GetType() == ITEM_COSTUME) && (item2->GetSubType() == COSTUME_BODY)) { if (item2->GetAttributeCount() < 2) { if (item2->HasAttr(item->GetValue(0))) { ChatPacket(CHAT_TYPE_INFO, "You can't add the same bonus two times."); return false; } item2->AddAttribute(item->GetValue(0), item->GetValue(1)); ChatPacket(CHAT_TYPE_INFO, "The bonus has been added successfully."); item->SetCount(item->GetCount() - 1); } else { ChatPacket(CHAT_TYPE_INFO, "Adding bonus failed. You can only add two bonuses on your costume!"); } } else { ChatPacket(CHAT_TYPE_INFO, "The bonus goes only on the costume!"); } } break; #endif (2) Open item_length.h and search this: enum EUseSubTypes Add in the end: USE_SET_ATT_COSTUME, [(Don't forget to put on service.h/CommonDefines.h this: #define SET_ATT_ITEM ) if you don't want "define" just remove the "#ifdef SET_ATT_ITEM from char_item ] (3) DB, Open ProtoReader.cpp and searchi: static string arSub3[] = { Add in the end: "USE_SET_ATT_COSTUME" (4) Binary source, Gamelib, Open ItemData.h and search: enum EUseSubTypes Add in the end: USE_SET_ATT_COSTUME, (5) Gamelib, Open ItemData.cpp and search: } return "USE_UNKNOWN_TYPE"; Before this add: case USE_SET_ATT_COSTUME: return DEF_STR(USE_SET_ATT_COSTUME); (6) Userinterface, Open PythonItemModule.cpp and search: PyModule_AddIntConstant(poModule, "USE_SPECIAL", CItemData::USE_SPECIAL); Put this after: PyModule_AddIntConstant(poModule, "USE_SET_ATT_COSTUME", CItemData::USE_SET_ATT_COSTUME); (7) Open uiinventory.py from root and search: class InventoryWindow(ui.ScriptWindow): After this we need to have: USE_TYPE_TUPLE = ("USE_CLEAN_SOCKET", "USE_CHANGE_ATTRIBUTE", "USE_ADD_ATTRIBUTE", "USE_ADD_ATTRIBUTE2", "USE_ADD_ACCESSORY_SOCKET", "USE_PUT_INTO_ACCESSORY_SOCKET", "USE_PUT_INTO_BELT_SOCKET", "USE_PUT_INTO_RING_SOCKET") In this list we add in the end this: , "USE_SET_ATT_COSTUME" (8) In uiinventory.py search: elif "USE_ADD_ATTRIBUTE2" == useType: After this elif we need to add this: elif "USE_SET_ATT_COSTUME" == useType: if self.__CanSetItemAttr(dstSlotPos): return True (9) In uiinventory search: def __CanAddItemAttr(self, dstSlotPos): After this def, add this: def __CanSetItemAttr(self, dstSlotPos): dstItemVNum = player.GetItemIndex(dstSlotPos) if dstItemVNum == 0: return False item.SelectItem(dstItemVNum) if not item.GetItemType() in (item.ITEM_TYPE_COSTUME): return False attrCount = 0 for i in xrange(player.METIN_SOCKET_MAX_NUM): if player.GetItemAttribute(dstSlotPos, i) != 0: attrCount += 1 if attrCount<2: return True return False (10) Open tooltip.py and search : elif item.USE_ABILITY_UP == itemSubType: From elif item.ITEM_TYPE_USE == itemType: After this: elif item.USE_ABILITY_UP == itemSubType: We need to add this: elif item.USE_SET_ATT_COSTUME == itemSubType: type = item.GetValue(0) value = item.GetValue(1) if value: affectString = self.__GetAffectString(type, value) if affectString: affectColor = self.__GetAttributeColor(0, value) self.AppendTextLine(affectString, affectColor) After you completed all the steps above create a new item with type ITEM_USE and subtype USE_SET_ATT_COSTUME. Here are some examples of items: 50898 축복의 구슬 ITEM_USE USE_SET_ATT_COSTUME 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP ITEM_QUEST | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 1 2000 0 0 0 0 0 0 0 50897 축복의 구슬 ITEM_USE USE_SET_ATT_COSTUME 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP ITEM_QUEST | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 17 10 0 0 0 0 0 0 0 50896 축복의 구슬 ITEM_USE USE_SET_ATT_COSTUME 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP ITEM_QUEST | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 15 10 0 0 0 0 0 0 0 Video : [Hidden Content] I hope i didn't forgot anything . Have a nice day.
    1 point
  6. Probably it's too late for an answer, but still it could be helpful for someone This problem appears because in original files from Mijago exists some small mistakes (look at marked rows): Next changes fixed errors for me: Regards.
    1 point
×
×
  • 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.