Like it Posted March 1, 2017 Group: Members Topic Count: 8 Topics Per Day: 0.00 Content Count: 24 Reputation: 11 Joined: 12/14/16 Last Seen: August 3, 2017 Share Posted March 1, 2017 Olá. Hoje vim trazer um tutorial muito simples, mas que é de grande utilidade para todos, até pelo motivo de eu não ter encontrado em nenhuma comunidade PT-BR. Tive um grande trabalho para achar um tutorial que tivesse uma línguagem mais prática e funcionasse, então devido a isso decidi postar. Utilizar multíplos iteminfo.lub/lua. Primeiro, como sabemos, os clientes mais novos estão usando itemInfo.lua / lub para substituir arquivos TXT para informações de item no lado do cliente, dentro da pasta System. Acho que grande parte dos criadores de servidores mais complexos, se depararam com a situação de adicionar algum(ns) item(ns) de outro RO como idRO, iRO, & jRO, KRO e sempre receber "Item desconhecido" e "Maçãs", e não saber o verdadeiro motivo causador disso, exceto ao trocar os arquivos itemInfo.lua/lub. Eis que surgiu uma solução! Vamos lá. Utilidade: utilizar itemInfo de outros servidores oficiais, como kRO, iRO e idRO, e fazer com que aqueles possam substituir informações não existentes de outros arquivos. Tutorial - 1º Passo: Prepare os arquivos a ser utilizado, exemplo: "itemInfo_bRO.lua" - Traduzido do BRO com todos os arquivos em PT-BR. "itemInfo_iRO.lua" Servidor internacional iRO. "itemInfo_idRO.lua". "iteminfo_custom" - Seu iteminfo customizado, com seus itens criados. "itemInfo_kRO.lua" - Servidor oficial e distribuidor do jogo RO. - 2º Passo: Faça um arquivo .lua vazio, dê o nome "itemInfo.lua". Este será o arquivo principal para ser lido pelo cliente. Edite o "itemInfo.lua", e cole este código. Spoiler main = function() iiFiles = { "System/itemInfo_Translation.lua", -- 1st priority "System/itemInfo_iRO.lua", -- 2nd "System/itemInfo_idRO.lua", -- 3rd "System/itemInfo_kRO.lua", -- 4th } _TempItems = {} _Num = 0 -- check existing item function CheckItem(ItemID, DESC) if not (_TempItems[ItemID]) then _TempItems[ItemID] = DESC _Num = _Num + 1 else myTbl = {} for pos,val in pairs(_TempItems[ItemID]) do myTbl[pos] = val end for pos,val in pairs(DESC) do if not (myTbl[pos]) or myTbl[pos] == "" then myTbl[pos] = val end end _TempItems[ItemID] = myTbl end end -- end check -- Read all files for i,iiFile in pairs(iiFiles) do d = dofile(iiFile) end -- Read all files -- process _TempItems for ItemID,DESC in pairs(_TempItems) do --print("ItemID",ItemID,"Name",DESC.identifiedDisplayName) 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 -- process _TempItems _TempItems = nil return true, "good" end - 3º Passo: entre no arquivo criado iteminfo.lua, que foi colado o código e onde estiver essa parte main = function() iiFiles = { "System/itemInfo_Translation.lua", -- 1st priority "System/itemInfo_iRO.lua", -- 2nd "System/itemInfo_idRO.lua", -- 3rd "System/itemInfo_kRO.lua", -- 4th } Mude para o nome dos seus arquivos, colocando em ordem de prioridade qual arquivo deve ser lido primeiro pelo Hexed (Geralmente iniciado com o BRO). Salve e feche. - 4º Passo: Em seguida, copie o arquivo e renomeie o arquivo copiado para "iteminfo.lub". - 5º Passo: Entre em todos seus arquivos preparados no Passo 1, e verifique se ambos começam assim: tbl = { ... } Caso sim, continue no mesmo arquivo e vá para o próximo passo. - 6º Passo: Vá até o final do arquivo e remova a função principal. Geralmente estará assim. Spoiler function main() for ItemID, DESC in pairs(tbl) do 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 return true, "good" end Adicione ao lugar removido o seguinte código. for ItemID,DESC in pairs(tbl) do CheckItem(ItemID,DESC) end Fim! Aprecie seus novos arquivos. Notas e Créditos. OBS¹: Apenas traduzi um tutorial já existente, no qual vou estar deixando a fonte a baixo. Mas tive que modificar praticamente todo tutorial, então os créditos são a ambos. OBS²: Não irei fornecer nenhum arquivo, isto é apenas um tutorial, não me envie pm me solicitando nada. OBS³: todos os arquivos devem ser decompilado .lua, não compilado. OBS4:Se você tiver itens com ícone vazio , isso significa que sua data não tem o sprite / textura necessária ou seus arquivos itemInfo estão com o "unidentifiedResourceName" ou "identifiedResourceName" vazio ou não preenchidos. Fonte: http://pservero.com/...iteminfo-files 8 2 1 Quote Link to comment Share on other sites More sharing options...
Pixel Posted July 23, 2017 Group: Members Topic Count: 10 Topics Per Day: 0.00 Content Count: 65 Reputation: 39 Joined: 11/15/11 Last Seen: Thursday at 09:45 AM Share Posted July 23, 2017 Show de bola em, parabéns pela contribuição para a comunidade Quote Link to comment Share on other sites More sharing options...
M4karov Posted August 29, 2017 Group: Members Topic Count: 30 Topics Per Day: 0.01 Content Count: 149 Reputation: 37 Joined: 04/01/13 Last Seen: June 18, 2024 Share Posted August 29, 2017 Parabéns pelo guia, nem sonhava que isso era possível. Quote Link to comment Share on other sites More sharing options...
JulioCF Posted October 26, 2017 Group: Members Topic Count: 24 Topics Per Day: 0.00 Content Count: 224 Reputation: 60 Joined: 12/30/11 Last Seen: July 20, 2024 Share Posted October 26, 2017 Bom dia. Parabéns e obrigado pelo guia! Quote Link to comment Share on other sites More sharing options...
Mihael Posted April 19, 2019 Group: Members Topic Count: 21 Topics Per Day: 0.01 Content Count: 130 Reputation: 73 Joined: 09/03/14 Last Seen: June 3, 2023 Share Posted April 19, 2019 Muito útil o tutorial, obrigado por trazer traduzido fera! +1 Quote Link to comment Share on other sites More sharing options...
HD Scripts Posted April 19, 2019 Group: Members Topic Count: 23 Topics Per Day: 0.00 Content Count: 184 Reputation: 15 Joined: 06/10/12 Last Seen: 15 hours ago Share Posted April 19, 2019 Pois é mas dai surge uma pergunta. Em que padrão o client lê os itens? Tipo, tem 3 iteminfo e o id 501 de 2 deles, está em inglês, e apenas 1 está pt-br. Qual ele vai ler? Quote Link to comment Share on other sites More sharing options...
Mihael Posted June 10, 2019 Group: Members Topic Count: 21 Topics Per Day: 0.01 Content Count: 130 Reputation: 73 Joined: 09/03/14 Last Seen: June 3, 2023 Share Posted June 10, 2019 On 4/19/2019 at 11:36 AM, HD Scripts said: Pois é mas dai surge uma pergunta. Em que padrão o client lê os itens? Tipo, tem 3 iteminfo e o id 501 de 2 deles, está em inglês, e apenas 1 está pt-br. Qual ele vai ler? Ou vai dar erro pq vc tem 3 itens com id iguais ou 1 irá sobrepor o outro, chuto que o principal que seja lido iteminfo.lub. Só testando xD Quote Link to comment Share on other sites More sharing options...
DoriTos Nacho Posted July 15, 2019 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 11 Reputation: 1 Joined: 06/01/12 Last Seen: June 28, 2024 Share Posted July 15, 2019 Ainda funciona este método? Pois o System do bRO não consigo editar nada está bem confuso para se mexer: Quote Link to comment Share on other sites More sharing options...
Phalanx CIWS Posted July 15, 2019 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 10 Reputation: 4 Joined: 03/26/14 Last Seen: March 16 Share Posted July 15, 2019 HD Scripts - O 1ª iteminfo da lista terá prioridade sobre os outros. Esse esquema de muiti iteminfo foi uma das coisas mais bacanas que eu já vi. Doritos Nacho - O iteminfo do BRO está compilado. Você vai precisar usar alguma ferramenta para descompilar e depois editar. Quote Link to comment Share on other sites More sharing options...
LOOLP - OFF Posted July 17, 2019 Group: Members Topic Count: 12 Topics Per Day: 0.01 Content Count: 233 Reputation: 51 Joined: 12/20/18 Last Seen: March 10, 2021 Share Posted July 17, 2019 Existe uma forma BEM FACIL de ler 2,5,10 item info '-' Seria necessário apenas ler a estrutura do arquivo que entenderia. Quote Link to comment Share on other sites More sharing options...
Kurama Youko Posted October 6, 2021 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 6 Reputation: 1 Joined: 02/19/17 Last Seen: June 24, 2023 Share Posted October 6, 2021 (edited) Muito top esse sistema, já tive as ideias de como usar da melhor forma possível, vou trabalhar esse sistema somente nos custons Portanto, tenho uma duvida, o arquivo inicial para a sistema tem que ser o propio iteminfo.lua, mas os arquivos que ele puxara para leitura pode ser .lub? Edited October 8, 2021 by Kurama Youko 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.