Jump to content


Popular Content

Showing content with the highest reputation since 12/27/2020 in Posts

  1. 9 points
    Evening all! You know when you have one of those days and can't wait for it to end? That sums up the entirety of 2020. All of it. It's been tough for people all around the world with the sheer amount of ridiculousness over the last 12 months and eventually there will be a light at the end of the tunnel. It has been 6 years since I last posted a Christmas message, and as is customary at Christmas here in the UK, we get a message from the Queen. This message though, is aimed at 2020 as a whole. If you're lucky enough to be with family this Christmas, treasure them. If you're out celebrating with friends, be kind to everyone you meet. If you're in the hospitality industry serving others with little time to yourself, werk it girl. *snaps fingers* Whatever you're doing, stay safe. And wherever you are in the world, the rAthena team wishes you a Merry Christmas, Happy Holidays and Season's Greetings.
  2. 7 points
    Welcome rAthena Community! Hello everyone Ren here, so it has come to my attention through the discord channel alot of you are having issues setting up your new clients and are having issues or your new and want to jump right into the server construction but cant figure out how to properly set up a new 2020 client without errors or issues. I am here to finally remedy that! The guides on the documentation are here and there and newcomers can't figure out why they are having errors and tend to skip things here and there. Below I will fully explain from start to finish how to set up a Ragnarok 2020 Client for Renewal and Pre Renewal use! Lets Begin! Okay so below I've decided to skip text and shoot for a video tutorial this will eliminate more errors and create a better reference! Please do exactly as I do to eliminate error this includes making new folders to make a tidy work space! (Note for video I will not be redownloading files as I do not like clutter. I will also be using a text editor to type.) Guide Links KRO - Full Client For Ragnarok Game Files (Akkarins File) NEMO - Client exe Patcher for your server (Most Updated) NEMO RagClient - The latest supported client for 2020! ROTranslation - Chris's Full RO Translation (Most Updated) GRF Editor - GRF tool to open grfs and create them (Requires rAthena Account) MISINFORMATION ON VIDEO REGARDING ITEMINFO_V5.LUA I WANTED TO POINT OUT CORRECT INFORMATION REGARDING ITEMINFO_V5 LUA THAT I REALIZED I MISINFORMED IN THE VIDEO WHEN EVER UPDATING RSU IT WILL OVERWRITE ORIGINAL ITEMINFOS V5 FOR ALL 2020 CLIENTS. IN PATCH ON NEMO PLEASE MAKE YOUR OWN /ITEMINFOSERVER.LUA SO KRO DOESNT OVERWRITE! JUST COPY THE INFORMATION FROM ORIGINAL V5 AND MAKE IT YOUR OWN! Information Regarding Language Types Other Then English Okay so I wanted to give a few details on regarding languages other then english that are not covered within the video. If your looking to change the language to russian for example please make sure you have this patch below enabled while patching! - Always load korean external settings file! Then you can select other language type numbers 0-17 etc. Here is also my text document with the steps! // Welcome to the 2020 client set up guide // Alot of you have been having issues with setting up the new client if you follow this video from start to finish you will be able to 1. Have a properly running server client side 2. Learn to be more organized 3. Add custom items // Lets start step 1. Make a new folder on your desktop for your server client files and tools. A clean enviroment will help with less errors! This means installing a fresh copy of the full kRO game. Also follow my organization of where i place all my tools and files. step 2. Download all the required files to have a full client side, all of these files can be found on my guide post and save them to the tools folder. step 3. Extract the full kRO to your game files folder within your server folder & update using the 2 RSU patchers. step 4. Install GRF Editor onto your windows system , this has its own folder within program files. step 5. Extract the rest of the tools one by one into your tools folder. step 6. Go back to your game files folder and make sure that kRO is fully updated by running the two patchers 1 by 1. After downloading all the neccessary tools and extracting the game files and updating we may now continue on to building a fresh GRF for your servers use! This is better then using old grfs that have to much stuff that will conflict with the new client files. This client also uses new resource files and new system folder files which will be covered. okay lets begin. step 1. open grf editor step 2. navigate to your rotranslation folder step 3. copy or drag both basic texture sub folders into data folder on grf editor step 4. if your planning on running a pre renewal drag the renewal data over first but if your planning on running renewal like i am drag the pre over first then the renewal step 5. now we completed building our basic server grf we will now edit our connection file called clientinfo.xml you can delete the sclientinfo as it is not needed with the new client now we can save the grf to our game files folder where everything is for the game! Keep grf editor open for adding custom items later on. now we can move on to creating the client to use for the server! step 1. navigate to the nemo folder inside our tools folder! step 2. browse for your ragexe that you downloaded. I'm using 20200401 which is most current and pre set in on the server side step 3. load the client step 4. load the ro translation profile for 2020 this is all pre defined for the client so we can skip through step 5. this is the name of our config file to point the client to the grf we can change it to our own custom name used step 6. this is important so if your running an earlier client you might use the original iteminfo.lua this is the new item info which doesnt get overwritten by kro in updates this is where some of our information will go for the custom items. step 7. now we can load the recommended patches step 8. dont worry about the errors as they are just telling you those patches are not for the latest client it still selects the recommended ones we need! step 9. selecting our own patches. You can pick through which ones you want but if your not advanced just follow me this is for increasing your custom item view range it is recommended you choose between 5000-8000 as customs view start at 3000 this might change later on if kro decides to release more. we will go with 5000 because i dont see us adding anymore then 200 custom items. step 10. lets recheck to make sure we got everything beautiful now we can apply the patches and move our client to our game files folder with our grf! you can rename your client to what ever you want! now that we created our grf and made our client we can go back to the ro translation folder step 11. navigate to the pre renewal or renewal folder if your making a pre renewal server add the renewal system folder to your game files folder and overwrite first then add the pre renewal systems folder on top of that just like we did with the grf in my case i am making a renewal so ill do opposite now the next folder once weve done that we can test the client if you get some weird text you have to edit your data.ini and rename it to yourserver.ini like we did for the patch now we can move on to adding the custom items!!! step 1 . re open grf editor in this case ill use my grf step 2. navigate to your tools folder and to the folder that holds your custom items step 3. follow me step 4. now we can edit the two files needed to correctly link the client with the server side. navigate to the data/luafiles514/lua step 5. extract both files that i do and they will end up in your game directory under the folder data we can go ahead and open the accessory id! okay this is important!!! just copy like i did above and edit the names make sure its 100% matching save the file and we can open the next file which is accessory id mistake i made is that we were in the accname so we just swap around :P same thing goes on here we just copy the above line and edit out. now the 3000 is our view id not the item id which @item calls for this will be the view display of our custom which is why we set the patch for 5000 so we will start at 3000 gives original items a bit of room now we can save! step 6. drag the two files back into the grf and save now were completely done with the grf! now we can move back to our game files folder for the last task! move to the system folder to iteminfo_v5.lub/lua heres where we add the actual item db number in this case i used 30000 just copy what i did and youll be fine you just have to make sure when you add the item into the item db whether it be sql/yml that you set the right item id and view id also the AEGIS name will be _Equilibrium_Wings here on the item info you can see there is none it links to a different part of the grf but deff make sure to add the _ under the aegis name! All done that wasnt so hard! -Renzadic!
  3. 6 points
    Hello everyone, Updated changes on the platform from below spoilers: Changelog v1.0.0 - Date: 01/14/2021 Changelog v1.0.1 - Date: 01/16/2021 Details: PHP Framework Laravel 8.x. HTML5, Javascript with jQuery, CSS3 for theme templating. Bootstrap 5 Framework Responsive & Mobile Friendly PHP 7.4 required (and other Laravel dependencies). Clean Design SEO Friendly Feature Plan - Player Dashboard: Account Feature (Register, Login, Forgot Password, Account Setting) Donate system (paypal and skrill ready) News & Events Ticket support system(WIP) GM Task List Item Shop Feature Plan - Admin Dashboard: Ban Module System (ban or unban from the platform) Manage Item Cash Shop (Fully working with lastest rathena item_cash_db table) CMS Latest Donation (You can see the amount and account who made the donation) Ticket Support System (WIP) Theme configuration (We are still debating if this should be a thing. since you just need a bit of html and css knowledge to edit front page). We are also open to suggestions and idea. We are not gonna abandon the project anytime soon and we would like to have people to test and make us fix backdoors that could appear to make the system more secure. As a matter of fact, we are developing our rathena renewal server in order to test this new platform!. Sorry for the spoiler if it's too big I'm not really used to forums now days.... Also sorry for any grammar mistakes. English is not really my first language Edit: Clic on this Discord Server to access our server. At the moment is just me and no body else, but I believe we can make a good community out of it! Edit #2 : All new updates about the platform will be posted only on discord. This is to prevent more text wall and some other issues it might bring. Edit #3 : Screen Previews are all within discord server.
  4. 4 points
    Hi all, I put together a command-line tool to help save time when porting lots of existing items to an rAthena server. I noticed that the rAthena community often refers to divine-pride.net (DP) as a source of truth, so I figured it would be useful to connect with their API. Summary The tool uses data from divine-pride.net and attempts to map the API response to a desired rAthena database format. Installation Requires Python 3.6+ and pip installed: pip install dp2rathena Usage Generate a divine-pride.net API key if you don't have one yet (registration required), then you can start converting data: Example: Store API key and convert items with id 501 and 1101 dp2rathena config dp2rathena item 501 1101 Produces this output: Further instructions can be found at the repository: https://github.com/Latiosu/dp2rathena Limitations Currently only items can be converted and with the following limitations: "Type" - when the item type is "Consumable" on DP and subtype "Special", we output a few possible options for user to choose the correct one (Healing, Usable, DelayConsume or Cash) "SubType" - when the item type is "Ammo" on DP, we output all rathena ammo subtypes for user to choose correct option as DP doesn't map all rathena ammo subtypes The following item_db.yml fields are excluded as DP API doesn't expose sufficient data to reverse-engineer the mapping: "Script" / "EquipScript" / "UnEquipScript" - script to execute when some action is performed with the item "Class" - upper class types that can equip item "Flags" - item flags such as "BuyingStore", "DeadBranch", "BindOnEquip", etc... "Delay" - item use delay "Stack" - item stack amount "NoUse" - conditions when the item is unusable "View" - view sprite of the item "AliasName" - another item's AegisName to be sent to client instead of this AegisName Let me know if you'd like to be able to convert other data from DP, some other suggestion or any questions. Edit: Updated instructions for usage
  5. 3 points
    There aren't really pros and cons anymore to well known hosts, Really it just boils down to price and whether or not they provide adequate support. You don't need to waste money on a dedicated server to run rAthena. You should know that
  6. 2 points
    Happy Thanksgiving everyone. Since I couldn't get the turkey, I thought I would bring this instead. Without further ado, Let me introduce... WARP (Windows Application Revamp Package) Why this name? Because I like using acronyms and this name sounded apt. Plus it's the function & features that matter more. And no, I am not gonna change the name. Why not just fix up NEMO? The codebase for NEMO is pretty much ancient at this point. So rather than fixing it up, I decided to go the route of creating it fresh from scratch. The end result is a far superior product. OK, but what if you end up AFRO (Away From RO)again? Well, I can't promise that I will be around forever. However, this time around, I am releasing the source code for the tool as well. So, exactly what has changed? Well, quite a few things. Let's start off with how the GUI looks now. As you can see, the GUI is much more modern and aesthetically pleasing thanks to @Haziel & @Hadrias . The package comes with 3 tools - Console version (for simple patching), Main GUI, and Tester GUI (for batch testing). A big salute to @4144 for keeping NEMO alive while I was AFRO . Ok, jokes aside, I discussed with him about the changes he made and I have incorporated almost all of them but with some differences. Language & Styles are now on the bottom as you can see. All the remaining menus have now been shifted to drawers (moving side panels). To reveal them you can either swipe from the respective edge or click the button at the top. The right side drawer houses all the Extensions (Used to be called 'Addons' in NEMO). They are now loaded independently of the client. This avoids unnecessary redefinitions and now you can also use Extensions for activities that don't need a loaded client. All the common functions have been added to the 'Quick Actions' group and all the remaining ones are in the left drawer, which is not many. If you have suggestions for more features let me know. Moving on to the Back end (This is of no use to the regular user. So you can skip this part if you want) It was high time for us to have a proper input file format. Enter YAML. Love it or hate it but it's here to stay. Frankly, I like it more than libconfig and INI. You would be seeing YAML being used for almost every file in WARP. This includes input files for Patches & Extensions, Files defining those two, Session files, etc. Writing patches is far more flexible now. Say goodbye to PTYPE_HEX and \xAB. Now we can do wild card searches with the actual wild cards inside hex codes. Of course, we still need to have some well-defined characters for that. Currently, we have 2 forms of wildcards - Nibble wise - For e.g. => A? , ?? , ?3 Bit wise - For e.g. => [1.0...01] If you have any suggestions about it let me know. Speaking of writing hex code, I have provided functions looking almost identical to Assembly instructions for generating their equivalent hex code. This helps in making the hex code more human-readable and adds a little more flexibility. User inputs have a few more types and little more flexibility in specifying constraints now. Scripts have proper segregation now. Please follow them when adding your own. Only the scripts inside the 'Init' folder gets reloaded each time the client is loaded. This avoids unnecessary reloads. exe has now become 'Exe'. But in addition to this, you get 2 more objects - System (for filesystem activities) & Warp (whatever is outside the scope of the other two) Many of the functions used for retrieving some constant information in the 'Exe' have become properties now. For e.g. PEoffset, ImageBase, BuildDate, etc. During patching, the Diff section is only added if you have inserted any code using one of the 'Add' functions. Also, the Diff section now grows dynamically as per requirement (in increments of Section Alignment of course). In addition to the Patched Exe, The tool also generates an (Extra Patch Info) file with the suffix '.epi'. It holds just enough info for the tool to recognize existing patches in an exe from a previous patch session. So how is it useful? Let's say you have a patched client and its EPI file. But you don't have the original anymore. Now you can remove 1 or 2 patches and keep the rest OR even restore the original from the patched exe. Last, but not least, I am providing documentation about everything including the API. But bear with me for a bit, as I am still working on the documentation part. I probably forgot more points to add here, but I think this pretty much covers the important stuff. Anyways you can read in detail at the Wiki Is it ready to be used now? The tool is definitely ready. I have added most of the patches but not all just yet. But I was not able to test all the patches in-game. So please don't attack me if something failed. I would appreciate a Bug Request in Github instead. You can also come to Discord as well, if you prefer that. Also note, that some patches are still failing for new clients, and some failing for old ones. However, I saw the same behavior in NEMO, so that would be part of the next stage of operations - Updating Patch scripts. So, where do I get it from? https://github.com/Neo-Mind/WARP How to use it? There is a User Guide in the git repo (best viewed from Github itself). Everyone is used to NEMO by now, so it shouldn't be difficult to use this even without the guide. Plus the Github wiki is pretty detailed. Any last words before we close this? Just like in the case of NEMO, my intention with WARP is to create a common tool for patching without being restricted to RO or which OS you use it in. For this reason, you will be seeing multiple branches in the Git repo. If you are planning to use WARP for patching some other application, Create a branch using the 'win32' branch as a starting point That's about it from me for now.
  7. 2 points
    Try this script https://upaste.me/r/a04e54027f405c652
  8. 2 points
  9. 2 points
    If someone looking for a working diff on latest rA. https://github.com/coookie1010/Server-Patches/blob/main/rA-whosell.diff
  10. 2 points
    Hi everyone, It's been a while since I've published something. Today I'm releasing the code of a patcher I've been working on for some time. The idea was to make an open-source drop-in replacement for the Thor patcher while also bringing some improvements. The project has been developed in Rust and the UI is based on the webview project. The patcher's current features are the following: Customizable, web-based UI Cross-platform (Windows 7/8/10, Linux, macOS) Configurable through an external YAML file HTTP/HTTPS support GRF file patching (version 0x101, 0x102, 0x103 and 0x200) THOR patch format support Drop-in replacement for the Thor patcher SSO login support (i.e., can act as a launcher) The project's repository can be found here: https://github.com/L1nkZ/rpatchur (and documentation can be found here). Contributions are welcome! Releases v0.2.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.0 v0.1.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.1.0
  11. 2 points
    Hello! My name (not real life) is James. I am a 16 year old programmer from Denver. I code in multiple languages, such as C++, C, NodeJS, Typescript, and Rust! I also do Web Development :3. I've been playing Ragnarok Online since i was a kid, taught by my parents and to this day actually. I hope i can contribute to the rAthena community with my skills in programming. Thank you. Have a good day!
  12. 1 point
    Copy folder or apply patch Load Korea External(i think)
  13. 1 point
    Check these changes. I managed to make this work. Made some updates. getequipid(8) == 6010 && getequipid(6) == 5009 /* Author Goddameit Version 2013/02/06 Web http://bit.ly/MDuQ9F */ function script Minner_Main { if( getarg(0) == 2 ) { undisguise; if( strcharinfo(3) == "manuk" ) warp "SavePoint",0,0; end; } else if( strcharinfo(3) == "manuk" && getequipid(8) == 6010 && getequipid(6) == 5009 ) { if( getarg(0) == 0 ) disguise 1169; if( getarg(0) == 1 ) { set [email protected], rand(1000); if( [email protected] < 700 ) getitem 1002,1; else if( [email protected] >= 700 && [email protected] < 990 ) getitem 757,1; else getitem 756,1; specialeffect2 154; }else ; return; } else ; return; } - script Minnerx -1,{OnLill: set [email protected],1;OnInit: if([email protected])set [email protected],100; monster "manuk",0,0,"--ja--",1907,[email protected],"Minnerx::OnLill"; end; } I updated the Pickaxe, from bonus bAtkRate, -100, to bonus bAtkRate, -99. 6010,Pickaxe,Pickaxe,4,10,,10,10,,1,0,0xFFFFFFFF,7,0,34,0,0,0,0,{ bonus bAspd,-30; bonus bCritical,100; bonus bAtkRate,-99; autobonus "{ callfunc \"Minner_Main\",1; }",10000,1,BF_WEAPON; },{ callfunc "Minner_Main",0; },{ callfunc "Minner_Main",2; }
  14. 1 point
    This does not mute the player but you can use this https://github.com/rathena/rathena/blob/f350de1e3149b6a60fddf88268443e611c2b4412/conf/battle/client.conf#L14
  15. 1 point
  16. 1 point
    - script whosell -1,{ OnWhoSellACMD: searchstores 99,1; end; OnInit: bindatcmd "whosell",strnpcinfo(0)+"::OnWhoSellACMD"; end; }
  17. 1 point
    I have a custom command but not in gui. working on latest diff https://github.com/coookie1010/Server-Patches
  18. 1 point
    Disable Doram on your Client : data\luafiles514\lua files\service_korea\ExternalSettings_kr.lub MakeableRace = { Doram = true } change to: MakeableRace = { Doram = false } Coming Soon - Doram Replace this BMP. FIND : data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\make_character_ver2.bmp Replace make_character_ver2.bmp to this new make_character_ver2.bmp on your GRF. I modified it credit to the person who owns this. Download link : img_doram_comingsoon.bmp Example :
  19. 1 point
    View File Charm item (New Code Source) I took a modified version of the original and fixed it for the current version of rathena 2020+, I saw that there were a lot of people asking for it, so I decided to post my diff, the project is not mine nor the code, I just fixed it for the new emulator. Submitter Froost Submitted 01/06/2021 Category Source Modifications Video Content Author hamsterdigital  
  20. 1 point
    4 possible problem.. 1. the most common sense is it was really unknown account and was not on your db.. 2. your server gepard_shield.conf is off, but your client side is enabled. or vice versa, gepard_shield.conf is on but client side is disabled. 3. client doesn't have all the files related to gepard such as mss32.dll, msvcp and msvcr sent by functor.. 4. maybe it was not functor you contact?
  21. 1 point
    You get "unknown account" messages if the account doesn't exist. Ensure you're SQL details are correct and that you haven't overwritten something you shouldn't have when you uploaded your files to your VPS.
  22. 1 point
    mes(F_MesItemInfo(607)); display yggdrassil This are the example's
  23. 1 point
    Find this Add more OnClock Event Military format Check below how do i do it... By default i set it 2x a day during 8 AM and 8 PM or you can change it too OnMinute Event OnClock<hour><minute>: OnMinute<minute>: OnHour<hour>: On<weekday><hour><minute>: OnDay<month><day>: This will execute when the server clock hits the specified date or time. Hours and minutes are given in military time. ('0105' will mean 01:05 AM). Weekdays are Sun,Mon,Tue,Wed,Thu,Fri,Sat. Months are 01 to 12, days are 01 to 31. Remember the zero. Example: OnClock0800: // Event will start at 8:00 AM OnClock0830: // Event will start at 8:30 AM OnClock0835: // Event will start at 8:35 AM OnClock0800: OnClock2000: announce "Alon Event are now Open for Registration!",bc_all; set .AEventOpen,1; set .ARegister,0; end; GM_Menu: mes "[ Alon Event ]"; mes "What would you like to do"; switch(select("Host this Event","Exit")){ case 1: cutin "ma_tomas01",255; goto OnClock2000; case 2: close; } OnInit: set .PartyMember,2; set .Map$,"pvp_n_1-5"; // Dont try to edit this if you dont know what are you doing by Poring King set .AEventOpen,0; set .ARegister,0; }
  24. 1 point
    Why are you going to remove close button? try using end;. The player will hang up on that dialog if you remove close button.
  25. 1 point
    Thank you ! Yes, it should support any type of file-level encryption or compression (like LessGRF) indeed, since entries are copied as-is when patching.
  26. 1 point
    Hey @sader1992, In this bit (line 29), I think you mistakenly reused [email protected] where you could've used something else like [email protected] It is, obviously, causing some problems when the categories have an item reward. if(getd(".IRD_" + [email protected])){ for([email protected]=0;[email protected]<getarraysize(getd(".IRD_" + [email protected]));[email protected]++){ getitem(getd(".IRD_" + [email protected] + "[" + [email protected] + "]"),getd(".CRD_" + [email protected] + "[" + [email protected] + "]")); } } I appreciate you rewriting this script, though. I find it more flexible than the previous version.
  27. 1 point
    if(!getcharid(2)){ mes "You are not part of any guild."; end; }
  28. 1 point
    try https://github.com/rathena/rathena/blob/master/npc/custom/quests/quest_shop.txt
  29. 1 point
    Uhm... I´ll try yo explain. Now you have a configuration part: //Change to what requirements you want to use set [email protected][0],713,970,607; //Array with items IDs to use (only 1 of them). //set [email protected][0],1,3,1; //Uncomment if you want to use different quantities for each item, same order, array with quentities to use. set [email protected],100000; //Money required. set [email protected],607; //The obtained item on success. The first array [email protected][0] defines the items ID of the brewing formula. You can put from 1-254 different items separated by ",". The example are the items configured in your script 713,970,607. But if you only configure this, it will try to get 1 of each item... but why if you want to pick one of this... three of that... The second (and commented) variable is for that: //set [email protected][0],1,3,1; if you uncomment this, it will take 1 for the first item, 3 for the second and 1 of the third one. They are in the same order [email protected][0],<ITEM ID 1>,<ITEM ID 2>,<ITEM ID 3>...; [email protected][0],<ITEM ID 1 QUANTITY>,<ITEM ID 2 QUANTITY>,<ITEM ID 3 QUANTITY>...; Then another two vars with the zenys required and the ITEM ID of the brew result. Maybe more than 200 trys is to much and we can limit the imput to max 100. What do you think? I´m putting some corrections in this new version and with a limit of 100 each try (I think maybe the array vars where not being configured correctly). Try this: //======Name======================================== // Potion Brewer NPC //======Version===================================== // 1.0 //======Author(s)=================================== // Sandbox //======Comments==================================== // In loving memory of AstralRO //================================================== //Just for fun... don´t know if it will work! function script int__ { [email protected] = getstrlen( [email protected]$ = getarg(0) ) -3; [email protected]_negative = charat( [email protected]$, 0 ) == "-"; while ( [email protected] > [email protected]_negative ) { [email protected]$ = insertchar( [email protected]$, ",", [email protected] ); [email protected] -= 3; } return [email protected]$; } //Change coordinates prontera,144,180,3 script Brewho 46,{ //Configuration, items and zenys: //Change to what requirements you want to use setarray([email protected][0],713,970,607); //Array with items IDs to use (only 1 of them). //setarray([email protected][0],1,3,1); //Uncomment if you want to use different quantities for each item, same order, array with quentities to use. set [email protected],100000; //Money required. set [email protected],607; //The obtained item on success. mes "[^0000FF Brewho ^000000]"; mes "Hello, I can teach you how to brew! Teach you, teach you how to brew ^000088Astral Beer^000000"; //Change to what kind of potion do you want to brew menu "Teach me please!",-; next; mes "[^0000FF Brewho ^000000]"; mes "Okay, you'll be needing these.."; mes "^000088"; for( [email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++ ){if([email protected][[email protected]]>0){mes ""+getitemname([email protected][[email protected]])+" x"[email protected][[email protected]]+"";}else{mes ""+getitemname([email protected][[email protected]])+"";}} mes "^000000"; mes "Also, a talent fee of "+int__([email protected])+" z!"; menu "I've got them master brewer!",-; next; mes "(How many tries?)"; mes "Max: 100"; input [email protected]; next; if([email protected] < 1){goto Lnenough;} if([email protected] > 100){set [email protected],100;} //Checking requirements for( [email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++ ){if([email protected][[email protected]]>0){if(countitem([email protected][[email protected]]) < ([email protected]*[email protected][[email protected]])){goto Lnenough;}}else{if(countitem([email protected][[email protected]]) < [email protected]){goto Lnenough;}}} if(Zeny < [email protected]){goto Lnenough;} //Must match the requirements above. mes "[^0000FF Brewho ^000000]"; mes "Let's see the results!"; //Uncomment to enable casting effect progressbar "ffff00",1; //Deleting the items! for( [email protected] = 0; [email protected] < getarraysize([email protected]); [email protected]++ ){if([email protected][[email protected]]>0){delitem [email protected][[email protected]],([email protected][[email protected]]*[email protected]);}else{delitem [email protected][[email protected]],[email protected];}} set Zeny,[email protected]; for( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ){ //Lets goooo with the chances if(BrewLvl == 0){set @brewchance,rand(1,5);} if(BrewLvl == 1){set @brewchance,rand(1,4);} if(BrewLvl == 2){set @brewchance,rand(1,3);} if(BrewLvl == 3){set @brewchance,rand(1,2);} if(@brewchance == 1) { misceffect 305; set BrewExp,BrewExp+1; getnameditem [email protected],strcharinfo(0); //Change Item ID, Must match the potion to be made! set [email protected],[email protected]+1; //goto Lsuccess; } else { misceffect 306; set [email protected],[email protected]+1; //goto Lfail; } } //Now let´s see the results next; mes "[^0000FF Brewho ^000000]"; //mes "Congratulations! You've succeeded!"; mes "Well, well... let me see."; mes "You succeeded "[email protected]+" time/s and failed "[email protected]+" time/s."; if(BrewExp < 10000){dispbottom "You've gained "[email protected]+" Brewing Exp.";} if(BrewLvl == 0 && BrewExp > 999){ set BrewLvl,1; dispbottom "Congratulations! Your Brewing Mastery is now Level 1!"; announce strcharinfo(0)+"'s Brewing Mastery reached Level 1!",bc_all,0x00FFFF; } else if(BrewLvl == 1 && BrewExp > 4999) { set BrewLvl,2; dispbottom "Congratulations! Your Brewing Mastery is now Level 2!"; announce strcharinfo(0)+"'s Brewing Mastery reached Level 2!",bc_all,0x00FFFF; } else if(BrewLvl == 2 && BrewExp > 9999) { set BrewLvl,3; dispbottom "Congratulations! Your Brewing Mastery is now Level 3!"; announce strcharinfo(0)+"'s Brewing Mastery reached Max Level!",bc_all,0x00FFFF; set BrewExp,0; //Comment this if u don´t wanna clean up this var for the player (max lvl so exp not needed) } close; Lnenough: mes "[^0000FF Brewho ^000000]"; mes "Are you trying to brew me out!?"; close; } PS: I could test this on an offline server and seems to be working fine now.
  30. 1 point
    if( getrefine()>=8 ){ bonus2 bAddRace,RC_Player,8; bonus2 bAddRace,RC_DemiHuman,8; }
  31. 1 point
  32. 1 point
  33. 1 point
    thanks Renzadic, Follow your answer I already fix the issue 1. but for the mouse move.. you don't mind send me the link and tell me where to download the setting.exe? (seems like there are so many download packages there )
  34. 1 point
    thanks so much!it works as expected! BTW, i still have two more question. Hope I am not bothering you. 1. How to disable this Security Code pop up window? (It's a little bit nosiying me..) 2. I saw some client can move their mouse back to the window (outside to the client window) directly without pressing any other WIN button. How can I fulfill this behavior? For example, mouse from here to outside direcly. NO need to minimize client/ switch to other apps. Kindly appreciate if you can answer these. Hope you have a greate day!
  35. 1 point
    Really Thanks! this is really helpful! I follow the guideline step by step and finally successfully login my server! But I have a question.. why I type the language in chat box it will show Korean font? May I know how to fix it?
  36. 1 point
    To be honest, OVH's website has those answers, but yes they provide upgrade paths, and no you don't need to change anything once upgraded.
  37. 1 point
    prontera,155,170,3 script Tamadora 10110,3,3,{ end; OnTouch_: if(gettime(DT_HOUR) < 7) end; // 7AM Onwards if(!.Active){ initnpctimer; .Active = 1; .CFail = 0; } end; OnTimer1000: getmapxy([email protected]$,[email protected],[email protected],BL_NPC); [email protected] = getareaunits(BL_PC,[email protected]$,[email protected],[email protected],[email protected]+.Cells,[email protected]+.Cells,[email protected]); if([email protected]){ if(++.CFail>=.Fail){ stopnpctimer; .Active = 0; end; } initnpctimer; end; } if(.CurrentCD >= .Countdown){ [email protected] = rand(getarraysize(.ItemDrop)); makeitem .ItemDrop[[email protected]],.ItemAmt[[email protected]],[email protected]$,rand([email protected],[email protected]+.Cells),rand([email protected],[email protected]+.Cells); } if(.Countdown-.CurrentCD <= 0) .CurrentCD = 0; if(.CurrentCD%3==0){ for([email protected]=0;[email protected]<[email protected];[email protected]++){ [email protected] = rand(getarraysize(.SkillID)); unitskilluseid getnpcid(0),.SkillID[[email protected]],.SkillLV[[email protected]],[email protected][[email protected]],-1; } showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA; sleep 1000; } showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA; npcwalkto rand(.XY[0],.XY[2]),rand(.XY[1],.XY[3]); initnpctimer; end; OnInit: .Countdown = 120; //seconds .Fail = 3; //3 seconds .Cells = 5; //3 Cells Away npcspeed 150; setarray .XY[0],150,175,160,165; setarray .ItemDrop[0],7929; setarray .ItemAmt[0],1; setarray .SkillID[0],489,16,29,30,34; setarray .SkillLV[0],15,20,10,10,10; end; }
  38. 1 point
    Recently I heard of the new "offline vending" in official servers And I've been wondering how to achieve that, either it be on a "as close as possible" basis where I have the vending to work with inventory items and then on succesfully creating the vending the items would be removed from player's inventory and he could manage it from the server website (to cancel/change price/etc). Once cancelled or sold get the stuff back by RodEx, like in the video. From what I can see in the video, it looks like they create a fake cart for the player and then add the player's items to that cart and display the normal vending screen with a limited number of 4 items, since that's the max items you can send via RodEx. After proceeding with the vending, it allows you to aim and then creates a copy of your player with a vending (lol ?) Any directions on how to accomplish this would be much appreciated. So far I can create a vending using an atcommand I've created by cloning the contents of void clif_openvendingreq(struct map_session_data* sd, int num) and setting a state variable to bypass the vending control which checks if the vending was opened by using the skill
  39. 1 point
    use this. 24000,T1_Shadow_Armor,Shadow Armor (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bStr,1; },{},{} 24001,T1_Shadow_Weapon,Shadow Gauntlets (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bDex,1; },{},{} 24002,T1_Shadow_Shield,Shadow Shield (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bLuk,1; },{},{} 24003,T1_Shadow_Shoes,Shadow Shoes (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bAgi,1; },{},{} 24004,T1_Shadow_R_Accessory,Shadow Ring (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bVit,1; },{},{} 24005,T1_Shadow_L_Accessory,Shadow Pendant (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bInt,1; },{},{} 24006,T2_Shadow_Armor,Shadow Armor (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,30,1,,{ bonus bStr,2; },{},{} 24007,T2_Shadow_Weapon,Shadow Gauntlets (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,30,1,,{ bonus bDex,2; },{},{} 24008,T2_Shadow_Shield,Shadow Shield (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,60,1,,{ bonus bLuk,2; },{},{} 24009,T2_Shadow_Shoes,Shadow Shoes (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,90,1,,{ bonus bAgi,2; },{},{} 24010,T2_Shadow_R_Accessory,Shadow Ring (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,120,1,,{ bonus bVit,2; },{},{} 24011,T2_Shadow_L_Accessory,Shadow Pendant (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,150,1,,{ bonus bInt,2; },{},{}
  40. 1 point
    Hello dear members, it has been a long time since my last login here, and I came back with my recent customization, it's damm good, that once finished in my test server confirmed that was 100% functional, with and with no issues , I decided to share.... This Skill provides the same function than the equipment swap tab, but instead of opening the inventory and aim with the cursor to the "change" button!, you can do the same even faster, with a custom skill icon and just one tip of your finger. ***------- Trunk Side -------*** 1- Go to your skill_db.txt and make sure to find the skill #5067. If you are using pre-renewal config, you may export the bellow skill line to the pre-re/skill_db.txt file instead. 5067,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0, ALL_EQSWITCH,Equip Switch 2- Now that the skill is implemented, you need to add the timers in the db file skill_cast_db.txt, this can´t be ignored, you may add the skill line. I gave the skill 10 seconds cooldown, but you can do it at your like. //-- ALL_EQSWITCH 5067,0,0,0,0,0,10000 3- Most important part, can´t be ignored, add the skill line for every job in the skill_tree.txt file. just like this: //Novice 0,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch# //Swordman 1,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch# //Magician 2,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch# //Archer 3,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch# And keep going until you add the skill to every job available in your server. (watch out the job# id, for the copy paste, don´t forget to add the correct number). ***------- Client Side --------*** - You need the icon sprites for the skill and the item bmp, you can make a prettier one, in my case I recycled Taekwon skill icon Counter Kick Stance and recolored. You will find it attached, well, This .spr and .act files must be added inside the drop sprite folder the route is: data/sprite/¾ÆÀÌÅÛ ALL_EQSWITCH.act ALL_EQSWITCH.spr - Now for dragging the skill icon from the skill tab, you need the item bmp, also attached, and It has to be added inside the item folder. The route is: \data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item ALL_EQSWITCH.bmp ---EDITING THE LUAS--- - The very first thing we are going to edit is the skilltreeview.lub this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skilltreeview.lub Please only add the skill for the novice tree, watch out the key and please note that there is not comma at the last line added skill, if you wonder about the #41 is the bottom right corner penultimate slot in the alt+s skill tab. SKILL_TREEVIEW_FOR_JOB = { [JOBID.JT_NOVICE] = { [0] = SKID.NV_BASIC, [7] = SKID.NV_FIRSTAID, [14] = SKID.NV_TRICKDEAD, [41] = SKID.ALL_EQSWITCH }, - Second Step editing the luas belongs to the file skillid.lub this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skillinfoz And you have to add the skill ALL_EQSWITCH = 5067 Example: WE_CALLALLFAMILY = 5063, WE_ONEFOREVER = 5064, WE_CHEERUP = 5065, ALL_EQSWITCH = 5067, - Third step for the luas, the skilldescript.lub This file is located in \data\luafiles514\lua files\skilldescript.lub In this file you have to create a description for the new skill implemented in this case the ALL_EQSWITCH This is an example of mine, watch out the keys and the commas, you can make a good description with your own taste.: [SKID.ALL_PRONTERA_RECALL] = { "Return to Prontera", "Max Level: 2", "Skill Form: ^339900Supportive^000000", "Description: ^777777Teleport to Prontera, 15 minutes after use delay.^000000" }, [SKID.ALL_EQSWITCH] = { "Switch Equipment", "Max Level: 1", "^CC3399Requirement: Finish Quest^000000", "Skill Form: ^339900Active^000000", "Target: ^777777Self^000000", "Description: ^777777Swap you actual equipment with the one placed in the alternative equip tab.^000000" }, [SKID.ALL_THANATOS_RECALL] = { "Return to Thanatos", "Max Level: 1", "Skill Form: ^339900Supportive^000000", "Description : ^777777Teleport to Thanatos, 5 minutes after use delay.^000000" }, - Finally the Last Step and most most most important, the skillinfolist.lub This file is located in \data\luafiles514\lua files\skillinfolist.lub We have to add the new skill to this file, EXAMPLE: [SKID.ALL_GLASTHEIM_RECALL] = { "ALL_GLASTHEIM_RECALL", SkillName = "Return to Glastheim", MaxLv = 1, SpAmount = { 0 }, bSeperateLv = false, AttackRange = { 1 } }, [SKID.ALL_EQSWITCH] = { "ALL_EQSWITCH", SkillName = "Equip Switch", MaxLv = 1, Type = "Quest", SpAmount = { 0 }, bSeperateLv = false, AttackRange = { 1 } } } - In this case I added the skill at the last in the bottom, so you watch out the keys and the commas placed properly to avoid client side error, VERY VERY VERY IMPORTANT, you see the Type = "Quest" bold in green? Please, do not ignore that line, ... That line is very very important, and the client use that line, to avoid investing job skill points in that quest skill. Now, for getting the skill active, you can edit the npc global funcion and add it to the platinium skills: in your trunk/npc/other/Global_Functions.txt Example: ////////////////////////////////////////////////////////////////////////////////// // Gives attached player their Platinum Skill based on their class. ////////////////////////////////////////////////////////////////////////////////// function script F_GetPlatinumSkills { skill "NV_FIRSTAID",1,SKILL_PERM; skill "ALL_EQSWITCH",1,SKILL_PERM; or make your own script to get the skill permantent. Now The Testing In Game: Party Ragnarok 2020-03-14 19-25-47.mp4 OPTION 2: For Experienced Users, if you want to save hours on this.... just go to the shortcut settings and add a shortcut to replace equip.
  41. 1 point
    - script effect_timer_npc HIDDEN_WARP_NPC,{ OnTimer1000: donpcevent "::OnEffect696"; // will trigger all npc that has this event label OnInit: initnpctimer; end; } - script effect_npc HIDDEN_WARP_NPC,{ OnEffect696: enablenpc(strnpcinfo(3)); misceffect 696; sleep rand(150,250); disablenpc(strnpcinfo(3)); end; } prontera,1,1,4 duplicate(effect_npc) #effect_npc_1 HIDDEN_WARP_NPC prontera,1,1,4 duplicate(effect_npc) #effect_npc_2 HIDDEN_WARP_NPC prontera,1,1,4 duplicate(effect_npc) #effect_npc_3 HIDDEN_WARP_NPC
  42. 1 point
    If you want to remove/change the link in the window you can edit tb_cashshop_banner.lub, just replace the kRO link with a link of your own. You can also remove additional banners with the file. tb_cashshop_banner = { [1] = { "shop_banner.bmp","Insert Link Here" }, }
  43. 1 point
    View File set and get Variable for Gepard with this you can add a "like" variable that hooked to the unique id that Gepard provide ofc the script wont work without Gepard Shield Faster Explanation: all you need to know if you already know how to script: TO SET EXAMPLE: Account Variable in rAthena EX: #VAR = 10; Character Variable in rAthena EX: VAR = 10; Gepard Variable ? > with this functions EX: gepard_int_set("VAR",10); AFTER THE ABOVE THE RESULT WOULD BE> TO GET EXAMPLE: Account Variable in rAthena EX: mes "" + #VAR;// = 10 Character Variable in rAthena EX: mes "" + VAR;// = 10 Gepard Variable ? > with this functions EX: mes "" + gepard_int_get("VAR");// = 10 Download the test NPCs for more Explanation: Script Header: //===== rAthena Script ======================================= //= set and get for gepard //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //= https://github.com/sader1992/sader_scripts //===== Description: ========================================= <<<<<<< READ ME! //= YOU MUST RUN THE SQL SCRIPT IN YOUR MAIN SQL FIRST!!!!! //= you should add this to the end of your 'rathena/npc/other/Global_Functions.txt' //= gepard_int_get(<"key">,{<index>{,<"unique id">}}); //= gepard_string_get(<"key">,{<index>{,<"unique id">}}); //= gepard_int_set(<"key">,<value>{,<index>{,<"unique id">}}); //= gepard_string_set(<"key">,<"value">{,<index>{,<"unique id">}}); //============================================================ /* //ADD THIS TO YOUR SQL! CREATE TABLE IF NOT EXISTS `gepard_reg_num` ( `unique_id` int(11) unsigned NOT NULL default '0', `key` varchar(32) binary NOT NULL default '', `index` int(11) unsigned NOT NULL default '0', `value` int(11) NOT NULL default '0', PRIMARY KEY (`unique_id`,`key`,`index`), KEY `unique_id` (`unique_id`) ) ENGINE=MyISAM; CREATE TABLE IF NOT EXISTS `gepard_reg_str` ( `unique_id` int(11) unsigned NOT NULL default '0', `key` varchar(32) binary NOT NULL default '', `index` int(11) unsigned NOT NULL default '0', `value` varchar(254) NOT NULL default '0', PRIMARY KEY (`unique_id`,`key`,`index`), KEY `unique_id` (`unique_id`) ) ENGINE=MyISAM; */ Submitter sader1992 Submitted 06/16/2019 Category Utilities Video Content Author sader1992  
  44. 1 point
    Probably my most ambitious and personal project. I often met on my way interesting places in the world of RO, to which it was impossible to get. Then I began to find such places with the help of the BrowEdit program and make them available for visiting. As the project expanded, I decided to allow shooting and use skills from the hills on the maps, where this feature was disabled, add plants and trees, create comfortable climbs and so on. I suggest you watch a promo video that clearly explains my idea. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. At the moment, almost ready the locations of the Schwartzwald and Arunafeltz for the release, there is a reserve for many other locations. Since the appearance of the video, there have been some changes, so the final result may be different. Below I attach screenshots from BrowEdit "before" and "after" and gif files with changes of territories on the finished mini-maps. Some screenshots of my work: From the important places are opened: the airport in Veins, the left exit from Einbroch, the northern Einbroch railway station on Ein_Field04, the industrial zone on Ein_Field02, the border post between Ein_Field04 and Ein_Field05, the fortress on the map of Yuno_Field12, the alternative entrance to the tower of Thanatos on Hu_Field01, the arch with a fountain on Ein_Fild09, the bridge in Lhz_Field02, the road from Ra_Fild06 to Ein_Field03 and more. Mini-maps changes (if any map is missing, it means everything is fine with it): .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. P>S> Since the map of Ein_Field05 won in the nomination of the most extended territory - a small comic video showing progress in its honor: .•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•.•°'°•. CODE: Warps lines below: //===== eAthena Script ======================================= //= New Warps for AMP //===== By: ================================================== //= w0wZukuBg //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= New Warps for AMP //===== Additional Comments: ================================= //= The NPC's were born. [w0wZukuBg] //============================================================ //======================================================= // ein_fild //======================================================= ein_fild02,134,123,0 warp newein01 1,1,ein_fild02,118,134 ein_fild02,121,131,0 warp newein02 1,1,ein_fild02,137,123 ein_fild02,223,137,0 warp newein03 1,1,ein_fild02,223,148 ein_fild02,223,145,0 warp newein04 1,1,ein_fild02,220,137 ein_fild02,186,226,0 warp newein05 1,1,ein_fild02,204,224 ein_fild02,201,224,0 warp newein06 1,1,ein_fild02,183,229 ein_fild04,385,181,0 warp newein07 1,1,ein_fild05,36,185 ein_fild05,33,185,0 warp newein08 1,1,ein_fild04,382,181 ein_fild05,35,167,0 warp newein09 1,1,ein_fild04,382,181 ein_fild05,120,292,0 warp newein10 1,1,ein_fild05,120,300 ein_fild05,120,297,0 warp newein11 1,1,ein_fild05,120,289 ein_fild06,231,81,0 warp newein12 1,1,ein_fild06,231,67 ein_fild06,231,70,0 warp newein13 1,1,ein_fild06,231,84 ein_fild03,245,55,0 script Lift-E02 139,2,2,{ OnTouch: mes "Lift up?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",201,41; close; } ein_fild03,204,43,0 script Lift-E01 139,2,2,{ OnTouch: mes "Lift down?"; next; if(select("Yes","Stay")==1) warp "ein_fild03",248,53; close; } //======================================================= // ra_fild //======================================================= ra_fild09,362,76,0 warp newra01 1,1,lhz_fild01,15,79 lhz_fild01,12,79,0 warp newra02 1,1,ra_fild09,359,76 //======================================================= // ra_fild -> ein_fild //======================================================= ein_fild03,19,181,0 warp newraein01 1,1,ra_fild06,374,223; ra_fild06,377,223,0 warp newraein02 1,1,ein_fild03,22,181; //======================================================= // hu_fild //======================================================= hu_fild02,378,244,0 warp newhu01 1,1,hu_fild03,22,253 hu_fild03,19,253,0 warp newhu02 1,1,hu_fild02,375,244 hu_fild02,378,194,0 warp newhu03 1,1,hu_fild03,22,205 hu_fild03,19,205,0 warp newhu04 1,1,hu_fild02,375,194 hu_fild02,375,303,0 warp newhu05 1,1,hu_fild03,22,308 hu_fild03,19,308,0 warp newhu06 1,1,hu_fild02,372,303 hu_fild02,378,125,0 warp newhu07 1,1,hu_fild03,22,129 hu_fild03,19,129,0 warp newhu08 1,1,hu_fild02,375,125 //======================================================= // ve_fild //======================================================= ve_fild03,327,294,0 warp newve01 1,1,ve_fild04,34,322 ve_fild04,31,322,0 warp newve02 1,1,ve_fild03,324,294 ve_fild03,316,251,0 warp newve03 1,1,ve_fild04,42,295 ve_fild04,39,295,0 warp newve04 1,1,ve_fild03,312,251 //======================================================= // einbroch //======================================================= einbech,50,223,0 warp neweinb01 1,1,einbech,50,230 einbech,50,227,0 warp neweinb02 1,1,einbech,50,220 einbech,37,223,0 warp neweinb03 1,1,einbech,37,230 einbech,37,227,0 warp neweinb04 1,1,einbech,37,220 //======================================================= // veins //======================================================= veins,296,335,0 warp newve05 1,1,veins,290,342 veins,293,342,0 warp newve06 1,1,veins,275,352 veins,278,352,0 warp newve07 1,1,veins,296,332 //======================================================= // lighthalzen //======================================================= lighthalzen,241,163,0 warp newlhzs01 1,1,lighthalzen,265,163 lighthalzen,262,163,0 warp newlhzs02 1,1,lighthalzen,238,163 lighthalzen,282,327,0 warp newlhzs03 1,1,lhz_fild01,278,19 lhz_fild01,278,16,0 warp newlhzs04 1,1,lighthalzen,282,324 //======================================================= // juperos_ //======================================================= juperos_01,96,220,0 warp newjup01 1,1,juperos_01,152,183 juperos_01,149,185,0 warp newjup01-1 1,1,juperos_01,93,217 //======================================================= // jawaii //======================================================= jawaii,138,182,4 script Stairs#ja1 111,{ mes "[Stairs]"; mes "Want to go up or go down?"; next; switch(select("Up","Down")) { case 1: warp "jawaii",136,183; close; case 2: warp "jawaii",140,180; close; } close; }
  45. 1 point
    https://github.com/rathena/rathena/blob/master/conf/battle/skill.conf Devotion part.
  46. 1 point
    Greetings, everyone. New content for Valentine's Day were added: Valentine's Day 32bit Headgear Auras All of them available in 12 colours. And if you haven't had the time, I've also recently added a new freebie:
  47. 1 point
    Just my guess check line 3302 in msgstringtable.txt
  48. 1 point
    People in a discord Server can write and it appears in ingame Channel, and People ingame write to channel and it appears in discord @spinzaku
  49. 1 point
    Hello my friend, thanks for the respond and i know that. however i'm looking for the "EXACT" date of that client. when you hexed it with NEMO it appears in the date with "2015-11-02" so i'm looking for the exact date. Because it's compiled on 2nd of November 2015 but released on 4th. That one is EXACTLY the one you want. There's no 2015-11-02.
  50. 1 point
  • Newsletter

    Sign Up
  • Create New...

Important Information

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