Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/04/20 in all areas

  1. Adding custom maps to RO server - Part 1. In this Part you will learn how to add your custom maps to your Ragnarok server. · Clientside: Download/create the map you want to add to your Ragnarok Server. a. You should have 3 files of the map. i. [mapname].gat ii. [mapname].rsw iii. [mapname].bmp Place your .gat and .rsw files inside your GRF within data\ as well as your .bmp file inside your data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\map\ directory. Go to your data\mapnametable.txt and add the Area display name of your map in the following format “[mapname].rsw#Map Display Name#”, without the quotation marks. · Serverside: Now go to your server directory and do the following: a. Go to your db\import\ directory and open map_index.txt - (!) Do not confuse it with db\map_index.txt i. In the text file add at the bottom of the file [mapname]<tab>{index(1250+)} - Once done, Save and close the file. b. Now go to your conf\import\ directory and open map_conf.txt: i. Once there - add your maps like so: map: [mapname] - Once done, Save and close the file. Once the above steps are done. Download either WeeMapCache or MapCacheEditor in order to add your [map].gat file to your map_cache.dat a. Open your server Project and recompile it. Congratulations, you have now successfully added a new map to your server. In part 2 of the guide, we will be adding the custom map to your world map view. Adding custom maps to your RO server - Part 2. In Part 2 of the guide, you will be learning how to add your custom map to World map view and Kafra move animations - The good news is: It's all client-side. Go to data\mappostable.txt a) At the top of the file you should see #@ (probably 12@), change that to 13@ (That is the array size of the mappostable) b) Scroll down to the bottom of the file and add the the map you want to add (as well as its coordinates on the map where it should appear) in the following format [index]#[mapname].rsw#x¹#y¹#x²#y²# i) **x¹, y¹, x², y² stand for the start and end coordinates of the map box which gets drawn on the world map. Navigate to data\luafiles514\lua files\worldviewdata\ a) Find files worldviewdata_table.lub as well as worldviewdata_language.lub (if your files are inside a GRF, extract them). i) Open your worldviewdata_language.lub and add the following line: MSI_###_[MAPNAME] = "Map Display Name", (if you’re adding it at the end of the array, don’t forget to remove the comma, as it’s the last element of the array. ii) Now open your worldviewdata_table.lub and add the following line: {###, "[mapname].rsw", x¹, y¹, x², y², WORLD_MSGID.MSI_###_[MAPNAME], ""} (!) IMPORTANT - the ### number at the start of this array appears to be corresponding to a general “block” location on the map. e.g.: If you’re adding a map somewhere in the Payon area, you would want this number to be “111”, however if you’re adding it in the area of Rachel, you’d want the number to be “105”. – In short, whenever you’re adding maps, always take a look at the numbers of the maps close to your new map, use those numbers. If your map doesnt appear on the worldmap, this is more than often the culprit behind it! Go to data\luafiles514\lua files\datainfo\ - (Optional) This is where you will be adding the kafra teleporting service animations. b) Open the file kaframovemapservicelist.lub and add Kafra teleport service information to your map as well as KafraMinimapPos I am not certain what the parameters in this array do, if anyone has any idea, please let me know ? Adding custom maps to your RO server - Part 3. In Part 3 of this guide, you will be learning how to add links between your maps and/or NPCs within the maps for your navigation system! (!) Important - Before you can start with Part 3, you will be required to know how to: *navigate through your GRF, **Implement your custom maps, ***Add your custom maps to the Ragnarok world map! Firstly, what you want to do, is go to your data\luafiles514\lua files\ and extract your entire \navigation\ folder. Naturally - remember to make a backup of it before you start working on it. Once you have the folder extracted, what you want to do first of all is to add your custom map to the navi_map_krpri.lub. To do that, open up the file, scroll all the way down the list and add your map in the following format: { "[mapname]", "Display name", ID, xSize, ySize } (!) Important things to note - (!) The "Display name" is going to be name displayed over your map like so: (!)There are 3 values for the IDs (I am not 100% certain about what they are exactly, will need to research it more - then I will update the information here) 5001 is used for standard maps, such as Towns, Fields, Dungeons. 5002 appears to be used for maps which have clone counterparts? Lastly 5003 is used for indoor maps. (!) xSize and ySize correspond to thevalues of gat.Width as well as gat.Height Secondly, we will be adding connections between neighbouring maps. To do that, you want to open navi_link.lub and add connections to; as well as from the neighbouring maps in the following format: { "[yourmap]" , [index], 200, 99999, "[yourmapname]_[destmapname]_[index]", "", xCoord, yCoord, "payo2", destCoord_x, destCoord_y}, e.g.: { "pay_arche", 14056, 200, 99999, "pay_arche_payon_706", "", 81, 17, "payon", 228, 327 }, { "payon", 15327, 200, 99999, "payon_pay_arche_1977", "", 228, 329, "pay_arche", 81, 22 }, (i) - Because of the way the navi_link.lub is built I decided to write a small program which will make adding connections between new custom maps and old ones cleaner and hopefully easier ? - Perhaps I will also expand it to also editing the other navi files. P.S: If you believe that guide is useful, but could be improved upon, please do drop your suggestion. - You can also contact me either via PM on the forums or adding me on Discord - Shinsei#3451 I will be adding further parts of the navigation guide over the next couple of days. Hope it helps!
    1 point
  2. Good Day rAthena ! ---------------------------------------------------------------------------------------- Released Scripts Most of my script is not mine but since its too old i make it work to latest rAthena scripting . But i also made my few script for my own server . I will separate my NPC script to ( 3 ) Different Type of Server ("Low Rate","Mid Rate","High Rate") EVENTS - Mid Rate / High rate Alon Event Bombring Event Dice Event Fabre Punch Event Free For All Event Goblin Invasion Event Mushroom Event MVP Event Poring Catcher Event Racing Event Soccerball Event Stop the Clock Event Town Invasion Event Treasure Box Event True or False Event Event Control Manager Shower Event Whos Online Event ---------------------------------------------------------------------------------------- Utilities - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- CoolEvent Corp. Employee ( PRO Style - Coupon ) HOT! Lotti Girl ( PRO Style ) HOT Stats Seller HOT Time Play HOT Instant Job / Baby Changer HOT Event Whisper HOT GM LOGIN HOT GOD ITEM HOT Server Time Freebies Farm Zone Berry Changer Server Announcer Attendance Banker Broadcaster with Delay and Payment Change Gender Change Name Enter to Channel System Emperium Breaker Test Emperium Breaker Ladder with Points Changer Guild Ladder no need SQL MVP Top Hunter Ladder no need SQL Healer & Linker Moving Waiting Room ---------------------------------------------------------------------------------------- Quest - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- Bubble Gum Quest Halter Berzebub Card Quest ---------------------------------------------------------------------------------------- SECURITY - Low Rate / Mid Rate / High rate ---------------------------------------------------------------------------------------- AntiBot System HOT! PAID NPC Notes I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Im tired now i will update this post on next few days to update all my working script need to update first and test to work to latest rAthena . Most of the NPC that already here already have a updated version so to get that you need to directly send me a message it will be gonna a paid script or you can request so i will put it on rAthena Download section and make it a paid NPC Enjoy!
    1 point
  3. Hey everyone. I wanted to share something I started working on this month for a server. While these features are very new, the work ive been doing for them have been quite a trip so far and are still in heavy development at the time of this posting. But after a lot of work and testing im finally able to see it all in action. Here's a screenshot of the progress made so far and a peek at the future of RO. There's still a lot of work to do but the main parts are close to done. I may post more pics in the future as more progress is made. Note: My work is now in a project called 4CrAM and I have a topic made for it here....
    1 point
  4. You can check out @Skorm post here
    1 point
  5. *** No longer need file. Found it in older version of rAthena. Bottom of post requests upvote if anyone is interested in a complete rewrite of this mod. If no response, Ill just make a small version for myself. Otherwise, if I see interest, Ill rewrite new version and also include new monsters too. *** Hey all. Sorry for the necro post, but I feel this is the only way I'm hopefully going to get a reply with the file I need. I need a copy of the full version of the old rAthena pet_db.txt in tact. All the above files in this pack are lacking this important information. The pet system has since been revamped where several of the above files are no longer needed as the info now exists in the pet db itself. This means there is no way to merge the several files into a working new pet db and I will have to research every pet in order to make sure they have the proper skills. Would look funny bringing a pet lunatic to a level 100+ dungeon, and have it use a skill that clears the entire screen with vermilion, which I sort of did for fun with a succumbus. Anyway, I need a full copy of the old pet_db.txt file which shows the break down of what each part means. In turn I will make a new pet data base file for both server and client to just copy over and use. Being I have 627 to convert, and as you know Im an avid typer, if I get this file, it should take me a month to write, may be 2 to include new monsters. I can be found on discord, so feel free to dm me if you have this file. Please no urls on what ones fathers, sisters, cousins room mate makes in a week please ? PS, please upvote if you want this updated script. I dont want to pour time into a project no one wants. Note: ** project to convert all pets to yml. ** Add evolving to all pets to unlock special skills. ** This one Im debating on, which is pet breeding for unique pets with special skills.
    1 point
  6. To Annie's post above she actually told me not to do this when I did it like 4 years ago... What the heck and she doesn't even credit me here for maybe giving her some kind of subliminal inspiration whatever... :< [Source] Hurry before she changes it. /gg Anyways I just wanted to post a neat function I came up with for anybody who might want to use it. DisplayPages Function: Basically, it takes a bunch of options that you want to put into a menu and adds pages so the players can move through them easily. ///This function takes an array of strings and builds a menu players can navigate. ///Usage: DisplayPages(.@string_array${, .@page_size }); ///Output: This function returns the selected item index from the given array. function script DisplayPages { .@page_size = getarg(1, 10); .@len = getarraysize(getarg(0)); .@pages = .@len / .@page_size; .@pages -= .@len > .@page_size && .@len % .@page_size ? 0 : 1; do { copyarray .@copy$[0], getelementofarray(getarg(0), .@page_size * .@page), .@page_size; if( .@page < .@pages ) .@copy$[.@page_size] = "Next Page =>"; if( .@page > 0 ) .@copy$[.@page_size +1] = "<= Previous Page"; .@menu = select(implode(.@copy$,":")); if( .@menu == .@page_size +1 ) .@page++; else if( .@menu == .@page_size +2 ) .@page--; deletearray .@copy$; } while( .@menu > .@page_size ); .@menu += .@page_size * .@page; return .@menu-1; } Example NPC: prontera,146,188,4 script Warper 97,{ mes "[Warper]"; mes "Select the map you want to warp to."; next; setarray .@maps$, "prontera", "morocc", "payon", "geffen", "izlude", "jawaii", "dewata", "eclage", "moscovia", "ayothaya", "lighthalzen", "alberta", "aldebaran", "xmas", "comodo", "hugel", "rachel", "veins", "pvp_n_1-5", "pvp_n_1-4"; .@selection = DisplayPages(.@maps$, 5); warp .@maps$[.@selection], 0, 0; end; }
    1 point
×
×
  • Create New...