用户工具

站点工具


数据库:world数据库:scripts

*_scripts 表


<-返回:World 数据库

This table format is used for 3 different tables to control possible scripts activated by different actions:

spell_scripts: Holds scripts that can be activated by spells with effect SPELL_EFFECT_SCRIPT_EFFECT (77) or SPELL_EFFECT_DUMMY(3).

event_scripts: Holds scripts activated whenever an event is activated, be it by an object or as the spell effect SPELL_EFFECT_SEND_EVENT (61).

waypoint_scripts: Holds scripts used in the waypoint_data table. See also Waypoints-Information for general information about waypoints.

NOTE: An entry in this table may have more than one row as a script may do more than just one action. Also each action the script may make can have a separate delay attached to it. In that case, the core will activate the appropriate action after the correct delay.

表结构

FieldTypeAttributesKeyNullDefaultExtraComment
idMEDIUMINTUNSIGNED NO0
effIndexTINYINTUNSIGNED NO0 仅在 spell_scripts 表中使用
delayINTUNSIGNED NO0
commandMEDIUMINTUNSIGNED NO0
datalongMEDIUMINTUNSIGNED NO0
datalong2INTUNSIGNED NO0
dataintINT NO0
xFLOAT NO0
yFLOAT NO0
zFLOAT NO0
oFLOAT NO0
guidINT PRINO0 仅在 waypoint_scripts 表中使用; acts as primary key and is set automatically using the GM command 'wp event add'

字段说明


id

For spell_scripts, it is the spell ID. See Spell.dbc

For event_scripts, it is the event ID. There doesn't exist currently a full list of events. In any case, the event IDs are taken directly from gameobject WDB data or spell effect data. If both a gameobject and a spell activate the same event, the IDs will match.

For waypoint_scripts, it is the action ID.

effIndex

The effect index of the spell that this script is to be applied to.

delay

Delay in seconds before this current step of the script activates. 0 = instant.

command

The type of action performed by the script after delay seconds have passed. The value of this field affects what other fields also need to be set. The following commands can be used:

CommandNameDescription
0TALKCreature say/whisper/yell/textemote.
1EMOTEPlay emote on creature.
2FIELD_SETChange the value at an index for the player.
3MOVE_TORelocate creature to a destination.
4FLAG_SETTurns on bits on a flag field at an index for the player.
5FLAG_REMOVETurns off bits on a flag field at an index for the player.
6TELEPORT_TOTeleports the player to a location.
7QUEST_EXPLOREDSatisfies the explore requirement for a quest.
8KILL_CREDITGives kill credit to the player.
9RESPAWN_GAMEOBJECTSpawns a despawned gameobject.
10TEMP_SUMMON_CREATURETemporarily summons a creature.
11OPEN_DOOROpens a door gameobject (type h1. 0).
12CLOSE_DOORCloses a door gameobject (type 0).
13ACTIVATE_OBJECTActivates an object.
14REMOVE_AURARemoves an aura due to a spell.
15CAST_SPELLCasts a spell.
16PLAY_SOUNDPlays a sound.
17CREATE_ITEMCreates specified amount of items for the player.
18DESPAWN_SELFForces creature to despawn.
20LOAD_PATHLoad path to unit, then unit starts waypoint movement.
21CALLSCRIPT_TO_UNITCalls script from one of *_scripts table with given unit as source.
22KILLChanges state of the creature to dead and optionally removes its corpse.
30ORIENTATIONChanges unit's orientation (Used in Waypoint Scripts)
31EQUIPSets creature equipment.
32MODELSets creature model.
33CLOSE_GOSSIPCloses gossip window. This command is only used for Gossip Scripts.
34PLAYMOVIEPlays movie.
35MOVEMENTChange movement type.

OtherFields

Depending on what command was used, the meaning and use for the following fields varies.

  • SCRIPT_COMMAND_TALK = 0
    • source: Creature.
    • target: any/Player (for whisper).
    • datalong: 0=say, 1=yell, 2=text emote, 3=boss emote, 4=whisper 5=boss whisper
    • dataint: reference to broadcast_text.id
  • SCRIPT_COMMAND_EMOTE = 1
    • source or target: Creature.
    • datalong: The emote ID to play.
    • datalong2: If this value is > 0 the npc will play emote state rather than oneshot.
  • SCRIPT_COMMAND_FIELD_SET = 2
    • source or target: Creature.
    • datalong: Index of the field.
    • datalong2: Value to place at the index.
  • SCRIPT_COMMAND_MOVE_TO = 3
    • source: Creature.
    • datalong2: Length (in time) of the motion.
    • x: X position to move to.
    • y: Y position to move to.
    • z: Z position to move to.
  • SCRIPT_COMMAND_FLAG_SET = 4
    • source or target: Creature.
    • datalong: Field index to be set.
    • datalong2: Flag bit(s) to set.
  • SCRIPT_COMMAND_FLAG_REMOVE = 5
    • source or target: Creature.
    • datalong: Field index to be unset.
    • datalong2: Flag bit(s) to unset.
  • SCRIPT_COMMAND_TELEPORT_TO = 6
    • source or target: Player (datalong2 0) or Creature (datalong2 1).
    • datalong: Target Map ID. See Map.dbc
    • x: Teleport target x coordinate.
    • y: Teleport target y coordinate.
    • z: Teleport target z coordinate.
    • o: Teleport target orientation.
  • SCRIPT_COMMAND_QUEST_EXPLORED = 7

