Search the Community
Showing results for tags 'custom items'.
Found 4 results
-
I'm Having A problem when showing front on my character equipping Archangel Wing.
- 9 replies
-
- sprite custom
- graphics
-
(and 1 more)
Tagged with:
-
Olá a todos sei que existem outros guia aqui no forum para adiconar custom itens, Porém faltam algumas informações para funcionar corretamente (em cliente novos no meu caso 2018-06-20) Item Necessarios GIT > https://git-scm.com/downloads Tortoise - > https://tortoisegit.org/download/ NEMO - > https://gitlab.com/4144/Nemo EXE -> http://nemo.herc.ws/downloads/ (pode se encontrar um aqui para você estou a versão 2018-06-20) Bom vamos lá. - Compilar o cliente ( irei usar o NEMO) Imagem auto explicativa, Segue abaixo: Dependendo do Seu cliente no passo "3" da imagem, pode dar um erro "Always call SelectKoreaClientInfo" Apenas ignore. DATA.INI System/itemInfo_Sak.lub -> para algumas pessoas pode ser necessário mudar dependendo da sua pasta no meu caso não preciso. Always Load Korea ExternalSetting lua files Read Data Folder First Increase Headgear ViewID - > Coloque o numero conforme necessidade vai até 32000 O mais importante ( Não funcionara se não ativar ira dar crash não esqueça de Ativá-lo) Esses são os necessários porém sintase a vontade de editar seu EXE, conforme sua necessidade, feito isso ficara algo parecido com isso. Feito isso vamos para pasta do servidor Hercules\db\item_db2.conf Obs: Aqui estou usando um spr que peguei aqui no site então caso queira é só fazer download aqui. creditos ao ~Wolfeh. Obs²: neste SPR alterei o nome que estava Tobi_Mask.spr/act para item01 caso for usar este item altere para item01 tudo se não vai dar erro mantendo ¿©_ / ³²_ ou altere os AgeisName { Id: 40000 //ID Do seu custom Item AegisName: "item01" Name: "Tobi Mask" Type: 5 Buy: 20 Weight: 40 Atk: 20 Def: 20 Slots: 2 Job: 0xFFFFFFFE Loc: 769 EquipLv: 1 View: 4500 //ID DO SPRITE }, Agora vamos para pasta do seu RO e vamos na pasta data Pasta - >> data\sprite\¾ÆÀÌÅÛ item01.spr // mesmo nome do AegisName colocado no item_db2.conf item01.act // mesmo nome do AegisName colocado no item_db2.conf Pasta - >> data\sprite\¾Ç¼¼»ç¸® // Existem duas pasta ³² para masculino e ¿© para Feminino. Pasta - >> ³² ³²_item01.spr ³²_item01.act Pasta - >> ¿© ¿©_item01.spr ¿©_item01.act Pasta - texture\À¯ÀúÀÎÅÍÆäÀ̽º // Existem duas pasta caso contrario crie 1 - Item e a 2 - collection item - item01.bmp //icone do item mostrado no jogo collection - item01.bmp //foto do item que mostra com a descrição feito isso vamos para data\luafiles514\lua files\datainfo 1 - Abra o accessoryid.lub e adicione na ultima linha antes do } conforme esta á baixo.// Aqui estou usando o note++ ACCESSORY_C_Luna_On_Shoulder = 1881, //IMPORTANTE FECHE A VIRGULA SE NÃO DAR ERRO. -- Custom Item ACCESSORY_item01 = 4500, // aqui coloque o ID que colocou no item_db2.conf caso usou esse memso numero deixe esse // A ULTIMA LINHA NÃO PRECISA COLOCAR MAIS SE QUISER PODE POR. } 2 - Abra o accname.lub e adcione. // Lembrando que tem que ser antes do "}" conforme abaixo, [ACCESSORY_IDs.ACCESSORY_C_Luna_On_Shoulder] = "_C_Luna_On_Shoulder", -- Custom Itens [ACCESSORY_IDs.ACCESSORY_item01] = "_item01", } 3 - Agora ultima etapa vá para a pasta SEURO\System e abra itemInfo_Sak.lub (o mesmo nome, que colocou no nemo) Procure "function main()" vai estar +- assim: } function main() for ItemID, DESC in pairs(tbl) do result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not msg then result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume) end Antes do } adicione: [40000] = { unidentifiedDisplayName = "Tobi Mask", unidentifiedResourceName = "item01", unidentifiedDescriptionName = { "Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000." }, identifiedDisplayName = "Tobi Mask", identifiedResourceName = "item01", identifiedDescriptionName = { "Uma mascara laranja com desenho espiral e um orificio para o olho direito.", "Ataque :^777777 20^000000", "Defesa :^0000FF 20^000000", "Equipped on :^777777 Upper, Mid, Lower^000000", "Weight :^009900 40^000000", "Applicable Job :^777777 Every Job^000000", "Spriter :^777777 Wolfeh^000000", "Level Requirement:^009900 1^000000", "Jobs:^6666CC All except Novice^000000" }, slotCount = 2, ClassNum = 4500, costume = false }, ficando parecido com isso : [40000] = { unidentifiedDisplayName = "Tobi Mask", unidentifiedResourceName = "item01", unidentifiedDescriptionName = { "Item desconhecido, voce precisa identificar usando a ^6666CCLupa^000000." }, identifiedDisplayName = "Tobi Mask", identifiedResourceName = "item01", identifiedDescriptionName = { "Uma mascara laranja com desenho espiral e um orificio para o olho direito.", "Ataque :^777777 20^000000", "Defesa :^0000FF 20^000000", "Equipped on :^777777 Upper, Mid, Lower^000000", "Weight :^009900 40^000000", "Applicable Job :^777777 Every Job^000000", "Spriter :^777777 Wolfeh^000000", "Level Requirement:^009900 1^000000", "Jobs:^6666CC All except Novice^000000" }, slotCount = 2, ClassNum = 4500, costume = false }, } function main() for ItemID, DESC in pairs(tbl) do result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not msg then result, msg = pcall(AddItem, ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum, DESC.costume) end if not result then return false, msg end for k, v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k, v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end if nil ~= DESC.EffectID and nil ~= AddItemEffectInfo then result, msg = AddItemEffectInfo(ItemID, DESC.EffectID) if not result then return false, msg end end if nil ~= DESC.costume and nil ~= AddItemIsCostume then result, msg = AddItemIsCostume(ItemID, DESC.costume) if not result then return false, msg end end end return true, "good" end function main_server() for ItemID, DESC in pairs(tbl) do result, msg = AddItem(ItemID, DESC.identifiedDisplayName, DESC.slotCount) if not result then return false, msg end end return true, "good" end Abra seu servidor, e logue nele crie o item e teste. Considerações: Resolvi fazer esse guia pois não achei nenhum atualizado e faltava informações ( como a parte do nemo eu mesmo nunca tinha visto um guia sitando para ativar esse viewID) a maioria dos tutorial que via, ou pasta de exemplos sempre mandava adicionar em outros arquivos como idnum e etc e no caso do cliente novo não precisa. espero que este guia ajude.
-
I would like to apologize for the English, i need a NPC PVP Without Donates or custon FUNTIONAL please. I'm looking for almost 2 weeks, and I can not find one that removes the items from the character. I'm posting here what I currently use, it blocks the entry of the player with the item, I would like one to let the player enter, but unequipped the item. I already created a map_flag zone, but it removes the statuses of the items, but does not remove them from the player. I'll post my npc here, if anyone knows how to arrange it. (please help !! ) If someone has a functional that removes the item, please share if it is not asking too much. I thank you all and I'm sorry for the inconvenience. pvpsala.txt
-
Introduction Well this idea came up when evilpunker asked about the possibility of having a patch which loads a second file which overrides the iteminfo file. But there is a better way to do that with lua itself. How to do it? The key idea is that the item information is added using the main function by the client. so in your custom file you just need to modify the main function to accept your items. Here is how it can be done. -- Load the original file. As you might have guessed you can also load your translated file here instead -- (just make sure the "tbl" array contains your item info) dofile("System/iteminfo.lub") -- Now as a simple example . I am simply going to change name of Red Potion to Crimson Potion. -- But you can add anything in the same way. Format is same as the original one, just -- the table name is different tbl_custom = { [501] = { unidentifiedDisplayName = "Crimson Potion", unidentifiedResourceName = "»¡°£Æ÷¼Ç", unidentifiedDescriptionName = { "A potion made from", "grinded Red Herbs that", "restores ^000088about 45 HP^000000.", "^ffffff_^000000", "Weight: ^7777777^000000" }, identifiedDisplayName = "Crimson Potion", identifiedResourceName = "»¡°£Æ÷¼Ç", identifiedDescriptionName = { "^000088HP Recovery Item^000000", "A potion made from", "grinded Red Herbs that", "restores ^000088about 45 HP^000000.", "^ffffff_^000000", "Weight: ^7777777^000000" }, slotCount = 0, ClassNum = 0 }, } -- Now for a helper function because i hate repetitions -- It adds items from curTable if it is not present in refTable function itemAdder(curTable, refTable) for ItemID,DESC in pairs(curTable) do if refTable == nil or refTable[ItemID] == nil then result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not result then return false, msg end for k,v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k,v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end end end return true, "good" end -- And the newly designed main function function main() result, msg = itemAdder(tbl_custom, nil) -- add custom items (including official overrides) if result then result, msg = itemAdder(tbl, tbl_custom) -- add non-overridden official items end return result, msg end How is it useful? Think how item_db2.txt is useful for adding custom items in a server. Its the same strategy here. You can keep your official items in a base file (or you can just use the official iteminfo.lub file if you want the korean names) and keep your custom items in a different file (make sure the first dofile function calls the base file). The above code is error free, so feel free to copy and add your items . Hope the topic was not too confusing The lua code can be further expanded for overriding only parts of an official item. But i will leave that update for the future P.S. The client should be patched to accept your custom file not the base file. Screenshot