Hi.

Member
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Hi.

  • Rank
    Neutral

Profile Information

  • Gender
    Male

Recent Profile Visitors

111 profile views
  1. Hi, This is a item witch can change dragon soul attributes, I made it with subtype but you can easily do it by vnum. Here you have the case for subtype: (If in DragonSoul.h function PutAttributes is on private move it on public.) https://pastebin.com/0cNA0Xtj
  2. 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: https://pastebin.com/65KpMgMF (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: https://pastebin.com/kiavCCKx (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: https://pastebin.com/GVkW824Y 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: https://pastebin.com/HNxK6tfc Video : https://www.youtube.com/watch?v=728yoPapNCw I hope i didn't forgot anything . Have a nice day.
  3. Hi.

    c++ Extend Time

    Hello, What make this? Extend time for some items, what items you want, i make for costume body & hair. (1.1)Open char_item.cpp and search : case USE_TIME_CHARGE_FIX: (1.2)After this case put this: https://pastebin.com/D6zqRKpg (2.1) Go in DB in ProteReader.cpp and search: static string arSub3[] = { (2.2) At the end of this list we add: "USE_EXTEND_TIME", (3.1) Go in common, open item_length.h and search: enum EUseSubTypes (3.2) In this enum going the last line and put this: USE_EXTEND_TIME, (4.1) Binary, in GameLib -> ItemData.h and search : enum EUseSubTypes (4.2)In this enum going the last line and put this: USE_EXTEND_TIME, (5.1) Userinterface, in PythonItemModule.cpp and search: https://pastebin.com/UzhrRgmt (5.2) After this line put this: https://pastebin.com/PXDUTpDi Done with game/binary source. (1.1) Open root, in uiinventory.py and search: def __DropSrcItemToDestItemInInventory(self, srcItemVID, srcItemSlotPos, dstItemSlotPos): (1.2) On this def put this: https://pastebin.com/iWQJCQuA P.S: If you want Window Dialog make this: (1.3) Search: def __IsUsableItemToItem(self, srcItemVNum, srcSlotPos): (1.4) On this def put this: https://pastebin.com/MKzGwksN (1.5) Search: def __CanUseSrcItemToDstItem(self, srcItemVNum, srcSlotPos, dstSlotPos): (1.6) On this def put this: https://pastebin.com/vQGH4v7Z Done. How to do item: You make a new item with type ITEM_USE and subtype USE_EXTEND_TIME and you put time you want on your item in Value0 (in seconds). Whit this methor you just make a new item for diferent times. About define EXTEND_TIME_COSTUME, you can remove it or you can add it in service.h (I use this define, you can use another). I don't think a screen or a video is needed.