Jump to content


Popular Content

Showing content with the highest reputation since 09/01/2020 in all areas

  1. 6 points

    Version 1.0.0


    A while ago I searched for everything for a program that separated all the strings in a file so that I could translate more easily, well I didn't think so I paid a developer to help me create, unfortunately I lost the source code of this incredible editor because of a ransomware, but I managed to find the executable, I hope it helps many people as it helped me! Description: Basically if you want to translate something or just edit the strings of an npc just import your .txt file and it will separate and you can edit / translate as you prefer. Demonstration video: Importar button: you import the.txt file Button "Criar arquivo codificado" :you create a file only with the strings all in line and encoded for windows 1252. button visualizar : you can preview the result. and Finalizar button it saves! obs1: take care not to increase the number of lines and nothing else will be out of order. obs2: You need to press on preview to apply the changes obs3: And be careful also when using it, as it can confuse a string with text, it identifies everything inside a string, so it can have this pattern: "here" ok "here" here OK here I'm sure it will be easier to translate into your language. using it is just a matter of habit, if I find the source code I will post it for free. would you like to donate to this project? paypal: [email protected] thanks!!


  2. 3 points
    Updated version. ExtendedVending_rev5.diff
  3. 3 points
    It's over, I did all the kafras and zonda again!! Hope you like them and thanks for the support! Pm for +info if you want!
  4. 3 points


    Our monthly fees: Web Hosting ($25) VPS Backup Drive ($13) 200GB Offsite NAS Sparkpost SMTP Relay ($10) So you all get the emails you're supposed to. Currently at 98.3% delivery rate. Misc software renewals ($3) Forum apps and plugins that require license renewal every 6 months are broken down to a monthly value. There are other costs for back-end services which are specifically sponsored by individual members of the rAthena project so do not require community crowdfunding.
  5. 2 points
    can only be done with source edits src/map/mob.cpp | 9 +++++++++ src/map/mob.hpp | 1 + src/map/unit.cpp | 11 +++++++++++ 3 files changed, 21 insertions(+) diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 3e0b54f37..686c30ac1 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -708,6 +708,15 @@ int mob_once_spawn(struct map_session_data* sd, int16 m, int16 x, int16 y, const //"I understand the "Aggressive" part, but the "Can Move" and "Can Attack" is just stupid" - Poki#3 sc_start4(NULL,&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE|MD_CANATTACK|MD_CANMOVE|MD_ANGRY, 0, 60000); } + + if (md != NULL) { + if (mob_id < 0) { + md->special_state.deadbranch = 1; + md->deletetimer = add_timer(gettick()+5000,mob_timer_delete,md->bl.id,0); + } + else + md->special_state.deadbranch = 0; + } return (md) ? md->bl.id : 0; // id of last spawned mob } diff --git a/src/map/mob.hpp b/src/map/mob.hpp index 5b47b8c6f..37921599c 100644 --- a/src/map/mob.hpp +++ b/src/map/mob.hpp @@ -189,6 +189,7 @@ struct mob_data { unsigned int size : 2; //Small/Big monsters. enum mob_ai ai; //Special ai for summoned monsters. unsigned int clone : 1;/* is clone? 1:0 */ + unsigned int deadbranch : 1; /* summon from branch */ } special_state; //Special mob information that does not needs to be zero'ed on mob respawn. struct s_MobState { unsigned int aggressive : 1; //Signals whether the mob AI is in aggressive mode or reactive mode. [Skotlex] diff --git a/src/map/unit.cpp b/src/map/unit.cpp index 15632f201..b42668a1d 100644 --- a/src/map/unit.cpp +++ b/src/map/unit.cpp @@ -2420,6 +2420,17 @@ int unit_attack(struct block_list *src,int target_id,int continuous) if(ud->attacktimer != INVALID_TIMER) return 0; + if (target_id != 0) { + struct block_list *target_bl = map_id2bl(target_id); + if (target_bl->type == BL_MOB) { + struct mob_data *md = map_id2md(target_id); + if (md->special_state.deadbranch == 1 && md->deletetimer != INVALID_TIMER) { + delete_timer(md->deletetimer, mob_timer_delete); + md->deletetimer = add_timer(gettick() + 5000, mob_timer_delete, md->bl.id, 0); + } + } + } + // New action request received, delete previous action request if not executed yet if(ud->stepaction || ud->steptimer != INVALID_TIMER) unit_stop_stepaction(src); I tested with 5000 = 5 seconds, change them into 60000
  6. 2 points
    Good Day Rathena people! Here is a guild hall from ROM! the textures are original from ROM Textures. Enjoy~
  7. 2 points
    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.
  8. 2 points
    Hello, Here's what I experienced when successfully playing the 20200603: Some skill animation changes kinda smoother visual appearance bigger window I haven't successfully executed 4th job @jobchange yet When I attempted to change few lines regarding DRAGON_KNIGHT (8712) @jobchange, it shows the new sprite. However I have no idea how to go further, as my dragon knight still shows the old structure (no AP), shows no skills at all, zero SP & HP. I noticed that the skill infos could fallback from English (translation project), to Korean (inside grf), whenever I modify the /data/skillinfoz folder In the end, I guess I will be waiting for the ongoing project of 4th job implementation. (e.g : Here are lists I've done before running this newest client: 0. I upgraded the SQL database (execute/import sql upgrade files on sql-files folder from the github). Some SQLs are failed too (or execute nothing). I also had to remove current guild since its structure had to be altered. 1. rsu-kro-renewal-lite patch If I am not mistaken I fetch the patches until there's no newer patch (2020 08 ?). Of course we still cannot run the game as it detects some errors. Perhaps not necessary, but I also ran the other fetching tool on the same folder (the official one I guess?), but not finishing it. 2. Recompile the Solution with #define PACKETVER 20200401 marking. Avoided any significant errors (thx to developers!) 3. DATA.ini [Data] 0=rdata.grf 1=data.grf 2=palettes.grf Of course you can add other grfs in between, if needed. 4. Placing Translation Project's Ragnarok folder to our 2020 folder. (https://github.com/llchrisll/ROenglishRE) 5. NEMO patch profile (the one that's called secret update or something -i forgot). If one NEMO version fails you, try different ones : https://github.com/bgamez23/secretdataz-NEMO https://github.com/MStr3am/NEMO https://github.com/secretdataz/NEMO 5 Enable Proxy Support 9 Disable 1rag1 type parameters (Recommended) 13 Disable Ragexe Filename Check (Recommended) 24 Fix Camera Angles (Recommended) 290 Hide build info in client (Recommended) 34 Enable /showname (Recommended) 291 Hide packets from peek (Recommended) 35 Read Data Folder First 36 Read msgstringtable.txt (Recommended) 38 Remove Gravity Ads (Recommended) 39 Remove Gravity Logo (Recommended) 41 Disable Nagle Algorithm (Recommended) 44 Translate Client (Recommended) 46 Use Normal Guild Brackets (Recommended) 48 Use Plain Text Descriptions (Recommended) 49 Enable Multiple GRFs (Recommended) 53 Use Ascii on All LangTypes (Recommended) 71 Ignore Resource Errors 313 Change MapInfo*.lub path 317 Ignore Quest Errors 320 Ignore Towninfo*.lub Reading 64 @ Bug Fix (Recommended) 65 Load Custom lua file instead of iteminfo*.lub (Recommended) 72 Ignore Missing Palette Error 73 Remove Hourly Announce (Recommended) 84 Remove Serial Display (Recommended) 90 Enable DNS Support (Recommended) 231 Remove hardcoded address/port (Recommended) 232 Restore old login packet (Recommended) 234 Ignore Lua Errors 239 Ignore /account: command line argument The list above is not absolute, as I don't actually know why even though some Recommended patches couldn't be ticked, I still can play the game. Oh ya, besides the Recommended ones, follow the llchrisll Translation Project's lub files swapping. (e.g Read Data folder first, and EN version of things on the System/ folder) 6. A little bit adjustment on the grf files a. Extern error I found that there's a small error return on Externsetting. It should be returned as 0, not -1. MaxLevelTable = { BaseLevel = 99, BaseLevel3rd = 200, BaseLevel4th = . . . . . . . . HomunMaxLvAura_sub = LEVELAURA.EF_LEVEL185_SUB } function GetTableIntValueForC(tableName, keyName) local t = _G[tableName] if nil == t then return 0 end local intValue = t[keyName] if nil == intValue then return 0 else return intValue end end . . function GetTableBoolValueForC(tableName, keyName) . . . end I only changed return value of getTableIntValueForC function. This above is indeed originated from \data\luafiles514\lua files\service_korea\ExternalSettings_kr_sak_2020.lub, therefore I renamed it to be without _2020 ending (wait. or was it without _sak_2020 ?). I guess this is because I chose Korean on sclientinfo.xml. This file above is outside the grf. b. Skill Tab Info crash At this point, I managed to run the new skill animation, mob killing like usual, some menu and tabs. EXCEPT the Skill Tab. To handle this, inside grf, there's data\luafiles514\lua files\skillinfoz\skillinfo_f.lub. I copied the content of this one to outside and make a new lub file then placed it in the respective data folder. I think there's something wrong with skillinfo_f.lub made by Translation Project (but IDK which line). By doing this, the priority to read skillinfo is: 1) data folder ---> 2) rdata.grf ----> 3) data.grf (to be updated)
  9. 2 points
    I was able to translate client-side files to Brazillian Portuguese and I will try to translate some npcs for brAthena as they are in english. https://github.com/werneck9898/TranslationRO-BR
  10. 2 points

    Version 2.0.0


    Version 2 Information: now support more then 2 iteminfo , you can check line 17 to add as much as you want! IInfo = {"System.import_iteminfo","System.kro_iteminfo5","System.kro_iteminfo4","System.kro_iteminfo3","System.kro_iteminfo2","System.kro_iteminfo1","System.kro_iteminfo"} now it's much much much faster for big files! remove functions.lua move url functions to the iteminfo itself 2 Big files loading test : this test is not loading in the client , but loading in the debugger! If you are new to this > Details: this an example and template on how you Customize your iteminfo read the ReadMe!! file before you ask anything this work as the import folders in rathena (if you don't know what i mean than i suggest you use rathena search or google) ALL THE FILES MUST BE .lua !!! the way it work: you add your custom and edited items in the import iteminfo file you add kro iteminfo file you add the server url in the function file the client will read the iteminfo import first than the kro iteminfo than you can update your kro iteminfo at anytime you need without any edit to it without the need to re-add your custom and edited items to a new kro iteminfo the kro_iteminfo included is from https://github.com/zackdreaver/ROenglishRE this file is added for example on how you use it i suggest you get the last iteminfo after you make sure there is no error! i would highly suggest you check out his great project every time you want to update your iteminfo! Please report any error in the forum post not in the PM , Thanks.


  11. 2 points
    Sorry for the lack of updates but I wanted to get a lot more work done before showing off more. Glad I did too since some juicy stuff got added this week and well....ill let the pics speak for themselves. Keep in mind that this is a work in progress and things can change. The entire base for the systems is complete. T.Stats, T.Sub-Stats, T.Stat Points, AP system, the effects from the T.Sub-Stats, framework for the 4th jobs, and other important things is pretty much complete and stable. Also I did a few special debug commands to show off some skill animations since I don't have any skills coded yet. There's a little over 200 new skills that needs to be coded in. Finally, this has turned into a full project and more info about whats going to happen with it will be announced soon.
  12. 2 points
    Hey all! I'm releasing these files because I think there are more people out there who can agree to that the third job auras are a bit... over the top. So here, I've made this edit. With this, you will merely have a "glowy" appearance and no longer the huge wave, casting-like explosion aura. * Special thanks to Shigure from NovaRO for an updated image file - My own image was lost. Upon downloading you agree to the following: • This is a FREE RELEASE. Do not distribute this content for commercial purpose. Caution!: • The third job aura effects are part of many third job skills, so merging this with your GRF will interfere with quite some of their animations. So unless you like some animations to become black, you are strongly recommended to ONLY use these files in Pre-RE servers that ONLY offers third job appearance(/sprite) changes without becoming them otherwise. For example, with Secret's Dress Changer. Download available in attachment~ Reduced Auras.rar
  13. 2 points

    Version 1.0.0


    Hello everyone! I'm maken06. This is my second monster, enjoy it Don't steal credits, give credits to me, that I cost my effort to do them. Do Not edit my work without my permission, It includes recolors. pd: Do not forget to give me a reputation or reaction


  14. 2 points

    Version 2.2.0


    Third Job Costumes + New Classes The Correction With the advent of jRO releasing new Job Costumes, and also, the new classes from the Taekwon branch, many of server owners want to replace the vanilla sprites or even, implement the bodystyle system. But, there's a catch! Originally jRO, and now, even kRO spriters, have made it completely off of the default pattern of palette. In a classic example, you can notice the pattern of the RO palettes. What matters is the position of the colours, as an example, for all jobs, the white-ish tones will be always on the same row, so we can use it to create custom palettes. See how it works: But jRO didn't follow the classic pattern, making it incompatible with custom palettes (@Kamishi ones included). So, I edited frame by frame of each job sprite, of each gender, mounted or not, correcting them, converting them in a way so many of the previously created palettes will work. This package includes: Alternate Outfits: Alternate Royal Guard M/F + Gryffon Battlemount + Lion Mount Alternate Ranger M/F + Warg Battlemount + Ostrich Mount Alternate Minstrel/Wanderer + Ostrich Mount Alternate ArchBishop M/F + Alpaca Mount Alternate Warlock M/F + Fox Mount Alternate Mechanic M/F + Savage Mount Alternate Genetic M/F + Savage Mount Alternate Guillotine Cross M/F + Hyena Mount Alternate Shadow Chaser M/F + Hyena Mount Alternate Sorcerer M/F + Fox Mount Alternate Sura M/F + Alpaca Mount Alternate Rune Knight M/F + Dragon Battlemount + Lion Mount New Classes Star Emperor M/F + Wolf Mount Soul Reaper M/F + Wolf Mount As requested by @Emistry, I also added an extra, making it more compatible to default palettes: Kagerou/Oboro + Frog Mount Following the another @Emistry's request, all files are now already on GRFs. The previous version had no Cashmount palette included, this one fixes the issue. Only the already released costumes are supported at this moment. The Rune Knight seems to be the last of them, it's over a year from the first release! As a final part of the package, I'm including Classic Palettes for all Alternate Costumes. Enjoy the final product!


  15. 1 point
    Need the latest kRO Install folder for your private server? Look no further! ----> Download <---- Latest: 2020-01-24 Installation: Official kRO Updated: 09/04/2020 Download Link: http://bit.ly/latestkro Package contains RSU RO Patcher Lite for kRO and kRO RE by [Ai4rei] This package is maintained by [Akkarin] This ZIP archive is 3.95GB in size and includes all BGMs plus the latest RSU ([2020-04-06] Release Simply download, extract, play! A fan of this topic? Hit the rep button
  16. 1 point
    stay away sa mga ro server services, dahil hnd mo alam nakukuwa na pla mga files mo. ^_^ go to OVH...
  17. 1 point
  18. 1 point
    The following is a guide that my friend, Vi, created mainly for the players of my old server during her early days of spriting. She is no longer active in the RO scene and my old server is no longer active so I just thought it would be a big waste to not share this with the community. By passing on this knowledge to those who are interested in learning the basics of spriting, I hope that more talented artists will arise in this community and more professional work can be seen. Please refrain from ripping images off of this guide and do give Vi full credits if you decide to repost this elsewhere. p.s. I am only sharing this information, therefore no support can be given from me over this guide so please don't ask me any questions. ^^ -------------------------------------------- hello! In this guide, I will cover the point after which you have completed your frames and you want to transition your .bmp frames into files workable for Ragnarok Online. This is perhaps the most grueling part of creating custom work for RO. I am in no way an expert (I am simply a novice, still always learning) and simply writing this to aid anyone who wishes to sprite. This is dedicated smexy Lexy. Before starting, you will need these programs: Any image editing software, I personally use Photoshop to do the artwork. actOR to edit your .act files. SPRconview to convert your .bmp files to .spr files and vice versa. You can obtain actOR and SPRConview from ratemyserver's RO tools page here. things to know At this point, you should have the artwork for your headgear done. This is what I'll be using as an example for this guide, Lady's Sailor Hat: Depending on your hat, you can have one to fifteen frames (if this isn't an animated headgear). Generally, things such as "GF Wanted," "Notice Board," etc. hats have one frame. Hats generally have five+ frames. Hats with five frames generally only have art work done for the first five angles of the hat, while the ones with fifteen frames have artwork done for all poses/angles. The Lady's Sailor Hat has fifteen frames. What determines how many frames you have is the .act you choose to work off of for your headgear. I don't know how to create an .act from scratch, I typically pick a headgear closest/most similar to the hat I have done. The .act file holds the positioning information for your headgear, it references the .spr file for the images. What does the .spr file do? The .spr file holds all the visual information for your headgear. The .act and .spr files work hand in hand. Let's get started. creating your .spr file. Time to slice your original artwork into its individual frames. Make sure all of the frames of your headgear are the correct size. If the size you choose is too large, you will encounter problems when you create your .spr file. It will do things such as distort or repeat itself in the frame. So slice up your artwork. I've picked the size 31 x 31 for the Lady's Sailor Hat. You have to save each of your frame files as an indexed .bmp. In Photoshop, you must go to Image > Mode > Indexed Color... It will ask you to Flatten Layers, click OK. This window will pop up: Now you want to go to the drop down menu where it says "Exact" and select Custom. (Make sure that before you select Custom, the drop down menu is already set to Exact. If not, select Exact and then go to Custom.) A second window will pop-up and you will see all of the colors used in your headgear. This step is critical, or else your headgear will show up with crazy colors when you convert it in SPRConview. Now, you have to denote what color is going to be transparent. In this second window, which is called the Color Table, the first box is the color which tells the .spr file what to make transparent. I've chosen this mint green color. So click the first box and the color picker will pop up. Simply click your background color. Now you want to save out your Color Table. Click save on the right hand of the color table. This is also indeed an .act file, but don't be confused! This is different from your file to be used with RO. I've saved my palette file out as "palette_ladyssailorhat.act." Now that you have all of the color information done, save your file. Save it as an 8-bit .bmp file. naming convention in ragnarok online, each gender has their own set of spr/act files. If you dig through the sprite files in your data folder, you'll notice ¿© and ³² as a suffix for your file names. ¿© denotes female, while ³² denotes male. Generally, I save my files as suffix_headgearname00xx.bmp. So continuing saving your frames out. Remember to check if your headgear's color palette is loaded into each frame. You can load your color palette by going to the "Custom" drop down menu and clicking "Load..." on the right hand side to select your palette file. After you finish, your folder should look something like this: Now go into your sprite data folder and pick a headgear that you feel is closest to the headgear you're working on. For the Lady's Sailor Hat, I've chosen Pirate's Pride. So copy and paste the .act/.spr files of the headgear into the folder of the headgear you are working on. Now open up SPRconview. Now go to Convert > Bmp to Spr. You will get another pop up window. Add all of the frames of your headgear and make sure that they're in numerical order. Under where it says Sprite, hit Browse and browse to where you saved the .spr file of the headgear you chose. Remember, I chose the Pirate's Pride. After you've done that, click Convert. Done with your .spr file! When you do this, SPRconview will replace the images of the original headgear with the ones you have made. Open up the .spr file and check to make sure everything is a-okay. Scroll through it and make sure the colors aren't all off either, as well as the transparency. That's it for your .spr file. time to edit your .act file Now go back to your folder and open up the .act file that you had copy and pasted for your headgear with actOR. Most of the time, when you open up your .act for the first time, you may get a message saying that the width and height is not correct. Simply click Yes and carry on. Now you should see this: Now look to the right. Under reference, check the box next to "head." You'll see that the head shows up, but the hat is behind the head! So look to the left where it says "Change priority ref. spr..." A window pops up. Underneath "head" hit the bubble for back. The hat is now in front of the head. Look: You can change the reference head anytime you want by replacing the ref_head act/spr files in the location where you installed actOR. Simply replace those files. Now, we have to edit the .act file. But first, here is a quick diagram explaining the basics of actOR. 01 action This refers to each of the acts that correspond with an action in Ragnarok. In the drop down menu, there are 13 acts, going from 0-12. Act 00 is the act for standing, act 01 is for walking, act 02 is for sitting, etc. You have to check every single act and every single direction to make sure that the hat sits on the head properly. This is where most of the labor comes from. 02 direction clicking through this scrolls through all of the angles of the head and hat. 03 scroll bar for each pose/angle, there are several frames. this scroll bar scrolls through all of them. You must check through all of these to make sure that the hat sits on the head properly. 04 reference this is simply where you turn the reference head and body on and off via the boxes, x is on and a blank box is off. 05 x offs this is the x-coordinate of the headgear. You can edit this value by clicking and dragging the headgear by hand, or tap-tap double clicking the value under Xoffs with a certain timing to change it numerically. 06 y offs this is they-coordinate of the headgear. You can edit this value by clicking and dragging the headgear by hand, or tap-tap double clicking the value under Yoffs with a certain timing to change it numerically. 07 EXT this simply refers to the reference head sprite/hairstyle. 08 x offs this is the x-coordinate of the head. You can edit this value by clicking and dragging the headgear by hand, or tap-tap double clicking the value under Xoffs with a certain timing to change it numerically. 09 y offs this is the y-coordinate of the head. You can edit this value by clicking and dragging the headgear by hand, or tap-tap double clicking the value under Xoffs with a certain timing to change it numerically. That is basically all you need to know of actOR to get the job done. Personally, I don't know what everything else does! Now you must go through all the .act's angles and frames to make sure the hat sits correctly on the character's head. Once you are done, simply save your file. And you're done! You now have the .act and .spr file of your headgear. the data folder 1 sprite this main folder is where your sprites reside. under this folder is two other folders. a. ¾ÆÀÌÅÛ holds the .spr/.act of the thumbnail of your headgear. b. ¾Ç¼¼»Ç¸® where your headgears reside. Underneath this folder are two other folders. c. ¿© the female folder d. ³² the male folder 2 texture this main folder is where your .bmp images for your items reside. under this folder is two other folders. a. À¯ÀúÀÎÅÍÆäÀ̽º this folder holds two other folders under it. b. collection this is where the artwork for your headgear resides as a 75 x 100 bitmap image. c. item this is where the .bmp thumbnail of your image resides; the image is the same as the .spr thumbnail of your headgear and is 24 x 24 in size. notes I generally work with the female .act/.spr files first. Afterwards, I simply copy and paste those files over to the male folder and paste, afterwards, I rename them. A lot of the time, the female .act will not suffice for the male .act since the male hairstyles tend to be smaller than the females. You will have to go back and edit the male .act file after copying and pasting. The way you position your headgear might not work across all hairstyles as well. You want to choose a position that can be workable across most hairstyles.
  19. 1 point
    ~~ 4th class update ~~ Egnigem - Wikebine - Laurell - Errende - Josephina - Kavach - Armeyer Seyren - Eremes - Kathryne - Margaretha - Cecil - Howard & Madogear Randel - Gertie - Celia - Chen - Trentini - Alphoccio - Flamel The main idea behind sprites with two types of attack is that they can be used as: 1. different ordinary monsters with only one type of attack initially 2. monsters with the ability to transform one into another depending on the use of skills by players or randomly Main examples of use for such sprites: 1.1. Celia / Laurell with a staff / book has a casting time and normal delay when using one of the types of magic bolts from a distance and near 1.2. Celia / Laurell with a knife uses instant magic bolts on melee attacks (as if she / he had Auto-Spell enabled) 2.1. Margaretha with a staff can cast protective spells on monsters around her and attack with normal speed (like supportive priest) 2.2. Margaretha with the book casts protective spells only on herself and attack way more faster (like battle priest) 3. Wikebine / Gertie / Josephina / Trentini / Kavach / Alphoccio with the ability to melee attack and carry a bow can randomly change the type of attack from ranged to melee and from melee to ranged to prevent players using Pneuma (Cecil is the exception, as a professional archer only) (!) This is not the final version of the project (!) There is an example of a sprite naming system:
  20. 1 point
    I remember reading somewhere that it was an issue from that client and that @Functor has a solution for that with Gepard Shield.
  21. 1 point
    To fix the error about the random drop items is: // Mapflag 'mobitemadder' (Zephyr) if( map[m].mobitemadder_droplist[0].mob_id == md->mob_id ) { // for( i = 1; i < sizeof( map[m].mobitemadder_droplist ); i = i + 1 ) <----- Change this for( i = 1; i < sizeof( map[m].mobitemadder_droplist[0].item_id ); i = i + 1 ) <----- Add this
  22. 1 point
    Amazing work, but needs a fix, i can work in that, someday i comment the solution in this post. +1 if you need
  23. 1 point
  24. 1 point
    64k hair styles patch very outdated and should be not used for newer clients than it already support. use patch http://nemo.herc.ws/patches/IncreaseHairSprites/ but it may fail for some clients
  25. 1 point
    There's a reason for all these issues. We been stuck with the 2018-06-20RagexeRE client for almost 2 years due to dev's not wanting to put in the major amount of time and work needed to support newer clients which required the 2 billion item ID's support in the packets. Plus they had a lot on their plate that they needed to catch up on first. These road blocks tend to happen every few years when certain kind of changes happen to newer clients and because of this, other area's of development lag behind for a while. Now that 2020 clients are usable, people are able to use them and see whats working and whats broken and as usual the issues appear and need to be reported. 4144 is working on the diff's for Nemo but there's likely some that are broken and not reported yet. I was asked for help fixing the 64k hair styles one multiple times. Sorry but im not the one who makes these diffs. Report it to that project dev please. Also around March 2019 the compiler used for clients changed which is why every diff has to be updated to work on newer clients. So if a diff gives any kind of issues, report it so he can fix that. Way to minimize errors caused by diff's is to try using the minimal amount first and see what it does. Best try only with recommended first and then add additional diffs from there. Next is the translation project which is done by zackdreaver. When newer clients come out, they expect the code for newer functions in the lua files to be in there. If something is missing, you will get lua errors and possible crashes. The biggest cause for these issues is that the lua function files (Ones with _f at the end) are in this project as well which shouldn't be. This just causes headaches for those updating to newer clients since the files in the project are older then the ones in the data.grf/rdata.grf. They shouldn't even be hosted there at all since no one edits them and hardly any of them has stuff needing translating in them. Heck even textures that don't help with translating are there too which can sometimes cause issues if dated. A lot of unneeded trash needs to be purged from there. But if you encounters with error messages or client crashes, this is another area to look into. Ways to minimize errors from this is to remove all your lua's first to see if it fixes your issue. This is the biggest cause of error messages on startup and after selecting your character. Textures rarely cause issues but ive seen the ones for character select cause issues before when they got updated but used with older clients. If you suspect that could also be the cause of your issue, try removing them. Last is issues with rAthena. So far with 2020 clients im hearing of apples appearing in the refine UI and guild emblems not appearing. These are issues the rA dev team has to resolve but sometimes its not as simple as it seams and may take longer then usual to fix. Like how gif guild emblems are handled. Also there's a chance other item related issues may appear due to July 2020 and newer clients having a updated item packets structure of a added byte for item ranks. Im not aware of any other issues but we might see more hidden ones appear soon as more servers update to these newer clients. If you encounter any of these issues or other odd glitches in the gameplay, report it in rAthena's issue tracker in the git repo. I hope this info helps those looking for answer. Please give all the dev's time to catch up on everything. It will take a few months to get this stabilized. Around 6 to 12 months likely but we can minimize it by reporting these issues.
  26. 1 point
    this is a hidden npc , related to moscovia's quest it's not a bug
  27. 1 point
    Make your custom wing just like official items robe archangel wings and fallen angel wings. What you need is : 1. data exture\À¯ÀúÀÎÅÍÆäÀ̽º collection (image in description) item (image in inventory and equipment) 2. data\sprite ¾ÆÀÌÅÛ (drop items) ¾Ç¼¼»ç¸® (image appear on the character) 3. inside data\sprite\¾Ç¼¼»ç¸® ¿© (female) ³² (male) 4. data\sprite\·Îºê (robe) bloodwings (this is my folder names for custom wing) you can change it,later we talk about it. 5. inside data\sprite\·Îºê\bloodwings ¿© (female) ³² (male) 6. data\luafiles514\lua files\datainfo spriterobeid.lub or spriterobeid.lua spriterobename.lub or spriterobename.lua (read folder at data\sprite\·Îºê (robe) ) 7. data\cskroption.lub MORE DETAILS GUIDEs : 1. You can copy all names job from data\sprite\·Îºê\õ»ç³¯°³ (this is folder Fallen Angel Wings). NOTICE : male have 110 of act,110 of spr and female have 120 of act,120 of spr format from ¾Ç¼¼»ç¸® folder. Can check picture at above on inside data\sprite\·Îºê\bloodwings. ?male ´ÑÀÚ_³² ¸¶¹ý»ç_³² ¸ùÅ©_³² ¸ùÅ©¾ËÆÄÄ«_³² ¿©¸§_³² ¿©¿ì¸¶¹ý»ç_³² ¿©¿ì¿ö·Ï_³² ¿©¿ì¼¼ÀÌÁö_³² ¿©¿ì¼Ò¼­·¯_³² ¿©¿ìÀ§Àúµå_³² ¿©¿ìÇÁ·ÎÆä¼­_³² ¿©¿ìÇÏÀÌÀ§Àúµå_³² ¿¬±Ý¼ú»ç_³² ¿ö·Ï_³² ±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_³² ±×¸®Æù°¡µå_³² ±â»ç_³² ±Ã¼ö_³² ±æ·Îƾũ·Î½º_³² ±Ç¼º_³² ±Ç¼ºÀ¶ÇÕ_³² ±Ç¼ºÆ÷¸µ_³² »çÀÚ±â»ç_³² »çÀڷ鳪ÀÌÆ®_³² »çÀڷε峪ÀÌÆ®_³² »çÀڷξⰡµå_³² »çÀÚÅ©·ç¼¼ÀÌ´õ_³² »çÀÚÆȶóµò_³² »êŸ_³² »óÀÎ_³² »óÀθäµÅÁö_³² °¡µå_³² °áÈ¥_³² °Ç³Ê_³² °Ë»ç_³² µµµÏ_³² µÎ²¨ºñ´ÑÀÚ_³² µÎ²¨ºñ¼Ò¿ï¸µÄ¿_³² ·¹ÀÎÁ®_³² ·¹ÀÎÁ®´Á´ë_³² ·é³ªÀÌÆ®_³² ·é³ªÀÌÆ®»Ú¶ì_³² ·Î±×_³² ·Îµå³ªÀÌÆ®_³² ·ÎµåÆäÄÚ_³² ¼¼ÀÌÁö_³² ¼Ò¿ï¸µÄ¿_³² ¼Ò¼­·¯_³² ¼ºÁ÷ÀÚ_³² ½¦µµ¿ìüÀ̼­_³² ½´¶ó_³² ½´¶ó¾ËÆÄÄ«_³² ½´ÆÛ³ëºñ½º_³² ½´ÆÛ³ëºñ½ºÆ÷¸µ_³² ½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_³² ½º³ªÀÌÆÛ_³² ½ºÅäÄ¿_³² ¾ÆÅ©ºñ¼ó_³² ¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_³² ¾î¼¼½Å_³² ¾î½Ø½ÅÅ©·Î½º_³² ¹Î½ºÆ®·²_³² ¹ÌÄÉ´Ð_³² ¹ÌÄɴиäµÅÁö_³² ¹Ùµå_³² ³ëºñ½ºÆ÷¸µ_³² Á¦³×¸¯_³² Á¦Ã¶°ø_³² Á¦Ã¶°ø¸äµÅÁö_³² èÇÇ¿Â_³² èÇǿ¾ËÆÄÄ«_³² ŸÁ¶±Ã¼ö_³² ŸÁ¶·¹ÀÎÁ®_³² ŸÁ¶½º³ªÀÌÆÛ_³² ŸÁ¶¹Î½ºÆ®·²_³² ŸÁ¶¹Ùµå_³² ŸÁ¶Å©¶ó¿î_³² ŸÁ¶ÇåÅÍ_³² À§Àúµå_³² Å©¸®¿¡ÀÌÅÍ_³² Å©¸®¿¡ÀÌÅ͸äµÅÁö_³² Å©·ç¼¼ÀÌ´õ_³² Ŭ¶ó¿î_³² űǼҳâ_³² űǼҳâÆ÷¸µ_³² ÆäÄڰdzÊ_³² ÆäÄÚ°Ë»ç_³² ÆäÄÚÆäÄÚ_±â»ç_³² ÆäÄÚÆȶóµò_³² Æȶóµò_³² Ãʺ¸ÀÚ_³² Ä̺£·Î½º±æ·Îƾũ·Î½º_³² Ä̺£·Î½ºµµµÏ_³² Ä̺£·Î½º·Î±×_³² Ä̺£·Î½º½¦µµ¿ìüÀ̼­_³² Ä̺£·Î½º½ºÅäÄ¿_³² Ä̺£·Î½º¾î½ê½Å_³² Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_³² ÇÁ¸®½ºÆ®_³² ÇÁ¸®½ºÆ®¾ËÆÄÄ«_³² ÇÁ·ÎÆä¼­_³² ÇåÅÍ_³² ÇÏÀÌÀ§Àúµå_³² ÇÏÀÌÇÁ¸®_³² ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_³² È­ÀÌÆ®½º¹Ì½º_³² È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_³² frog_kagerou_³² kagerou_³² º¹»ç¾ËÆÄÄ«_³² female ´ÑÀÚ_¿© ¸¶µµ±â¾î_¿© ¸¶¹ý»ç_¿© ¸ùÅ©_¿© ¸ùÅ©¾ËÆÄÄ«_¿© ¿©¸§_¿© ¿©¿ì¸¶¹ý»ç_¿© ¿©¿ì¿ö·Ï_¿© ¿©¿ì¼¼ÀÌÁö_¿© ¿©¿ì¼Ò¼­·¯_¿© ¿©¿ìÀ§Àúµå_¿© ¿©¿ìÇÁ·ÎÆä¼­_¿© ¿©¿ìÇÏÀÌÀ§Àúµå_¿© ¿¬±Ý¼ú»ç_¿© ¿¬±Ý¼ú»ç¸äµÅÁö_¿© ¿î¿µÀÚ_¿© ¿î¿µÀÚ2_¿© ¿ø´õ·¯_¿© ¿ö·Ï_¿© ¿þµù ±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿© ±×¸®Æù°¡µå_¿© ±â»ç_¿© ±Ã¼ö_¿© ±æ·Îƾũ·Î½º_¿© ±Ç¼º_¿© ±Ç¼ºÀ¶ÇÕ_¿© ±Ç¼ºÆ÷¸µ_¿© »çÀÚ±â»ç_¿© »çÀڷ鳪ÀÌÆ®_¿© »çÀڷε峪ÀÌÆ®_¿© »çÀڷξⰡµå_¿© »çÀÚÅ©·ç¼¼ÀÌ´õ_¿© »çÀÚÆȶóµò_¿© »êŸ_¿© »óÀÎ_¿© »óÀθäµÅÁö_¿© °¡µå_¿© °áÈ¥_¿© °Ç³Ê_¿© °Ë»ç_¿© µµµÏ_¿© µÎ²¨ºñ´ÑÀÚ_¿© µÎ²¨ºñ¼Ò¿ï¸µÄ¿_¿© ·¹ÀÎÁ®_¿© ·¹ÀÎÁ®´Á´ë_¿© ·é³ªÀÌÆ®_¿© ·é³ªÀÌÆ®»Ú¶ì_¿© ·Î±×_¿© ·Îµå³ªÀÌÆ®_¿© ·ÎµåÆäÄÚ_¿© ¼¼ÀÌÁö_¿© ¼Ò¿ï¸µÄ¿_¿© ¼Ò¼­·¯_¿© ¼ºÁ÷ÀÚ_¿© ½¦µµ¿ìüÀ̼­_¿© ½´¶ó_¿© ½´¶ó¾ËÆÄÄ«_¿© ½´ÆÛ³ëºñ½º_¿© ½´ÆÛ³ëºñ½ºÆ÷¸µ_¿© ½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_¿© ½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_h_¿© ½º³ªÀÌÆÛ_¿© ½ºÅäÄ¿_¿© ¾ÆÅ©ºñ¼ó_¿© ¾ÆÅ©ºñ¼ó¾ËÆÄÄ«_¿© ¾î¼¼½Å_¿© ¾î½Ø½ÅÅ©·Î½º_¿© ¹«Èñ_¿© ¹«Èñ_¿©_¹ÙÁö ¹«Èñ¹ÙÁö_¿© ¹ÌÄÉ´Ð_¿© ¹ÌÄɴиäµÅÁö_¿© ³ëºñ½ºÆ÷¸µ_¿© Á¦³×¸¯_¿© Á¦³×¸¯¸äµÅÁö_¿© Á¦Ã¶°ø_¿© Á¦Ã¶°ø¸äµÅÁö_¿© èÇÇ¿Â_¿© èÇǿ¾ËÆÄÄ«_¿© ŸÁ¶¿ø´õ·¯_¿© ŸÁ¶±Ã¼ö_¿© ŸÁ¶·¹ÀÎÁ®_¿© ŸÁ¶½º³ªÀÌÆÛ_¿© ŸÁ¶¹«Èñ_¿© ŸÁ¶Â¤½Ã_¿© ŸÁ¶ÇåÅÍ_¿© À§Àúµå_¿© À©´õ·¯_¿© Å©¸®¿¡ÀÌÅÍ_¿© Å©¸®¿¡ÀÌÅ͸äµÅÁö_¿© Å©·ç¼¼ÀÌ´õ_¿© űǼҳâ_¿© űǼҳâÆ÷¸µ_¿© ÆäÄڰdzÊ_¿© ÆäÄÚ°Ë»ç_¿© ÆäÄÚÆäÄÚ_±â»ç_¿© ÆäÄÚÆȶóµò_¿© Æȶóµò_¿© Ãʺ¸ÀÚ_¿© Ä̺£·Î½º±æ·Îƾũ·Î½º_¿© Ä̺£·Î½ºµµµÏ_¿© Ä̺£·Î½º·Î±×_¿© Ä̺£·Î½º½¦µµ¿ìüÀ̼­_¿© Ä̺£·Î½º½ºÅäÄ¿_¿© Ä̺£·Î½º¾î½ê½Å_¿© Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º_¿© Áý½Ã_¿© ÇÁ¸®½ºÆ®_¿© ÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿© ÇÁ·ÎÆä¼­_¿© ÇåÅÍ_¿© ÇÏÀÌÀ§Àúµå_¿© ÇÏÀÌÇÁ¸®_¿© ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ«_¿© È­ÀÌÆ®½º¹Ì½º_¿© È­ÀÌÆ®½º¹Ì½º¸äµÅÁö_¿© frog_oboro_¿© º¹»ç¾ËÆÄÄ«_¿© oboro_¿© 2. You copy and paste the act,spr files from data\sprite\¾Ç¼¼»ç¸® into data\sprite\·Îºê\bloodwings then rename it into job class. 3. You will need spriterobeid.lub/lua and spriterobename.lub/lua. Can find it at data\luafiles514\lua files\datainfo. Add this stuff into your spriterobename.lub/lua ROBE_BLOODWINGS = 5 Notice : The end of word doesnt have "," Add this stuff into your spriterobename.lub/lua RobeNameTable = { [SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "bloodwings", RobeNameTable_Eng = { [SPRITE_ROBE_IDs.ROBE_BLOODWINGS] = "_bloodwings", Notice : The end of word need have "," 4. Last thing you need do is open data\cskroption.lub and add this stuff [29005] = { unidentifiedDisplayName = "Blood Wings", unidentifiedResourceName = "_bloodwings", unidentifiedDescriptionName = { "Unidentified item, can be identified with [Magnifier].", }, identifiedDisplayName = "Blood Wings", identifiedResourceName = "_bloodwings", identifiedDescriptionName = { "Large, Blood Wings of a fallen dark angel.", "All Stats + 1.", "Base stats (without modifiers) is equal to 20 or higher,", "-Str -> Attack + 1", "-Int -> Magic Attack + 1", "-Vit -> Tolerance to Neutral Property + 1%", "-Agi -> Increase ASPD (After Attack delay -1%)", "-Dex -> Ranged Attack +1%", "-Luk -> Inflict 1% more critical attack.", "Class : ^777777Garment^000000", "Defense : ^77777718^000000", "Weight : ^77777720^000000", "Required Level : ^7777771^000000", "Applicable Job : ^777777Every Job^000000", }, slotCount = 1, ClassNum = 5 }, 5. my SS for Bloodwings
  28. 1 point


    Patcher This patcher is public so don't try to sell it or make it your property. I make this patcher months ago for a server, no longer having news and they didn't put on their server, i dicided to publish him. The update bar is the logo, i've made one but you can change for your own logo of course. Contains All the necessary files. I lost the PSD, sorry. Contact You can found me on discord : Sloth#6226 Github : https://github.com/SlothBM/ I don't take orders. Want to support my work ?


  29. 1 point
    Offline means it doesn't work. To use rAthena as a "local" server, you leave the IPs as
  30. 1 point
    View File Ainz Ooal Gown Hello everyone! I'm maken06. This is my second monster, enjoy it Don't steal credits, give credits to me, that I cost my effort to do them. Do Not edit my work without my permission, It includes recolors. pd: Do not forget to give me a reputation or reaction Submitter maken06 Submitted 11/24/2018 Category Monster Sprites Video Content Author maken06
  31. 1 point
    Hola a todos, disculpen he estado inactivo bastante tiempo, tube un problema debido a un virus que entro en mi pc, entonces el antivirus me borro muchas cosas, y entre ellas mis proyectos... la verdad estaba frustrado... hace poco tiempo volvi a retomar RO, estoy haciendo todo otra vez. Por suerte he recuperado la montura Nube, ahora solo me queda rehacer y configurar la Luna . Saludos English-- Hello everyone, sorry I have been inactive for a long time, I had a problem due to a virus that entered my pc, so the antivirus deleted many things, and among them my projects ... the truth was I was frustrated ... a short time ago I returned to return to RO, I am doing everything again. Luckily I have recovered the CLOUD mount, now I only have to remake and configure the MOON. Regards
  32. 1 point
    Please don't let this die. At least make it up to a point where is a stable long term release !
  33. 1 point
    These are the texture files for the refinement system. data.rar
  34. 1 point
    View File Ragnarok Emojis v2.0 __________***PLEASE READ***__________ I updated a variety of ragnarok emojis. Example: became > Feel free to do whatever with the graphics. Use parts of it or fully, use them as a base or else - but please follow these rules: ________________________________________ Rules: Do not sell these graphics to anyone. Do not ask me to fix, adjust or change something unless you're willing to pay for it. If you upload them somewhere for others to download, please credit me and/or link back to herc.ws's download section. Contains: Ragnarok Emojis Contact Discord: 방탄#4526 Submitter Daifuku Submitted 02/10/2019 Category Other Video Content Author Daifuku  
  35. 1 point
    As opposed to my previous thread made here, this one will have scripts I share with the community. I'll be adding more as time goes by, but I intend to share quite a bit. :] Do whatever you want with these, just don't claim them as your own or sell them of course. And if you could add credits to them that'd be great as well! If at least on your Features page or on the announcement when the script is added to your server. Enjoy! 1. Countdown Mini-Game (Cross-Post from Summer Festival Collection): //===== rAthena Script ======================================= //= Countdown Mini-Game Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ summer01,124,121,6 script Countdown#summ 904,{ if ( .start == 0 ) { [email protected]$ = "[ ^FF0000Countdown^000000 ]"; mes [email protected]$; mes "In order to win, you must click me after counting down to 0."; mes "Cost of participation is ^3355FF2 Festival Coins^000000"; mes "If you win, I'll give you ^3355FF35 Coins^000000"; @novacountdown = 0; deltimer "Countdown#summ::OnCountdown"; next; switch(select("Play Countdown:Leave")){ case 1: if (@NovaCount > gettimetick(2)) { [email protected] = @NovaCount - gettimetick(2); dispbottom "Countdown: You must wait "[email protected]+" seconds before playing again."; end; } if (.start == 1) { dispbottom "Countdown: Somebody is already playing. Wait for them to finish."; end; } if(countitem(6767) < 2) { mes [email protected]$; mes "You don't have enough coins."; end; } initnpctimer; delitem 6767,2; @NovaCount = gettimetick(2) + 60; .start = 1; close2; .player$ = strcharinfo(0); [email protected] = rand(8,11); [email protected] = rand(600,1000); [email protected] = [email protected]*[email protected]; [email protected] = [email protected][email protected]; emotion 27; showscript "Countdown: "+.player$+"! Count in your head, and click me again when the timer reaches 0.",.gid$; dispbottom "Countdown: Count in your head, and click me on the NPC again when the timer reaches 0."; sleep2 5000; addtimer [email protected],"Countdown#summ::OnCountdown"; addtimer [email protected],"Countdown#summ::OnCountdown2"; [email protected]$ = [email protected]; showscript [email protected]$,.gid$; sleep2 [email protected]; [email protected]$ = [email protected]; showscript [email protected]$,.gid$; sleep2 [email protected]; [email protected]$ = [email protected]; showscript [email protected]$,.gid$; end; case 2: end; } end; } if ( .start == 1 && .player$ == strcharinfo(0) ) { if (@novacountdown == 0) { showscript "Countdown: You went too quickly. You lose.",.gid$; .start = 0; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; } if (@novacountdown == 1) { showscript "Countdown: Nice one. You win this time "+.player$+".",.gid$; .start = 0; getitem 6767,35; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; } if (@novacountdown == 2) { showscript "Countdown: You went too slowly. You lose.",.gid$; .start = 0; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; } end; } else { dispbottom "Somebody is already playing Countdown. Wait for them to finish."; end; } OnInit: .gid$ = getnpcid(0); end; OnCountdown: @novacountdown = 1; end; OnCountdown2: @novacountdown = 2; end; OnTimer30000: stopnpctimer; showscript "Countdown: You went too slowly. You lose.",.gid$; .start = 0; end; } 2. Character Deletion on Death: //===== rAthena Script ======================================= //= Character Deletion on Death Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ - script PERMANENTDEATH -1,{ end; OnPCDieEvent: set [email protected],getcharid(0); message strcharinfo(0),"Game Over"; atcommand "@kick "+strcharinfo(0); set [email protected], getarraysize( .char_delete$ ); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { query_sql("DELETE FROM `"+ .char_delete$[[email protected]] +"` WHERE `char_id` = '"+ [email protected] +"'"); } query_sql "DELETE FROM `party` WHERE `leader_char` = '"[email protected]+"'"; end; OnInit: setarray .char_delete$[0],"bonus_script","char","cart_inventory","elemental","friends","global_reg_value","guild","guild_member","homunculus","hotkey","inventory","memo","mercenary","mercenary_owner","pet","quest","sc_data","skill","skillcooldown"; end; } 3. Instance Based Dead Branch Room: //===== rAthena Script ======================================= //= Dead Branch Room Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ npc_in,9,103,6 script Branch Manager 89,{ [email protected]$ = "[^3355FF Branch Manager ^000000]"; [email protected]_id = getcharid(1); [email protected]_name$ = getpartyname([email protected]_id); [email protected]$ = "Dead Branch Room"; if (getcharid(0) == getpartyleader([email protected]_id,2)) { mes [email protected]$; mes "Would you like to reserve a private Dead Branch Room? It'll cost 100K for two full hours."; mes "Remember, the room and everything inside it will disappear after this time frame."; next; switch(select("Rent Dead Branch Room:Enter the Room:Cancel")) { case 1: if (Zeny < 100000) { mes [email protected]$; mes "Are you trying to sneak in without paying? You must bring me 100,000 Zeny if you wish to rent a room."; cutin "",255; end; } if (instance_create([email protected]$) < 0) { mes "Party Name: "[email protected]_name$; mes "Party Leader: "+strcharinfo(0); mes "^0000ff"[email protected]$+" ^000000- Reservation Failed!"; close; } Zeny -= 100000; mes [email protected]$; mes "Talk to me again to enter the room now that your room has been reserved."; close; case 2: callsub L_Enter,0,1; case 3: mes [email protected]$; mes "Have a nice day then, and enjoy Dead Branching in Juperos."; close; } } mes [email protected]$; mes "You may enter a Dead Branch Room if it's been reserved by your party leader."; next; switch(select("Enter the Dead Branch Room:Cancel")) { case 1: callsub L_Enter,1,1; case 2: mes [email protected]$; mes "Have a nice day then, and enjoy Dead Branching in Juperos."; end; } L_Enter: switch(instance_enter("Dead Branch Room")) { case 3: mes [email protected]$; mes "You are not in a party."; close; case 2: mes [email protected]$; mes "The private Dead Branch Room has not yet been reserved."; mes "The party leader did not pay the fee."; close; case 1: mes [email protected]$; mes "You can enter the room after making a party."; close; case 0: mapannounce "npc_in", strcharinfo(0)+" of the party, "[email protected]_name$+", is entering a Dead Branch Room.",bc_map,"0x00ff99",FW_NORMAL,12; end; } } //================================================================================== //--------|Map Flags|--------------------------------------------------------------- //================================================================================== pvp_n_1-3 mapflag monster_noteleport pvp_n_1-3 mapflag nowarpto pvp_n_1-3 mapflag nomemo pvp_n_1-3 mapflag noteleport pvp_n_1-3 mapflag nosave SavePoint pvp_n_1-3 mapflag nopenalty Make sure you add the following line to your instance_db 16,Dead Branch Room,7200,pvp_n_1-3,99,95,pvp_n_1-3 Feel free to change the number to whatever is appropriate in your server. You'll likely also need to unset the PvP mapflags from that map, or move it to a different map, and feel free to add the following to the map according to what you want for your server: MvP Summoner, Healer, Kafra, Dead Branch Seller. 4. In-game Item Descriptions:​ //===== rAthena Script ======================================= //= In-game Item Descriptions Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ - script itemdescs -1,{ end; OnInit: bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "itemdesc",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: mes "^3355FF[ Item Description Search ]^000000"; [email protected] = atoi([email protected]_parameters$[0]); mes "<ITEMLINK>"+getitemname([email protected])+"<INFO>"[email protected]+"</INFO></ITEMLINK>"; mes "Click on the name of the item above."; end; } 5. Dismounter:​ npc_in,50,110,3 script Dismounter 105,{ mes "[ Dismounter ]"; mes "It seems you're stuck on your mount! I'll make that thing run away for you."; next; switch(select("Please! I can't get rid of it.:No! I want to keep my mount.")) { case 1: mes "[ Dismounter ]"; mes "OOGA BOOGA!"; if(SC_ALL_RIDING>=1) { sc_start SC_ALL_RIDING,1,0; } mes "- Your mount has ran away -"; end; case 2: mes "[ Dismounter ]"; mes "Keep your mount for all I care!"; end; } } If you rent a Halter Lead/Reins of Mount, sometimes they'll expire and leave your players stuck on them. This NPC gives them the option to dismount without the reins. 6. Level Up Function:​ - script LevelUpQuotes -1,{ end; OnInit: setarray .q$,"I have advanced forward!","There's no stopping me now!","Look at me go!","There's more where that came from.","This isn't even my final form!"; .num1 = getarraysize(.q$); setarray .maxq$,"I've made it!","I never thought I'd become this strong...","I have reached my final form."; .num2 = getarraysize(.maxq$); end; OnPCBaseLvUpEvent: if( BaseLevel > 149 && getstatus(SC_ITEMBOOST) == 0 ) { sc_start SC_ITEMBOOST,180000,200; } if( BaseLevel == 175 ) { [email protected] = rand(.num2); showscript strcharinfo(0)+" : "+.maxq$[[email protected]]; } else { [email protected] = rand(.num1); showscript strcharinfo(0)+" : "+.q$[[email protected]]; } if( getstatus(SC_INCREASEAGI) != 1 ) { sc_start SC_INCREASEAGI,30000,10; } end; } This one displays one of several quotes when a player levels up on top of their head. I removed the quotes but you can use your own, I have around 30 on my server. (Just replace Quote 1-3 and add as many as you'd like) It also gives the player 30 seconds of level 10 INC agi, and if the player is 150 or higher, 3 minutes of Bubble Gum effect. 7. Dice Hack: - script dicehack -1,{ end; OnInit: bindatcmd "dice",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: if (getgroupid() < 10) { end; } [email protected] = atoi([email protected]_parameters$[0]); [email protected] += 57; emotion [email protected],1; end; } This one's a silly one. It lets your GMs use @dice 1 to @dice 6 to cheat at dice. It's fun. :] 8. The Claw: //===== rAthena Script ======================================= //= The Claw Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ moc_para01,13,25,6 script The Claw 562,{ set [email protected]$,"[ ^FF0000The Claw^000000 ]"; mes [email protected]$; mes "Instructions:"; mes "You may pay 250 coins for a random headgear, or 500 to pick a specific headgear."; mes "New hats will be in stock every month."; next; switch(select("Random Hat",""+.hat1$+"",""+.hat2$+"",""+.hat3$+"",""+.hat4$+"")) { case 1: mes [email protected]$; mes "Are you sure you want a random hat for 250 Gold Coins?"; next; switch(select("Yes","No")) { case 1: if (countitem(671)) < (500) { mes [email protected]$,"You do not have enough Gold Coins to operate The Claw."; close; } if (checkweight([email protected],1) == 0 ) { mes [email protected]$,"The Claw detects you are over your weight limit."; close; } set .HatRandomArray,rand(1,4); delitem 671,250; if(.HatRandomArray==1) { getitem .hatid1,1; } if(.HatRandomArray==2) { getitem .hatid2,1; } if(.HatRandomArray==3) { getitem .hatid3,1; } if(.HatRandomArray==4) { getitem .hatid4,1; } mes [email protected]$; mes "The Claw has chosen. Here is your hat."; close; case 2: mes [email protected]$; mes "Come back and play again!"; close; } end; case 2: [email protected] = .hatid1; [email protected]$ = .hat1$; break; case 3: [email protected] = .hatid2; [email protected]$ = .hat2$; break; case 4: [email protected] = .hatid3; [email protected]$ = .hat3$; break; case 5: [email protected] = .hatid4; [email protected]$ = .hat4$; break; } mes [email protected]$; mes "Are you sure you want to buy: "; mes "<ITEMLINK>"[email protected]$+"<INFO>"[email protected]+"</INFO></ITEMLINK> ?"; next; switch(select("Buy for 500 Gold Coins","Cancel")) { case 1: if (countitem(671)) < (500) { mes [email protected]$,"You do not have enough Gold Coins to operate The Claw."; close; } if (checkweight([email protected],1) == 0 ) { mes [email protected]$,"The Claw detects you are over your weight limit."; close; } delitem 671,500; getitem [email protected],1; mes [email protected]$; mes "The Claw has retrieved your "[email protected]$+". Enjoy it."; close; case 2: mes [email protected]$; mes "Come back and play again!"; close; } OnInit: .hatid1 = 5474; .hatid2 = 5102; .hatid3 = 18678; .hatid4 = 5793; .hat1$ = getitemname(.hatid1); .hat2$ = getitemname(.hatid2); .hat3$ = getitemname(.hatid3); .hat4$ = getitemname(.hatid4); end; } Just change the IDs of the hats you want to rotate in for the month at the bottom, and change the Gold Coin text as well as the ID to whatever item you wish. 9. Search iRO Wiki/RMS Script (In-Game Browser): //===== rAthena Script ======================================= //= Search iRO Wiki/RMS Script (In-Game Browser) //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ - script NovaSearch -1,{ end; OnInit: bindatcmd "rms",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "irowiki",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "search",strnpcinfo(3)+"::OnAtcommand"; .n$ = "^3355FF[ Search Engine ]^000000"; end; OnAtcommand: mes .n$; mes "Note that some information on RMS and iRO wiki might be outdated or inaccurate."; mes "Take your search results with a grain of salt!"; next; switch(select("RMS Monster Search:RMS Item Search:iRO Wiki Search:Close")){ case 1: input [email protected]$; mes .n$; mes "<URL>Click here to open the browser!<INFO>http://ratemyserver.net/index.php?all_mob_select=%23&mob_id=&mob_name="[email protected]$+"&element=-1&race=-1&size=-1&mlvsn=0&mlv=&mlv2=&bxpsn=0&exp=&exp2=&jxpsn=0&jexp=&jexp2=&flee=&dr=95&hit=&hr=100&rgc=0&immu=0&mvp=0&minib=0&aggr=0&assi=0&sense=0&det=0&natk=0&immo=0&chcha=0&loot=0&chtar=0&plt=0&sort_r=0&sort_o=0&page=re_mob_db&f=1&mob_search=Search,1000,1000</INFO></URL>"; close; case 2: input [email protected]$; mes .n$; mes "<URL>Click here to open the browser!<INFO>http://ratemyserver.net/index.php?page=re_item_db&item_id=&iname="[email protected]$+"&itype=-1&islot_sign=-1&islot=-1&ij%5B+%5D=-1&iju=-1&idesc=&iscript=&i_ele=-1&i_status=-1&i_race=-1&i_bonus=-1&icfix=&sort_r=0&sort_o=0&isearch=Search,1000,1000</INFO></URL>"; close; case 3: input [email protected]$; mes .n$; mes "<URL>Click here to open the browser!<INFO>http://irowiki.org/w/index.php?search="[email protected]$+",1000,1000</INFO></URL>"; close; case 4: end; } end; } This one's pretty simple but neat as well. It allows opening iRO wiki and RMS with searches on the in-game browser. 10. Crystal Chaos Mini-Game //===== rAthena Script ======================================= //= Crystal Chaos Mini-Game Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ prontera,152,175,6 script Crystal Chaos#summ 762,{ [email protected]$ = "[ ^FF0000Crystal Chaos^000000 ]"; mes [email protected]$; mes "You must think you have good eyes."; mes "When the shadow stops moving, select which shadow you think it stopped on."; mes "Playing costs ^3355FF"+.costqty+"x "+getitemname(.costid)+"^000000. If you win, you will get ^3355FF"+.rewardqty+"x "+getitemname(.rewardid)+"^000000."; next; switch(select("Play Crystal Chaos:Leave")){ case 1: if(.start == 0) { if (@NovaCrystal > gettimetick(2)) { [email protected] = @NovaCrystal - gettimetick(2); dispbottom "Crystal Chaos: You must wait "[email protected]+" seconds before playing Crystal Chaos again."; end; } if(countitem(.costid) < .costqty) { mes [email protected]$; mes "You don't have enough "+getitemname(.rewardid)+"."; end; } delitem .costid,.costqty; @NovaCrystal = gettimetick(2) + 60; .start = 1; initnpctimer; mes [email protected]$; mes "Press next to start the game."; mes "Pay close attention to the Crystal's shadow,"; mes "When the shadow stops moving, select which shadow you think it stopped on."; next; mes [email protected]$; mes "- Round 1 -"; donpcevent "Crystal#summshufreal::OnRound1"; donpcevent "Crystal#summshufreal::OnEnable"; mes "Which Crystal did the shadow stop on?"; next; [email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1]; if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) { showscript "You lose",.pchaos$; .start = 0; @NovaCrystal = gettimetick(2) + 60; end; } mes [email protected]$; mes "Congratulations, now for round 2!"; showscript "Round 2",.pchaos$; next; mes [email protected]$; mes "- Round 2 -"; donpcevent "Crystal#summshufreal::OnRound2"; donpcevent "Crystal#summshufreal::OnEnable"; mes "Which Crystal did the shadow stop on?"; next; [email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1]; if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) { showscript "You lose",.pchaos$; .start = 0; @NovaCrystal = gettimetick(2) + 60; end; } mes [email protected]$; mes "Congratulations, now for round 3!"; showscript "Round 3",.pchaos$; next; mes [email protected]$; mes "- Round 3 -"; donpcevent "Crystal#summshufreal::OnRound3"; donpcevent "Crystal#summshufreal::OnEnable"; mes "Which Crystal did the shadow stop on?"; next; [email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1]; if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) { showscript "You lose",.pchaos$; .start = 0; @NovaCrystal = gettimetick(2) + 60; end; } mes [email protected]$; mes "Congratulations, now for the final round!"; showscript "Final Round!",.pchaos$; next; mes [email protected]$; mes "- Final Round -"; donpcevent "Crystal#summshufreal::OnRound4"; donpcevent "Crystal#summshufreal::OnEnable"; mes "Which Crystal did the shadow stop on?"; next; [email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1]; if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) { showscript "You lose",.pchaos$; .start = 0; @NovaCrystal = gettimetick(2) + 60; end; } showscript "You win!",.pchaos$; getitem .rewardid,.rewardqty; .start = 0; @NovaCrystal = gettimetick(2) + 60; end; } else { mes [email protected]$; mes "Somebody is already playing Crystal Chaos! Please wait until they finish."; } end; case 2: mes [email protected]$; mes "Come back when you're ready to play."; end; } OnTimer60000: .start = 0; stopnpctimer; end; OnInit: .start = 0; .pchaos$ = getnpcid(0); //Configure the cost of playing as well as the reward. .costid = 6767; .costqty = 2; .rewardid = 6767; .rewardqty = 30; //Set the following array to be the X Coordinates of the 3 following NPCs setarray .x,158,156,154; end; } //Make sure these NPCs are spaced apart by 2 cells on the X axis. (104, 102, 100) //The Coordinates of the last Crystal should be the same as that of the middle one. //If you change the Y coordinate (174) Make sure you also change it below inside Crystal#summshufreal prontera,158,174,4 script Right Crystal#summshuf1 1914,{ end; } prontera,156,174,4 script Middle Crystal#summshuf2 1914,{ end; } prontera,154,174,4 script Left Crystal#summshuf3 1914,{ end; } prontera,156,174,4 script Crystal#summshufreal 1914,{ end; OnInit: npcspeed 20; //Set the following array to be the X Coordinate of the 3 previous NPCs (Same as above) setarray .x,158,156,154; disablenpc "Crystal#summshufreal"; .y = 174; //Set to be the Y coordinate of the previous NPCs end; OnEnable: enablenpc "Crystal#summshufreal"; .r1 = rand(0,2); movenpc "Crystal#summshufreal",.x[.r1],.y; sleep .round; for ([email protected] = 0; [email protected] < 15; [email protected]++){ .r2 = rand(0,2); while (.r2 == .r1) .r2 = rand(0,2); movenpc "Crystal#summshufreal",.x[.r2],.y; sleep .round; .r1 = rand(0,2); while (.r1 == .r2) .r1 = rand(0,2); movenpc "Crystal#summshufreal",.x[.r1],.y; .shadow = .x[.r1]; sleep .round; } disablenpc "Crystal#summshufreal"; end; // Speed Configuration, change at will. OnRound1: .round = 150; end; OnRound2: .round = 100; end; OnRound3: .round = 70; end; OnRound4: .round = 45; end; } This one's one of my favorites despite being pretty simple. Make sure you configure it properly! I'll be adding more scripts over time. Oh and make sure to relocate these as most are from custom maps.
  36. 1 point
    [sRC] Cell PvP 1.7 How to use this ? You can enable or disable this feature conf/battle/misc.conf how to create cell pvp How to use auto buff script Add npc script don't edit npc name "deathmatch_core" Change log enjoy! Extended_Cell_PvP_1.7.patch
  37. 1 point

    Version 5.0


    Created custom Gramps script following the set conditions of the official iRO version based on the wiki. Some modifications have been made based on player suggestions such as allowing the player to collect a partial reward after killing at least 150 of the monster (to minimize players getting bored). Players can perform one mission every 23 hours (timer starts when the player accepts a quest). Each monster will give their normal experience in the wild, but the reward equals (normal Base/Job Exp*400). Players can reset the 23 hour cooldown with a Super Blue Gemstone (or other Reset Stone item of choice) once every 3 hours. Kills from party members count toward your mission total if you see the kill on your screen and they are less than 30 levels higher than the quest player. If they level up to the next mission range before they complete the current mission they can still collect their reward. If their a VIP Member at the time of completion they have the option to collect the normal amount of Base/Job Experience or double either one of them. Also have a low chance of earning the associated monsters card. This is actually slightly higher for players assisting others.


  38. 1 point
    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 [email protected]), change that to [email protected] (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!
  39. 1 point
    GRF Editor: Encryption The Movie Hello again, rAthena, I'm Haziel. I'm a Pixel Artist and also a Scripter. (Also, you can check my work here and here, and if you ever need any Sprite/Script Service, check here! You can also add me on skype (it's on my signature)) Most of the people who know me or hired me for any kind of service know that I don't charge more than it's fair. What upsets me is the people who use my work without authorization, most of the cases, paid material that took hours, days or, sometimes, weeks to be concluded. So, hoping to protect my work, and the custom content of your servers' owners, I've decided to write a guide explaning in detail how to use @Tokei's awesome tool. 1. List of Materials • GRF Editor, if you're not familiar with this software, it is the best GRF Management Tool ever coded. • The files you want to protect, the encryption is made by file so, there's no need to encrypt the whole GRF. • Your Hexed must be 2012-04-10 or above, it won't work on 2010 Clients. • Decide your Hexed filename, it's essential for the encryption to work. 2. Generating Encryption Key GRF Editor uses a Key Encryption Method, what means that your protection is based on a password. Choose a password you'll remember or note it somewhere, you won't be able to decrypt your files without it and always save a Backup of the files you'll encrypt. Password chosen, you'll need to generate the DLL, the one that will allow your Client to read encrypted files. Open the GRF Editor and navigates on the top menu to Tools > GRF Encryption, you'll see the window below. First, Input your Key on the Encryption Password field. Next, select your Client on the Client Path field, it is needed for the DLL to be coded to its filename or be modified if needed. IMPORTANT: The Client being asked here is for the Hexed, IT IS NOT the Patcher, Launcher or Loader. The name of the DLL can also be changed, it will output a modified Hexed of ready to read it. With everything set, click in Generate File(s), and it will pop up a folder where your DLL has been generated, add/replace the one in your Client folder. 3. Encrypting Files Files can now be encrypted. Open your GRF, GPF or THOR, select the files you want to protect. Right-click it and select EncryptIon > Encrypt. Enter the Password you previously defined, confirm and the file will be highlighted in Orange. The colour might not show up when you're working on a THOR file or opens a GRF/THOR previously encrypted, that's normal behavior. Once the GRF or THOR is saved, you won't be able to read the file. Normally an error will pop, but you can test it ingame, if you've done it correctly, it will be displayed properly. As far as I've tested, the Encrypted Files works in the DATA folder if extracted. If you want to Encrypt or Decrypt a whole GRF, you can select Tools > GRF Encryption with the GRF open by the software and choose the options Encrypt GRF or Decrypt GRF. You will be asked for the Key, and then It'll run the process through the entire GRF and export it to a new folder. The same process can be made with THOR files, even if it displays any reading error, patched Encrypted files will work. I hope that's clear enough and that it may help you. Post any question you may have in the comments below and I'll try to help. My best regards, Haziel
  40. 1 point

    Version 1.0.0


    I was looking for this sprite long ago and someone helped me (thanks again!). Turns out it was only an NPC sprite, but I managed to turn in into a proper monster some time ago, and now I've decided to share it. In addition to the normal monster animations, it also has one pet performance animation. Note: the preview gifs don't exactly look great, but it's due to the transparency of the flame effects. It looks normal on the ACT editor and ingame.


  41. 1 point
  42. 1 point
    You need source modification for setcell. you can download the mod and apply it to your rA source. Sample Script : - script CELL_PVP -1,{ OnInit: setcell "prontera",150,180,160,170,cell_pvp,1; end; } cell_pvp.diff
  43. 1 point

    Version 1


    Town of Beginnings from SAOI'm releasing this map that I made a while ago for a SAO-RAG project that has been put on hold, and i felt like it's too good of a map to put it on a shelf ;]Hope you guys enjoy the release. ;] Some files inside include the color changes on some texture files, so keep that in mind, and delete them if you want.


  44. 1 point
    The video content is mandarin. everyone has their own Porings and they got 3 times chance as well when your poring got kill, in a few seconds you will get your second chance if your porings all dead then you will out of the game. * You can't attack your own poring. * This scripts need to modify your source code.
  45. 1 point
    File Name: Potion Brewer NPC File Submitter: sandbox File Submitted: 21 Feb 2014 File Category: Games, Events, Quests Content Author: sandbox This script is an alternative way to obtain special potions. In my server BEFORE, being a high-rates server, I used this as a quest to create full restore potions with 1 weight only.. It has a level function, the higher the brewing level of the player, the higher the chance of his brews would success. Brew Exp is only given when the player successfully brews the potion which can be configured easily. Installation Enable the script on your NPC folder Carefully read the comments I made inside the script and make sure to configure it properly Terms & Conditions You are not allowed to reproduce or make profit of this script You are not allowed to take credit for this script. Though you can modify/edit it to your liking. I can give you support, but please, do not message me. Click here to download this file
  46. 1 point

    Version 1.0.1


    bonus bXDefReturn Add resistances against return damages. ::Structure:: bonus bPhysicalDefReturn,n; +n% damage reduction against physical reflect attack bonus bMagicalDefReturn,n; +n% damage reduction against magical reflect attack ::Video::


  47. 1 point
  48. 1 point

    Version 1.0.0


    Another monster custom from maplestory,


  49. 1 point


    Water themed monster intended to be an MVP like Ifirit.


  50. 1 point
    oh forgot here it is --> http://www.mediafire.com/?vqmqujvf223bo7z
  • Newsletter

    Sign Up
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.