Tablas de scripts
<-Volver a: World
Tablas: ***_scripts
Este formato de tabla se usa para 3 tablas diferentes para controlar los posibles scripts activados por distintas acciones:
spell_scripts: contiene los scripts que pueden activarse mediante hechizos con el efecto SPELL_EFFECT_SCRIPT_EFFECT (77) o SPELL_EFFECT_DUMMY(3).
event_scripts: contiene los scripts que se activan cada vez que se activa un evento, ya sea por un objeto o como el spell effect SPELL_EFFECT_SEND_EVENT (61).
waypoint_scripts: contiene los scripts usados en la tabla waypoint_data. Ver tambi茅n Waypoints-Information para informaci贸n general sobre los waypoints.
NOTA: una entrada de esta tabla puede tener m谩s de una fila, ya que un script puede hacer m谩s de una acci贸n. Adem谩s, cada acci贸n que realice el script puede tener un delay independiente asociado. En ese caso, el core activar谩 la acci贸n apropiada tras el delay correcto.
Estructura
| Field |
Type |
Attributes |
Key |
Null |
Default |
Extra |
Comment |
| id |
INT |
UNSIGNED |
|
NO |
0 |
|
|
| effIndex |
INT |
UNSIGNED |
|
NO |
0 |
only used in spell_scripts |
|
| delay |
INT |
UNSIGNED |
|
NO |
0 |
|
|
| command |
INT |
UNSIGNED |
|
NO |
0 |
|
|
| datalong |
INT |
UNSIGNED |
|
NO |
0 |
|
|
| datalong2 |
INT |
UNSIGNED |
|
NO |
0 |
|
|
| dataint |
INT |
|
|
NO |
0 |
|
|
| x |
FLOAT |
|
|
NO |
0 |
|
|
| y |
FLOAT |
|
|
NO |
0 |
|
|
| z |
FLOAT |
|
|
NO |
0 |
|
|
| o |
FLOAT |
|
|
NO |
0 |
|
|
| guid |
INT |
|
PRI |
NO |
0 |
only used in waypoint_scripts; acts as primary key and is set automatically using the GM command 'wp event add' |
|
Descripci贸n de los campos
id
Para spell_scripts, es el ID del hechizo. Ver Spell.dbc
Para event_scripts, es el ID del evento. Actualmente no existe una lista completa de eventos. En cualquier caso, los IDs de evento se toman directamente de los datos WDB del gameobject o de los datos del spell effect. Si tanto un gameobject como un hechizo activan el mismo evento, los IDs coincidir谩n.
Para waypoint_scripts, es el ID de la action.
effIndex
El 铆ndice del efecto del hechizo al que se va a aplicar este script.
delay
Delay en segundos antes de que se active este paso actual del script. 0 = instant谩neo.
command
El tipo de acci贸n que realiza el script tras haber pasado delay segundos. El valor de este campo determina qu茅 otros campos tambi茅n deben establecerse. Se pueden usar los siguientes comandos:
| Command |
Name |
Description |
| 0 |
TALK |
Creature say/whisper/yell/textemote. |
| 1 |
EMOTE |
Play emote on creature. |
| 2 |
FIELD_SET |
Change the value at an index for the player. |
| 3 |
MOVE_TO |
Relocate creature to a destination. |
| 4 |
FLAG_SET |
Turns on bits on a flag field at an index for the player. |
| 5 |
FLAG_REMOVE |
Turns off bits on a flag field at an index for the player. |
| 6 |
TELEPORT_TO |
Teleports the player to a location. |
| 7 |
QUEST_EXPLORED |
Satisfies the explore requirement for a quest. |
| 8 |
KILL_CREDIT |
Gives kill credit to the player. |
| 9 |
RESPAWN_GAMEOBJECT |
Spawns a despawned gameobject. |
| 10 |
TEMP_SUMMON_CREATURE |
Temporarily summons a creature. |
| 11 |
OPEN_DOOR |
Opens a door gameobject (type h1. 0). |
| 12 |
CLOSE_DOOR |
Closes a door gameobject (type 0). |
| 13 |
ACTIVATE_OBJECT |
Activates an object. |
| 14 |
REMOVE_AURA |
Removes an aura due to a spell. |
| 15 |
CAST_SPELL |
Casts a spell. |
| 16 |
PLAY_SOUND |
Plays a sound. |
| 17 |
CREATE_ITEM |
Creates specified amount of items for the player. |
| 18 |
DESPAWN_SELF |
Forces creature to despawn. |
| 20 |
LOAD_PATH |
Load path to unit, then unit starts waypoint movement. |
| 21 |
CALLSCRIPT_TO_UNIT |
Calls script from one of *_scripts table with given unit as source. |
| 22 |
KILL |
Changes state of the creature to dead and optionally removes its corpse. |
| 30 |
ORIENTATION |
Changes unit's orientation (Used in Waypoint Scripts) |
| 31 |
EQUIP |
Sets creature equipment. |
| 32 |
MODEL |
Sets creature model. |
| 33 |
CLOSE_GOSSIP |
Closes gossip window. This command is only used for Gossip Scripts. |
| 34 |
PLAYMOVIE |
Plays movie. |
| 35 |
MOVEMENT |
Change movement type. |
OtherFields
Dependiendo del comando usado, el significado y uso de los siguientes campos var铆a.
*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: referencia a 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).
- 4 - play sound within radius to anyone.
- dataint: radius if datalong2 value is 4
*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
*SCRIPT_COMMAND_MODEL = 32
- source: Creature.
- datalong: model ID.
*SCRIPT_COMMAND_CLOSE_GOSSIP = 33
*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
Existe solo para 'waypoint_scripts' y act煤a all铆 como clave primaria; se establece autom谩ticamente usando el comando GM 'wp event add'.