Jump to content

Leaderboard

Popular Content

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

  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. Version 2.0

    96 downloads

    vCP (Version 2.0) The vCP (Version 2.0) is a point-based voting system designed for the game Ragnarok. This version of the system has undergone significant updates to enhance security, ensure compatibility with the latest PHP version (8.2.1), and improve code organization. Features Point-Based Voting: Players can earn points by voting and then exchange them for items that will be delivered directly to their in-game accounts. Installation Access install/index.php and fill out the installation form. Upon completion, the system will create all the necessary infrastructure for its operation. Common Errors and Solutions: Error when altering the login table: Check if the "vcp_pontos" field does not exist in the table. If it exists, you can delete it and attempt the installation again. Error when writing the configuration file: If you encounter this error, it may be due to insufficient writing permissions in the "inc" folder. Ensure that your account has the necessary permissions. Key Improvements In this version 2.0, the following improvements have been implemented: Introduction of the vCP class instance: An instance of the vCP class has been introduced to improve code organization and maintenance. Code improvements in files: The code has been enhanced to make it more secure and robust. Practices such as input sanitization using htmlspecialchars have been adopted. Updated Charset: The charset has been changed to UTF-8, ensuring support for special characters. Sql class improvements: The Sql class has been improved to make it more robust and secure. Transition to MySQLi: The system now utilizes the MySQLi extension for database communication, enhancing query security and efficiency. How to Contribute If you wish to contribute to this project or report issues, feel free to open issues or pull requests. Contributions are welcome! Conclusion The Point-Based Voting system for Ragnarok is an excellent way to encourage player participation and increase competitiveness among servers. Additionally, it provides a richer and more diverse gaming experience. The system's installation is simple and quick and can be carried out through the install/index.php file. License This project is licensed under the MIT License. Please refer to the LICENSE file for more details. Github: https://github.com/felipemike/vcp
    Free
    1 point
  6. 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
  7. Version 1.0.2

    8889 downloads

    ~ Keep calm and use it on your server ~ ~ Don't claim my work as yours please and etc ~ ~ Any requests/reports - https://rathena.org/board/profile/47250-w0wzukubg/
    Free
    1 point
×
×
  • Create New...