Kichi
-
Content Count
97 -
Joined
-
Last visited
-
Days Won
2
Reputation Activity
-
Kichi got a reaction from Aly in Why doesn't Hercules have homunculus-S skills?
as i remember first 3rd job has no fixed skills, and someone made the skill by read the skill description.
with course of time 1 by 1 got fixed with right formula.
i remember that first Tiger Cannon able to do more than 1 damage on Plant Mob.
many example cases of this:
Wave Instance -> not yet implemented , no one get start this T_T
First Cash Shop -> Thx god implemented, before most people not agree with various reasons.
and i think, at least we (hercules) have it first (homunculus S skill), why? because it's nice start to introduce or attract people to find right formula / bug.
Newbie like me won't thinking to much, as long as the skill work (no matter the formula) i'll say "it's nice". When something different from description, people like will post on Bug Skill or someone will try to made pull request
-
Kichi reacted to jaBote in Hercules Ultimate Localization Design
Please remember any .pot files are not for smoking. We at Hercules are always concerned for your health. (Joke based on one Jman told in IRC)
-
Kichi reacted to Ind in Hercules Ultimate Localization Design
Hercules Ultimate Localization Design
Hello~! - What?!
Servers are now able to run under any number of languages, without having any of the default files modified Designed by Haruna and Ind
Translating NPCs without editing them
By launching map server with the --generate-translations param a .pot (.po template) file will be created with all of the servers translate-able strings (including all npc dialogue), this file can be edited in text mode or by utilising any .po editor (there are many out there; for a high range of OSes) A .po file does not need to be fully translated to be used, map server will know when loading the file, and will fallback to the hardcoded string in the npc files as necessary Users are able to change their language with the new @lang command, @lang controls what language users see in @commands (msg_txt stuff) as well as over npc dialogues map-server.conf has a new setting called default_language where server owners may specify which language should be used as a base When you have a new .po file you want map server to use, add it to db/translations.conf Easy to Maintain
Since .po is a widely used format there are many tools that can help with merging for example Poedit, which easily consolidates a translated .po file with a newly generated .pot. For example when you have a translated .po and since it was created npc dialogs were added or modified all you have to do is launch map server to generate a new .pot, open your old .po in Poedit, go "Catalog -> Update from POT file" and it will insert the new translatable strings without touching your existing translations, it will also notify you of any "obsolete" strings that are in your .po file but that are no longer in use Script Command Macro
Besides messages.conf, all the dialogue utilised by 'mes' and 'select' is included in the .pot automatically, this patch also introduces a mechanism for utilising strings outside of these commands, the script macro _() which can be employed just as if it were a script function, for example set .@status$,_("Available"); tells map server to export "Available" as a translate-able string when it is run with --generate-translations (when running map server normally the macro has no overhead during runtime) Special Thanks to
Raizen and Roberto from Cronus, we would not have worked on this if it weren't for them Links~!
Commit Editing Example
-
Kichi reacted to ossi0110 in Custom Quests Lists (bad argument #1 to 'ipairs')
Hello perculis
yes it is possibl to add custom quest lub files , the most existing servers are adding new Tabs into a existing lub file . BUT with the NEMO patcher you can add your own lub files .
Since the quest_lubs are hardcoded into the client , NEO made a patch to add custom entrys for it.
if you dont got NEMO Patcher , you can Download it here.
http://herc.ws/board/topic/2905-nemo-client-patcher/
when you download it , you will need a .txt file what contains the path and names of your custom lub files.
example:
i made a txt file called endlessro.txt
and i want to have ingame a EndlessRO quest tab
then you have to add into txt file this 2 lines
localquestlocal_endlessroquest_list <------------ Just an Examplelocalquestquestinfol_endlessro_list <------------ Just an Example if you want them displayed ingame in the Episode Tab you can need to write this in the txt file epquestep_146quest_list <------------ Just an Exampleepquestquestinfoepsoid146_list <------------ Just an Example
if you got the txt file rdy , open up nemo and select the Read custom quest lubs , and browse him to your txt file and patch it. after your done with it be sure to add the corrext values into the quest_function.lub what is loacted in the quest/ lub folder. makeLocalQuestList(LOCAL_EndlessroQuest_List)QuestTable.EndlessroQuest = EndlessroQuest_List
after your done with the quest_function.lub be sure to create the correct custom quest lubs , Be sure the names are all matching /localquest/local_endlessroquest_list LOCAL_EndlessroQuest_List = { { name = [[EndlessRO Quests]], imagefile = [[ep_test_sample.bmp]], list = { { name = [[Test entry 1]], list = { { name =[[Test entry 2]], scrfilename = [[EndlessroQuest]], questID = 15000, }, }, } }, }, }
/localquest/quest/l_endlessro_list.lub
EndlessroQuest_List = {[15000] = { NPCFromName = [[4_MAL_CAPTAIN]], NPCFromMap = [[malaya]], NPCFromSpr = [[4_MAL_CAPTAIN]], NPCFromX = 290, NPCFromY = 340, NPCToName = [[Guard Leader]], NPCToMap = [[malaya]], NPCToSpr = [[4_MAL_CAPTAIN]], NPCToX = 290, NPCToY = 340, Item = [[]], PrizeItem = [[ < image = "6497">Lesser Agimat<end> (3) < image = "6497">Lesser Agimat(PC)<end> (6)]], Title = [[Hello Neo Its Working]], Info = [[Hello Neo Its Working]], Hunt1 = [[ < link = "PORING">Poring<end>]], Hunt2 = [[]], Hunt3 = [[]], Time = [[0]], LV = [[0]], },}
-
Kichi reacted to Neo-Mind in [Release] Custom Job & Custom Shield Patches
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 u 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 mount sprite for a class you can ignore this one. [pcJobTbl.JT_KAGEROU] = pcJobTbl.JH_KAGEROU, -- maps kagerou job to his frog mounted sprite 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 TypeSI_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 -
Kichi got a reaction from JulioCF in NDG Protection
No Delay Grf Protection
NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.
History:
This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).
But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).
Implementation:
Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect
Feature:
-The user still able to use double SB / CI / etc.
-You may switch on and off.
-Very simple
Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.
Note:
I've been testing NoDelayGrf on augst 2013 and doesn't work,
i've tested this using WPE
i've got the numbers from comparing with and without *cheat
DOWNLOAD
src:
Herc - NDG Protection.diff
import/
battle_conf.txt
-
Kichi reacted to jaBote in script_command call NPC
You've got a clear example at mob.c for example, on this chunk of code (sorry for no tabs at all, it screws up):
if( md->npc_event[0] && !md->state.npc_killmonster ) { if( sd && battle_config.mob_npc_event_type ) { pc->setparam(sd, SP_KILLERRID, sd->bl.id); npc->event(sd,md->npc_event,0); } else if( mvp_sd ) { pc->setparam(mvp_sd, SP_KILLERRID, sd?sd->bl.id:0); npc->event(mvp_sd,md->npc_event,0); } else npc->event_do(md->npc_event); } else if( mvp_sd && !md->state.npc_killmonster ) { pc->setparam(mvp_sd, SP_KILLEDRID, md->class_); npc->script_event(mvp_sd, NPCE_KILLNPC); // PCKillNPC [Lance] }
Just use npc->script_event(sd, npc_event) for when you want to attach a player or npc->event_do(npc_event) for an event without any attached player. The NPC event can be hardcoded if you want ("NPCNAME::OnMyEventName") if you find it simpler.
-
Kichi reacted to Dastgir in Display Name to item_db
Requested by AngelMelody: http://herc.ws/board/topic/2954-item-db-file-structure-overhaul/page-4#entry37029
This is a simple tool which allows you to copy display names for range of items from idnum2itemdisplayname.txt or from iteminfo.lua to your item_db.conf, within just 30 seconds.
Link: https://github.com/dastgir/LuaScripts/tree/master/Lua/CopyDisplayName
just run copyname.bat and input the details it requires.
-
Kichi reacted to Mystery in Requested Links
I decided to bring this topic alive over here in Hercules. I've gathered a few different other links that I found to be interesting and removed some that were dead and no longer had any use. Hopefully I'll be able to keep this topic as updated as I possibly can, of course with everyone's help!
________________________________________________________________________________________________
Updated: September 6th 2016
________________________________________________________________________________________________
Important Links
Getting Started ~ http://ratemyserver....wnload_kROLinks Ragnarok Online Patchers - http://nn.nachtwolke.com/dev/rsu/
Clients & Diff Patchers
Ragnarok Clients - http://supportmii.com/ro1/Clients/ (Clients: 2010-2013) Clientside - http://www.assembla....bversion/nodes/ ShinsDiffPatcher - https://subversion.a...insDiffPatcher/ Neo's NEMO Client Patcher - http://herc.ws/board/topic/2905-nemo-client-patcher/
LUA, LUB, & Data
Lub --> Lua Decompiler - http://herc.ws/board/files/file/52-luadec-for-lua-514-a-easy-and-super-powerful-lub-lua-decompiler/ Lua Files - https://www.assembla.com/code/ClientSide/subversion/nodes/Lua_Project/lua files?rev=270 Lub Files - https://www.assembla.com/code/ClientSide/subversion/nodes/Lua_Project/lubs?rev=270 Data Folder - https://www.assembla.com/code/ClientSide/subversion/nodes/Translation_Project?rev=270
Packets
Packets - http://svn6.assembla.com/svn/ClientSide/Packets/Packet_db/ Packet Lengths - http://svn6.assembla.com/svn/ClientSide/Packets/Packet_lengths/
Client Tools + Browedit
SupportMii - http://supportmii.com/ro1/tools/ Browedit - http://browedit.exca...com/?a=download
Shin's Programs
WeeMapCache - https://subversion.a...nk/WeeMapCache/ Wee Thumbnail - https://subversion.a...k/WeeThumbnail/
Login Screen Generator
Login Screen Generator - http://rathena.org/t...gin_background/
Game Server Patchers
Thor Patcher - http://thor.aeomin.net/ Triad Patcher - http://www.nitroconc...d/index_eng.php
Control Panels
Triton Control Panel - http://herc.ws/board/topic/106-triton-control-panel-2-alpha/ Flux Control Panel for Hercules - https://github.com/HerculesWS/FluxCP Ceres Control Panel - http://sourceforge.n.../cerescp/files/ StarGames Control Panel - https://github.com/Mysteries/StarGamesControlPanel
Guides & Information
Juda's Bible - http://supportmii.co.../JudasBible.pdf Hercules' Wiki - http://herc.ws/wiki/Main_Page
Codes / Script Pasting Sites
kPaste - http://hercules.kpaste.net uPaste - http://upaste.me Pastebin - http://pastebin.com/
Client Protection
Setup.exe
BlueGhost Setup - http://www.mediafire.com/?pnuka5kfgvjfndu
OpenSetup - http--,,--//www.mediafire...abj2jau2wxbvoiu
If you believe something should be added or I've missed something, please reply to this topic with it or you could email me at [email protected].
-
Kichi got a reaction from Edgar in NDG Protection
No Delay Grf Protection
NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.
History:
This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).
But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).
Implementation:
Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect
Feature:
-The user still able to use double SB / CI / etc.
-You may switch on and off.
-Very simple
Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.
Note:
I've been testing NoDelayGrf on augst 2013 and doesn't work,
i've tested this using WPE
i've got the numbers from comparing with and without *cheat
DOWNLOAD
src:
Herc - NDG Protection.diff
import/
battle_conf.txt
-
Kichi got a reaction from Jamaeeeeecah in NDG Protection
No Delay Grf Protection
NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.
History:
This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).
But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).
Implementation:
Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect
Feature:
-The user still able to use double SB / CI / etc.
-You may switch on and off.
-Very simple
Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.
Note:
I've been testing NoDelayGrf on augst 2013 and doesn't work,
i've tested this using WPE
i've got the numbers from comparing with and without *cheat
DOWNLOAD
src:
Herc - NDG Protection.diff
import/
battle_conf.txt
-
Kichi got a reaction from Alexandria in NDG Protection
No Delay Grf Protection
NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.
History:
This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).
But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).
Implementation:
Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect
Feature:
-The user still able to use double SB / CI / etc.
-You may switch on and off.
-Very simple
Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.
Note:
I've been testing NoDelayGrf on augst 2013 and doesn't work,
i've tested this using WPE
i've got the numbers from comparing with and without *cheat
DOWNLOAD
src:
Herc - NDG Protection.diff
import/
battle_conf.txt
-
Kichi got a reaction from Angelmelody in NDG Protection
No Delay Grf Protection
NDG Protection is a src modification to make sure NDG,speed hack, WPE Users still follow the rules.
History:
This is a simple code, which we have made since long to minimize the NDG User.
The first way to solve NDG, we add a cooldown for skills that dosn't has a fixed cooldown (Sonic Blow, Cross Impact, etc).
But the player doesn't allowed to do double cast.
Finaly we made this code that minimize the NDG users, but still keep the original feature that is double cast for some skills (Sonic Blow, Cross Impact, etc).
Implementation:
Download 2 files above Use manual way to diff (first file) the core and recompile. Copy Paste the second file to "conf/import/" And you will see the effect
Feature:
-The user still able to use double SB / CI / etc.
-You may switch on and off.
-Very simple
Any comments, suggestions, even critism in order to make this feature better is opened.
Thank You.
Note:
I've been testing NoDelayGrf on augst 2013 and doesn't work,
i've tested this using WPE
i've got the numbers from comparing with and without *cheat
DOWNLOAD
src:
Herc - NDG Protection.diff
import/
battle_conf.txt