diff options
Diffstat (limited to 'doc')
39 files changed, 239 insertions, 205 deletions
diff --git a/doc/atcommands.txt b/doc/atcommands.txt index a0afa043c..b31fe4cef 100644 --- a/doc/atcommands.txt +++ b/doc/atcommands.txt @@ -1,7 +1,7 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Atcommand List //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20130115 //===== Description: ========================================= @@ -9,7 +9,7 @@ //============================================================ This file describes the usage of in-game commands and assumes that -'conf/atcommand_athena.conf' has the following: +'conf/atcommand.conf' has the following: atcommand_symbol : "@" charcommand_symbol: "#" diff --git a/doc/ea_job_system.txt b/doc/ea_job_system.txt index f29278f50..034b4a617 100644 --- a/doc/ea_job_system.txt +++ b/doc/ea_job_system.txt @@ -1,9 +1,9 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= eAthena Job System //===== By: ================================================== //= Skotlex //===== Current Version: ===================================== -//= 20120610 +//= 2013-02-10 //===== Description: ========================================= //= A reference description of eA's inner job system (for use //= in scripts through the eaclass and roclass script commands). @@ -19,7 +19,7 @@ Preface: The eA Job System: ------------------------------------------------------------------------------- - Since the code also required to do this kind of checks for various skills (The Soul Linker Spirit buffs specially come to mind), an alternate job ID system was developed, which attempts to make more sense and make it easier to check where a particular job stands in relation to the rest. + Since the code also required to do this kind of checks for various skills (the Soul Linker Spirit buffs specifically come to mind), an alternate job ID system was developed, which attempts to make more sense and make it easier to check where a particular job stands in relation to the rest. The scheme consists in that every job can be broken down by 3 criteria: @@ -84,53 +84,57 @@ If we had used addition, we would have gotten a completely different result. The EAJL (eA Job Level) constants ------------------------------------------------------------------------------- - There are a few constants which can be used to filter out and make job comparisons easier. + There are a few constants which can be used to filter out and make job comparisons easier. The comparisons involve eA job IDs, not classic job IDs, using the eaclass() command explained in the next section. + + set @eac, eaclass(); EAJL_2_1: Checks if the class is a 2-1 class: - if (@job&EAJL_2_1) + if (@eac&EAJL_2_1) mes "Using the classic 2-1 job, huh?"; EAJL_2_2: - Checks if the class is 2-2. + Checks if the class is a 2-2 class: + if (@eac&EAJL_2_2) + mes "Oh, a 2-2 job!"; EAJL_2: Checks if the class is a 2nd Class. If the check fails, you can be sure the character is a first class. - if (!(@job&EAJL_2)) + if (!(@eac&EAJL_2)) mes "Will you wait until Job 50 to change?"; EAJL_UPPER: Check if a class is Rebirth/Advanced: - if(@job&EAJL_UPPER) + if(@eac&EAJL_UPPER) mes "It must have taken you a LONG time..."; EAJL_BABY: Check if a class is an adopted class. - if (@job&EAJL_BABY) + if (@eac&EAJL_BABY) mes "Don't you hate being weak?"; EAJL_THIRD: Checks if a class is a third job. - if(@job&EAJL_THIRD) + if(@eac&EAJL_THIRD) mes "Wow, you've really grown!"; EAJ_UPPERMASK: The upper mask can be used to "strip" the upper/baby characteristics of a class, used when you want to know if someone is a certain class regardless of rebirth/adopted status. For example, the following code would go through for Monks, Champions and Baby Monks: - if ((@job&EAJ_UPPERMASK) == EAJ_MONK) + if ((@eac&EAJ_UPPERMASK) == EAJ_MONK) mes "Aren't knuckles such a cool weapon?"; Note that if instead of EAJ_MONK you used EAJ_CHAMPION or EAJ_BABY_MONK, the check would had never passed, since the upper/baby state has been removed from the original job when checking. EAJ_BASEMASK: This mask strips also the 2nd class attributes. It can be used to check against the basic job of a character. For example, the following code would go through for Merchants (+Baby Merchant and High Merchant), Blacksmiths (+Baby blacksmiths and Whitesmith) and Alchemist (+Baby Alchemist and +Creator): - if ((@job&EAJ_BASEMASK) == EAJ_MERCHANT) + if ((@eac&EAJ_BASEMASK) == EAJ_MERCHANT) mes "Why I can't have discount like you guys do?"; Note that, like before, if you try to check versus any of the other classes (High merchant, blacksmith, etc) instead of basic merchant, the check will always fail for the same reasons previously explained. EAJ_THIRDMASK: This mask strips 3rd class attributes. It will give the "normal" class of a third job, regardless of rebirth/adopted status. When used on non-third class characters, it will return the second job, or, if that also doesn't exist, the first. - if ((@job&EAJ_THIRDMASK) == EAJ_WARLOCK_T) + if ((@eac&EAJ_THIRDMASK) == EAJ_WARLOCK_T) mes "You've gone through rebirth, I see."; The script commands eaclass, roclass: @@ -189,5 +193,5 @@ About Novices and Super Novices: So as you can see, on this job system, the Super Novice is treated as the 2-1 job of a Novice, and the Novice job it's at the same level of the other 1st jobs. Even though that may seem like a hindrance, it makes it very easy to add a check to discard Novice types from a quest: - if ((@job&EAJ_BASEMASK) == EAJ_NOVICE) + if ((eaclass()&EAJ_BASEMASK) == EAJ_NOVICE) //Novice class detected. diff --git a/doc/effect_list.txt b/doc/effect_list.txt index c24791260..19b323cc6 100644 --- a/doc/effect_list.txt +++ b/doc/effect_list.txt @@ -1,7 +1,7 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Client Effects List //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20120822 //===== Description: ========================================= diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt index 490f3bc24..559e49414 100644 --- a/doc/item_bonus.txt +++ b/doc/item_bonus.txt @@ -1,7 +1,7 @@ -//===== rAthena Documentation ================================ -//= rAthena Item Bonuses List +//===== Hercules Documentation ================================ +//= Hercules Item Bonuses List //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121219 //===== Description: ========================================= @@ -409,8 +409,11 @@ bonus2 bSkillUseSPrate,s,x; Reduces SP consumption of skill s by x%. (supports bonus2 bSkillUseSP,s,x; Reduces SP consumption of skill s by x. (supports skill names.) bonus2 bSkillCooldown,s,x; Increases cooldown of skill s by x milliseconds. (supports skill names.) -bonus bFixedCastrate,x; Increases fixed cast time of skills by x%. -bonus bVariableCastrate,x; Increases variable cast time of skills by x%. +bonus bFixedCastrate,x; Increases fixed cast time of all skills by x%. +bonus bVariableCastrate,x; Increases variable cast time of all skills by x%. +bonus bFixedCast,x; Increases fixed cast time of all skills by x milliseconds; +bonus bVariableCast,x; Increases variable cast time of all skills by x milliseconds; bonus2 bSkillFixedCast,s,x; Increases fixed cast time of skill s by x milliseconds. (supports skill names.) bonus2 bSkillVariableCast,s,x; Increases variable cast time of skill s by x milliseconds. (supports skill names.) bonus2 bVariableCastrate,s,x; Increases variable cast time of skill s by x%. (supports skill names.) +bonus2 bFixedCastrate,s,x; Increases fixed cast time of skill s by x%. (supports skill names.)
\ No newline at end of file diff --git a/doc/item_db.txt b/doc/item_db.txt index d474b08c9..742a27089 100644 --- a/doc/item_db.txt +++ b/doc/item_db.txt @@ -1,7 +1,7 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Item Database //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20120904 //===== Description: ========================================= @@ -86,6 +86,7 @@ Upper: Equippable upper-types. Uses the following bitmasks: Gender: Gender restriction. 0 is female, 1 is male, 2 for both. Loc: Equipment's placement. Values are: + 2^13 8192 = Costume Garment/Robe 2^12 4096 = Costume Low Headgear 2^11 2048 = Costume Mid Headgear 2^10 1024 = Costume Top Headgear diff --git a/doc/map_cache.txt b/doc/map_cache.txt index 9bb401863..99e54ef06 100644 --- a/doc/map_cache.txt +++ b/doc/map_cache.txt @@ -1,11 +1,11 @@ -//===== rAthena Documentation ================================ -//= rAthena Map Cache Builder and Format Documentation +//===== Hercules Documentation ================================ +//= Hercules Map Cache Builder and Format Documentation //===== By: ================================================== //= DracoRPG //===== Current Version: ===================================== //= 20070724 //===== Description: ========================================= -//= A complete manual for rAthena's map cache generator as +//= A complete manual for Hercules' map cache generator as //= well as a reference on the map cache format used. //============================================================ @@ -14,7 +14,7 @@ Preface: Since SVN revision ~10000, the map-server no longer knows how to read GRFs directly. It reads maps from a "map cache" file that contains all and only the useful data about the maps. A map cache containing every official -kRO Sakray map currently supported by rAthena is provided as a default. +kRO Sakray map currently supported by Hercules is provided as a default. If you have custom maps or want to minimize the size of your map cache because your server does not load all of them (multi-map-server or light test server), you can use the map cache builder to generate a new one fitting your needs. @@ -22,7 +22,7 @@ Map cache builder manual: ------------------------------------------------------------------------------- The source code for the map cache builder is located in src/tool/. It can be built using "make tools" if you use the Makefile -or using the "mapcache" project under Visual Studio. Named "mapcache", the executable will be in your rAthena main folder. +or using the "mapcache" project under Visual Studio. Named "mapcache", the executable will be in your Hercules main folder. The map cache builder needs 3 file paths : one is a list of GRFs and/or data directory containing the maps, the second is the list of maps to add to the map cache, and the last one is the path of the map cache to generate. Default values for those paths are "tools/mapcache/grf_files.txt", "db/map_index.txt" and "db/(pre-)re/map_cache.dat". diff --git a/doc/md5_hashcheck.txt b/doc/md5_hashcheck.txt index b374335cb..12681f367 100644 --- a/doc/md5_hashcheck.txt +++ b/doc/md5_hashcheck.txt @@ -1,7 +1,7 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= MD5 Hash Check //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20120921 //===== Description: ========================================= @@ -17,7 +17,7 @@ server types, so a client diff is required to ensure the hash is sent. A link containing the required WeeDiffGen plugin can be found at: http://rathena.org/board/topic/70841-r16771-client-md5-hash-check/ -The settings for the hash check are located in conf\login_athena.conf: +The settings for the hash check are located in conf\login.conf: // Client MD5 hash check // If turned on, the login server will check if the client's hash matches diff --git a/doc/mob_db_mode_list.txt b/doc/mob_db_mode_list.txt index 4c2b85e4a..f747e38b0 100644 --- a/doc/mob_db_mode_list.txt +++ b/doc/mob_db_mode_list.txt @@ -1,11 +1,11 @@ -//===== rAthena Documentation ================================ -//= rAthena Monster Modes Reference +//===== Hercules Documentation ================================ +//= Hercules Monster Modes Reference //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20120630 //===== Description: ========================================= -//= A reference description of rAthena's mob_db 'mode' field. +//= A reference description of Hercules' mob_db 'mode' field. //============================================================ Bit Legend: diff --git a/doc/packet_struct_notation.txt b/doc/packet_struct_notation.txt index 25951acb5..c1598f3be 100644 --- a/doc/packet_struct_notation.txt +++ b/doc/packet_struct_notation.txt @@ -1,4 +1,4 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Packet Structure Notation //===== By: ================================================== //= Ai4rei @@ -29,7 +29,7 @@ The first line contains a brief description of what the packet does, or what it is good for, followed by it's AEGIS name in parentheses; first two letters of the AEGIS name specify origin (first letter) and destination (second letter) of the packet. If the packet's name -is not known or is not applicable (rAthena server-server packets), +is not known or is not applicable (Hercules server-server packets), specify at least these two letters to indicate the direction of the packet. Do not use S(end)/R(ecv) for this, as it is inaccurate and location dependent (if the description is copied to different server diff --git a/doc/permissions.txt b/doc/permissions.txt index 129d384f4..1dbfd0056 100644 --- a/doc/permissions.txt +++ b/doc/permissions.txt @@ -1,9 +1,9 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Permission List //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== -//= 20120606 +//= 20130330 //===== Description: ========================================= //= Player group permissions, configured in /conf/groups.conf. //============================================================ @@ -30,4 +30,5 @@ receive_requests : Ability to receive @requests. show_bossmobs : Ability to see boss mobs with @showmobs. disable_pvm : Ability to disable Player vs. Monster. disable_pvp : Ability to disable Player vs. Player. -disable_commands_when_dead : Ability to disable @command usage when dead.
\ No newline at end of file +disable_commands_when_dead : Ability to disable @command usage when dead. +hchsys_admin : Hercules Chat System Admin (can modify channels settings regardless of ownership and join password-protected channels without password)
\ No newline at end of file diff --git a/doc/quest_variables.txt b/doc/quest_variables.txt index 8b9a6f3a3..556210dca 100644 --- a/doc/quest_variables.txt +++ b/doc/quest_variables.txt @@ -1,4 +1,4 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= Permanent Quest Variables //===== By: ================================================== //= Lupus diff --git a/doc/sample/bank_test.txt b/doc/sample/bank_test.txt index b040f80f2..e63ef7e12 100644 --- a/doc/sample/bank_test.txt +++ b/doc/sample/bank_test.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Bank Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20070315 //===== Description: ========================================= diff --git a/doc/sample/basejob_baseclass_upper.txt b/doc/sample/basejob_baseclass_upper.txt index fc0e9282e..04f7d310f 100644 --- a/doc/sample/basejob_baseclass_upper.txt +++ b/doc/sample/basejob_baseclass_upper.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Class Constants //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20110123 //===== Description: ========================================= diff --git a/doc/sample/checkoption.txt b/doc/sample/checkoption.txt index 0af9b2d36..eb768b9b2 100644 --- a/doc/sample/checkoption.txt +++ b/doc/sample/checkoption.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Checkoption //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20070315 //===== Description: ========================================= diff --git a/doc/sample/delitem2.txt b/doc/sample/delitem2.txt index 6810a3c26..f38d59c27 100644 --- a/doc/sample/delitem2.txt +++ b/doc/sample/delitem2.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Delitem2 //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20070315 //===== Description: ========================================= diff --git a/doc/sample/getequipcardid.txt b/doc/sample/getequipcardid.txt index 9c2e506d4..0447bf533 100644 --- a/doc/sample/getequipcardid.txt +++ b/doc/sample/getequipcardid.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Getequipcardid //===== By: ================================================== //= Lupus diff --git a/doc/sample/getequipid.txt b/doc/sample/getequipid.txt index 02d80780f..654c58f3b 100644 --- a/doc/sample/getequipid.txt +++ b/doc/sample/getequipid.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Getequipid //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121003 //===== Description: ========================================= diff --git a/doc/sample/getiteminfo.txt b/doc/sample/getiteminfo.txt index f2076cc75..15b81b749 100644 --- a/doc/sample/getiteminfo.txt +++ b/doc/sample/getiteminfo.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Getiteminfo //===== By: ================================================== //= Lupus diff --git a/doc/sample/getmonsterinfo.txt b/doc/sample/getmonsterinfo.txt index 084924739..079d9e7e9 100644 --- a/doc/sample/getmonsterinfo.txt +++ b/doc/sample/getmonsterinfo.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Getmonsterinfo //===== By: ================================================== //= Lupus diff --git a/doc/sample/gstorage_test.txt b/doc/sample/gstorage_test.txt index 9745b4b09..559f7f76e 100644 --- a/doc/sample/gstorage_test.txt +++ b/doc/sample/gstorage_test.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Guild Storage Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20070315 //===== Description: ========================================= diff --git a/doc/sample/localized_npc.txt b/doc/sample/localized_npc.txt index b3946162e..91bf46062 100644 --- a/doc/sample/localized_npc.txt +++ b/doc/sample/localized_npc.txt @@ -1,11 +1,9 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample localized NPC //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= v1.0 -//===== Compatible With: ===================================== -//= rAthena with setd, getd //===== Description: ========================================= //= Example of a localized NPC. //= diff --git a/doc/sample/npc_live_dialogues.txt b/doc/sample/npc_live_dialogues.txt index 6ba1c7ee2..22422d9af 100644 --- a/doc/sample/npc_live_dialogues.txt +++ b/doc/sample/npc_live_dialogues.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Live Dialogue //===== By: ================================================== //= Lupus diff --git a/doc/sample/npc_shop_test.txt b/doc/sample/npc_shop_test.txt index c86562cb4..fa58f3f52 100644 --- a/doc/sample/npc_shop_test.txt +++ b/doc/sample/npc_shop_test.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Shops //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20090206 //===== Description: ========================================= diff --git a/doc/sample/npc_test_array.txt b/doc/sample/npc_test_array.txt index 97aa5baf0..b6185adbc 100644 --- a/doc/sample/npc_test_array.txt +++ b/doc/sample/npc_test_array.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Array Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20090206 //===== Description: ========================================= diff --git a/doc/sample/npc_test_chat.txt b/doc/sample/npc_test_chat.txt index 7a8a65471..24176b802 100644 --- a/doc/sample/npc_test_chat.txt +++ b/doc/sample/npc_test_chat.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Chat Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121003 //===== Description: ========================================= diff --git a/doc/sample/npc_test_checkweight.txt b/doc/sample/npc_test_checkweight.txt index 195ff856e..e2560cedf 100644 --- a/doc/sample/npc_test_checkweight.txt +++ b/doc/sample/npc_test_checkweight.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: CheckWeight //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121113 //===== Description: ========================================= diff --git a/doc/sample/npc_test_duplicate.txt b/doc/sample/npc_test_duplicate.txt index 46684c3d2..237e7e57d 100644 --- a/doc/sample/npc_test_duplicate.txt +++ b/doc/sample/npc_test_duplicate.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Duplicate Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20070915 //===== Description: ========================================= diff --git a/doc/sample/npc_test_func.txt b/doc/sample/npc_test_func.txt index 1a60ac69d..fbde70cd1 100644 --- a/doc/sample/npc_test_func.txt +++ b/doc/sample/npc_test_func.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Functions //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20120901 //===== Description: ========================================= diff --git a/doc/sample/npc_test_npctimer.txt b/doc/sample/npc_test_npctimer.txt index f3f661b6d..f3c2d8bee 100644 --- a/doc/sample/npc_test_npctimer.txt +++ b/doc/sample/npc_test_npctimer.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: NPC Timers //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121003 //===== Description: ========================================= diff --git a/doc/sample/npc_test_npctimer2.txt b/doc/sample/npc_test_npctimer2.txt index bd634b9d2..6c5d139f0 100644 --- a/doc/sample/npc_test_npctimer2.txt +++ b/doc/sample/npc_test_npctimer2.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Attached NPC Timers //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121003 //===== Description: ========================================= diff --git a/doc/sample/npc_test_pcre.txt b/doc/sample/npc_test_pcre.txt index adc96f585..09f65e607 100644 --- a/doc/sample/npc_test_pcre.txt +++ b/doc/sample/npc_test_pcre.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: PCRE //===== By: ================================================== //= rAthena Dev Team diff --git a/doc/sample/npc_test_quest.txt b/doc/sample/npc_test_quest.txt index 15fcdc210..39f838e23 100644 --- a/doc/sample/npc_test_quest.txt +++ b/doc/sample/npc_test_quest.txt @@ -1,7 +1,7 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Quest Test //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== //= 20121227 //===== Description: ========================================= diff --git a/doc/sample/npc_test_setitemx.txt b/doc/sample/npc_test_setitemx.txt index eba53e008..10d8daaaa 100644 --- a/doc/sample/npc_test_setitemx.txt +++ b/doc/sample/npc_test_setitemx.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Setiteminfo & Setitemscript //===== By: ================================================== //= Lupus diff --git a/doc/sample/npc_test_setmapflag.txt b/doc/sample/npc_test_setmapflag.txt index 00da0d37d..010a6f85d 100644 --- a/doc/sample/npc_test_setmapflag.txt +++ b/doc/sample/npc_test_setmapflag.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Mapflag Test //===== By: ================================================== //= Jbain diff --git a/doc/sample/npc_test_skill.txt b/doc/sample/npc_test_skill.txt index 99eaa9f37..cc6de3bbc 100644 --- a/doc/sample/npc_test_skill.txt +++ b/doc/sample/npc_test_skill.txt @@ -1,9 +1,9 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Skill //===== By: ================================================== -//= rAthena Dev Team +//= Hercules Dev Team //===== Current Version: ===================================== -//= 20121003 +//= 20130426 //===== Description: ========================================= //= Demonstrates the 'skill' command. //============================================================ @@ -12,12 +12,13 @@ // flag=0 Grants the skill permanently // flag=1 Grants the skill temporarily // flag=2 Level bonus, stackable +// flag=3 Grants the skill permanently even after skill resets/job changes // If flag is undefined, it defaults to 1 // View db/(pre-)re/skill_db.txt for skill IDs prontera,157,182,0 script Skills 116,{ mes "What skill would you like?"; - switch(select("First Aid:Play Dead:Heal:None")) { + switch(select("First Aid:Play Dead:Heal:Sight:None")) { case 1: skill 142,1,0; // Permanently gives player level 1 First Aid close; @@ -28,6 +29,9 @@ prontera,157,182,0 script Skills 116,{ skill 28,3,1; // Temporarily gives player level 3 Heal close; case 4: + skill 10,1,3; // Permanently gives player level 1 Sight, even after skill resets/job changes + close; + case 5: close; } } diff --git a/doc/sample/npc_test_time.txt b/doc/sample/npc_test_time.txt index 8c5cbdb3e..f9c40b910 100644 --- a/doc/sample/npc_test_time.txt +++ b/doc/sample/npc_test_time.txt @@ -1,4 +1,4 @@ -//===== rAthena Script ======================================= +//===== Hercules Script ======================================= //= Sample: Time Test //===== By: ================================================== //= rAthena Dev Team diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 2b1aa5d59..bf462c812 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -1,18 +1,14 @@ -//===== rAthena Documentation ================================ -//= rAthena Script Commands +//===== Hercules Documentation ================================ +//= Hercules Script Commands //===== By: ================================================== -//= rAthena Dev Team -//===== Current Version: ===================================== -//= $Revision$ -//===== Last Updated: ======================================== -//= $LastChangedDate$ +//= Hercules Dev Team //===== Description: ========================================= -//= A reference manual for the rAthena scripting language. +//= A reference manual for the Hercules scripting language. //= Commands are sorted depending on their functionality. //============================================================ This document is a reference manual for all the scripting commands and functions -available in current rAthena SVN. It is not a simple tutorial. When people tell +available in current Hercules GIT. It is not a simple tutorial. When people tell you to "Read The F***ing Manual", they mean this. The information was mostly acquired through looking up how things actually work @@ -75,7 +71,7 @@ Wherever you refer to a map name, it's always 'mapname' or 'mapname.gat' Script loading structure ------------------------ -Scripts are loaded by the map server as referenced in the 'conf/map_athena.conf' +Scripts are loaded by the map server as referenced in the 'conf/map-server.conf' configuration file, but in the default configuration, it doesn't load any script files itself. Instead, it loads the file 'npc/scripts_main.conf' which itself contains references to other files. The actual scripts are loaded from txt @@ -83,7 +79,7 @@ files, which are linked up like this: npc: <path to a filename> -Any line like this, invoked, ultimately, by 'map_athena.conf' will load up the +Any line like this, invoked, ultimately, by 'map-server.conf' will load up the script contained in this file, which will make the script available. No file will get loaded twice, to prevent possible errors. @@ -101,7 +97,7 @@ place it. // This line will be ignored when processing the script. Block comments can also be used, where you can place /* and */ between any text you -wish rAthena to ignore. +wish Hercules to ignore. Example: /* This text, @@ -122,7 +118,7 @@ expect commands, command name first, but rather, normally start with a map name. What's more confusing about the top-level commands is that most of them use a tab symbol to divide their arguments. -To prevent problems and confusion, the tab symbols are written as '%TAB%' +To prevent problems and confusion, the tab symbols are written as '%TAB%' or '<TAB>' throughout this document, even though this makes the text a bit less readable. Using an invisible symbol to denote arguments is one of the bad things about this language, but we're stuck with it for now. :) @@ -154,12 +150,12 @@ Monster name is the name the monsters will have on screen, and has no relation whatsoever to their names anywhere else. It's the mob id that counts, which identifies monster record in 'mob_db.txt' database of monsters. If the mob name is given as "--ja--", the 'japanese name' field from the monster database is -used, (which, in rAthena, actually contains an English name) if it's "--en--", +used, (which, in Hercules, actually contains an English name) if it's "--en--", it's the 'english name' from the monster database (which contains an uppercase name used to summon the monster with a GM command). Amount is the amount of monsters that will be spawned when this command is -executed, it is affected by spawn rates in 'battle_athena.conf'. +executed, it is affected by spawn rates in 'battle.conf'. Delay1 and delay2 control monster respawn delays - the first one is the fixed base respawn time, and the second is random variance on top of the base time. @@ -286,9 +282,9 @@ to -1, the 'buy price' given in the item database will be used. Otherwise, the price you gave will be used for this item, which is how you create differing prices for items in different shops. -Since trunk r12264 you can alternatively use "cashshop" in place of "shop" -to use the Cash Shop interface, allowing you to buy items with special points -(Currently stored as account vars in global_reg #CASHPOINTS and #KAFRAPOINTS.) +You can alternatively use "cashshop" in place of "shop" to use the Cash Shop +interface, allowing you to buy items with special points (Currently stored as +account vars in global_reg #CASHPOINTS and #KAFRAPOINTS). This type of shop will not allow you to sell items at it, you may only purchase items here. The layout used to define sale items still count, and "<price>" refers to how many points will be spent purchasing the them. @@ -407,7 +403,7 @@ Variables The meat of every programming language is variables - places where you store data. -In the rAthena scripting language, variable names are not case sensitive. +In the Hercules scripting language, variable names are not case sensitive. Variables are divided into and uniquely identified by the combination of: prefix - determines the scope and extent (or lifetime) of the variable @@ -544,9 +540,9 @@ If you try to set Zeny to a negative number, the script will be terminated with Assigning variables --------- --------- -As of rAthena revision 15982, variables can be accessed and assigned values directly -without the use of the built-in 'set' function. This means that variables can be -accessed and modified much like other programming languages. +Variables can be accessed and assigned values directly without the use of the built-in +'set' function. This means that variables can be accessed and modified much like other +programming languages. @x = 100; @x = @y = 100; @@ -584,7 +580,7 @@ To include symbol '"' in a string you should use prefix '\"' Arrays ------ -Arrays (in rAthena at least) are essentially a set of variables going under the +Arrays (in Hercules at least) are essentially a set of variables going under the same name. You can tell between the specific variables of an array with an 'array index', a number of a variable in that array: @@ -731,7 +727,7 @@ Logical bitwise operators work only on numbers, and they are the following: | - Or. The bitwise operator AND (&) is used to test two values against each other, and results in setting bits which are active in both arguments. This can - be used for a few things, but in rAthena this operator is usually used to + be used for a few things, but in Hercules this operator is usually used to create bit-masks in scripts. The bitwise operator OR (|)sets to 1 a binary position if the binary position @@ -1143,7 +1139,7 @@ will make @x equal 100. will compute 1+5/8+9 (which is, surprisingly, 10 - remember, all numbers are integer in this language) and make @x equal it. -Returns the variable reference (since trunk r12870). +Returns the variable reference. --------------------------------------- @@ -1427,9 +1423,9 @@ This is done to prevent exploits in badly written scripts, which would let people, for example, put negative amounts of Zeny into a bank script and receive free Zeny as a result. -Since trunk r12192 the command has two optional arguments and a return value. +The command has two optional arguments and a return value. The default value of 'min' and 'max' can be set with 'input_min_value' and -'input_max_value' in script_athena.conf. +'input_max_value' in script.conf. For numeric inputs the value is capped to the range [min,max]. Returns 1 if the value was higher than 'max', -1 if lower than 'min' and 0 otherwise. For string inputs it returns 1 if the string was longer than 'max', -1 is @@ -1479,15 +1475,15 @@ generally cleaner: return 1;// it's odd } -Alternately, as of rAthena revision 15979 and 15981, user-defined functions -may be called directly without the use of the 'callfunc' script command. +Alternately, user-defined functions may be called directly without the use of +the 'callfunc' script command. - function<tab>script<tab>SayHello<tab>{ + function<TAB>script<TAB>SayHello<TAB>{ mes "Hello " + getarg(0); return 0; } - place,50,50,6<tab>script<tab>Man<tab>115,{ + place,50,50,6<TAB>script<TAB>Man<TAB>115,{ mes "[Man]"; SayHello strcharinfo(0); close; @@ -1603,7 +1599,7 @@ You can pass multiple arguments in a function call: getarg(0) would be 5, getarg(1) would be 4 and getarg(2) would be 3. -Getarg has an optional argument since trunk r10773 and stable r10958. +Getarg has an optional argument: If the target argument exists, it is returned. Otherwise, if <default_value> is present it is returned instead, if not the script terminates immediately. @@ -1995,7 +1991,7 @@ Example: for ( set .@i,0; .@i<.@bigloop; set .@i, .@i+1 ) { dothis; // will sleep the script for 1ms when detect an infinity loop to - // let rAthena do what it need to do (socket, timer, process, etc.) + // let Hercules do what it need to do (socket, timer, process, etc.) } freeloop(0); // disable @@ -2166,7 +2162,7 @@ This function will return the basic stats of an invoking character, referred to by the parameter number. Instead of a number, you can use a parameter name if it is defined in 'db/const.txt'. -For reference, these things are defined: +Example parameters: StatusPoint, BaseLevel, SkillPoint, Class, Upper, Zeny, Sex, Weight, MaxWeight, JobLevel, BaseExp, JobExp, NextBaseExp, NextJobExp, Hp, MaxHp, Sp, MaxSp, @@ -2453,16 +2449,19 @@ This function returns the item ID of the item equipped in the equipment slot specified on the invoking character. If nothing is equipped there, it returns -1. Valid equipment slots are: -EQI_HEAD_TOP (1) - Upper head gear -EQI_ARMOR (2) - Armor (Where you keep your Jackets and Robes) -EQI_HAND_L (3) - What is in your Left hand. -EQI_HAND_R (4) - What is in your Right hand. -EQI_GARMENT (5) - The garment slot (Mufflers, Hoods, Manteaus) -EQI_SHOES (6) - What foot gear the player has on. -EQI_ACC_L (7) - Accessory 1. -EQI_ACC_R (8) - Accessory 2. -EQI_HEAD_MID (9) - Middle Headgear (masks and glasses) -EQI_HEAD_LOW (10) - Lower Headgear (beards, some masks) +EQI_HEAD_TOP (1) - Upper head gear +EQI_ARMOR (2) - Armor (Where you keep your Jackets and Robes) +EQI_HAND_L (3) - What is in your Left hand. +EQI_HAND_R (4) - What is in your Right hand. +EQI_GARMENT (5) - The garment slot (Mufflers, Hoods, Manteaus) +EQI_SHOES (6) - What foot gear the player has on. +EQI_ACC_L (7) - Accessory 1. +EQI_ACC_R (8) - Accessory 2. +EQI_HEAD_MID (9) - Middle Headgear (masks and glasses) +EQI_HEAD_LOW (10) - Lower Headgear (beards, some masks) +EQI_COSTUME_HEAD_LOW (11) - Lower Costume Headgear +EQI_COSTUME_HEAD_MID (12) - Middle Costume Headgear +EQI_COSTUME_HEAD_TOP (13) - Upper Costume Headgear Notice that a few items occupy several equipment slots, and if the character is wearing such an item, 'getequipid' will return it's ID number for either slot. @@ -2516,7 +2515,7 @@ See 'getequipid' for a full list of valid equipment slots. *getitemname(<item id>) Given the database ID number of an item, this function will return the text -stored in the 'japanese name' field (which, in rAthena, stores an English name +stored in the 'japanese name' field (which, in Hercules, stores an English name the players would normally see on screen.) --------------------------------------- @@ -2904,7 +2903,7 @@ http://www.delorie.com/gnu/docs/glibc/libc_437.html All the format characters given in there should properly work. Max length is the maximum length of a time string to generate. -The example given in rAthena sample scripts works like this: +The example given in Hercules sample scripts works like this: mes gettimestr("%Y-%m/%d %H:%M:%S",21); @@ -3295,6 +3294,7 @@ Example: if (skillPointCount() > 20) mes "Wow, you have more then 20 Skill Points in total!"; +This command does not count skills which are set as flag 3 (permamently granted) (e.g. ALL_BUYING_STORE/ALL_INCCARRY) --------------------------------------- *getscrate(<effect type>,<base rate>{,<GID>}) @@ -3375,7 +3375,7 @@ Example 2: *basicskillcheck() This function will return the state of the configuration option -'basic_skill_check' in 'battle_athena.conf'. It returns 1 if the option is +'basic_skill_check' in 'battle.conf'. It returns 1 if the option is enabled and 0 if it isn't. If the 'basic_skill_check' option is enabled, which it is by default, characters must have a certain number of basic skill levels to sit, request a trade, use emotions, etc. Making your script behave differently @@ -3549,7 +3549,7 @@ warg and 0 if they don't. --------------------------------------- -*checkvending({"<player name>"}) +*checkvending({"<Player Name>"}) *checkchatting({"<Player Name>"}) Checks if the player is vending or in a chatroom. @@ -3574,6 +3574,13 @@ Examples: --------------------------------------- +*checkidle({"<Player Name>"}) + + Returns the time, in seconds, that the specified player has been idle. + Name is optional, and defaults to the attached player if omitted. + +--------------------------------------- + *agitcheck() *agitcheck2() @@ -3924,7 +3931,7 @@ changing jobs, which can be checked for later in scripts. *jobname (<job number>) -This command retrieves the name of the given job using the msg_athena entries 550->650. +This command retrieves the name of the given job using the messages.conf entries 550->650. mes "[Kid]"; mes "I never thought I'd met a "+jobname(Class)+" here of all places."; @@ -3934,15 +3941,15 @@ This command retrieves the name of the given job using the msg_athena entries 55 *eaclass ({<job number>}) -This commands returns the "eA job-number" corresponding to the given class (if none is given, it returns uses -the invoking player's class as argument). The eA job-number is also a class number system, but it's one that -comes with constants which make it easy to convert among classes. The command will return -1 if you pass it a -job number which doesn't has a eA Job value equivalent. +This commands returns the "eA job-number" corresponding to the given class, and +uses the invoking player's class if none is given. The eA job-number is also a +class number system, but it's one that comes with constants which make it easy +to convert among classes. The command will return -1 if you pass it a job number +which doesn't have an eA job-number equivalent. set @eac, eaclass(); if ((@eac&EAJ_BASEMASK) == EAJ_SWORDMAN) - mes "You must be a swordman, knight, crusader, paladin, high swordman, lord knight, baby swordman,"; - mes "baby knight or baby crusader."; + mes "Your base job is Swordman."; if (@eac&EAJL_UPPER) mes "You are a rebirth job."; if ((@eac&EAJ_UPPERMASK) == EAJ_SWORDMAN) @@ -3953,11 +3960,12 @@ For more information on the eA Job System, see the docs/ea_job_system.txt file. --------------------------------------- *roclass <job number> {,<gender>} -Does the opposite of eaclass. That is, given a eA Job class, it returns which is the corresponding RO class number. -A gender is required because both Bard and Dancers share the same eA Job value (EAJ_BARDDANCER), if it isn't given, the -gender of the executing player is taken (if there's no player running the script, male will be used by default). -The command returns -1 when there isn't a valid class to represent the required job (for example, if you try to get the -baby version of a Taekwon class). +Does the opposite of eaclass. That is, given an eA job-number, it returns the +corresponding RO class number. A gender is required because both Bard and Dancers +share the same eA job-number (EAJ_BARDDANCER), and uses the invoking player's +gender if none is given (if no player is attached, male will be used by default). +The command will return -1 if there is no valid class to represent the specified +job (for example, if you try to get the baby version of a Taekwon class). set @eac, eaclass(); //Check if class is already rebirth @@ -3976,15 +3984,17 @@ baby version of a Taekwon class). *changebase <job ID number>; -This will change the appearance of the invoking character to that of a specified -job class. Nothing but appearance will change. This command is used in item -scripts for "Wedding Dress" and "Tuxedo" so the character like job 22, which is -the job number of the wedding sprites. +This command will change the appearance of the invoking character to that of a +specified job class. Nothing but appearance will change. -It would be entered in the equip bonus section of an item +Examples: 2338,Wedding_Dress,Wedding Dress,5,43000,,500,,0,,0,119529470,7,0,16,,0,1,0,{ bonus bMdef,15; changebase 22; } +changebase Job_Novice; // Changes player to Novice sprite. + +changebase Class; // Changes player back to default sprite. + --------------------------------------- *classchange <view id>,<type>; @@ -4094,7 +4104,7 @@ sprites, which is essential for making custom headgear. Since a lot of people have different palettes for hair and clothes, it's impossible to tell you what all the color numbers are. If you want a serious -example, there is a Stylist script inside the default rAthena installation that +example, there is a Stylist script inside the default Hercules installation that you can look at: 'npc/custom/stylist.txt' --------------------------------------- @@ -4115,13 +4125,14 @@ wall), the character is pushed only up to the obstacle. --------------------------------------- -*get_revision() +*get_version() -This command will return the SVN revision number that the server is -currently running on. +This command will return the SVN revision number or Git SHA-1 hash that the server +is currently running on (depends on whether you used a SVN or Git client for +getting Hercules. - if ( get_revision() >= 15000 ) - mes "Welcome rAthena!"; + if ( get_version() >= 15000 ) + mes "Welcome Hercules!"; --------------------------------------- \\ @@ -4349,14 +4360,11 @@ the results array is limited to 10 items. *delitem <item id>,<amount>{,<account ID>}; *delitem "<item name>",<amount>{,<account ID>}; -This command will take a specified amount of items from the invoking/target character. -As all the item commands, this one uses the ID of the item found inside -'db/(pre-)re/item_db.txt'. The items are destroyed - there is no way an NPC can simply -own items and have an inventory of them, other as by destroying and recreating -them when needed. +This command will remove a specified amount of items from the invoking/target character. +Like all the item commands, it uses the item ID found inside 'db/(pre-)re/item_db.txt'. - delitem 502,10 // The person will lose 10 apples - delitem 617,1 // The person will lose 1 Old Violet Box + delitem 502,10; // The person will lose 10 apples + delitem 617,1; // The person will lose 1 Old Violet Box It is always a good idea to check if the player actually has the items before you delete them. If you try to delete more items that the player has, the player will lose the ones he/she has @@ -4370,7 +4378,7 @@ database. If the name is not found, nothing will be deleted. *delitem2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>}; *delitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>}; -This command will take a specified amount of items from the invoking/target character. +This command will remove a specified amount of items from the invoking/target character. Check 'getitem2' to understand its expanded parameters. --------------------------------------- @@ -4435,28 +4443,40 @@ getrandgroupitem(1,3); *enable_items; *disable_items; -These commands enable item usage while an NPC is running. When enable_items is -run, items can be used during scripts until disable_items is called. -To avoid possible exploits, when enable_items is invoked, it will only enable -item usage while running that script in particular. Note that if a different -script also calls enable_items, it will override the last call (so you may +These commands enable/disable changing of equipments while an NPC is running. When disable_items is +run, equipments cannot be changed during scripts until enable_items is called or the script has terminated. +To avoid possible exploits, when disable_items is invoked, it will only disable +changing equips while running that script in particular. Note that if a different +script also calls disable_items, it will override the last call (so you may want to call this command at the start of your script without assuming the effect is still in effect). +If 'item_enabled_npc' option is set to Yes in 'items.conf' all NPC are allowing changing of equipment by default +except for those have been set with 'disable_items'. --------------------------------------- -*itemskill <skill id>,<skill level>; -*itemskill "<skill name>",<skill level>; +*itemskill <skill id>,<skill level>,{flag}; +*itemskill "<skill name>",<skill level>,{flag}; This command meant for item scripts to replicate single-use skills in usable -items. It will not work properly, if there is a visible dialog window or menu. -If the skill is self or auto-targeting, it will be used immediately otherwise a +items. It will not work properly if there is a visible dialog window or menu. +If the skill is self or auto-targeting it will be used immediately otherwise a target cursor is shown. +Flag is a optional param and when present the command will not check for skill requirements // When Anodyne is used, it will cast Endure (8), Level 1, as if the actual // skill has been used from skill tree. 605,Anodyne,Anodyne,11,2000,0,100,,,,,10477567,2,,,,,{ itemskill 8,1; },{} +--------------------------------------- + +itemeffect <item id>; +itemeffect "<item name>"; + +This command will run the item script of the specified item on the invoking +character. The character does not need to posess the item, and the item will +not be deleted. While this command is intended for usable items, it will run +for any item type. --------------------------------------- @@ -4830,7 +4850,7 @@ Used in reset NPC's (duh!) This command takes off all the skill points on the invoking character, so they only have Basic Skill blanked out (lvl 0) left, and returns the points for them to spend again. Nothing else will change but the skills. Quest skills will also -reset if 'quest_skill_reset' option is set to Yes in 'battle_athena.conf'. If +reset if 'quest_skill_reset' option is set to Yes in 'battle.conf'. If the 'quest_skill_learn' option is set in there, the points in the quest skills will also count towards the total. @@ -5098,6 +5118,8 @@ previously, they will now at 0+the level given. // level 1. skill 152,1,0; +Flag 3 is the same as flag 0 in that it saves to the database. However, these skills +are ignored when any action is taken that adjusts the skill tree (reset/job change). --------------------------------------- *nude; @@ -5310,23 +5332,17 @@ command, and all monsters summoned with GM commands, but no other ones - that is, all non-permanent monsters) on the specified map will be killed regardless of the event label value. -As of r12876 killmonster now supports an optional argument type. Using 1 for type -will make the command fire "OnMyMobDead" events from any monsters that do die -as a result of this command. +killmonster supports an optional argument type. Using 1 for type will make the command +fire "OnMyMobDead" events from any monsters that do die as a result of this command. --------------------------------------- *killmonsterall "<map name>"{,<type>}; This command will kill all monsters on a specified map name, regardless of how -they were spawned or what they are. As of r12873, The behavior has changed slightly. -In light of a label behavior fix for mob spawning commands that will now allow the label to -trigger when there is no player, killmonsterall has also been modified to support this. - -Using this the normal/old way means labels don't trigger when a player didn't -attack/kill a monster. This is because it breaks compatibility with older scripts if -forced to use the new method. However, if you wish to use the new label type with this -command, simply use 1 for type. Any other number won't be recognized. +they were spawned or what they are without triggering any event label attached to them, +unless you specify 1 for type parameter. In this case, mob death labels will be allowed to +trigger when there is no player. Any other number for this parameter won't be recognized. --------------------------------------- @@ -5570,7 +5586,7 @@ the invoking NPC's actions, such as using an emotion or talking. Whichever of the both NPCs is talked to, both will show a random emotion at the same time. -As of r16564, command now returns 1 or 0 on success and failure. +Command returns 1 or 0 on success and failure. A debug message also shows on the console when no events are triggered. --------------------------------------- @@ -5897,7 +5913,7 @@ hold information about the name id (item id) sold and the amount sold of it. Sam goes for the OnSellItem label, only the variables are named different (@sold_nameid, @sold_quantity, @sold_refine, @sold_attribute, @sold_identify, @sold_card1, @sold_card2, @sold_card3, @sold_card4). An example on a shop comes -with rAthena, and can be found in the doc/sample/npc_dynamic_shop.txt file. +with Hercules, and can be found in the doc/sample/npc_dynamic_shop.txt file. This example shows how to use the labels and their set variables to create a dynamic shop. @@ -6032,7 +6048,7 @@ characters are present in the room to mess up the script. The 'enablearena'/'disablearena' commands are just aliases with no parameter. These are supposedly left here for compatibility with official server scripts, -but no rAthena script uses these at the moment. +but no Hercules script uses these at the moment. --------------------------------------- @@ -6106,7 +6122,7 @@ specified. --------------------------------------- -*setmapflag "<map name>",<flag>{,<zone>}; +*setmapflag "<map name>",<flag>{,<val>}; This command marks a specified map with a map flag given. Map flags alter the behavior of the map, you can see the list of the available ones in @@ -6121,7 +6137,8 @@ skills or open up trade deals (mf_notrade, mf_novending, mf_noskill, mf_noicewal current weather effects (mf_snow, mf_fog, mf_sakura, mf_leaves, mf_rain, mf_clouds, mf_fireworks) and whether night will be in effect on this map (mf_nightenabled). -The zone optional parameter is used to set the zone for restricted mapflags. +The val optional parameter is as the mapflags variable when one exists, +it may be a number or a string depending on the mapflag in question. --------------------------------------- @@ -6265,7 +6282,6 @@ castle guardian monsters and will only work with them. It will set the guardian characteristics up according to the castle's investment values and otherwise set the things up that only castle guardians need. -Since trunk r12524: Returns the id of the mob or 0 if an error occurred. When 'guardian index' isn't supplied it produces a temporary guardian. Temporary guardians are not saved with the castle and can't be accessed by guardianinfo. @@ -6350,7 +6366,7 @@ will not be displayed anywhere else. *logmes "<message>"; This command will write the message given to the map server NPC log file, as -specified in 'conf/log_athena.conf'. In the TXT version of the server, the log +specified in 'conf/logs.conf'. In the TXT version of the server, the log file is 'log/npclog.log' by default. In the SQL version, if SQL logging is enabled, the message will go to the 'npclog' table, otherwise, it will go to the same log file. @@ -6576,11 +6592,18 @@ The commands can also run without an attached rid. --------------------------------------- -*bindatcmd "command","<NPC object name>::<event label>"{,<atcommand level>,<charcommand level>}; +*bindatcmd "command","<NPC object name>::<event label>"{,<group level>,<group level char>,<log>}; This command will bind a NPC event label to an atcommand. Upon execution of the atcommand, the user will invoke the NPC event label. Each atcommand is only allowed -one binding. If you rebind, it will override the original binding. +one binding. If you rebind, it will override the original binding. If group level is provided, +only users of that group level or above will be able to access the command, if not provided, +everyone will be able to access the command. +"group level char" is the minimum group level required for the label to be used on others, +like a char command would, e.g. "#command "target" params" , when not provided, +"group level char" defaults to 99. +"log" whether to log the usages of this command with the atcommand log (1 = log, 0 = no log), +default is to not log. The following variables are set upon execution: .@atcmd_command$ = The name of the @command used. @@ -6937,7 +6960,7 @@ uppercase/lowercase. Otherwise, 0. Characters not of the alphabelt will return 0 Example: - charisupper("rAthena", 1); //returns 1 + charisupper("Hercules", 0); //returns 1 --------------------------------------- @@ -7154,7 +7177,7 @@ at the maximum possible. The behavior modified with the above mentioned commands will only be exhibited if the pet is loyal and appropriate configuration options are set in -'battle_athena.conf'. +'battle.conf'. Pet scripts in the database normally run whenever a pet of that type hatches from the egg. Other commands usable in item scripts (see 'bonus') will also diff --git a/doc/whisper_sys.txt b/doc/whisper_sys.txt index 2e71558c3..c5c042f4d 100644 --- a/doc/whisper_sys.txt +++ b/doc/whisper_sys.txt @@ -1,11 +1,11 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= NPC Whisper System //===== By: ================================================== //= lordalfa //===== Current Version: ===================================== //= 20120904 //===== Description: ========================================= -//= A description of rAthena's NPC whispering system. +//= A description of Hercules' NPC whispering system. //============================================================ This piece of code to allows characters to execute events in NPCs by whispering diff --git a/doc/woe_time_explanation.txt b/doc/woe_time_explanation.txt index 099a5a15e..2b645118e 100644 --- a/doc/woe_time_explanation.txt +++ b/doc/woe_time_explanation.txt @@ -1,4 +1,4 @@ -//===== rAthena Documentation ================================ +//===== Hercules Documentation ================================ //= WoE Time Explanation //===== By: ================================================== //= erKURITA |