Neo-Mind Posted August 11, 2013 Group: Members Topic Count: 22 Topics Per Day: 0.00 Content Count: 806 Reputation: 221 Joined: 03/13/12 Last Seen: September 17, 2024 Share Posted August 11, 2013 (edited) 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 Edited August 11, 2013 by NeoMind 6 1 Link to comment Share on other sites More sharing options...
Reaper_san Posted August 22, 2013 Group: Members Topic Count: 5 Topics Per Day: 0.00 Content Count: 22 Reputation: 4 Joined: 09/08/12 Last Seen: December 15, 2020 Share Posted August 22, 2013 hi... again xDdid you have a solution for the error with de custom shield diff?(i said it to you in the other forum, or you are still busy?, no problem, i can wait a bit more jaja) Link to comment Share on other sites More sharing options...
Neo-Mind Posted August 23, 2013 Group: Members Topic Count: 22 Topics Per Day: 0.00 Content Count: 806 Reputation: 221 Joined: 03/13/12 Last Seen: September 17, 2024 Author Share Posted August 23, 2013 hey sorry i was doing something related to the login screen itself. anyways its now complete. I will make the guide like i said . btw what kind of error are u facing? is the client crashing or ur getting pop ups about attempt to read nil value? Link to comment Share on other sites More sharing options...
Cataclysm Posted February 25, 2014 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 8 Reputation: 1 Joined: 08/20/13 Last Seen: July 29, 2018 Share Posted February 25, 2014 This is very great. I was going to do it by myself and then I found this. But I have an issue using 2013-07-24eRagexe.xdiff Custom Shield Patch is crashing xDiff Link to comment Share on other sites More sharing options...
dhaisuke Posted March 6, 2014 Group: Members Topic Count: 27 Topics Per Day: 0.01 Content Count: 76 Reputation: 2 Joined: 06/07/12 Last Seen: May 6, 2020 Share Posted March 6, 2014 this is not working Link to comment Share on other sites More sharing options...
Neo-Mind Posted March 7, 2014 Group: Members Topic Count: 22 Topics Per Day: 0.00 Content Count: 806 Reputation: 221 Joined: 03/13/12 Last Seen: September 17, 2024 Author Share Posted March 7, 2014 Guys please use the patch from NEMO. The lua files also have some changes you can find them in the NEMO/Support folder. I am not checking this topic anymore since you can report stuff at NEMO's topic. Link to comment Share on other sites More sharing options...
dhaisuke Posted March 8, 2014 Group: Members Topic Count: 27 Topics Per Day: 0.01 Content Count: 76 Reputation: 2 Joined: 06/07/12 Last Seen: May 6, 2020 Share Posted March 8, 2014 Hi Sir Neo i follow your tutorial n how to add custom job but no error in recomplie but when i try to @jobchange its says failed is there i need to add? i also use the http://rathena.org/wiki/Custom_Jobs but still failed can you please help me my client 2012-06-17 i already apply the patch Link to comment Share on other sites More sharing options...
PaqnaN Posted March 10, 2014 Group: Members Topic Count: 11 Topics Per Day: 0.00 Content Count: 28 Reputation: 2 Joined: 01/06/14 Last Seen: July 31, 2021 Share Posted March 10, 2014 does someone tested this already??does it work?im having trouble with the download.. its says doesnt exist. Link to comment Share on other sites More sharing options...
Stolao Posted October 16, 2014 Group: Developer Topic Count: 48 Topics Per Day: 0.01 Content Count: 1443 Reputation: 344 Joined: 10/17/12 Last Seen: January 29 Share Posted October 16, 2014 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 i get client errors on installing this patch Client: 2013-08-07a using Nemo Patcher and have all the lua files added 3 Chat Flood Remove Limit 8 Custom Window Title 9 Disable 1rag1 type parameters (Recommended) 13 Disable Ragexe Filename Check (Recommended) 14 Disable Hallucination Wavy Screen (Recommended) 15 Disable HShield (Recommended) 16 Disable Swear Filter 20 Extend Chat Box 21 Extend Chat Room Box 22 Extend PM Box 24 Fix Camera Angles (Recommended) 28 Increase Headgear ViewID 30 Increase Zoom Out 50% 33 Always Call SelectKoreaClientInfo() (Recommended) 34 Enable /showname (Recommended) 35 Read Data Folder First 36 Read msgstringtable.txt (Recommended) 37 Read questid2display.txt (Recommended) 38 Remove Gravity Ads (Recommended) 39 Remove Gravity Logo (Recommended) 40 Restore Login Window (Recommended) 41 Disable Nagle Algorithm (Recommended) 42 Skip Resurrection Buttons 44 Translate Client (Recommended) 46 Use Normal Guild Brackets 47 Use Ragnarok Icon 48 Use Plain Text Descriptions (Recommended) 49 Enable Multiple GRFs (Recommended) 50 Skip License Screen 53 Use Ascii on All Langtypes (Recommended) 61 Disable Packet Encryption (Recommended) 64 @ Bug Fix (Recommended) 67 Remove Quake skill effect 68 Enable 64k Hairstyle 202 Enable Custom Jobs 73 Remove Hourly Announce (Recommended) 204 Increase Attack Display 74 Increase Screenshot Quality 84 Remove Serial Display (Recommended) 90 Enable DNS Support (Recommended) 96 Remove GM Sprites 97 Cancel to Login Window (Recommended) 98 Disable dc_scream.txt 99 Disable ba_frostjoke.txt 102 Fix Tetra Vortex client works without 202 Enable Custom Jobs, however once i add that i get the following errors Lua Files\Admin\PCPaths [string "buf"];2: attempt to index global 'pcJobTbl' (a nil value) Lua Files\Admin\PCImfs [string "buf"];2: attempt to index global 'pcJobTbl' (a nil value) Lua Files\Admin\PCHands [string "buf"];2: attempt to index global 'pcJobTbl' (a nil value) Lua Files\Admin\PCPals [string "buf"];2: attempt to index global 'pcJobTbl' (a nil value) Lua Files\Admin\PCNames [string "buf"];2: attempt to index global 'pcJobTbl' (a nil value) ReqPCPath [string "buf"];61: attempt to index global 'PCStitchTbl' (a nil value) even without editing any files 1 Link to comment Share on other sites More sharing options...
psvita Posted November 28, 2014 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 50 Reputation: 0 Joined: 03/02/12 Last Seen: December 6, 2014 Share Posted November 28, 2014 not work at all, I just easy try , change sprite name in this .lua file after diff , I try to HeX to see Is it changed , but it still no change. still need hex myself, and another function also no work at all What about this topic. ? Link to comment Share on other sites More sharing options...
iraciz Posted January 14, 2015 Group: Members Topic Count: 140 Topics Per Day: 0.03 Content Count: 562 Reputation: 110 Joined: 10/05/12 Last Seen: February 12, 2024 Share Posted January 14, 2015 Hi neo, any update to show custom shields with the diff?I am following this topichttps://github.com/MStr3am/NEMO/issues/6thanks in advance Link to comment Share on other sites More sharing options...
renewal Posted January 9, 2016 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 6 Reputation: 0 Joined: 08/16/12 Last Seen: November 17, 2017 Share Posted January 9, 2016 Please help me , I'm having problems when I open my Hexed 2013-08-07a with luafiles admin that Neomind posted . I diff with patch custom jobs . I'm having the following problem of the photo below . Client 2013-08-07a Diffed with Custom Job this problem: Link to comment Share on other sites More sharing options...
Neo-Mind Posted April 6, 2016 Group: Members Topic Count: 22 Topics Per Day: 0.00 Content Count: 806 Reputation: 221 Joined: 03/13/12 Last Seen: September 17, 2024 Author Share Posted April 6, 2016 (edited) Use NEMO to patch - Custom Job and Shield patches are available in it. The xDiff file here is outdated. Also you should be using the files from the Support folder from NEMO not the ones here. EDIT: Can someone please close this topic. Thanks. Edited April 6, 2016 by NeoMind Link to comment Share on other sites More sharing options...
Recommended Posts