Jump to content

Neo-Mind

Community Contributors
  • Content Count

    713
  • Joined

  • Last visited

  • Days Won

    37

Reputation Activity

  1. Upvote
    Neo-Mind got a reaction from Tokeiburu in NEMO - Client Patcher   
    UPDATE:
     The CORE (Client Object & Related Entities) part have been shifted to CORE.dll and NEMO has been updated to 2.5 (along with some patch fixes of-course)
     
    NEMO now supports CLI & GUI modes (Credits to nanakiwurtz for the CLI idea). 
     
    To use as GUI:
      Just start without any arguments like before - There is a 1-2 second flashing console when opening (care of Windows ), but you can ignore that.
      You might notice Test Patches button is missing now. This is because its going to be implemented as a seperate companion tool alongside NEMO
    (which will use CORE.dll as well) later on.
     
    To use as CLI (Console): 
      All debug and error statements will be reported to the console it is run from
     
      NEMO.exe -inputs <input value list file> -patches <patch list file> -inclient <input exe file> -outclient <output exe file>
    [*]The <input value list file> is a csv file with the variables used in Patches assigned to values you want.
     
    For ease of use I have created InputsListTemplate.txt file in Input folder which contains all currently used variables commented out.
    You just need to change the values you want and uncomment the line
     
     
    [*]The <patch list file> follows the format of the .log file that is used in profiles & what is saved in PatchList.log when patch is applied in GUI mode.
    Essentially what is needed is a list of Patch IDs - one per each line (refer _patchlist.qs inside Patches folder to see the IDs).
     
     
    [*]The <output exe file> is optional. If not provided the <input exe file> suffixed with _patched.exe and used.

    Let me know if there is any confusion or suggestions.
     
    I am also thinking of merging the two list files in Profiles as well as for the Console in future. Any thoughts?
  2. Upvote
    Neo-Mind got a reaction from Jedzkie in NEMO - Client Patcher   
    Check now @@Frost
  3. Upvote
    Neo-Mind got a reaction from evilpuncker in Odin Server side manner   
    @@evilpuncker why not try to update it yourself? It is a c file after all . He could be busy with Real Life stuff .
     
    @@Angelmelody well atleast he didnt disappear after getting money for the plugin or updates and it is open source not a compiled plugin
  4. Upvote
    Neo-Mind reacted to vykimo in [Showcase] Poring ball map 2015-version   
    Hi,
     
    What do you think about it :


  5. Upvote
    Neo-Mind reacted to Jaburak in [Showcase] DBZ Sprites   
  6. Upvote
    Neo-Mind got a reaction from evilpuncker in how to disable the long list of command every login   
    I have added a patch that will disable it for all langtypes => Disable Help Message on Login.
  7. Upvote
    Neo-Mind got a reaction from Helena in The vending check box. How to hex out/disable?   
    Haven't tested it but try this out
     
    Find: 0F 85 96 00 00 00 68 D8
    Replace: 90 E9 96 00 00 00 68 D8
  8. Upvote
    Neo-Mind got a reaction from evilpuncker in buttons cash shop   
    you are wrong .
     
    Those are images inside datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºbasic_interface. The tooltip is probably hardcoded though (the text that shows up when u hover over the buttons)
     
    °Ë»öa.bmp °Ë»öb.bmp ±âŸa.bmp ±âŸb.bmp ¹öÇÁa.bmp ¹öÇÁb.bmp ½Å±Ôa.bmp ½Å±Ôb.bmp ¿µ±¸Àåºña.bmp ¿µ±¸Àåºñb.bmp Àαâa.bmp Àαâb.bmp ÀÓ´ëÀåºña.bmp ÀÓ´ëÀåºñb.bmp Ư°¡a.bmp Ư°¡b.bmp ÇÑÁ¤a.bmp ÇÑÁ¤b.bmp ȸº¹a.bmp ȸº¹b.bmp
  9. Upvote
    Neo-Mind got a reaction from koko24 in Error   
    did u add any custom weapons or shields? Looks like an encoding issue in the lua file.
  10. Upvote
    Neo-Mind reacted to Kuya Jeo in [ Showcase ] Yinyang Ragnarok Online Web Design   
    Yinyang Ragnarok Online Web Design
    Mabe by Plug and Play
    Like us on our Facebook Page
     
     
     
  11. Upvote
    Neo-Mind got a reaction from Virtue in NEMO - Client Patcher   
    UPDATE:
    NEMO now supports dates 2010 - 2015 (There might be a few patches still having bugs with early 2010 clients). And yes the remaining patches that were failing for 2015 client earlier is also fixed. There was a major rewrite required for a lot of the patches so there is a chance i forgot something somewhere. 
     
    Packet Keys are no longer required to be shared for any client - no more annoying change the other key instead warnings will be there. Also Patches that depend on another one will inform you if its not enabled/disabled. For e.g. Cancel To Login Window checks if Restore Login Window is enabled.
     
    Please let me know if you see any issues .
     
    @@bgamez23 odd i will check that.
  12. Upvote
    Neo-Mind got a reaction from evilpuncker in Goodbye - We'll miss you.   
    Well its on hold that much i know.
  13. Upvote
    Neo-Mind reacted to loong in [showcase]The third lot of 2015   
  14. Upvote
    Neo-Mind got a reaction from Oxxy in [Plugin] Colored chat   
    now thats handy
  15. Upvote
    Neo-Mind got a reaction from evilpuncker in [Plugin] Colored chat   
    now thats handy
  16. Upvote
    Neo-Mind reacted to Oxxy in [Plugin] Colored chat   
    Building plugins under Windows
    Building plugins under Linux

    What this plugin does?:
    It allows you to make your chat colored!

    New commands:

    2 script commands:*color2hex(var) - converts the decimal value into hex, showing the color in #HEXFORMAT (like #FF0000);*setcolor(var) - sets CHAT_COLOR variable to var value;
     
    @color "HEX_COLOR";example usage: @color 0x0000FF - will set your chat color to Blue.

    Changelist:
    version 1.0: initial release

    Screenshots:


     
    Added other version of chat_color, now it doesn't disguise you and make you targetable, tho you can't see by yourself the color of your chat. That is done this way because the packet 0x2C1 actually was made to be used only by npcs. For you it will look like normal (green in chat, white above the head), others will see the true color(red, for example, if you set your @color 0xFF0000). :-)
     
    Example script to set color:

    prontera,150,150,6   script  chat color  700,{  mes color2hex(CHAT_COLOR);  mes CHAT_COLOR;  if(select("close:set color value") == 1) close;  input .@a$;  setcolor(axtoi(.@a$));  close;}
    chat_color.c
    chat_colorA.c
  17. Upvote
    Neo-Mind got a reaction from Judas in how to disable the long list of command every login   
    I have added a patch that will disable it for all langtypes => Disable Help Message on Login.
  18. Upvote
    Neo-Mind got a reaction from Angelmelody in how to disable the long list of command every login   
    I have added a patch that will disable it for all langtypes => Disable Help Message on Login.
  19. Upvote
    Neo-Mind got a reaction from Dastgir in Happy Birthday Yommy   
    One year older, one year wiser 
    Happy Birthday Master Yommy 
    wish there was a /congrats emoticon here
    Hope you have a wonderful year ahead
  20. Upvote
    Neo-Mind got a reaction from Uzieal in Happy Birthday Yommy   
    One year older, one year wiser 
    Happy Birthday Master Yommy 
    wish there was a /congrats emoticon here
    Hope you have a wonderful year ahead
  21. Upvote
    Neo-Mind got a reaction from infitron in [Guide] How to add Custom Jobs   
    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)    
  22. Upvote
    Neo-Mind got a reaction from holymessenger in PEEK - Successor to Yommy's Packet Analyzer   
    Packet Extraction Evaluation Kit
     
    What is this?
    Its a joint venture from Yommy and me . It was made few weeks back but I never got the time to actually make a post about it. If you browsed around my github repository you would have seen it already.
     
    To put it in simple terms like it says in the topic title it brings you the functions of Amazing Yommy's Packet Analyzer Framework wrapped into a very user friendly interface.
    Essentially it enables you to record and analyze the packets received and sent by your client and also helps you build packet tables for any newer clients. 
     
    Any Screenshots?
    Well heres a few for you to see

     
    So how do you use it?
     
    1) Open PEEK.exe and put your client exe file name. If your client doesn't use the old login system
        (i.e. you start the client with the help of a launcher) click the Enable Launcher button and enter your Launcher exe file name.
     
    2) Click Start Analyzer and your launcher will start (or your client will start if you didnt enable the launcher).
         Simply login to your client and the packets will start recording into the table in PEEK.
         You can click on an entry to see the details of the respective packet in the second box.
         The Third box shows you the packet's byte stream.
     
    3) While the packet evaluation is in progress all the buttons get disabled except for Pause Analyzer to avoid mishaps.
         If at some point you wish to stop recording packets just click that button.
         Similarly to resume packet recording & evaluation later, click the Resume Analyzer button.
     
    4) Now what you didn't realize is that your client area had some changes done -
          i) Your original client was backed up
          ii) A fixed up version of your original (simple dll rename) was added to your client area
          iii)The required dll was also added to your client area - the same one from the Packet Analyzer framework
        These steps are also done by the Generate Tester Button. Once your tests and analysis is complete you can change everything
         back by clicking Restore original.
     
    Great but how do I make a Packet DB?
      Plan was to have an addon for generating this in future but it got delayed.
      Anyways I will have more Info soon but you can find the packet lengths in the output folder once you run a client. From which you can make the packet db like before.
     
    Alright where to get it?
     
    Github Repository: https://github.com/MStr3am/PEEK.git
     
    No this time i didn't bother to make a RAR file - Lets face it you must be already handling git repositories anyways
  23. Like
    Neo-Mind got a reaction from Kyoya G in NEMO - Client Patcher   
    N.E.M.O. - Neo Exe Modification Organizer

    Why another client patcher? well
    1) WeeDiffGen - isn't working for 2013 clients + it depends on dlls (not that its a bad thing but i like scripting )
    2) xDiffGen - yes its scripted but we need to depend on xdiff files.

    so i made a new one based on xDiffGen and here it is. The patches are written in QtScript format.
    Details of making a patch have already been written in a seperate topic - although now it needs to be updated with more details.
    I have already converted most of the patches from xDiffGen.

    Why this name? - well I didn't want it to be called * Gen No offense  
    plus someone keeps calling me Nemo in IRC which gave me the idea

    Snapshot
    -----------------


    How to use?
    ---------------------
    1) First you need to specify your client file in Input Exe file box. If you browse to select the file name, Output Patched box gets updated with a _patched suffix filename automatically. Ofcourse you can select your own name for the output.
     
    2) Next we need to load both the client and the scripts (patches & addons). so click Load Client button.
     
    3) Select the patches you want . In case you patched once before (for whatever date) they will be saved in your local and you can use the Select Previous button to select them again. Also you can try using the Select Rcomnded button to select all the Recommended patches.
     
    4) So your patches are selected and client is loaded what next but to Apply Patches  which will generate the output file. In 2.0 version , NEMO also generates a .secure.txt file containing the MD5, SHA1 and CRC32 values of the output exe file which you can use in various tools.
     
    5) You can use the Save Profile and  Load Profile buttons for saving/reloading a set of patches & input values, that you have selected (even if they are not applied) for future use.
     
    6) Whenever you apply patches to a client, NEMO updates the patchlist.log file (along with Inputlist.db) in the folder where NEMO.exe is. This file will contain the list of patches you have applied along with their IDs (do not tamper with either of them).
     
    Changes in 2.0:
    ----------------------
    1) I have made some obvious modifications to the interface (you can definitely see the change in case you have seen v1.0).
         i) Buttons have come downwards and is no longer strippable (toolbar has been fixed in position)
     
         ii) New status Label has been added which shows your currently loaded client date and how many patches are selected.
     
         iii) NEMO now has support for Addons - scripts that are meant to retrieve data from the client and do its own thing (not patch the client).
              All the Extract xDiff patches has been added here already. 1 extra addon will be coming soon once i can fix it.
     
         iv) New Filter box has been added which does live search (i.e. filter as you type) for filtering out only the patches u want to see.
               For e.g. if you type color, it will only show patches that have the string color in either it's name or the description.
              You can also use regular expression . Also you can sort the columns now
     
        v) An upcoming feature - Test Patches. this one you can use for testing a newly added patch for a variety of clients that you select.
     
    2) NEMO is no longer there in SVN. I have shifted it to GitHub . The rar file uploaded has the .git file so you should be able to directly pull to get updates. But just in case I have also provided the repository link below.
     
    Remember to pull for updates before using NEMO and let me know if you are facing any bugs or issues or if i have missed out on anything. Enjoy .
     
    Repository: https://github.com/MStr3am/NEMO.git
     
    Download Link: NEMO zip file 
  24. Upvote
    Neo-Mind got a reaction from evilpuncker in I wanna skip the 'server selection menu' at the very start of the client.   
    i have fixed the service selection patch just need to push the edits in when i get home today.
  25. Upvote
    Neo-Mind got a reaction from anjasoleil0 in I wanna skip the 'server selection menu' at the very start of the client.   
    i have fixed the service selection patch just need to push the edits in when i get home today.
×
×
  • Create New...

Important Information

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