source or target: Player. target or source: WorldObject. datalong: Quest entry which external status should be satisfied. See quest_template.id. datalong2: Distance away from the NPC/object that the player can be and have the script still take effect (min value 5). *SCRIPT_COMMAND_KILL_CREDIT = 8 target or source: Player. datalong: Creatue entry of kill credit. See creature_template.entry. datalong2: If value > 0 gives kill credit to the whole group player belongs to, otherwise, gives personal kill credit. *SCRIPT_COMMAND_RESPAWN_GAMEOBJECT = 9 source: WorldObject (summoner). datalong: Guid of the gameobject to respawn. See gameobject.guid. datalong2: Despawn time in seconds. If the value is < 5 seconds: 5 is used instead. *SCRIPT_COMMAND_TEMP_SUMMON_CREATURE = 10 source: WorldObject (summoner). datalong: Entry of the summoned creature. See creature_template.entry. datalong2: Despawn time in ms. x: Summon target x coordinate. y: Summon target y coordinate. z: Summon target z coordinate. o: Summon target orientation. *SCRIPT_COMMAND_OPEN_DOOR = 11 source: WorldObject. datalong: Guid of the activated door. See gameobject.guid. datalong2: Delay before closing again the door. If the value is < 15 seconds: 15 is used instead. *SCRIPT_COMMAND_CLOSE_DOOR = 12 source: WorldObject. datalong: Guid of the activated door. See gameobject.guid. datalong2: Delay before opening again the door. If the value is < 15 seconds: 15 is used instead. *SCRIPT_COMMAND_ACTIVATE_OBJECT = 13 source: Unit. target: GameObject. *SCRIPT_COMMAND_REMOVE_AURA = 14 source (datalong2 != 0) or target (datalong2 h1. 0): Unit. datalong: Spell ID. See Spell.dbc datalong2: If value > 0, then remove from the source; otherwise remove from the target. *SCRIPT_COMMAND_CAST_SPELL = 15 source: Unit. target: Unit. datalong: Spell ID. See Spell.dbc datalong2: 0 - Source→Target 1 - Source→Source (Self cast, use for dummy spells) 2 - Target→Target 3 - Target→Source 4 - Source→Closest entry of dataint. dataint: Creature entry to target if datalong2 value is 4, or triggered attribute for CastSpell method in other cases. x: Search range for creature entry (dataint) if datalong2 value is 4. *SCRIPT_COMMAND_PLAY_SOUND = 16 source: WorldObject. target: none (datalong2 & 1 0) or Player (datalong2 & 1 != 0). datalong: Sound ID. datalong2: 0 - play direct sound to everyone. 1 - play direct sound to target (must be Player). 2 - play sound with distance dependency to anyone. 3 - play sound with distance dependency to target (must be Player). *SCRIPT_COMMAND_CREATE_ITEM = 17 target or source: Player. datalong: Item entry to create. See item_template.entry. datalong2: Amount of items to create. *SCRIPT_COMMAND_DESPAWN_SELF = 18 target: Creature. datalong: Despawn delay. *SCRIPT_COMMAND_LOAD_PATH = 20 source: Unit. datalong: Path ID. See waypoint_data.id. datalong2: If value > 0, means waypoint movement is repeatable. *SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT = 21 source: if present, used as a search center. datalong: entry of searched creature, if source exists, guid of the creature otherwise. **datalong2: ID of the script from *_scripts table. dataint: 3 - use spell_scripts table; 5 - use event_scripts table; 6 - use waypoint_scripts table. *SCRIPT_COMMAND_KILL = 22 source: Creature. dataint: if value == 1 remove corpse. *SCRIPT_COMMAND_ORIENTATION = 30 source: Unit. target: Unit (datalong != 0). datalong: If value != 0, then turn to face the target; otherwise turn to value in o. o: Set orientation to value in field `o`. *SCRIPT_COMMAND_EQUIP = 31 source: Creature. datalong: ID (1, 2, 3 …) from equipment entry. See creature_equip_template.id *SCRIPT_COMMAND_MODEL = 32 source: Creature. datalong: model ID. *SCRIPT_COMMAND_CLOSE_GOSSIP = 33 source: Player. *SCRIPT_COMMAND_PLAYMOVIE = 34 source: Player. datalong: movie ID. *SCRIPT_COMMAND_MOVEMENT = 35 source: Creature. datalong: MovementType. datalong2: MovementDistance (e.g. wander_distance for MovementType 1). dataint: pathid (for MovementType 2, see waypoint_data.id).

guid

Exists only for 'waypoint_scripts' and acts there as primary key; it is set automatically using the GM command 'wp event add'.

数据库/world数据库/scripts.txt · 最后更改: 2023/10/03 23:44 由 admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki