diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-09-25 01:49:22 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-09-25 01:49:22 +0300 |
commit | c93066834ef820dea4d3823045f2eed521f76e5e (patch) | |
tree | b1fa764bdc82a7edc1a775a70d673880d7c78d69 | |
parent | a4bb4a95a65e688046fce0462d111197abdb1450 (diff) | |
download | docs-c93066834ef820dea4d3823045f2eed521f76e5e.tar.gz docs-c93066834ef820dea4d3823045f2eed521f76e5e.tar.bz2 docs-c93066834ef820dea4d3823045f2eed521f76e5e.tar.xz docs-c93066834ef820dea4d3823045f2eed521f76e5e.zip |
Update from hercules.
-rw-r--r-- | server/gm/atcommands.txt | 38 | ||||
-rw-r--r-- | server/items/item_bonus.txt | 4 | ||||
-rw-r--r-- | server/scripts/constants.md | 147 | ||||
-rw-r--r-- | server/scripts/script_commands.txt | 115 |
4 files changed, 244 insertions, 60 deletions
diff --git a/server/gm/atcommands.txt b/server/gm/atcommands.txt index 18d3de4..fb3628e 100644 --- a/server/gm/atcommands.txt +++ b/server/gm/atcommands.txt @@ -50,7 +50,7 @@ Other Drop Rates: MvP 1.00x / Card-Based 1.00x / Treasure 1.00x @time Displays the local server time, along with day/night information. - + --------------------------------------- @uptime @@ -192,6 +192,12 @@ Sets a mapflag for the current map (1 = On, 0 = Off). --------------------------------------- +@setzone <new zone> + +Changes the zone of the current map. + +--------------------------------------- + @addwarp <map> <x> <y> <npc name> Creates a warp portal on the character's current coordinates that lasts until the next reboot. @@ -256,13 +262,13 @@ Map Name: prontera | Players In Map: 1 | NPCs In Map: 127 | Chats In Map: 0 ------ Map Flags ------ Town Map Autotrade Enabled -PvP Flags: -GvG Flags: -Teleport Flags: +PvP Flags: +GvG Flags: +Teleport Flags: No Exp Penalty: On | No Zeny Penalty: On -Weather Flags: Displays Night | -Other Flags: NoBranch | Reset | -Other Flags: +Weather Flags: Displays Night | +Other Flags: NoBranch | Reset | +Other Flags: --------------------------------------- @@ -270,7 +276,7 @@ Other Flags: Gives information about terrain/area (debug function). -Output Example: +Output Example: prontera (x= 165, y= 202) 00 00 00 00 00 prontera (x= 165, y= 201) 01 00 00 00 00 prontera (x= 165, y= 200) 01 00 00 00 00 @@ -297,7 +303,7 @@ DEF:2 MDEF:5 STR:6 AGI:1 VIT:1 INT:1 DEX:6 LUK:5 ATK:8~9 Range:1~10~12 Size:Medium Race:Plant Element:Water (Lv:1) Drops: - Jellopy 70.00% - Knife[4] 1.00% etc... - + --------------------------------------- @iteminfo <item name/ID> @@ -317,7 +323,7 @@ NPC Buy:6z, Sell:3z | Weight: 1.0 @whodrops <item name/ID> Displays a list of mobs which drop the specified item. -Only the highest drop rates are shown. +Only the highest drop rates are shown. --------------------------------------- @@ -557,7 +563,7 @@ Using the command without a message will enable or disable main chat. @storage Opens your Kafra storage. - + --------------------------------------- @mail @@ -636,7 +642,7 @@ identify_flag: 0 = unidentified, 1 = identified attribute: 0 = not broken, 1 = broken --------------------------------------- - + @itembound <item name/ID> <amount> <bound_type> Creates the specified item and bounds it to the account. @@ -951,7 +957,7 @@ Some options can be found in 'conf/map/battle/misc.conf'. @heal -Fully heals HP and SP. +Fully heals HP and SP. --------------------------------------- @@ -1247,7 +1253,7 @@ Example: @party <party_name> Organizes a new party, with the attached character as leader. - + --------------------------------------- @partyoption <pickup share: yes/no> <item distribution: yes/no> @@ -1317,7 +1323,7 @@ Changes guild level by the specified amount. @undisguiseguild Disguises or undisguises all online characters of a guild. - + --------------------------------------- @sizeguild <size> <guild name> @@ -1334,7 +1340,7 @@ Warps all online characters of a guild to your location. @guildspy <guild name> -Allows you to spy on any guild's Guild Chat. +Allows you to spy on any guild's Guild Chat. At least one member of that guild must be online. NOTE: map server needs to be configured to enable spying to use this command (enable_spy: true) diff --git a/server/items/item_bonus.txt b/server/items/item_bonus.txt index f588921..dd176d9 100644 --- a/server/items/item_bonus.txt +++ b/server/items/item_bonus.txt @@ -189,8 +189,8 @@ bonus bNoMiscDamage,n; Adds n% reduction to received misc damage Heal ---- -bonus bHealPower,n; Increase heal amount of all heal skills by n% -bonus bHealPower2,n; Increase heal amount if you are healed by any skills by n% +bonus bHealPower,n; Increase heal amount of all heal skills used by player on self by n% +bonus bHealPower2,n; Increase heal amount if you are healed by any skills of others by n% bonus2 bSkillHeal,sk,n; Increase heal amount of skill sk by n% bonus2 bSkillHeal2,sk,n; Increase heal amount if you are healed by skill sk by n% diff --git a/server/scripts/constants.md b/server/scripts/constants.md index 490d393..451f2a5 100644 --- a/server/scripts/constants.md +++ b/server/scripts/constants.md @@ -3480,6 +3480,40 @@ - `4_M_AC_RUMIN`: 10246 - `4_M_HIGH_WIZARD`: 10247 - `4_SYSTEM_BOX`: 10248 +- `4_STEELBOX`: 10249 +- `4_WOODBOX`: 10250 +- `4_M_POPFESTA`: 10251 +- `4_BONFIRE`: 10252 +- `4_PCCOUNT`: 10253 +- `4_SCATLETON`: 10271 +- `4_JJAK`: 10280 +- `4_M_SNOWMAN_B`: 10281 +- `4_M_SNOWMAN_R`: 10282 +- `4_M_SNOWMAN_G`: 10283 +- `4_F_DANGDANG`: 10286 +- `4_M_DANGDANG`: 10287 +- `4_F_DANGDANG1`: 10288 +- `4_LEAFCAT`: 10289 +- `4_NASARIAN`: 10290 +- `4_NASARIAN_EM`: 10291 +- `4_TEDDY_BEAR_W`: 10292 +- `4_TEDDY_BEAR_B`: 10293 +- `4_TEDDY_BEAR_B_L`: 10294 +- `4_M_SOULREAPER`: 10295 +- `4_F_SE_SUN`: 10296 +- `4_M_SE_MOON`: 10297 +- `4_M_SE_STAR`: 10298 +- `4_EP17_KAYA`: 10299 +- `4_EP17_AS`: 10300 +- `4_EP17_ELYUMINA`: 10301 +- `4_EP17_MORNING`: 10302 +- `4_EP17_MIGUEL`: 10303 +- `4_EP17_NIHIL_K`: 10304 +- `4_EP17_MIGUEL_D`: 10305 +- `4_ED_SCHMIDT`: 10306 +- `4_ED_OSCAR`: 10307 +- `4_ED_ORB`: 10308 +- `4_ED_FENCE`: 10309 ### Mercenary IDs @@ -3853,6 +3887,87 @@ - `HAT_EF_QSCARABA`: 54 - `HAT_EF_FSTONE`: 55 - `HAT_EF_MAGICCIRCLE`: 56 +- `HAT_EF_BRYSINGGAMEN`: 57 +- `HAT_EF_MAGINGIORDE`: 58 +- `HAT_EF_LEVEL99_RED`: 59 +- `HAT_EF_LEVEL99_ULTRAMARINE`: 60 +- `HAT_EF_LEVEL99_CYAN`: 61 +- `HAT_EF_LEVEL99_LIME`: 62 +- `HAT_EF_LEVEL99_VIOLET`: 63 +- `HAT_EF_LEVEL99_LILAC`: 64 +- `HAT_EF_LEVEL99_SUN_ORANGE`: 65 +- `HAT_EF_LEVEL99_DEEP_PINK`: 66 +- `HAT_EF_LEVEL99_BLACK`: 67 +- `HAT_EF_LEVEL99_WHITE`: 68 +- `HAT_EF_LEVEL160_RED`: 69 +- `HAT_EF_LEVEL160_ULTRAMARINE`: 70 +- `HAT_EF_LEVEL160_CYAN`: 71 +- `HAT_EF_LEVEL160_LIME`: 72 +- `HAT_EF_LEVEL160_VIOLET`: 73 +- `HAT_EF_LEVEL160_LILAC`: 74 +- `HAT_EF_LEVEL160_SUN_ORANGE`: 75 +- `HAT_EF_LEVEL160_DEEP_PINK`: 76 +- `HAT_EF_LEVEL160_BLACK`: 77 +- `HAT_EF_LEVEL160_WHITE`: 78 +- `HAT_EF_FULL_BLOOMCHERRY_TREE`: 79 +- `HAT_EF_C_BLESSINGS_OF_SOUL`: 80 +- `HAT_EF_MANYSTARS`: 81 +- `HAT_EF_SUBJECT_AURA_GOLD`: 82 +- `HAT_EF_SUBJECT_AURA_WHITE`: 83 +- `HAT_EF_SUBJECT_AURA_RED`: 84 +- `HAT_EF_C_SHINING_ANGEL_WING`: 85 +- `HAT_EF_MAGIC_STAR_TW`: 86 +- `HAT_DIGITAL_SPACE`: 87 +- `HAT_EF_SLEIPNIR`: 88 + +### Achievement Types + +- `ACH_QUEST`: 0 +- `ACH_KILL_PC_TOTAL`: 1 +- `ACH_KILL_PC_JOB`: 2 +- `ACH_KILL_PC_JOBTYPE`: 3 +- `ACH_KILL_MOB_CLASS`: 4 +- `ACH_DAMAGE_PC_MAX`: 5 +- `ACH_DAMAGE_PC_TOTAL`: 6 +- `ACH_DAMAGE_PC_REC_MAX`: 7 +- `ACH_DAMAGE_PC_REC_TOTAL`: 8 +- `ACH_DAMAGE_MOB_MAX`: 9 +- `ACH_DAMAGE_MOB_TOTAL`: 10 +- `ACH_DAMAGE_MOB_REC_MAX`: 11 +- `ACH_DAMAGE_MOB_REC_TOTAL`: 12 +- `ACH_JOB_CHANGE`: 13 +- `ACH_STATUS`: 14 +- `ACH_STATUS_BY_JOB`: 15 +- `ACH_STATUS_BY_JOBTYPE`: 16 +- `ACH_CHATROOM_CREATE_DEAD`: 17 +- `ACH_CHATROOM_CREATE`: 18 +- `ACH_CHATROOM_MEMBERS`: 19 +- `ACH_FRIEND_ADD`: 20 +- `ACH_PARTY_CREATE`: 21 +- `ACH_PARTY_JOIN`: 22 +- `ACH_MARRY`: 23 +- `ACH_ADOPT_BABY`: 24 +- `ACH_ADOPT_PARENT`: 25 +- `ACH_ZENY_HOLD`: 26 +- `ACH_ZENY_GET_ONCE`: 27 +- `ACH_ZENY_GET_TOTAL`: 28 +- `ACH_ZENY_SPEND_ONCE`: 29 +- `ACH_ZENY_SPEND_TOTAL`: 30 +- `ACH_EQUIP_REFINE_SUCCESS`: 31 +- `ACH_EQUIP_REFINE_FAILURE`: 32 +- `ACH_EQUIP_REFINE_SUCCESS_TOTAL`: 33 +- `ACH_EQUIP_REFINE_FAILURE_TOTAL`: 34 +- `ACH_EQUIP_REFINE_SUCCESS_WLV`: 35 +- `ACH_EQUIP_REFINE_FAILURE_WLV`: 36 +- `ACH_EQUIP_REFINE_SUCCESS_ID`: 37 +- `ACH_EQUIP_REFINE_FAILURE_ID`: 38 +- `ACH_ITEM_GET_COUNT`: 39 +- `ACH_ITEM_GET_COUNT_ITEMTYPE`: 40 +- `ACH_ITEM_GET_WORTH`: 41 +- `ACH_ITEM_SELL_WORTH`: 42 +- `ACH_PET_CREATE`: 43 +- `ACH_ACHIEVE`: 44 +- `ACH_ACHIEVEMENT_RANK`: 45 ## Hardcoded Constants (source) @@ -4237,9 +4352,9 @@ - `P_AIRSHIP_NONE`: 0 - `P_AIRSHIP_RETRY`: 1 -- `P_AIRSHIP_INVALID_START_MAP`: 2 +- `P_AIRSHIP_INVALID_START_MAP`: 4 - `P_AIRSHIP_INVALID_END_MAP`: 3 -- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 4 +- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 2 - `P_AIRSHIP_ITEM_INVALID`: 5 ### questinfo types @@ -4253,6 +4368,13 @@ - `QINFO_HOMUN_TYPE`: 6 - `QINFO_QUEST`: 7 +### function types + +- `FUNCTION_IS_COMMAND`: 1 +- `FUNCTION_IS_GLOBAL`: 2 +- `FUNCTION_IS_LOCAL`: 3 +- `FUNCTION_IS_LABEL`: 4 + ### Renewal - `RENEWAL`: 1 @@ -7423,6 +7545,10 @@ - `NG_BAPHOMET`: 2483 - `G_NG_BAPHOMET_`: 2484 - `NG_CHIMERA`: 2485 +- `FACEWORM_QUEEN`: 2529 +- `FACEWORM_QUEEN_G`: 2533 +- `FACEWORM_QUEEN_B`: 2534 +- `FACEWORM_QUEEN_Y`: 2535 - `IRENE_ELDER`: 2542 - `PAYONSOLDIER`: 2543 - `PAYONSOLDIER2`: 2544 @@ -7790,7 +7916,11 @@ - `FATAL_DAYS`: 2958 - `TORTUROUS_REDEEMER`: 2959 - `E_TORTUROUS_REDEEMER`: 2961 +- `XM_CELINE_KIMI`: 2996 +- `GRIM_REAPER_ANKOU`: 3029 - `TIMEHOLDER`: 3074 +- `E1_FELOCK`: 3181 +- `MM_SARAH`: 3190 - `ORGANIC_JAKK`: 3202 - `INORGANIC_JAKK`: 3203 - `DARK_SOUL`: 3381 @@ -12303,6 +12433,7 @@ - `High_Purity_Energy_Xtal`: 6625 - `Blacksmith_Blessing`: 6635 - `Poring_Badge`: 6646 +- `Broken_Horn`: 6649 - `Needle_And_Thread`: 6654 - `Firm_Pumpkin`: 6655 - `Goast_Free_Charm`: 6656 @@ -12963,6 +13094,7 @@ - `Father_Giftbox`: 7637 - `Tw_Green_Box`: 7638 - `Tw_Red_Box`: 7639 +- `Bloody_Coin`: 7642 - `RO_Luk_Bookmark`: 7646 - `Taiwan_Luk_Coin`: 7647 - `Snake_Bookmark`: 7648 @@ -14337,6 +14469,7 @@ - `Peony_Mommy`: 12813 - `Slapping_Herb`: 12814 - `Yggdrasil_Dust`: 12815 +- `Old_Card_Album_`: 12817 - `High_Weapon_Box_`: 12818 - `Zherlthsh_Tck_Box_`: 12819 - `Mao_Guai_Scroll`: 12820 @@ -14552,6 +14685,7 @@ - `Octo_kitchen_Knife`: 13081 - `TE_Woe_Knife`: 13083 - `Goldsmithing_Dagger`: 13086 +- `FaceWormQueen_Leg`: 13090 - `RWC_Memory_Knife`: 13092 - `Thanos_Dagger`: 13093 - `Dagger_Of_Evil_Slayer`: 13094 @@ -15804,6 +15938,7 @@ - `Gray_Robe`: 15091 - `Airship_Armor`: 15116 - `Felock_Armor`: 15117 +- `Robe_Of_Sarah`: 15121 - `Whikebain_Suit`: 15123 - `Female_Poring_Balloon`: 15126 - `Female_Poring_Egg`: 15128 @@ -15948,7 +16083,9 @@ - `Red_Wing_Hat_Box`: 16461 - `FRed_Wing_Hat_Box`: 16462 - `My_Scroll2`: 16466 +- `Abrasive_Box_10`: 16483 - `E_Insurance_Package`: 16503 +- `Bubble_Gum_Box_10`: 16504 - `Xmas_Bless`: 16542 - `Snowman_Hat_Box`: 16543 - `FSnowman_Hat_Box`: 16544 @@ -17536,6 +17673,8 @@ - `Para_Team_Mark_`: 22508 - `Candy_Holder`: 22514 - `Key_Of_Twisted_Time`: 22515 +- `Closedmind_Box`: 22534 +- `PrizeOfHero`: 22537 - `Runstone_Lux`: 22540 - `HALLOWEEN_G_BOX`: 22669 - `DARK_INVITATION`: 22670 @@ -17558,8 +17697,10 @@ - `Bullet_Case_Stone`: 22748 - `Sanctified_Bullet_Case`: 22749 - `Buff_Gift_Set`: 22777 +- `Special_Gift_Box`: 22808 - `Integer_Time`: 22837 - `Something_Candy_Holder`: 22838 +- `Old_Money_Pocket`: 22876 - `T1_Shadow_Armor`: 24000 - `T1_Shadow_Weapon`: 24001 - `T1_Shadow_Shield`: 24002 @@ -17807,6 +17948,8 @@ - `S_Reload_Shield`: 24244 - `S_Reload_Armor`: 24245 - `Paradise_Foxtail_Staff_III`: 26101 +- `Faceworm_Queen_Card`: 27164 +- `Captain_Felock_Card`: 27182 - `Thanos_Katar`: 28000 - `Katar_Of_Evil_Slayer`: 28001 - `Half_BF_Katar2`: 28002 diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt index 44937a3..343eb02 100644 --- a/server/scripts/script_commands.txt +++ b/server/scripts/script_commands.txt @@ -247,8 +247,8 @@ increments of 45 degrees, where 0 means facing towards the top of the map. and to make it look southeast it's facing 5.) Sprite is the sprite identifier used to display this particular NPC. For a -full list of sprite numbers see http://kalen.s79.xrea.com/npc/npce.shtml as -well as db/constants.conf. +full list of sprite numbers see http://nn.ai4rei.net/dev/npclist/ as +well as doc/constants.md. You may also use a monster's ID constant instead to display a monster sprite for this NPC, in npcs that have view ids of mobs it's encouraged to use OnTouch events with a 2,2 range and with an 'end' after the header to avoid @@ -536,7 +536,7 @@ suffix is 32. Some variables are special, that is, they are already defined for you by the scripting engine. You can see the full list somewhere in -'db/constants.conf', which is a file you should read, since it also +'doc/constants.md', which is a file you should read, since it also allows you to replace lots of numbered arguments for many commands with easier to read text. The special variables most commonly used are all permanent character-based variables: @@ -699,7 +699,7 @@ Variable References Hard-coded constants -------------------- Most of the constants defined by the scripting engine can be found in -'db/constants.conf' and have the same value independently of settings +'doc/constants.md' and have the same value independently of settings that are core related, but there are constants that can be used to retrieve core information that's set when the server is compiled. @@ -716,8 +716,7 @@ MAX_CHAT_USERS - Maximum Chat users MAX_REFINE - Maximum Refine level Send targets and status options are also hard-coded and can be found -in src/map/script.c::script_hardcoded_constants or in functions that -currently use them. +in 'doc/constants.md'. Operators --------- @@ -1977,18 +1976,35 @@ prontera,150,150,0 script TestNPC 123,{ *is_function("<function name>") -This command checks whether a function exists. -It returns 1 if function is found, or 0 if it isn't. +This command checks whether or not a function exists and returns its type. +Returns false if it cannot be found. + +return values: + + FUNCTION_IS_COMMAND - built-in script command (eg: mes, select, ...) + FUNCTION_IS_GLOBAL - user-defined global function (callable with callfunc) + FUNCTION_IS_LOCAL - user-defined local function + FUNCTION_IS_LABEL - user-defined label function (callable with callsub) Example: - function script try { + function script func1 { dothat(); } - script test FAKE_NPC,{ - .@try = is_function("try"); // 1 - .@not = is_function("notafunction"); // 0 + function func2 { + do_something(); + } + + func3: + end; + + is_function("func1"); // FUNCTION_IS_GLOBAL + is_function("func2"); // FUNCTION_IS_LOCAL + is_function("func3"); // FUNCTION_IS_LABEL + is_function("select"); // FUNCTION_IS_COMMAND + is_function("invalid"); // false } --------------------------------------- @@ -2477,7 +2493,7 @@ arrays: 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/constants.conf'. +parameter name if it is defined in 'doc/constants.md'. Example parameters: @@ -3852,7 +3868,7 @@ mob database and return the info set by TYPE argument. It will return -1 if there is no such monster (or the type value is invalid), or "null" if you requested the monster's name. -Valid types are listed in constants.conf: +Valid types are listed in doc/constants.md: MOB_NAME 0 MOB_LV 1 MOB_MAXHP 2 @@ -4003,7 +4019,7 @@ effect being inflicted, in percent. } You can see the full list of available effect types you can possibly -inflict in 'db/constants.conf' under 'Eff_'. +inflict in 'doc/constants.md' under 'Status effects'. --------------------------------------- //===================================== @@ -4653,7 +4669,7 @@ This command will change the job class of the invoking character. This command does work with numbers, but you can also use job names. The full list of job names and the numbers they correspond to can be found in -'db/constants.conf'. +'doc/constants.md'. 'upper flag' can alternatively be used to specify the type of job one changes to. For example, jobchange(Job_Swordman, 1); will change the @@ -4801,7 +4817,7 @@ Is subject to EXP bonuses and to the `quest_exp_rate` config option. getexp(10000, 5000); You can also assign directly to the parameters defined in -'db/constants.conf': +'doc/constants.md': BaseExp += 10000; JobExp += 5000; @@ -4880,7 +4896,7 @@ installation that you can look at: 'npc/custom/stylist.txt' This command will push the currently attached player to given direction by given amount of square cells. Direction is the same as used when declaring NPCs, and can be specified by using one of the DIR_* constants -(db/constants.conf). +(doc/constants.md). The knock-back is not restricted by items or map flags, only obstacles are taken into account. If there is not enough space to perform the push (e.g. @@ -5835,7 +5851,7 @@ These commands will bestow a status effect on a character. The <effect type> determines which status is invoked. This can be either a number or constant, with the common statuses (mostly negative) found in -'db/constants.conf' with the 'SC_' prefix. A full list is located in +'doc/constants.md' under 'Status Changes'. A full list is located in 'src/map/status.h', though they are not currently documented. The duration of the status is given in <ticks>, or milleseconds. @@ -6635,7 +6651,7 @@ Examples: *unitemote(<GID>, <Emote>) Okay, these commands should be fairly self explaining. -For the emotions, you can look in db/constants.conf for prefixes with e_ +For the emotions, you can look in 'doc/constants.md' under 'Emotes' PS: unitwarp() supports a <GID> of zero, which causes the executor of the PS: unittalk() can receive 3 extra parameters: show_name: @@ -7064,7 +7080,7 @@ This command will broadcast a message to all or most players, similar to The region the broadcast is heard in (target), source of the broadcast and the color the message will come up as is determined by the flags. -The flag values are coded as constants in db/constants.conf to make them +The flag values are coded as constants in doc/constants.md to make them easier to use. Target flags: @@ -7390,7 +7406,7 @@ to the coordinates specified. 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 -'db/constants.conf' under 'mf_'. +'doc/constants.md' under 'Mapflags'. The map flags alter the behavior of the map regarding teleporting (mf_nomemo, mf_noteleport, mf_nowarp), storing location when @@ -7663,15 +7679,19 @@ solution rather than sending the map and the monster_id. //===================================== --------------------------------------- -*debugmes("<message>") +*debugmes("<format string>"{, <param>{, ...}}) + +This command will print a message in the server console (map-server window), +after applying the same format-string replacements as sprintf(). It will not be +displayed anywhere else. Returns true on success. + +Example: -This command will send the message to the server console (map-server -window). It will not be displayed anywhere else. -// // Displays "NAME has clicked me!" in the map-server window. - debugmes(strcharinfo(PC_NAME)+" has clicked me!"); + debugmes("%s has clicked me!", strcharinfo(PC_NAME)); + + debugmes("\033[0;32mHello World"); // supports ANSI escape sequences - debugmes("\033[38D\033[K ==Message== \n"); // enable colour code. --------------------------------------- *logmes("<message>"{, <log type>}) @@ -7841,7 +7861,7 @@ A full list of pet IDs can be found inside 'db/pet_db.txt' This command makes an object display an emotion sprite above their own as if they were doing that emotion. For a full list of emotion numbers, see -'db/constants.conf' under 'e_'. The not so obvious ones are 'e_what' (a +'doc/constants.md' under 'Emotes'. The not so obvious ones are 'e_what' (a question mark) and 'e_gasp' (the exclamation mark). The optional target parameter specifies who will get the emotion on top of @@ -8906,14 +8926,14 @@ same time. This command will make the pet give a bonus to the owner's stat (bonus type - bInt, bVit, bDex, bAgi, bLuk, bStr, bSpeedRate - for a full list, see the -values starting with 'b' in 'db/constants.conf'). +'doc/constants.md' under 'Bonuses / Parameter IDs'). *petrecovery(<status type>, <delay>) This command will make the pet cure a specified status condition. The curing actions will occur once every <delay> seconds. For a full list of -status conditions that can be cured, see the list of 'SC_' status -condition constants in 'db/constants.conf' +status conditions that can be cured, see the list of 'Status Changes' status +condition constants in 'doc/constants.md' *petloot(<max items>) @@ -9008,7 +9028,7 @@ Each of these can be 'on' or 'off'. Together they define a cell's behavior. This command lets you alter these flags for all map cells in the specified (x1,y1)-(x2,y2) rectangle. 'type' defines which flag to modify. Possible options include cell_walkable, -cell_shootable, cell_basilica. For a full list, see constants.conf. +cell_shootable, cell_basilica. For a full list, see 'doc/constants.md'. 'flag' can be false (clear flat) or true (set flag). Example: @@ -9045,7 +9065,7 @@ remove a nonwalkable row of cells after the barricade mobs. This command will return true or false, depending on whether the specified cell has the 'type' flag set or not. There are various types to check, all mimicking the server's cell_chk enumeration. The types can be found in -db/constants.conf. +'doc/constants.md' under 'Cell checks'. The meaning of the individual types can be confusing, so here's an overview: @@ -9394,7 +9414,7 @@ supported types: values QINFO_SEX: sex QINFO_BASE_LEVEL: min, max QINFO_JOB_LEVEL: min, max - QINFO_ITEM: item_id, amount // append to the items list on each use + QINFO_ITEM: item_id, min amount, max amount // append to the items list on each use QINFO_HOMUN_LEVEL: min QINFO_HOMUN_TYPE: homunculus_type (0 - regular, 1 - evolved, 2 - S) QINFO_QUEST: quest_id, state // append to the quests list on each use @@ -9958,9 +9978,9 @@ Applicable Data Types (available as constants) - UDT_WALKTOXY: Make a unit walk to certain co-ordinates. (Val1 = (int) x, Val2 = (int) y) UDT_SPEED: Unit Speed. (int) UDT_MODE: Mode (Mobs only) (int) - UDT_AI: Unit AI Type (see constants.conf for Unit AI Types) - UDT_SCOPTION: Status Options. (see constants.conf for Unit Option Types) - UDT_SEX: Gender of the unit. (see constants.conf for Genders) + UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) + UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) + UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) UDT_CLASS: Class of the unit. (Monster ID) (int) UDT_HAIRSTYLE: Hair Style ID. (int) UDT_HAIRCOLOR: Hair Color ID. (int) @@ -10023,9 +10043,9 @@ Applicable Data types (available as constants) - UDT_MAPIDXY: Warp a Unit to a map. (Val1 = (string) MapName, Val2 = (int) x, Val3 = (int) y) UDT_SPEED: Unit Speed. (int) UDT_MODE: Mode (Mobs only) (int) - UDT_AI: Unit AI Type (see constants.conf for Unit AI Types) - UDT_SCOPTION: Status Options. (see constants.conf for Unit Option Types) - UDT_SEX: Gender of the unit. (see constants.conf for Genders) + UDT_AI: Unit AI Type (see doc/constants.md for Unit AI Types) + UDT_SCOPTION: Status Options. (see doc/constants.md for Unit Option Types) + UDT_SEX: Gender of the unit. (see doc/constants.md for Genders) UDT_CLASS: Class of the unit. (Monster ID) (int) UDT_HAIRSTYLE: Hair Style ID. (int) UDT_HAIRCOLOR: Hair Color ID. (int) @@ -10137,3 +10157,18 @@ the available flags are: Opens the styling shop on client --------------------------------------- + +*msgtable(<message_id>{, <color>}) + +Show in client message by <message_id> from msg string table +with optional <color>. + +--------------------------------------- + +*msgtable2(<message_id>, <param>{, <color>}) + +Show in client message by <message_id> from msg string table. +<param> is parameter for this message. Can be string or int. +Optional <color> can be used for set color for whole message. + +--------------------------------------- |