Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/11/13 in Posts

  1. Hello guys!! This is my first time to write a tutorial. I hope it can help many beginner that don't know how to create your own ragnarok world. This server setting is just made to play offline. So if you want to make your own private server there are several things you need to learn more on setting ip, opening ports etc, and i'm not going to explain it in here Credits goes to: Nickyzai for kRO client K3dt for decompiled ragexe Mleo1 for Loki launcher Shakto, Yommy, MStream for xDiffPatcher Michieru, Dastgirpojee for Data folder translation Magicaltux for Grf Builder Ai4rei for Open Setup Okay let's get started, please follow all the steps correctly! This is all the things you need to create your own ragnarok world: 1. TortoiseSVN - http://tortoisesvn.net/downloads.html 2. Visual Basic - http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products 3. MySQL - http://dev.mysql.com/downloads/installer/ 4. MySQL Workbench 5.2.47 http://dev.mysql.com/downloads/tools/workbench/ 5. rAthena SVN Repository - https://rathena.svn.sourceforge.net/svnroot/rathena/ 6. kRO client by nickyzai - http://www.nickyzai.com/?p=kro 7. Loki Launcher by mleo1 - http://hercules.ws/board/topic/1070-loki-launcher/ 8. Decompiled ragexe by k3dt - http://k3dt.eu/Ragexe/unpacked/ 9. xDiffPatcher v2 - http://www.mediafire.com/?fibc47gzvdshp8o 10. DiffFiles - http://k3dt.eu/Ragexe/unpacked/Diffs/ 11. Data folder translation - https://subversion.assembla.com/svn/client-side-translation/ 12. Grf Builder - http://www.grfbuilder.com/#download 13. RO Open Setup - http://rathena.org/board/topic/63177-ro-open-setup-v280277-last-updated-20130702/ After you download all that things, do this: 1. Install tortoise 2. Install visual basic 3. Install MySQL (please remember your root password! If you change it but if you did not change then the default root password is ‘root’) 4. Install MySQL Workbench 5. Install kRO client After you install all of that, let’s prepare the client: 1. Open your kRO client and update it until completed. 2. Download your ragexe file in this (http://k3dt.eu/Ragexe/unpacked/) In this tutorial i used 2013-07-03aRagexe.exe 3. Download your xDiffFiles in this (http://k3dt.eu/Ragexe/unpacked/Diffs/) in this tutorial I used 2013-07-03aRagexe.exe so I must download the same date for Diff files which is “Diff 2013-07-03 v1” in order the xDiffPatcher to work. 4. Open your xDiffPatcher.exe select your ragexe file you download before which is I used (2013-07-03aRagexe.exe) and then select your Diff files which is I used (Diff 2013-07-03 v1) and click LOAD. Now look in “diff option” there are several choice to pick, I recommended you to check this option: - Disable Ragexe Filename Check - Disable HShield - Disable Packet Encryption - Enable Multiple GRFs -@ Bug Fix - Ignore Missing File Error - Ignore Missing Palette Error - Increase Headgear ViewID to 5000 - Increase Zoom - Load ItemInfo.lua before lub - Read Data Folder First - Read msgstringtable.txt - Read questid2display.txt - Translate Client In English - Use Normal Guild Brackets - Use Ragnarok Icon - eXtract MsgStringTable.txt - eXtract txt file strings After you finish check the option click Diff’n’Save! Move the patched ragexe you made to your kRO client folder 5. Open the loki launcer folder and right-click loki.ini, change this: ; Must be on same dir of Loki Exe = "ragexe.exe" Into ; Must be on same dir of Loki Exe = "2013-07-03aRagexe_patched.exe" (I change into 2013-07-03aRagexe_patched.exe because I patched my 2013-07-03aRagexe.exe. if you use another ragexe please changed into yours) Save it and move all of file in loki launcher folder into your kRO client folder. 6. Create new folder and name it ‘Data Folder Translation' right-click on ‘Data Folder Translation’ folder and choose ‘SVN checkout…’ Fill this link https://subversion.a...de-translation/ in “url of repository” and click ok, this will download your 'data translation folder' from latest revision. After complete click ok. Open your data translation folder you download before then open folder “data” right click clientinfo.xml and choose edit. Edit into your version, I’m changed it into 38 because I used 2013-07-03aRagexe.exe. You can find your version in folder Server\trunk\db\packet_db.txt note: If you can’t find clientinfo.xml just open notepad and copy code below to your notepad and save it as clientinfo.xml <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>korea</servicetype> <servertype>primary</servertype> <connection> <display>Ragnarok</display> <balloon>Ragnarok</balloon> <desc>Ragnarok</desc> <address>127.0.0.1</address> <port>6900</port> <version>38</version> <langtype>0</langtype> <registrationweb></registrationweb> <aid> <admin></admin> <yellow></yellow> </aid> </connection> </clientinfo> 7. Open your grfbuilder click ‘new’ to create grf, name it to rathena and save it, then choose ‘merge dir’ find your data translation folder you download before. And then choose the folder ‘data’ inside data translation folder then click Ok. wait after complete. click close. Move the rathena.grf you’ve made to kRO client folder. 8. Now change all lua extension to lub extension in your data translation folder you've download place this script in your data translation folder data/luafiles514 folder And run it. Script Link: http://www.mediafire.com/download/jvtac0j8f6m604v/luatolub.bat note: rename 'luatolub.bat.txt' into 'luatolub.bat and double click (to run) it. After you done. Copy the 'data' and 'system' folder inside the data translation foder you've download to your kRO client and replace any same files with that. 9. Edit your DATA.ini in your kRO client folder into this: [Data] 0=rathena.grf 1=data.grf 2=rdata.grf Then save it. note: If you can’t find DATA.ini just open notepad and copy code up there to your notepad and save it as DATA.ini 10. Extract the 'Open Setup' you've download before and move the 'opensetup.exe' into your kRO client folder Now your kRO client is ready. Now for the Server 1. Create new folder and name it ‘Server’ 2. right-click on ‘Server’ folder and choose ‘SVN checkout…’ 3. Fill this link (https://rathena.svn.sourceforge.net/svnroot/rathena/) in “url of repository” and click ok, this will download your server files from latest rathena server. After complete click ok. 4. Open Server\trunk\conf then rename ‘import-tmpl’ folder into ‘import’ 5. Open Server\trunk\conf open file ‘char_athena.conf’ with notepad and look for this: // Server Communication username and password. userid: s1 (change ‘s1’ to whatever you want but here I use ‘username’ as userid for tutorial only) passwd: p1 (change ‘p1’ to whatever you want but here I used ‘password’ as password) *note: I suggest you to fill the username and password as I do, to prevent human error, because if you put wrong userid and passwd the server connection between login and map can’t be establish. //login_ip: 127.0.0.1 (REMOVE THE ‘//’ IN FRONT OF login_ip: 127.0.0.1 so it will look like this login_ip: 127.0.0.1) //char_ip: 127.0.0.1 (REMOVE THE ‘//’ IN FRONT OF char_ip: 127.0.0.1 so it will look like this char_ip: 127.0.0.1) Once you done save it. 6. Still in Server Server\trunk\conf now you open file ‘inter_athena.conf’ with notepad and search for all of this: sql.db_username: ragnarok (change ‘ragnarok’ into your MySQL username which is I use default ‘root’) sql.db_password: ragnarok (change ‘ragnarok’ into your MySQL password which is I use default ‘root’) sql.db_database: ragnarok (change ‘ragnarok’ into ‘rathena’ because later we make database using name ‘rathena’) char_server_id: ragnarok (change ‘ragnarok’ into ‘root’) char_server_pw: ragnarok (change ‘ragnarok’ into ‘root’) char_server_db: ragnarok (change ‘ragnarok’ into ‘rathena’) map_server_id: ragnarok (change ‘ragnarok’ into ‘root’) map_server_pw: ragnarok (change ‘ragnarok’ into ‘root’) map_server_db: ragnarok (change ‘ragnarok’ into ‘rathena’) log_db_id: ragnarok (change ‘ragnarok’ into ‘root’) log_db_pw: ragnarok (change ‘ragnarok’ into ‘root’) log_db_db: ragnarok (THIS ONE YOU CHANGE INTO ‘logs’ because later we make database ‘logs’ Once you’ve done SAVE it. 7. Still in Server Server\trunk\conf now you open file ‘map_athena.conf’ with notepad and search for: // Interserver communication passwords, set in account.txt (or equiv.) userid: s1 (Change ‘s1’ into ‘username’ because as I explain on up there before) passwd: p1 (Change ‘p1’ into ‘password’ because as I explain on up there before) // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. //char_ip: 127.0.0.1 (Remove the ‘//’) // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. //map_ip: 127.0.0.1 (Remove the ‘//’) Done and Save it. 8. Still in Server Server\trunk\conf now you open file ‘subnet_athena.conf’ with notepad and change this: subnet: 255.0.0.0:127.0.0.1:127.0.0.1 you must find your subnet by opening ‘command prompt’ (start menu > all programs> accessories> command prompt) after you open your command prompt, type this ‘-ipconfig’ it will look like this 9. Open your MySQL Workbench double click on ‘Local instance MySQL’ as in the picture to open. Input your password which is ‘root’ if you haven’t change it on first time you install it. 10. Click on ‘Create new Schema’ just like on the pic below to create new ‘schema’ and name it ‘rathena’ then click ‘apply’ and then ‘apply’ and ‘finish’. Now close and reopen your MySQL workbench. 11. repeat the step 10 but name the schema as a ‘logs’ then click ‘apply’ and then ‘apply’ and ‘finish’. Now close and reopen your MySQL Workbench. 12. Enter again to you ‘Local instance MySQL’ just like the step 9 and double click on ‘rathena’ to select it, and then click ‘file’ and choose ‘Open SQL Script’ and go to rAthena\trunk\sql-files and open ‘main.sql’ click OPEN and click the ‘Lightning button’ on picture below. Wait until its done and close your MySQL Workbench and Open it again to refresh. repeat step 12 but now you 'Open SQL Script’ and go to rAthena\trunk\sql-files open 'logs.sql' click OPEN and click the ‘Lightning button’ on picture below. Wait until its done and close your MySQL Workbench and Open it again to refresh. 13. After you re-open your MySQL Workbench, double click on ‘rathena’ then double click on ‘table’ and find ‘login’ right click on it and choose ‘Select Rows – Limit 1000’ just like the picture below: 14. Change the ‘s1’ and ‘p1’ on the right table to ‘username’ and ‘password’ by double click on each of them and type it. Just like the picture below, when you done click ‘apply’ then ‘apply’ and ‘finish’ 15. Now Open folder Server\trunk\src\common and right-click mmo.h choose edit and search this line #define PACKETVER YYYYMMDD Change it with the date version you choose for your client before Example: #define PACKETVER 20130703 (My client ragexe is 2013-07-03aRagexe.exe that’s why I write 20130703) And save it. 15. Now let’s recompile your server, open Server\trunk\ right-click ‘rAthena-10.sln’ open with Microsoft Visual c++ 16. Change the ‘debug’ into ‘release’ like the picture below. 17. Block (select) char-server.sql, login-server.sql, map-server.sql, mapcache and then right click and choose ‘build selection’ like in the picture below: 18. Go to your Server\trunk\db and open file ‘packet_db.txt’ with notepad and add this line in bottom //2013-07-03 Ragexe packet_ver: 38 0x0369,7,actionrequest,2:6 0x083C,10,useskilltoid,2:4:6 0x0437,5,walktoxy,2 0x035F,6,ticksend,2 0x0930,5,changedir,2:4 0x07E4,6,takeitem,2 0x0362,6,dropitem,2:4 0x07EC,8,movetokafra,2:4 0x0364,8,movefromkafra,2:4 0x0438,10,useskilltopos,2:4:6:8 0x0366,90,useskilltoposinfo,2:4:6:8:10 0x096A,6,getcharnamerequest,2 0x0368,6,solvecharname,2 0x0838,12,searchstoreinfolistitemclick,2:6:10 0x0835,2,searchstoreinfonextpage,0 0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15 0x0811,-1,reqtradebuyingstore,2:4:8:12 0x0202,6,reqclickbuyingstore,2 0x0817,2,reqclosebuyingstore,0 0x0815,-1,reqopenbuyingstore,2:4:8:9:89 0x0365,18,bookingregreq,2:4:6 // 0x0363,8 CZ_JOIN_BATTLE_FIELD 0x0281,-1,itemlistwindowselected,2:4:8:12 0x022D,19,wanttoconnection,2:6:10:14:18 0x0802,26,partyinvite2,2 // 0x0436,4 CZ_GANGSI_RANK 0x0360,26,friendslistadd,2 0x094A,5,hommenu,2:4 0x0873,36,storagepassword,2:4:20 If you choose another date of your ragexe you can find your ‘packet’ in this link http://rathena.org/board/topic/82726-2013-ragexe-and-diff-up-to-date-2013-07-03/ Just copy and paste it to your ‘packet_db.txt’ like I did. 19. Now you are ready to start your server, open rAthena\trunk and open file ‘runserver-sql.bat’ wait until all server loaded like the pic below: 20. Now go to your kRO client Folder and open ‘Loki.exe’ in the login screen you can create account by doing this; In ID you can fill your ID with _M for male and _F for female And then input your password, After that you may login to your id without _M or _F anymore. 21. Some Screenshoot in the game I think that's all guys. sorry for any mistake and good luck creating your own Ragnarok World don't forget to clik the button if you found this post useful and thx for reading this bad tutorial ________________________________________________________________________________________________________ Note: only do this step if you found the problem below. Problem 1: setup resolution problem: there is missing file in kRO client\system\lua514\ that file name is optioninfo.lub you may download from here and put on that folder. Problem 2: 'queryNavi_Distance_Map' problem: go to Data Folder Translation\Data\luafiles514\lua files\navigation then deleted the file below: navi_linkdistance_krpri.lub navi_linkdistance_krsak.lub navi_npcdistance_krpri.lua navi_npcdistance_krsak.lua _________________________________________________________________________________________________________ edited : - adding missing step in client - adding new file Open Setup from Ai4rei - adding missing step in server (repeat step 12 but now you 'Open SQL Script’ and go to rAthena\trunk\sql-files open 'logs.sql' click OPEN and click the ‘Lightning button’ on picture below. Wait until its done and close your MySQL Workbench and Open it again to refresh.) - fixing some step in client about grf builder because if change lua to lub first then merge give error query_navi_map but don't worry now the step are correct. - adding missing step about downloading 'data translation folder' from repository link - fix some unclear words and fix the repository link. - deleted fixcamera angle from patch list because for shift right click issue, and add some note about setup resolution problem - fix xdiff files link
    1 point
  2. ROChargenPHP Features Core Support for .spr, .act, .pal, .grf, ... .act file completed support (transparency, scale, color, rotate, ...) Characters fully implemented ( body, head, hats, weapon, shield, robe, mount) with palettes support. Can modify action, animation and direction. Class to generate : Full Character / Character Head only / Monster-NPC-Homunculus / Avatar / Signature. Cache system available (and can be set off) with configurable time to cache. Emblem Loader available. Client Data.ini file support (to list your GRFs) Support GRF (0x200 version only without DES encryption - repack before uploading) - the data folder is always read first. Auto-Extract files from GRF if needed (optimize performance) Updater script available to convert some lua files to PHP. How to use Really url-friendly: myserver.com/chargen/<controller>/<data> // with url-rewriting myserver.com/chargen/index.php/<controller>/<data> // without url-rewriting Example for my character called "KeyWorld": myserver.com/chargen/avatar/KeyWorld // avatar myserver.com/chargen/signature/KeyWorld // signature myserver.com/chargen/character/KeyWorld // full Character myserver.com/chargen/characterhead/KeyWorld // Character's head You can change the default link by modify the array $routes in the index.php file: // $routes['url'] = controller $routes['/avatar/(.*)'] = 'Avatar'; $routes['/character/(.*)'] = 'Character'; $routes['/characterhead/(.*)'] = 'CharacterHead'; $routes['/monster/(\d+)'] = 'Monster'; $routes['/signature/(.*)'] = 'Signature'; Custom display At least, the tool is really easy to use, here an example on how to display a static character: $chargen = new CharacterRender(); $chargen->action = CharacterRender::ACTION_READYFIGHT; $chargen->direction = CharacterRender::DIRECTION_SOUTHEAST; $chargen->body_animation = 0; $chargen->doridori = 0; // Custom data: $chargen->sex = "M"; $chargen->class = 4002; $chargen->clothes_color = 0; $chargen->hair = 5; $chargen->hair_color = 12; // ... head_top, head_mid, head_bottom, robe, weapon, shield, ... // Generate Image $img = $chargen->render(); imagepng($img); Examples / Demos Sources Get the source (Thanks to report all bugs) License Instead of selling it, I give a try to "Open Source project with Donation". So if you think, you would have buy it if i was selling it, think to give a donation ? Notes A directory "client" is in the project, it will be a good idea to move it to a directory not accessible by the user (for example /home/client/). If you use generate images from GRFs you have to know it's a little slower, i recommend you in this case to allow the "AutoExtract" option to gain performance. GRFs have to be save as 0x200 version without any encryption (even the official DES), good idea is to remove unused folders ( textures, wav, models).. If you use the options Cache and AutoExtract, don't forget the script need to have a write access to the client and cache folder. Thanks to Khazou for the acces to his server to fully testing the tool
    1 point
  3. Briefing & Concept Hello folks I'm back with a map I did quite a some time ago. I was not able to show it since the heavy amount of work I'm having ATM. I consider this a good map, worth enough to be in a showcase thread. About this map So, what do we have new on this map? Konoha is, a medium size map, which has some good extras I have tried so far. It has real Naruto Models I edited myself and, I have to say I poolished the textures to have a more RO style (bitmap shadows). This map has new features, (The part that most of people waits ) Although it is nothing really special, it is possible to use High Jump on the building's roofs... just as how it is in the real anime. Another thing I have to mention is the addition of the Hokages in the background of the map. I bet, Konoha city would not be Konoha without these awesome guys! Video! ... Watch it in 720p! HD Screenshots Color Palettes Sponsored by @KamiShi Drooping Olrox Hat Sponsored by @Adel Screens are in Full 1920x1080 HD resolution. You can allways hit the image thumbnaill to check the images on full size, and check some details that can only be appreciated in HD resolution. Beautiful Panoramic Awesome screenshot comes at first. The Sky is just a PS edition for a decorative screen I did Overview 2 Overview 3 Overview 4 Overview 5 Overview 6 Area View 1 One of the things I got back to take care of, are the small details. This screen shows an example of very small details as boxes, foods, etc. Area View 2 Using High jump on some houses. You can walk across the houses using this skill... Area View 3 This small area recreates the hotsprings. Area View 2 In game View of the Hokages That is all for now. Personally I like how this town became. I'm not sure if this is the first konoha out there. This project I'm working for is aiming to have other Villages from Naruto, It is kinda a big project and I hope I will have enough time to finish all the request from this guy. Comments or Ideas are always welcome. Thanks a lot for your time, and I wish to all to you a nice weekend!
    1 point
  4. Well a few people know i have been working on these. So here goes. Did I hear right? 1. Yes it is what you are thinking. The Custom Job patch allow you to modify the existing jobs and add new jobs in a fashion similar to HeliumRO's Xray Clients (and some extra stuff you will see below) but using lua files. 2. Similarly Custom Shield Patch allows you to throw the existing 4 shield limit out the door and modify existing as well as add more shield equipment types to your liking using lua files. 3. For now I have tested them out on a set of clients (for others the logic followed were the same so I didn't bother with the rest). Ofcourse if any bug comes up I will work on fixing them. 4. Patches were made with existing patches in mind and therefore will not affect any and existing diffs present in a client you use. Infact you are supposed to use these last only. 5. Custom Job Patch has also an override for Class names based on gender. For it to work Langtype Korean Jobname Fix is expected to be enabled (for xDiff patches it is a part of Translate to English patch) 6. So is there a limit ? yes for now i have limited them as max shields to 10 and max job id to 4300. So how does it work ? 1. Get the xdiff file for your client version (from the link below) 2. Get the lua files (also from the link below) 3. Modify/Add entries to the lua files (Format is specified below) 4. Load your client and xdiff file in xDiffPatcher 5. Let it Rip!... i mean Patch!! 6. And last but not least place the lua files in their proper locations. Lua File Formats - Custom Job Patch Custom Job Patch makes use of 7 lua files (similar to the various txt files Xray client had).They need to be present in the luafiles514/lua files/admin path. 1) PCIdentity.lua: This file is already present in the official GRF but we are going to use a modified version of that one. All Job Sprites have a corresponding Job ID (including costumes and Job Mounts). This file defines all of them and their relationships to each other. This is done with the help of 3 tables => i) pcJobTbl (mandatory): This is where the job id value is defined and mapped to a string for identification. JT_KAGEROU = 4211, -- 4211 is the job id for kagerou class ii) Halter_Map : This is where you specify which job id is the job mount of which class. Ofcourse if you dont plan to add a job mount for a class you can ignore this one. [pcJobTbl.JT_KAGEROU] = pcJobTbl.JH_KAGEROU, -- maps kagerou job to it's frog mount (JH_KAGEROU) iii) Shrink_Tbl : This is list of job IDs that need to be ... shrunk i.e. specify all Baby Jobs here. pcJobTbl.JT_SWORDSMAN_B, -- will include Baby Swordsman in the list 2) PCPaths.lua: Lua equivalent of class_tab.txt . Defines the prefix string used for each class to get its sprite & act file path. i.e. prefix in => /data/sprite/Àΰ£Á·/¸öÅë/<gender>/<prefix>_<gender>.spr (& act as well). This is done with the help of two tables (only one of which needs to be filled for a class). i) PCStitchTbl : If your job uses a completely new sprite with a new filename then you can assign it in this table. [pcJobTbl.JT_SWORDMAN] = "°Ë»ç" -- Prefix for Swordsman ii) PCStitchInheritTbl : If your job is sharing an existing sprite path already used by a job specified in PCStitchTBl then you can simply connect them in this table (target job id inherits from source job id). [pcJobTbl.JT_SWORDMAN_H] = pcJobTbl.JT_SWORDMAN, --JT_SWORDMAN_H is High Swordsman which uses --same sprite as Swordsman All of the remaining lua files follow a similar pattern with one table for direct assignment and the other one for inheriting value from another job id 3) PCImfs.lua: Lua equivalent of imf_tab.txt . Defines the prefix string for imf files of each class. i) PCImfTbl : [pcJobTbl.JT_KNIGHT] = "±â»ç", -- Prefix for Knight ii) PCImfInheritTbl : [pcJobTbl.JT_KNIGHT_H] = pcJobTbl.JT_KNIGHT, -- JT_KNIGHT_H is Lord Knight and has the same -- imf as Knight class. 4) PCHands.lua: Lua equivalent of reality_dir_tab.txt. Defines the prefix strings used for Weapons and Shields of each class i) PCHandsTbl : [pcJobTbl.JT_ASSASSIN] = "¾î¼¼½Å\\¾î¼¼½Å", -- Prefix for Assassin ii) PCHandsInheritTbl : [pcJobTbl.JT_GUILLOTINE_CROSS] = pcJobTbl.JT_ASSASSIN, -- Guillotine Cross picks up --weapons/shields from the same path as Assassin class 5) PCPals.lua Lua equivalent of reality_tab.txt. Defines the prefix strings for the body palettes. i) PCPalTbl: [pcJobTbl.JT_MAGICIAN] = "¸¶¹ý»ç", -- prefix for Mage ii) PCPalInheritTbl: [pcJobTbl.JT_MAGICIAN_H] = pcJobTbl.JT_MAGICIAN, -- High Mage uses same prefix as Mage class 6) PCNames.lua Lua equivalent of monstrosity_tab.txt (in part since mobs are defined by jobname.lua) . As the file name says this is where you define all your class names. Reason i saved this for last is because this file is slightly different from the previous 4. Here you can define the class name seperately for both genders. For male classes => i) PCJobNameTbl : [pcJobTbl.JT_WARLOCK] = "Warlock", -- Kind of obvious right? ii) PCJobNameInheritTbl : [pcJobTbl.JT_WARLOCK_H] = pcJobTbl.JT_WARLOCK, -- JT_WARLOCK_H is Transcendent version of -- warlock class and ofcourse it will have same name For female classes => iii) PCJobNameTbl_F : [pcJobTbl.JT_WARLOCK] = "Witch", -- Now the female Warlock will be called Witch iv) PCJobNameInheritTbl_F : [pcJobTbl.JT_WARLOCK_H] = pcJobTbl.JT_WARLOCK, -- Same for Transcendent Warlock By default if your gender is female and there is no names defined using either iii) or iv) above then it checks in the tables for male gender. 7) PCFuncs.lua Contains Necessary functions used by the client - DO NOT TOUCH THIS FILE unless you know what you are doing!!! Lua File Formats - Custom Shield Patch Custom Shield Patch makes use of 2 lua files as specified below. They need to be present in luafiles514/lua files/datainfo folder. 1) ShieldTable.lua : This lua file is the only one you need to configure. It contains 3 tables and is similar in format to WeaponTable.lua i) Shield_IDs : Defines a list of IDs which includes both Shield Types & Item IDs used by shield items in item_db.txt. Shield Items can only start from item id 2101 onwards so anything lesser than that will be considered as a shield type id. To distinguish between them we use the ST (Shield Type) and SI (Shield Item) prefixes. ST_MSHIELD = 4, -- Mirror Shield Type SI_Platinum_Shield = 2122, -- Platinum Shield's Item ID ii) ShieldNameTable : Here we assign suffix strings for Shield Types i.e. shield suffix in => /data/sprite/¹æÆÐ/<hand prefix>_<gender>_<shield suffix>.spr [Shield_IDs.ST_MSHIELD] = "_¹Ì·¯½¯µå", --Suffix for Mirror shield iii) ShieldMapTable : Here we specify which Shield Type is used by each of the Shield Items. [Shield_IDs.SI_Platinum_Shield] = Shield_IDs.ST_MSHIELD, -- Platinum Shield uses -- Mirror Shield sprite 2) ShieldTable_F.lua : Contains Necessary functions used by the client - DO NOT TOUCH THIS FILE unless you know what you are doing!!! Ok.. So Where do i get the files? Download link Final Note If you have any issues or doubts about the xDiff files or Lua files (I expect some in this department) let me know. So Enjoy
    1 point
  5. View File Lunar Map Hey Guys! This map was for the Lunar New Year's event! It was originally created for a server, who isn't alive anymore, so I offer it here for free for anyone who wants it. The inside maps are just a small bonus, and honestly my first time doing any indoor maps. Hope you guys like it! Don't forget to credit me! ^-^ Submitter Chemical Crush Submitted 08/08/2013 Category Maps & 3D Resources Video Content Author Chemical Crush  
    1 point
  6. Hi I made a script awhile back for a dynamic leveling room that instead of manually adding monsters it takes the level ranges from the database and adds them to a spawn. I think it will work very well here. I have also added the cashpoint option. prontera,160,158,2 script Training Room 100,{ select(.menu$); warp getd(".room"+(@menu-1)+"$[1]"),0,0; end; OnNPCKillEvent: //OnMobDeath: for(set .@p,0;getarraysize(getd(".room"+.@p+"$"));set(.@p,.@p+1)) if( playerattached() ) { if( getd(".room"+.@p+"$[1]") == strcharinfo(3) ) { dispbottom "Cashpoint get! "+#CASHPOINTS++; monster strcharinfo(3),0,0,"--ja--",killedrid,1/*,"Training Room::OnMobDeath"*/; break; } } end; Oninit: //Configuration // # Room Name , Map , MobLvlRngLow , MobLvlRngHigh, #SpawnMobs, Mobs Limit(MAX 128), Optional Search String ; setarray .room0$, "Novice Room %s~%s (<mob>,<mob>...)" , "06guild_01", "0" , "10" , "20" , "128" , "`iName` LIKE '%Por%'" ; // Would make a novice poring room. setarray .room1$, "Beginner Room %s~%s (<mob>,<mob>...)" , "06guild_02", "11" , "20" , "5" , "128" , "" ; setarray .room2$, "Adept Room %s~%s (<mob>,<mob>...)" , "06guild_03", "21" , "30" , "5" , "128" , "" ; setarray .room3$, "Advanced Room %s~%s (<mob>,<mob>...)" , "06guild_04", "31" , "40" , "5" , "128" , "" ; setarray .room4$, "Experts Room %s~%s (<mob>,<mob>...)" , "06guild_05", "41" , "50" , "5" , "128" , "" ; setarray .room5$, "Veterans Room %s~%s (<mob>,<mob>...)" , "06guild_06", "51" , "60" , "6" , "128" , "" ; setarray .room6$, "MVP Room %s~%s (<mob>,<mob>...)" , "06guild_07", "61" , "70" , "7" , "128" , "" ; setarray .room7$, "Like a Boss Room %s~%s (<mob>,<mob>...)", "06guild_08", "71" , "80" , "8" , "128" , "" ; set .srch$, "<mob>"; //String searched and replaced with mob name in the Room Name Feild. set .mvps, 0; //Mvps Summoned or not? 0=Off 1=On //End for(set(.@a,0);getarraysize(getd(".room"+.@a+"$"));set(.@a,.@a+1)) { set .rmn$, ".room"+.@a+"$"; set .nam$, ".name"+.@a+"$"; set .mid$, ".id"+.@a; set .rrm$, getd(.rmn$+"[0]"); set .map$, getd(.rmn$+"[1]"); set .lrl$, getd(.rmn$+"[2]"); set .lrh$, getd(.rmn$+"[3]"); set .nsms, atoi(getd(.rmn$+"[4]")); set .mlim, atoi(getd(.rmn$+"[5]")); set .ops$, getd(.rmn$+"[6]"); set .length, countstr(getd(.rmn$+"[0]"), .srch$); set .lengt, countstr(getd(.rmn$+"[0]"), "%s"); if(.lengt>1) set .mes$[.@a], sprintf(.rrm$,.lrl$,.lrh$); set .len, query_sql("SELECT `ID`,`iName` FROM `mob_db` WHERE `LV` > "+.lrl$+" AND `LV` < "+.lrh$+" "+((.ops$!="")?"AND "+.ops$+" ":"")+((!.mvps)?"AND `MEXP` <= 0 ":"")+"ORDER BY RAND() LIMIT "+((.mlim>128)?128:.mlim )+";",.id,.name$); set .lens, getarraysize(.name$); copyarray getd(.nam$+"[0]"), .name$, .lens; copyarray getd(.mid$+"[0]"), .id, .lens; deletearray .name$; deletearray .id; while(.@i++<=.length ) if(.@i<=.lens) set .mes$[.@a], replacestr(.mes$[.@a], .srch$, getd(.nam$+"["+(.@i-1)+"]"), 1, 1); set .@i,0; for(set(.@h,0);.@h<.lens;set(.@h,.@h+1)) { monster .map$,0,0,"--ja--",getd(.mid$+"["+.@h+"]"),.nsms/*,"Training Room::OnMobDeath"*/; } } set .menu$, implode(.mes$,":"); }
    1 point
  7. I updated this script for rAthena not to long ago. If you're using rAthena I think it would be best to use this version. //===== Hourly Points Script ========================================= //===== By: ========================================================== //= GorthexTiger modified by Nibi //===== Current Version: ============================================= //= 1.0 //===== Compatible With: ============================================= //= Any eAthena Version //===== Description: ================================================= //= Get Points every successful hours of gameplay, you cannot get //= the points even if you miss a second or a minute. A player will //= get a very big bonus if they played 3 hours consecutively //= or without logging out of the game. If the player is vending //= the script will then stop. //===== Additional Comments: ========================================= //= You can modify the script to your liking. //= The default points is Kafrapoints change it anyway if you like. //= 1.1 = Check Chatting too //= 1.2 = 5 Minute Idle Check & @at/@autotrade check. //= 1.3 = Corrected the current balance line on 12 Hours Consecutive //==================================================================== - script hourlypoints -1,{ //--Start of the Script OnPCLoginEvent: addtimer .timer,"hourlypoints::OnPointGet"; end; OnPointGet: while(checkvending() >= 1 || checkchatting() == 1 || checkidle()>=.dlimit) { sleep2 .delay; if(.@mes$=="") dispbottom set(.@mes$,"The hourly points event haulted because you were vending, chatting, or idle."); } set #KAFRAPOINTS, #KAFRAPOINTS + .point_amt; dispbottom "You received "+.point_amt+" Kafrapoints by staying ingame for 1 hour"; dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints"; set @consecutive_hour, @consecutive_hour + 1; //Check for 3 hours consecutive if(@consecutive_hour == 3) { set @consecutive_hour,0; set #KAFRAPOINTS, #KAFRAPOINTS + .cpoint_amt; dispbottom "You receive "+.cpoint_amt+" Kafrapoints in playing for 12 consecutive hours"; dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints"; } addtimer .timer,"hourlypoints::OnPointGet"; end; OnInit: set .timer, 1000*60*60; //Timer in milliseconds. set .cpoint_amt, 50; //Points gained for consecutive time online. set .point_amt, 10; //Normal points gained. set .delay, 1000; //Delay for idle re-check check. set .dlimit, 60*5; //Stop points if afk greater then in seconds. }
    1 point
  8. 1 point
  9. - How to make a script to work from the start of the server? Answer : Put your script on trunk/npc/ folder and and specify the path of your script on your trunk/npc/scripts_custom.conf - How to make an image appear over a player (like emblem in WoE)? Answer : Source - How to equip the item only if it the player has a skill ? (eg with Sword -> Sword Mastery) Answer : if ( !getskilllv("SM_SWORD") ) // unequip the item - And how to put multiple scripts in a single weapon? (eg A script when it is equipped and B script when unequipped) Answer : trunk/db/re/item_db.txt // Structure of Database: // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
    1 point
  10. input .@amount; if( ( .@amount % 10 ) > 0 ){ mes "Enter multiple of 10..."; close; }
    1 point
  11. Hello my friend! I have a suggestion! Make it so that if the GM level above => 1 then showed costume GM!
    1 point
  12. File Name: Hallow Town File Submitter: Chemical Crush File Submitted: 08 Aug 2013 File Category: Maps & 3D Resources Content Author: Chemical Crush Hiya! This is my Hallow Town map I had created a while back, i figured i'd add it to the official downloads section of rA. It was originally created for an event type map for Halloween. Though you're, of course, free to use it for whatever you'd like. I'd prefer you give credits and stray from making changes, but you're more than free to make changes, just remember to credit me please. Click here to download this file
    1 point
  13. this ? http://rathena.org/board/topic/60627-guide-securing-your-grf-includes-grf-encryptor-and-game-client-decrypt-library/
    1 point
  14. Molebox was pretty much used in the past, but you should read guides about it. If I recall correctly, in makes an executable that also includes your data, so it's protected under an .exe file extension. I'm not very familiar with Molebox, but there is a guide in Spanish about it in DivineRO (SP community, not a RO server ). There are images so I guess it's easier to understand. If someone knows about other systems, would be nice to be suggested here.
    1 point
  15. Actually, If you have never set a root password for MySQL server, the server does not require a password at all for connecting as root. To setup root password for first time, use mysqladmin command at shell prompt as follows: mysqladmin -u root password NEWPASSWORD However, if you want to change (or update) a root password, then you need to use the following command: mysqladmin -u root -p'oldpassword' password newpass Source: Nixcraft
    1 point
×
×
  • Create New...