summaryrefslogtreecommitdiff
path: root/server/scripts/script_commands.txt
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-07-13 16:35:35 -0300
committerJesusaves <cpntb1@ymail.com>2018-07-13 16:35:35 -0300
commit59910e0848d7dd8d79925e7559f0d46f7469cb58 (patch)
tree2b7c88733d681c362c06bc7c06d651fc553ed586 /server/scripts/script_commands.txt
parent0e447fb73e08e7b043ef57061839df021337994b (diff)
downloaddocs-59910e0848d7dd8d79925e7559f0d46f7469cb58.tar.gz
docs-59910e0848d7dd8d79925e7559f0d46f7469cb58.tar.bz2
docs-59910e0848d7dd8d79925e7559f0d46f7469cb58.tar.xz
docs-59910e0848d7dd8d79925e7559f0d46f7469cb58.zip
Hercules Update
Diffstat (limited to 'server/scripts/script_commands.txt')
-rw-r--r--server/scripts/script_commands.txt117
1 files changed, 86 insertions, 31 deletions
diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt
index ce9555a..eb302da 100644
--- a/server/scripts/script_commands.txt
+++ b/server/scripts/script_commands.txt
@@ -2494,6 +2494,7 @@ arrays:
---------------------------------------
*readparam(<parameter number>{, "<player name>"})
+*readparam(<parameter number>{, <account id>})
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
@@ -2532,6 +2533,21 @@ Example 3:
---------------------------------------
+*setparam(<parameter number>, <value>{, "<player name>"})
+*setparam(<parameter number>, <value>{, <account id>})
+
+Sets a parameter on the given player. See readparam() for more info about
+parameters. Keep in mind that not all read-able parameters are also set-able.
+
+Parameters that can be modified include:
+
+StatusPoint, BaseLevel, SkillPoint, Zeny, Sex, Weight, MaxWeight, JobLevel,
+BaseExp, JobExp, Hp, MaxHp, Sp, MaxSp, Karma, Manner, Fame, bVit, bDex, bAgi,
+bStr, bInt, bLuk
+
+
+---------------------------------------
+
*getcharid(<type>{, "<character name>"})
This function will return a unique ID number of the invoking character,
@@ -2777,7 +2793,9 @@ save points. Available information types are:
---------------------------------------
-*getcharip({"<character name>"|<account id>|<char id>})
+*getcharip({"<character name>"})
+*getcharip({<account id>})
+*getcharip({<character id>})
This function will return the IP address of the invoking character, or, if
a player is specified, of that character. A blank string is returned if no
@@ -4116,7 +4134,7 @@ offline in the mean time, attachrid() returns false, otherwise true.
---------------------------------------
-*rid2name(<rid>)
+*rid2name(<account id>)
Converts rid to name. Note: The player/monster/NPC must be online/enabled.
Good for PCKillEvent where you can convert 'killedrid' to the name of the
@@ -4360,13 +4378,12 @@ effects.
---------------------------------------
-*recovery()
-*recovery(<account id>)
+*recovery({<account id>})
*recovery("<map name>"{, <x1>, <y1>, <x2>, <y2>})
-In its first form, this command will revive and restore full HP and SP to all
-characters currently connected to the server. In its second form, it will only
-affect the target player. In its third form it will affect a whole map or area.
+This command will revive and restore full HP and SP to all characters currently
+connected to the server. If an account id is supplied, it will instead only
+affect this character. If a map is supplied it will affect a whole map or area.
---------------------------------------
@@ -4882,8 +4899,10 @@ Example:
close();
---------------------------------------
-*getnameditem(<item id>, <character name|character ID>)
-*getnameditem("<item name>", <character name|character ID>)
+*getnameditem(<item id>, "<character name>")
+*getnameditem(<item id>, <character ID>)
+*getnameditem("<item name>", "<character name>")
+*getnameditem("<item name>", <character ID>)
Create an item signed with the given character's name.
@@ -5047,7 +5066,7 @@ Check getitem2() to understand the arguments of the function.
---------------------------------------
-*groupranditem(<item_id/constant>)
+*groupranditem(<item id>)
Returns the item_id of a random item picked from the item container specified. There
are different item containers and they are specified in 'db/(pre-)re/item_group.conf'.
@@ -5057,7 +5076,7 @@ Example:
---------------------------------------
-*getrandgroupitem(<item_id/constant>, <quantity>)
+*getrandgroupitem(<item id>, <quantity>)
Similar to the above example, this command allows players to obtain the specified
quantity of a random item from the container. The different containers
@@ -6308,18 +6327,49 @@ Examples:
*unitwarp(<GID>, <Mapname>, <x>, <y>)
*unitattack(<GID>, <Target ID>)
*unitstop(<GID>)
-*unittalk(<GID>, <Text>)
+*unittalk(<GID>, <Text>{, show_name{, <send_target>{, <target_id>}}})
*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_
PS: unitwarp() supports a <GID> of zero, which causes the executor of the
+PS: unittalk() can receive 3 extra parameters:
+ show_name:
+ true: Shows Unit name like "UnitName : Message" (default)
+ false: Hides Unit name
+ send_target:
+ AREA_CHAT_WOC: sends the message to everyone in view range including the attached unit (default)
+ SELF: sends the message to the given unit gid only
+ target_id:
+ if send_target is set to SELF, the message will be shown by the given gid,
+ target_id allows changing the unit that will see the message.
script to be affected. This can be used with OnTouchNPC to warp
monsters:
OnTouchNPC:
unitwarp(0, "this", -1, -1);
+ // hide the npc name from the text
+ unittalk(getnpcid(0), "foobar", false);
+
+ // display by npc to everyone
+ unittalk(getnpcid(0), "foobar", true);
+
+ // display by npc to npc
+ unittalk(getnpcid(0), "foobar", true, SELF);
+
+ // display the text by the npc to the attached player only
+ unittalk(getnpcid(0), "foobar", true, SELF, playerattached());
+
+ // display by player to everyone
+ unittalk(playerattached(), "foobar", true);
+
+ // display by player to himself only
+ unittalk(playerattached(), "foobar", true, SELF);
+
+ // display the text by the 1st player to the attached player only
+ unittalk(getcharid(CHAR_ID_ACCOUNT, "Name"), "foobar", true, SELF, playerattached());
+
---------------------------------------
*disablenpc("<NPC object name>")
@@ -6427,12 +6477,16 @@ A debug message also shows on the console when no events are triggered.
---------------------------------------
-*npctalk("<message>"{, "<npc name>"})
+*npctalk("<message>"{, "<npc name>"{, <show_name>}})
+
+show_npcname values:
+ true: shows npc name (default)
+ false: hide npc name
This command will display a message to the surrounding area as if the NPC
object running it was a player talking - that is, above their head and in
-the chat window. The display name of the NPC will get appended in front of
-the message to complete the effect.
+the chat window. If show_npcname is true the name of the NPC will get appended in front of
+the message, otherwise the npc name will not be shown.
// This will make everyone in the area see the NPC greet the character
// who just invoked it.
@@ -6520,12 +6574,12 @@ valid <type> for gettimer() are:
---------------------------------------
-*initnpctimer({ "<NPC name>" {, <Attach Flag>} } |
- { "<NPC name>" | <Attach Flag> })
-*stopnpctimer({ "<NPC name>" {, <Detach Flag>} } |
- { "<NPC name>" | <Detach Flag> })
-*startnpctimer({ "<NPC name>" {, <Attach Flag>} } |
- { "<NPC name>" | <Attach Flag> })
+*initnpctimer({"<NPC name>"{, <Attach Flag>}})
+*initnpctimer({<Attach Flag>})
+*stopnpctimer({"<NPC name>"{, <Detach Flag>}})
+*stopnpctimer({<Detach Flag>}})
+*startnpctimer({"<NPC name>"{, <Attach Flag>}})
+*startnpctimer({<Attach Flag>})
*setnpctimer(<tick>{, "<NPC name>"})
*getnpctimer(<type of information>{, "<NPC name>"})
*attachnpctimer({"<character name>"})
@@ -8881,7 +8935,8 @@ behave specially when talked to by GMs.
---------------------------------------
-*setgroupid(<new group id>{, "<character name>"|<account id>})
+*setgroupid(<new group id>{, "<character name>"})
+*setgroupid(<new group id>{, <account id>})
This function will temporary adjust the id of player group the account to which the
player specified if the new group id is available.
@@ -9340,19 +9395,19 @@ Add quest of the <ID2> to the the quest log, and the state is "active".
---------------------------------------
-*questprogress(<ID>{, PLAYTIME|HUNTING})
+*questprogress(<ID>{, <type>})
If no additional argument supplied, return the state of the quest:
0 = Quest not started (not in quest log)
1 = Quest has been given
2 = Quest completed
-If parameter PLAYTIME is supplied:
+If <type> PLAYTIME is supplied:
0 = Quest not started (not in quest log)
1 = The time limit has not yet been reached
2 = The time limit has been reached
-If parameter HUNTING is supplied:
+If <type> HUNTING is supplied:
0 = Quest not started (not in quest log)
1 = Player hasn't killed all of the target monsters
2 = Player has killed all of the target monsters
@@ -9752,11 +9807,11 @@ true otherwise.
---------------------------------------
-*queueopt(<queue_id>, <optionType>, {Optional <option val>})
+*queueopt(<queue_id>, <optionType>{, <event label})
-Modifies <queue_id>'s <optionType>. When <option val> is not present
-<optionType> is removed from <queue_id>. When present it modifies
-<queue_id>'s <optionType> with the new <option val> value.
+Modifies <queue_id>'s <optionType>. When <event label> is not present
+<optionType> is removed from <queue_id>. When present it will execute the
+<event label> when the <queue_id>'s <optionType> condition is met.
Returns true on success, false on failure.
@@ -10041,7 +10096,7 @@ returns 1 on success, 0 on failure.
//=====================================
---------------------------------------
-*join_clan(<ClanID>{,<RID>})
+*join_clan(<ClanID>{, <account id>})
Joins a player into the given clan.
If no RID is given, will run with the current attached player.
@@ -10050,7 +10105,7 @@ returns true on success, false on failure.
---------------------------------------
-*clan_leave({<RID>})
+*clan_leave({<account id>})
Removes a player from its clan.
If no RID is given, will run with the current attached player.