Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/19/24 in Posts

  1. Olá, aventureiros, Estou disponibilizando um novo projeto que estou iniciando inspirado pelo @llchrisll. Ele é responsável por traduzir os arquivos do kRO da pasta Data/System para inglês. Estou traduzindo seu repositório para português, incluindo imagens com texto. A primeira versão inclui o menu 'Banco' traduzido, incluindo os botões. O nome do projeto é ROBC (Ragnarok Online Brazil Client) Github: ROBC <-- Clique aqui para acessar o repositório.
    1 point
  2. Hello, ive update this for weapon, robe and headgear generator, so when there is no script, its not generated at iteminfo. too. Let me know if you found any issue or anymore improvements/ideas to make this tools better. Ive been planning to add the SQL part too, but maybe later.
    1 point
  3. Well, what I posted was an example for you to modify yourself to fit your needs. If you want to be able to only mark one specific mob on a map by mob id you can do it like this: - script MOB_MARKER -1,{ OnInit: bindatcmd("markmobs", strnpcinfo(3) + "::OnMarkMobs"); bindatcmd("unmarkmobs", strnpcinfo(3) + "::OnUnmarkMobs"); end; function delete_viewpoints { freeloop(1); for(.@i = 0; .@i < getarraysize(@viewpoints_x); .@i++) { viewpoint(2, @viewpoints_x[.@i], @viewpoints_y[.@i], (.@i + 1), 0xFF0000); } freeloop(0); deletearray(@viewpoints_x, getarraysize(@viewpoints_x)); deletearray(@viewpoints_y, getarraysize(@viewpoints_y)); } OnMarkMobs: if(.@atcmd_numparameters != 1) { dispbottom("Usage: @markmobs MobID"); end; } .@mob_id = atoi(.@atcmd_parameters$[0]); if((.@mob_name$ = strmobinfo(1, .@mob_id)) == "") { dispbottom("A mob with the Mob ID " + .@mob_id + " does not exist."); end; } getmapxy(.@map$, .@x, .@y); getmapunits(BL_MOB, .@map$, .@mobs); if(getarraysize(.@mobs) == 0) { dispbottom("There are no mobs on this map."); end; } if(getarraysize(@viewpoints_x) > 0) { delete_viewpoints(); } freeloop(1); for(.@i = 0; .@i < getarraysize(.@mobs); .@i++) { if(getunitname(.@mobs[.@i]) != .@mob_name$) { continue; } getunitdata(.@mobs[.@i], .@unit_data); .@viewpoint_index = getarraysize(@viewpoints_x); viewpoint(1, .@unit_data[UMOB_X], .@unit_data[UMOB_Y], (.@viewpoint_index + 1), 0xFF0000); @viewpoints_x[.@viewpoint_index] = .@unit_data[UMOB_X]; @viewpoints_y[.@viewpoint_index] = .@unit_data[UMOB_Y]; } freeloop(0); if(getarraysize(@viewpoints_x) == 0) { dispbottom("Mob ID " + .@mob_id + " was not found on the map."); end; } end; OnUnmarkMobs: if(getarraysize(@viewpoints_x) == 0) end; delete_viewpoints(); }
    1 point
  4. Many ask me for support, although there is a guide here from another member on the forum., for some reason this guide, besides being outdated, has files that don't exist (iteminfo.lub with another name) and it confuses a lot of people Quick guide to hands-on teaching you how to install garment on your rAthena emulator and Client-side Note: The garments are not considerable common looks, so they do not use Accessoryid.lub and accname.lub. Features we’re going to use: • iteminfo.lua • SpriteRobeId.lub • SpriteRobeName.lub • item_db_equip.yml • 1 image Collection • 1 bmp image for inventory • 1 spr and act of item when dragged • 1 spr and act of the equipment (male or female) STEP 1 First let’s add the name we want to the client-side System/iteminfo.lub Orange = Item id Green = collection/act/spr file name Blue = Title name Purple = item description [250001] = { unidentifiedDisplayName = "Unidentified Garment", unidentifiedResourceName = "후드", unidentifiedDescriptionName = { "Can be identified by using a ^990099Magnifier^000000." }, identifiedDisplayName = "Super Angel Wing", identifiedResourceName = "Angel_wing", identifiedDescriptionName = { "White wings of a holy Archangel.", "____________", "^0000CCType:^000000 Garment", "^0000CCDefense:^000000 18", "^0000CCWeight:^000000 20", "____________", "^0000CCRequirement:^000000 None" }, slotCount = 1, ClassNum = 1, costume = false }, • In the print it will look like this: Now I’m going to right click on any item or id and select the option COPY TO… Obs: the ideal is you already get the id of some wing, for example the ArchAngel which is the 2573 as we are going to make a wing, it can be the same as it. (if I were to make a sword for example or something related in the back, it could be Thanatos Sword as an example) and you put the new id, in the case of the example it is the 250001 If you notice the Archangel Wings VIEWID is the 1: So let’s put the ID of our custom, which is 84, the ID we chose in the file SpriteRobeID.lub Staying like this in the Server data base: In YML it looked like this, after saving: Now the bureaucratic part is definitely over, let’s just copy the files to the data folder and connect. STEP 3 Let’s go to the files now, the paths we’re going to use is: inventory= data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item\ Collection = data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\collection\ drag inventory = data\sprite\¾ÆÀÌÅÛ\ wing (Male) = data\sprite\·Îºê\Angel_Wing\³²\ wing (Female) = data\sprite\·Îºê\Angel_Wing\¿©\ Note: Currently the client only reads the file by the name of the class, I’m going to use the LEARN (novice) class in the example, but ideally you use a garment generator and generate the same file for all classes (I think this one can be a good gerator *I haven’t tested it yet* But let’s test only with 1 class to test, as I said, I’ll use the apprentice, the sprite name is: Ãʺ¸ÀÚ_³² first let’s paste the textures, Collection folder in place data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\collection\ folder item inventory = data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item\ Now we can go to the Sprites, Drop inventory = data\sprite\¾ÆÀÌÅÛ\ wing (male) = data\sprite\·Îºê\Angel_Wing\³²\ Note that the filename goes one folder before, and in the file goes the class name, this can be repeated for the female folder. in-game looked like this on @item 250001 with the class @job 0 Some observations: 1 – I had to change the SDE from (4) to 8192 to test if the robe custom was right, so that’s why it’s in the look tab and not the Equip tab, but I saw that it doesn’t make a difference, so disregard it. 2 – If the Wing appears on the ALT+Q but does not appear on the character as in this image below you probably don’t have the id in transparentitem.lub is an extra file that controls the transparency of the item, this file’s default for non-existent ids is 0 (transparent) so you just open it and so here: 84 = is ID { 84, 255, 255, 0 },
    1 point
  5. 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. - 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
    1 point
×
×
  • Create New...