Avenar
Members-
Content Count
1 -
Joined
-
Last visited
About Avenar
-
Rank
Newbie
Profile Information
-
Emulator
Hercules
Recent Profile Visitors
1436 profile views
-
Garr reacted to a post in a topic: [Massive Release] Fishing Minigame
-
Hey everyone. So roughly three years ago, i stopped being a dedicated scripter/admin for a server, and left RO behind. Recently i fell into talks with an old friend, and was encouraged to throw some of my old stuff up, for others to possibly benefit from. Thus, my Fishing Minigame is what i'll throw up here. Hopefully it will meet some positive response. WARNING: As this is three years old, while i do believe it will still work, i cannot completely guarantee it. However i'm sure that no matter what might be outdated, it should only take a few adjustments to bring it up to speed. IMPORTANT: This was originally made for an rAthena server, but aside from the slightly changed monster format (which i have accounted for), everything else should work like this. If not, please reply and we'll see if we can get this heap working properly. DISCLAIMER: You may not sell this script or any part of it, nor release it as your own or remove the credits or commented sections of the code. You are however allowed make modifications for your servers usage. QUICK OVERVIEW: This package includes a custom MVP, custom items, a custom map (tiny one. don't be disappointed) and the actual script. I will try to describe what i did, but each server setup varies, so you might have to get your hands dirty, if my instructions doesn't line up with your setup properly. DIFFICULTY: 3/10 if your server works like mine. 7/10 if you need to adjust the instructions, and figure out how to add all this on your own. You will learn/need to know how to add custom monsters, custom items, custom maps and custom scripts. DESCRIPTION: This will introduce a fishing minigame to your server. You will have to talk to Old Fisherman Kingle, who will start you on the "quest" towards great fishing glory. Once equipping a fishing rod and talking to him, the player will be presented with an introduction to how the minigame is played. At the special fishing spots scattered throughout the entire world, the player can sit down, let out their lines, and try to fish up all the rare fish. Once all rare fish have been caught, the player can ask Kingle to let him face off against the custom MVP, the Lord of the Sea (Leviathan). Statistically, the player can reach the MVP at around 6 hours gameplay (not counting having to actually FIND all the fishing spots), but the main goal is supposed to be a minigame, with the MVP being the cherry on top. INSTALLATION: Right then, the attached file is an archive (you will need WinRAR or equivalent software to unpack it), with a long list of files. There is the "fishing_minigame.txt" file, which is the actual script. It's roughly 2300 lines of code, so it might seem overwhelming to both scripters and non-scripters alike. It is however very well commented, explaining the parts that needs describing. Following the instructions inside the script should make it easy to add new fishing spots or other small modifications/additions. Then there's a folder called "client". In there you'll find the "/data" folder, containing sprites, textures and the custom map files. This should all line up perfectly for you to simply merge it with your own grf or data folder. Additionally, there is a "/System" folder, with an ItemInfo.lua file, that you'll need to properly integrate with your own ItemInfo.lua. It contains all the items i added, both for custom fish and custom drops for the MVP. Finally there's the "server" folder, which houses all the large amounts of text, needed to add to your servers existing files, to add the custom mvp and the custom items. NOTE: The files there are NOT all the modifications you need to do on your server, to finish the install. So to do a proper step-by-step list of instructions: 1: Merge the "client/data/" folder with your clients "/data/" folder OR your grf file OR make another grf file and link it. 2: Install the custom map by: 2.1: In your "<server>/conf/maps.conf" file, add "map: fishmvp_dun" at the bottom, along with your other custom maps. 2.2: In your "<server>/db/map_index.txt" file, add "fishmvp_dun" at the bottom, along with your other custom maps 2.3: Rebuild your mapcache. You do this by backing up your "<server>/db/(pre-)re/map_cache.dat, and then running your "<server>/mapcache.exe" program. Make sure you open a separate cmd first, and navigate to it, to run it, so you can see its output in case it doesn't finish properly. 2.4: <optional> in your "<client>/data/mapnametable.txt" file, add "fishmvp_dun.rsw#Lair of the Lord#" at the bottom 3: Install the custom mvp by: 3.0: <important> The custom monster will need an ID not already in use. In this case, my mvp uses the custom ID 2900. If this ID is already in use on your server, you will need to replace the ID with an appropriate ID instead. This will is for both the mob declaration as well as the related skills. 3.1: Check your downloaded files, in the "/server/db" folder, you'll find "mob_db2.txt". It contains a single line of text, that needs to be copied to the bottom of your "<server>/db/mob_db2.txt" file. Remember to change the ID if it doesn't work for you. 3.2: The same way as before, you need to take everything in the "mob_skill_db2.txt" file, and copy it to the bottom of your "<server>/db/mob_skill_db2.txt" file. Remember to change the IDs if they don't match the one you gave your monster in the previous step. They must be the exact same or your mvp will do nothing at all. 3.3: You now need to add it to your client. In the "<client>/data/luafiles514/lua files/NPCIdentity.lub", you need to add "JT_LEVIATHAN = 2900," near the bottom of the file, among your other custom mobs. make sure the ID is the same as the ID you gave it on the server earlier. 3.4: The same way as before, in the "<client>/data/luafiles514/lua files/jobname.lub", you need to add "[jobtbl.JT_LEVIATHAN] = "leviathan"," near the bottom of the file, among your other custom mobs. 3.5: <notice> This mvp is scaled to be moderately strong, on an advanced server. Therefore you might want to test the mvp's strength and adjust to work with your own servers relative strength. The idea is to make it roughly the same challenge level as Drake. <important> Players WILL face this mvp ALONE; so if your server balance makes significantly weaker characters, you will need to scale back very much. If your low/mid tier mvps require a full team of players, you should consider lowering both its amount of slaves, as well as its base stats and spell levels. Balancing is up to you. 4: Install the custom items by: 4.0: <important> All the custom items added here, are added with the ID i gave them when adding this whole deal. If these conflict with your server setup, you will need to alter all the ids, making sure they are the same both serverside and clientside. 4.1: In your downloaded archive file, you need to find "server/db/item_db2.conf". The full contents of this file needs to be added to your "<server>/db/item_db2.conf" among your custom items. <notice> If you add them as the last items on the list, make sure you remove the trailing "," at the end of my file, and add an extra "," before it, so the syntax fits with the rest of the file, so there's a "," between each item, and none after the last one in the list. 4.2: In your downloaded archive file, you need to find "client/System/ItemInfo.lua". The whole content of that file needs to be added to your "<client>/System/ItemInfo.lua" file, among your other custom items. <notice> If you add them as the last items on the list, make sure you remove the trailing "," at the end of my file, and add an extra "," before it, so the syntax fits with the rest of the file, so there's a "," between each item, and none after the last one in the list. 4.3: <IMPORTANT> <warning> If you change any of these id's, you will need to change the related ID's in all other parts of the package as well. First off, if you change the item ID's for the three mvp drop items or the mvp card, you need to go back to step 3.1, and alter that line to use the new item ids for the drops. If you change the IDs for any of the fish, you'll need to open the actual main script and change the ID throughout the entire script. There will be the ID listing in the comment, and 5 other occurances in the related fishing spot duplicate names, for each rare fish with a changed ID. On top of that, non-rare id's changed will have 3 occurances, the ID listing in the top comments, and two separate for the drop-list. 5: Install the actual minigame script by: 5.1: In the downloaded archive, find the "fishing_minigame.txt" file, and copy it to your "<server>/npc/custom/" folder. 5.2: In your "<server>/npc/scripts_custom.conf" file, near the bottom, add "npc: npc/custom/fishing_minigame.txt" among your other custom scripts. 6: With all your new client edits, make a patch and let all your players update. 7: restart your server. And with that overly lengthy list of things to do, we should be done! I sure hope i remembered everything. It gets easy to overlook a detail when you do so many different things at the same time. Feel free to reply with questions, complaints, errors or everything else related. Hopefully it works, but if not, a couple of edits and iterations should iron out any residing bugs/oversights. Good luck with it, and happy fishing! fish.rar