Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/14/21 in all areas

  1. Welcome rAthena Community! Hello everyone Ren here, so it has come to my attention through the discord channel alot of you are having issues setting up your new clients and are having issues or your new and want to jump right into the server construction but cant figure out how to properly set up a new 2020 client without errors or issues. I am here to finally remedy that! The guides on the documentation are here and there and newcomers can't figure out why they are having errors and tend to skip things here and there. Below I will fully explain from start to finish how to set up a Ragnarok 2020 Client for Renewal and Pre Renewal use! Lets Begin! Okay so below I've decided to skip text and shoot for a video tutorial this will eliminate more errors and create a better reference! Please do exactly as I do to eliminate error this includes making new folders to make a tidy work space! (Note for video I will not be redownloading files as I do not like clutter. I will also be using a text editor to type.) Guide Links KRO - Full Client For Ragnarok Game Files (Akkarins File) NEMO - Client exe Patcher for your server (Most Updated) NEMO RagClient - The latest supported client for 2020! ROTranslation - Chris's Full RO Translation (Most Updated) GRF Editor - GRF tool to open grfs and create them (Requires rAthena Account) MISINFORMATION ON VIDEO REGARDING ITEMINFO_V5.LUA I WANTED TO POINT OUT CORRECT INFORMATION REGARDING ITEMINFO_V5 LUA THAT I REALIZED I MISINFORMED IN THE VIDEO WHEN EVER UPDATING RSU IT WILL OVERWRITE ORIGINAL ITEMINFOS V5 FOR ALL 2020 CLIENTS. IN PATCH ON NEMO PLEASE MAKE YOUR OWN /ITEMINFOSERVER.LUA SO KRO DOESNT OVERWRITE! JUST COPY THE INFORMATION FROM ORIGINAL V5 AND MAKE IT YOUR OWN! Information Regarding Language Types Other Then English Okay so I wanted to give a few details on regarding languages other then english that are not covered within the video. If your looking to change the language to russian for example please make sure you have this patch below enabled while patching! - Always load korean external settings file! Then you can select other language type numbers 0-17 etc. Here is also my text document with the steps! // Welcome to the 2020 client set up guide // Alot of you have been having issues with setting up the new client if you follow this video from start to finish you will be able to 1. Have a properly running server client side 2. Learn to be more organized 3. Add custom items // Lets start step 1. Make a new folder on your desktop for your server client files and tools. A clean enviroment will help with less errors! This means installing a fresh copy of the full kRO game. Also follow my organization of where i place all my tools and files. step 2. Download all the required files to have a full client side, all of these files can be found on my guide post and save them to the tools folder. step 3. Extract the full kRO to your game files folder within your server folder & update using the 2 RSU patchers. step 4. Install GRF Editor onto your windows system , this has its own folder within program files. step 5. Extract the rest of the tools one by one into your tools folder. step 6. Go back to your game files folder and make sure that kRO is fully updated by running the two patchers 1 by 1. After downloading all the neccessary tools and extracting the game files and updating we may now continue on to building a fresh GRF for your servers use! This is better then using old grfs that have to much stuff that will conflict with the new client files. This client also uses new resource files and new system folder files which will be covered. okay lets begin. step 1. open grf editor step 2. navigate to your rotranslation folder step 3. copy or drag both basic texture sub folders into data folder on grf editor step 4. if your planning on running a pre renewal drag the renewal data over first but if your planning on running renewal like i am drag the pre over first then the renewal step 5. now we completed building our basic server grf we will now edit our connection file called clientinfo.xml you can delete the sclientinfo as it is not needed with the new client now we can save the grf to our game files folder where everything is for the game! Keep grf editor open for adding custom items later on. now we can move on to creating the client to use for the server! step 1. navigate to the nemo folder inside our tools folder! step 2. browse for your ragexe that you downloaded. I'm using 20200401 which is most current and pre set in on the server side step 3. load the client step 4. load the ro translation profile for 2020 this is all pre defined for the client so we can skip through step 5. this is the name of our config file to point the client to the grf we can change it to our own custom name used step 6. this is important so if your running an earlier client you might use the original iteminfo.lua this is the new item info which doesnt get overwritten by kro in updates this is where some of our information will go for the custom items. step 7. now we can load the recommended patches step 8. dont worry about the errors as they are just telling you those patches are not for the latest client it still selects the recommended ones we need! step 9. selecting our own patches. You can pick through which ones you want but if your not advanced just follow me this is for increasing your custom item view range it is recommended you choose between 5000-8000 as customs view start at 3000 this might change later on if kro decides to release more. we will go with 5000 because i dont see us adding anymore then 200 custom items. step 10. lets recheck to make sure we got everything beautiful now we can apply the patches and move our client to our game files folder with our grf! you can rename your client to what ever you want! now that we created our grf and made our client we can go back to the ro translation folder step 11. navigate to the pre renewal or renewal folder if your making a pre renewal server add the renewal system folder to your game files folder and overwrite first then add the pre renewal systems folder on top of that just like we did with the grf in my case i am making a renewal so ill do opposite now the next folder once weve done that we can test the client if you get some weird text you have to edit your data.ini and rename it to yourserver.ini like we did for the patch now we can move on to adding the custom items!!! step 1 . re open grf editor in this case ill use my grf step 2. navigate to your tools folder and to the folder that holds your custom items step 3. follow me step 4. now we can edit the two files needed to correctly link the client with the server side. navigate to the data/luafiles514/lua step 5. extract both files that i do and they will end up in your game directory under the folder data we can go ahead and open the accessory id! okay this is important!!! just copy like i did above and edit the names make sure its 100% matching save the file and we can open the next file which is accessory id mistake i made is that we were in the accname so we just swap around :P same thing goes on here we just copy the above line and edit out. now the 3000 is our view id not the item id which @item calls for this will be the view display of our custom which is why we set the patch for 5000 so we will start at 3000 gives original items a bit of room now we can save! step 6. drag the two files back into the grf and save now were completely done with the grf! now we can move back to our game files folder for the last task! move to the system folder to iteminfo_v5.lub/lua heres where we add the actual item db number in this case i used 30000 just copy what i did and youll be fine you just have to make sure when you add the item into the item db whether it be sql/yml that you set the right item id and view id also the AEGIS name will be _Equilibrium_Wings here on the item info you can see there is none it links to a different part of the grf but deff make sure to add the _ under the aegis name! All done that wasnt so hard! -Renzadic!
    2 points
  2. View File Battleground Extended 2020 ! With Bomberman/Poring Ball Mystic Project is about to open its last opus. For the occasion, Mystic Project has decided to make a gift to the community of rAthena and release one of its contents ! We've chosen the Battleground Extended, a memorable feature created by the eAmod and adapted for the new version of rAthena 2020. What are Battleground Extended ? They are an upgrade of the official Battleground made by the eAmod years ago and enhanced overtime. Battleground guide Name Description Flavius Same as official. The Goal is to destroy each's crystal. Flavius Capture The Flag The objective of the Flavius Battle CTF is to score 3 points before your enemy, by capture their Flag. To capture a Flag you need to take the enemy flag, and bring it to your base flag. If your base flag is captured too, you need to kill the flag carrier and take the flag back to your base. Flavius Death Match Each team has a certain number, Kill all the enemy players to let their Team without points. Protect your army. Flavius Stone Control Take the Stones in the middle of the battlefield and put in on your base, in the Stone Points. Each Stone will give points to your team. First team reach 99 points wins the game. Protect your stones from to be captured by the enemy. Tierra Eye of Storm There are two bases, North and South which teams can capture by holding position on the Base more than the other team. Each base will give you points each 5 seconds of Domination. If your Team control both bases the amount of points increases. To get additional points, in the middle there is a Flag spawn, capture it and put it on any of your team Bases. The first Team reach 99 points wins the match. Tierra Bossnia Attack the enemy base and destroy each MVP Guardian. To do damage to the guardian your team must capture the Balance Flag in the middle base. Each team have 5 guardian to be protected or killed. Tierra Domination There are three bases, North, Center and South which teams can capture by holding position on the Base more than the other team. Each base will give you points each 5 seconds of Domination. The first Team reach 99 points wins the match. Krieger Von Midgard (KVM) Same as official, regular PVP. Double Inferno There are 2 teams in the battlefield, your team and the opposite enemies. Kill the enemy players, collect the skulls and bring them to the Sacrifice Totem to win points. You can collect your own team skulls and bring then to your Sacrifice Totem to avoid other teams to score but it won't count as points. If you get killed all your skulls will be drop to the floor, including your own skull. First Team to get 80 points wins the battle. Conquest If you are Attacking, destroy the enemy defenses and it's Flag. If you are Defending, protect your castle defenses and the Flag. Rush Fight to capture the Castle and organize your team to defend it. If you fail on the first capture, kill the defender and take it for your team. Poring Ball It is a soccer game, a poring (the ball) will be in the middle of the field. The match lasts 5min. The team that has the most goals win the game. Super Bomberman The classic game specially made in Ragnarok Online. The goal is to defeat the enemies by putting bombs that will explode on them. It is a 2vs2 version of the game. Peco Peco Racer Coming soon... Mario Kart - RO version : New Battleground Queue System Battleground Commands @joinbg will warp you only to the battleground room. (Use interface UI Battleground to join any running BG or create one) @leavebg will warp you out of the the current battleground you're in. @listenbg display or not the battleground explanations. @order is only for the leader, an huge announce will be displayed to the team. @reportafk is only for the leader, expulsing someone who is AFK. @bginfo will display all curent running BGs + amount of players + scores for each team and remaining time of the BG Battleground Skills @bgskill is used by the leader. I left it there as a memory but you better use the guild interface alt + g -> guild skill tree The leader can use the following skills: - Emergency Recall: Warp everyone from the team to the leader. - Battle Orders: All guild members visible on the guild leader screen will receive +5 STR, DEX, INT. (Now having a status icon on the right) - Regeneration: All guild members visible on the guild leader screen will increase their HP and SP regen rate. (Now having a status icon on the right) - Restore: All guild members visible on the guild leader screen will have their HP and SP restored to 90% of the respective maximum. - Chargeshout Flag: The leader will summon a guild flag. - Chargeshout Beating: Anyone in the guild can use this skill, it will warp to the guild flag IF you are on the same map as the flag. - Emergency Move: All guild members visible on the guild leader screen will receive the effect of speed potion, increasing walking speed by 25%. Kill Count Each person killed on a battlefield will be counted in your guild information. This is like a rank. In bg_common.txt, you will find this. If you already use OnPCKillEvent, I recommend you to remove this code and add it to yours. Red / Blue Teams Upon your arrival on the battlefield, you are going to see yourself in a clan (alt + g) and a guild (ctrl + g). Blue Team : http://mysticprojectro.com/wiki/images/d/d1/Clan_emblem01.jpg Red Team : http://mysticprojectro.com/wiki/images/a/a9/Clan_emblem02.jpg Each team-mate will have this emblem by their character's name. Enemies will be displaying the opposite emblem. Some battlefields will change your cloth dye as well for the attributed color but don't worry, you will get yours back as soon as the game is over. You can communicate with your team through the guild chat. When you leave the battlefield, the clan will be removed and you will be back in your actual guild. Battleground Happy Hours Battleground happy hours happen everyday from 4pm to 8pm during which, rewards obtained are increased by 60%. (Configurable in npc/battleground/bg_common.txt) Battleground Rewards Telma/Erundek NPCs from the official battleground are there to exchange Consumables / Stuff. However, some of you rather customize the rewards. It's up to you to remove Telma/Erundek. If you want to customize Rewards, here is a frame (located in bg_common.txt) made to buy stuff directly with badges. Poring Ball Youtube Video Demonstration : Ragnarok Online - DaRO : BattleGround Extended + - YouTube The original Poring Ball Map was created by us 14 years ago. (On the left). At the time, we had poor experience in mapping so my apologies if you don't find it attractive. However, you can always purchase the beautiful rework done by Olrox (on the right): https://olroxgraphics.com/index.php?/store/product/107-soccer-stadium/ Depending on which map you will pick, you need to configurate the Poring Ball. I assume you already have Olrox's map so by default, it is this configuration. If you want the free map that is included in this pack, you need to comment /* */ Olrox Poring Ball Map and remove the comment of Grenat Poring Ball Map (See orange sign) Bomberman Video Demonstration : Super Bomberman Ragnarok Online YouTube Video I've read a lot of times people asking about it ! We are releasing the new Bomberman Battleground Version with 3 bomberman maps (two of them are made by us) In bg_bomberman.txt, you will find this code. Make sure to remove it and add it to your OnPCStatCalcEvent, otherwise just leave it there. Some newer rAthena version doesn't have OnPCStatCalcEvent anymore, you may need to reinstall it. Installation : In this package, you will find : - BattlegroundExtended.diff : You will need to apply this patch. (cmd -> cd rathena -> git apply BattlegroundExtended.diff ) It has been created in 2020 and work with the latest rAthena. (Possibly working on previous version from 2018+). - NPC folder: I strongly recommend to delete all BG NPCs and only install the ones that are in this folder. It is compatible with the new BG Queue Systeme. Please review Poring Ball.txt to configurate your poring ball as well as bg_common for the happy hour rate. - DB: I did put items in txt and yml files since I don't know which version you guys are using. DO NOT copy paste in your db folder. Only take what's inside each files. - Client: Contains items/maps/texture/files/lua (for the new BG queue system)/bomberman music etc... Extract the contents inside your RO client folder. This patch modifies a lot of files, you may need to install the diff manually depending on your rAthena version. Once installed, please recompile your map_cache with the client data installed in the directory/grf the server reads to compile it. Configuration : Your server might be different than ours. This is why, it is important to configurate well the system. conf/battle/battleground.conf -> Search for battleground eAmod and configure them. db/battleground.xml -> "Color" represents the clothes palette given upon arrival on the battlefield. The player's Palette will come back to the original one when the BG is over. If you don't want players to have different cloth color, just put 0 or do not put anything at all. In our server, Color : 6 is blue, and 22 is red. Therefore, this is our configuration. I let you configure yours. Additional New Script Commands : * getnpcinfo <type>{,<char_id>} type: NPC_X: X, NPC_Y: Y * setporingball; (When activated, it would be like an OnClickedCell, almost ;), it calls a script for the poring ball (Or other things if you want to add things there). * getporingballx() / getporingbally(); (Get coordination of a clicked cell) * removeporingball; (Remove poring ball mode (Clickable cell calling a script) * getunitdir <unit_id/account_id>; (Get direction the unit is looking) * ispcsit <account_id> (Get information if a pc is sit or not) * unitpush <unit_id/account_id>,<dir>,<cells>; (Push (knockback) a specific target in a specific direction) * areaeffect( effect id, x, y); Any Questions ? You can contact me on Discord: Grenat#5220 for support regarding the installation. Support post : Release: Battleground Extended 2020 ! With Bomberman/Poring Ball - Source Releases - rAthena Team Mystic Project. Submitter grenat50 Submitted 02/04/2021 Category Source Modifications Video Content Author Grenat
    1 point
  3. Boa noite. Sim, é possível criar um NPC que pede um item em troca de algo. Aí depende do seu sistema VIP se é fácil de criar isso ou não. Aqui tem um exemplo de um NPC que faz exatamente isso, usando o vip oficial do rAthena. prontera,159,170,3 script Moça do VIP 4_F_KAFRA1,{ mes "[" + strnpcinfo(1) + "]"; if (vip_status(VIP_STATUS_ACTIVE)) mes "Olá, você já é VIP."; else { mes "Olá, quer se tornar VIP? São vários benefícios!"; mes "Escolha quanto tempo você quer contratar."; next; for( .@i = 0; .@i < getarraysize( .day ); .@i++ ) .@menu$ += (.day[.@i] + " dia(s):"); .@i = select(.@menu$) - 1; mes "[" + strnpcinfo(1) + "]"; mes "O custo de "+.day[.@i]+" dia(s) de VIP é:"; if (.cash_cost[.@i]) mes "- " + callfunc("F_InsertComma",.cash_cost[.@i]) + " CASH"; if (.cash_cost[.@i] && .item_qtd[.@i]) mes "ou"; if (.item_qtd[.@i]) mes "- " + .item_qtd[.@i]+"x <ITEM>" + getitemname( .item_id ) + "<INFO>" + .item_id + "</INFO></ITEM>"; if (.zeny_cost[.@i] && .item_qtd[.@i] || .cash_cost[.@i] && .zeny_cost[.@i]) mes "ou"; if (.zeny_cost[.@i]) mes "- " + callfunc("F_InsertComma",.zeny_cost[.@i]) + "z"; next; .@menu$ = ""; if (.cash_cost[.@i]) .@menu$ += "Pagar com CASH"; .@menu$ += ":"; if (.item_qtd[.@i]) .@menu$ += "Pagar com "+getitemname(.item_id); .@menu$ += ":"; if (.zeny_cost[.@i]) .@menu$ += "Pagar com zeny"; switch(select(.@menu$ + ":Deixa pra lá.")) { case 1: mes "[" + strnpcinfo(1) + "]"; if ( #CASHPOINTS < .cash_cost[.@i] ) { mes "Você não tem CASH suficiente."; } else { #CASHPOINTS -= .cash_cost[.@i]; vip_time ( .day[.@i] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^00FF00@tempovip^000000 para ver a duração do seu VIP."; } break; case 2: mes "[" + strnpcinfo(1) + "]"; if ( countitem( .item_id ) < .item_qtd[.@i] ) { mes getitemname( .item_id ) + " insuficiente."; } else { delitem .item_id, .item_qtd[.@i]; vip_time ( .day[.@i] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^00FF00@tempovip^000000 para ver a duração do seu VIP."; } break; case 3: mes "[" + strnpcinfo(1) + "]"; if ( Zeny < .zeny_cost[.@i] ) { mes "Você não tem Zeny suficiente."; } else { Zeny -= .zeny_cost[.@i]; vip_time ( .day[.@i] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^00FF00@tempovip^000000 para ver a duração do seu VIP."; } break; case 4: mes "[" + strnpcinfo(1) + "]"; mes "Até mais."; } } close; OnCheck: if (vip_status(VIP_STATUS_ACTIVE)) dispbottom "SISTEMA: Você é VIP até "+ gettimestr("%d/%m/%Y %H:%M",21,vip_status(VIP_STATUS_EXPIRE)); else dispbottom "SISTEMA: Você não é VIP."; end; OnInit: //== CONFIGURAÇÕES ================== setarray .day,7,14,30; //Opções de dias de VIP //setarray .cash_cost,4000,7000,10000; //Custo em Cash de cada opção (use // para desabilitar CASH) //setarray .zeny_cost,10000000,15000000,30000000; //Custo em Zeny de cada opção (use // para desabilitar Zeny) .item_id = 7929; //ID do item usado para troca setarray .item_qtd,3,5,10; //Custo (em item) para cada opção de tempo (use // para desabilitar item) //=================================== bindatcmd("tempovip", strnpcinfo(3)+"::OnCheck"); end; } O refinador 100% é mais simples que os refinadores comuns já que não tem nenhuma chance de falha. Aqui vai o exemplo: prontera,161,170,3 script Refinador Barra Pesada 4_M_REPAIR,{ disable_items; mes "[" + strnpcinfo(1) + "]"; mes "Olá! Eu aceito CASH para refinar seus equipamentos com 100% de chance de sucesso!"; next; if(select("Informações.:Refinar.") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Eu refino equipamentos ^0000FFaté o nível " + .max + "^000000. O valor em CASH que eu peço depende do nível do equipamento."; mes "Você pode ver a tabela com os preços abaixo."; next; mes "[TABELA DE PREÇOS]"; for( .@i = 0; .@i < .max; .@i++ ) mes "+" + .@i + ">+" + (.@i+1) + " - " + callfunc("F_InsertComma", .cost[.@i]) + " CASH"; close; } mes "[" + strnpcinfo(1) + "]"; mes "Já estou animado!"; mes "Que equipamento você quer refinar?"; next; setarray .@position$[1],"Topo","Armadura","Mão esquerda","Mão direita","Capa","Sapatos","Acessório 1","Acesório 2","Cabeça meio","Cabeça baixo"; setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for(set .@i,1; .@i<=10; set .@i,.@i+1) set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?"+"+getequiprefinerycnt(.@indices[.@i])+" "+getequipname(.@indices[.@i]):.@position$[.@i]+"- [VAZIO]")+":"; set .@part, .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { mes "[" + strnpcinfo(1) + "]"; mes "Você deve equipar o item que quer refinar."; close; } if (!getequipisenableref(.@part)) { emotion ET_OTL; mes "[" + strnpcinfo(1) + "]"; mes "Me desculpe."; mes "É impossível refinar esse item."; close; } .@item_refine = getequiprefinerycnt(.@part); //save refinery count if (getequiprefinerycnt(.@part) >= .max) { emotion ET_PROFUSELY_SWEAT; mes "[" + strnpcinfo(1) + "]"; mes "Esse item já é poderoso demais até para mim. É melhor deixar para lá."; close; } mes "[" + strnpcinfo(1) + "]"; mes "Refinar ^006400"+getequipname(.@part)+"^8B4513 vai custar " + callfunc("F_InsertComma", .cost[.@item_refine]) + " CASH."; mes "Devo continuar?"; next; if(select("Não.:Sim.") == 1) { emotion ET_THINK; mes "[" + strnpcinfo(1) + "]"; mes "Oh, você mudou de ideia."; mes "Ok."; mes "Você pode voltar depois."; close; } if (#CASHPOINTS < .cost[.@item_refine]) { mes "[" + strnpcinfo(1) + "]"; mes "Você não tem CASH suficiente."; close; } mes "[" + strnpcinfo(1) + "]"; mes "Ótimo."; mes "Como desejar!"; mes "Eu tenho um jeito especial para refinar..."; mes ".......ka boom!"; specialeffect EF_SUI_EXPLOSION; #CASHPOINTS -= .cost[.@item_refine]; successrefitem .@part; next; emotion ET_DELIGHT; mes "[" + strnpcinfo(1) + "]"; mes "Certo, aqui está~"; mes "Adeus~!"; close; OnInit: //== CONFIGURAÇÕES ================== .max = 15; //refino máximo //custo de cada nv de refinamento setarray .cost,100,100,100,100,500,1000,2000,4000,5000,6000,10000,18000,19000,20000,21000,22000,40000,50000,70000,100000; //=================================== end; }
    1 point
  4. They are there, make sure you install everything correctly.
    1 point
×
×
  • Create New...