Jump to content

Neo-Mind

Community Contributors
  • Content Count

    713
  • Joined

  • Last visited

  • Days Won

    37

Everything posted by Neo-Mind

  1. which patcher are you using? make sure it is upto date before patching
  2. i have fixed the service selection patch just need to push the edits in when i get home today.
  3. If you are using the client from http://herc.ws/board/topic/7617-2014-10-22-client-download/#entry45846 then you should have read what is written there so dont select those patches else it would screw up the client even if patching succeeds.
  4. @@Anisotropic Defixation Its been already more than a year since the first set of sprites were displayed, so you would never know they might have already added the sprites and just working out the remaining details .
  5. Neo-Mind

    HEXED !

    @@evilpuncker To quote Brad Pitt from Friends : "Its no fat, its no sugar, its no dairy.... Its no good, throw it out!!"
  6. maybe there was a Ghost In The Shell
  7. The reason is already explained."Second key is copy of third, change third one instead " meaning this client uses a shared key as both 2nd and 3rd. Also to all who are trying to add Custom Jobs: http://herc.ws/board/topic/9273-guide-how-to-add-custom-jobs/
  8. Introduction For our Example we will create the Custom Class "Shinobi" and its Child version i.e. "Baby Shinobi" along with their Cash Mounts/Halter Mounts. Each Job has 3 ID values : 1) Job ID - we will use 4230 & 4231 respectively for the jobs (4232 & 4233 will be reserved for the mounts client side). 2) Map ID - Also called EA Mask. If we are extending a class we OR the existing class with a modifier. Since Shinobi is going to be a seperate branch, we will use 0x11 for Shinobi and 0x11 | 0x2000 for Baby Shinobi (0x2000 is the JOBL_BABY mask). 3) Msg ID - Defined in messages.conf file. We will use 700 and 701. Before we begin, A few points to note: 1) For the client side i will be using my own patch from NEMO not Xray clients - So dont ask me about Xray. 2) This guide is meant to be an overview towards adding jobs - meaning that your job will be enabled once you have done the changes specified here . You can add further details on your own which depends on your Class. 3) If i am missing out on anything please let me know. Nobody is perfect including me 4) We will use Sprite and some data from Ninja class for the time being but you can add your own entries just as easily. Server Source 1) src/common/mmo.h: look for JOB_REBELLION assignment and insert our Job IDs after it. 2) src/map/map.h: look for MAPID_BABY_CHASER and insert our Map IDs after it. 3) src/map/pc.c: i) find case JOB_BABY_CHASER: and insert our cases after it ii) find case MAPID_BABY_CHASER: and insert our cases after it iii) find case JOB_REBELLION: followed by return msg_txt(655); and insert our cases after it. (returns the Msg ID) iv) find { "Rebellion", JOB_REBELLION }, and insert our Job Names after it 4) src/map/itemdb.c: Here we check the job masks that is specified in item_db.conf. There is one limitation, however. Currently there is only 1 more slot left in the job mask since it is 32 bit. In case you need to add more you will need to change the variable to 64 bit. Find jobmask & 1<<30 and insert our class check after it. 5) src/char/inter.c: Find case JOB_REBELLION: and insert our case after it.(returns the Msg ID) Server Config 1) db/const.txt: i) Find Job_Rebellion and insert our Job IDs after it ii) Find EAJ_BABY_CHASER and insert our Map IDs after it 2) db/<pre-re|re>/exp.txt: Insert your IDs in one of the entries (or if you want to specify your own exp per level you can add that). Since our jobs are meant to be amongst First Class, we will simply add it into existing ones. i) Base: ii) Job: 3) db/<pre-re|re>/job_db.conf: Add entry for your Job. We will copy the entry from Ninja with slight changes for now. 4) db/job_db2.txt: Add entry for your Job. Again we will reuse the data from Ninja. 5) conf/help.txt: Insert your class entries to the @go message 6) conf/messages.conf: Add the Msg IDs after Shadow Chaser T 7) db/<pre-re|re>/skill_tree.conf: Add entry for your Job similar to the others. -pic to be added- Client Lua Files Now to make the client support Custom Jobs it should be patched with "Enable Custom Jobs" patch in NEMO. Also you should copy the lua files inside Support folder to different area so we can Add entries of our jobs. (LuaFiles514/Lua Files/Admin folder inside is what we need essentially) 1) PCIDs.lub : i) First we add all our Job IDs (look for JT_2004_JOB_LAST entry). ii) Next we connect the Cash Mount Job IDs to Main Job IDs (Look for JT_REBELLION mapping). iii) Lastly we need to add our Baby Class & its mount to the Baby_List (Look for JT_LION_CRUSADER_B). 2) PCNames.lub: To illustrate that different names can be assigned based on gender, I am calling them as Shinobi M & Shinobi F for Male & Female respectively. i) First we add the Job Name for Male Characters (Look for Rebellion) ii) Next we make the Cash Mounts inherit Names from their respective Main Jobs - since Mounting don't change the name (Look for JT_PECO_REBELLION). iii) Last but not least we add the Job Name for Female characters - Only necessary if it differs from Male name (Look for JT_SORCERER_B). 3) PCPaths.lub: Here we specify the job specific prefix used by the client to get the job sprite. i) First we add the Path prefix for Jobs that is not shared with any existing ones. ii) Next we make the Jobs that has shared path inherit from existing (for e.g. Baby Jobs inherit from Adult versions). 4)PCHands.lub: Here we specify the job specific prefix used by the client to get the weapon and shield sprite locations i) Like before, First we add the Hand prefix for Jobs that is not shared with any existing ones. ii) Next we make the Jobs with shared prefix inherit from existing (e.g. Baby Jobs, Mounts, Baby Mounts etc. all can inherit from Adult versions). 5)PCPals.lub: Here we specify the job specific prefix used by the client to get the Palette file location. i) Like before, First we add the Pal prefix for Jobs that is not shared with any existing ones. ii) Next we make the Jobs with shared prefix inherit from existing (e.g. Baby Jobs, Mounts, Baby Mounts etc. all can inherit from Adult versions). Note: You can also optionally add entries in PCImfs.lub file in case you have an Imf file, but I haven't seen any issues even without it. Hence I am not pursuing it. Once the edits are done pack it into your grf or put it in your data folder and use it. With this much your job will be visible and able to do everything provided you have the sprite files in the right location. spriteÀΰ£Á·¸öÅë³²<pathprefix>_³².spr and act for Male Job spriteÀΰ£Á·¸öÅë¿©<pathprefix>_¿©.spr and act for Female Job Snapshot: (to be added)
  9. @@Tokeiburu hmm interesting when i extracted it to data folder it is working. maybe newprontera.grf is conflicting with the map inside data.grf
  10. i just hope they dont remove the code from the client
  11. yea it was mentioned in the kRO update topic.
  12. i tried using this grf but i am getting crashes when i go to prontera. Client Used: 2012-04-10aRagexeRE.exe
  13. what do u mean by skill locations?
  14. Nice. Waiting to see how this turns up why does the hooking need client to be undiffed? does any patch overwrite a function the dll looks for?
  15. Colored character name and recoloring item name (based on used slots) are already implemented but not publicly available - no plans for release as of now. About the Heal digits, there is a packet limitation. From what i learned the heal value is sent using a 16 bit field in the packet i.e. max value sent/received would be 2^16 = 64k unsigned or 32k signed - Thanks @Haruna for the info. Coloring the healing digits i can look into that. @@zackdreaver :icon patch is fixed. I've got same problem. Using "2014-04-16aRagexe.exe" raw exe havent checked the 2014 & 2015 clients for bugs yet. I am cleaning up my custom job patch so i can make a guide hopefully
  16. Cleaning up NEMO Patches

    1. evilpuncker
    2. Dastgir

      Dastgir

      You broke it....

      /me slaps Neo

  17. Neo-Mind

    Oldest client

    Hi, Well I was planning to post this in Client support section first but its not exactly a support question. Just wanted to know what is the oldest client date people use now? and which type (RagexeRE, Ragexe or Sakexe)? The reason I ask is because i plan to extend support of my patcher to old clients along with my current bug fixes.
  18. I am able to select both are you sure you are not using a patched exe? I am also seeing same message. but thats a false positive, i need to check why it is not being detected in the patch tester. As for the error not sure why it is crashing since it was working fine and no one has reported errors
×
×
  • Create New...

Important Information

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