Diferencia entre revisiones de «Event scripts»
Sin resumen de edición |
Sin resumen de edición |
||
Línea 134: | Línea 134: | ||
<sup>1</sup> Presente sólo en la tabla spell_scripts.<br> | <sup>1</sup> Presente sólo en la tabla spell_scripts.<br> | ||
<sup>2</sup> Presente sólo en la tabla waypoint_scripts.<br> | <sup>2</sup> Presente sólo en la tabla waypoint_scripts.<br> | ||
=== Descripción de los campos === | |||
=== ID === | |||
Para '''spell_scripts''', es la ID del hechizo. Ver Spell.dbc<br> | |||
Para '''event_scripts''', es la ID del evento. No existe una lista de eventos completa. En cualquier caso, las IDs de los eventos vienen del servidor oficial y no deben ser cambiadas.<br> | |||
Para '''waypoint_scripts''', es la ID de action.<br> | |||
=== effIndex === | |||
El índice de efecto del hechizo que se aplica en el script (ver auras de creature_addon para más información sobre los índices de efecto de hechizos). | |||
=== delay === | |||
Retraso en segundos para que se active la acción actual. 0 = instantáneo. | |||
=== command === | |||
La acción que se llevará a cabo cuando se cumpla el tiempo de delay. Comandos posibles: | |||
{| class="wikitable" | |||
! Comando | |||
! Nombre | |||
! Descripción | |||
|- | |||
| 0 | |||
| TALK | |||
| La criatura habla. | |||
|- | |||
| 1 | |||
| EMOTE | |||
| La criatura Realiza una emoción. | |||
|- | |||
| 2 | |||
| FIELD_SET | |||
| Cambia el valor de un índice del jugador. | |||
|- | |||
| 3 | |||
| MOVE_TO | |||
| Mueve la criatura a su destino. | |||
|- | |||
| 4 | |||
| FLAG_SET | |||
| Activa bits de un flag para el jugador. | |||
|- | |||
| 5 | |||
| FLAG_REMOVE | |||
| Desactiva bits de un flag para el jugador. | |||
|- | |||
| 6 | |||
| TELEPORT_TO | |||
| Teletransporta al jugador a una localización. | |||
|- | |||
| 7 | |||
| QUEST_EXPLORED | |||
| Satisface el requerimento de exploración de una misión. | |||
|- | |||
| 8 | |||
| KILL_CREDIT | |||
| Da crédito de objetivo de una misión al jugador.. | |||
|- | |||
| 9 | |||
| RESPAWN_GAMEOBJECT | |||
| Spawnea una entidad despawneada. | |||
|- | |||
| 10 | |||
| TEMP_SUMMON_CREATURE | |||
| Invoca temporalmente una críatura. | |||
|- | |||
| 11 | |||
| OPEN_DOOR | |||
| Abre una entidad tipo puerta (type == 0). | |||
|- | |||
| 12 | |||
| CLOSE_DOOR | |||
| Cierra una entidad tipo puerta (type == 0). | |||
|- | |||
| 13 | |||
| ACTIVATE_OBJECT | |||
| Activa una entidad. | |||
|- | |||
| 14 | |||
| REMOVE_AURA | |||
| Elimina un aura por un hechizo. | |||
|- | |||
| 15 | |||
| CAST_SPELL | |||
| Lanza un hechizo. | |||
|- | |||
| 16 | |||
| PLAY_SOUND | |||
| Reproduce un sonido. | |||
|- | |||
| 17 | |||
| CREATE_ITEM | |||
| Crea una cantidad específica de items para el jugador. | |||
|- | |||
| 18 | |||
| DESPAWN_SELF | |||
| Fuerza una criatura a despawnear. | |||
|- | |||
| 20 | |||
| LOAD_PATH | |||
| Carga una ruta, creando movimiento de waypoint. | |||
|- | |||
| 21 | |||
| CALLSCRIPT_TO_UNIT | |||
| Llama al script de una de las tablas *_scripts. | |||
|- | |||
| 22 | |||
| KILL | |||
| Cambia el estado de la criatura a muerto y opcionalmente elimina su cadáver. | |||
|- | |||
| 30 | |||
| ORIENTATION | |||
| Cambia la orientación de la unidad (usado en waypoint_scripts). | |||
|- | |||
| 31 | |||
| EQUIP | |||
| Establece una equipación a la criatura. | |||
|- | |||
| 32 | |||
| MODEL | |||
| Establece un modelo a la criatrura. | |||
|- | |||
| 33 | |||
| CLOSE_GOSSIP | |||
| Cierra la ventana de gossip. Sólo para gossip_scripts. | |||
|- | |||
| 34 | |||
| PLAYMOVIE | |||
| Reproduce una película. | |||
|- | |||
|} | |||
=== Otros campos === | |||
Dependiendo del comando que se use, el significado de estos campos cambia.<br> | |||
*'''SCRIPT_COMMAND_TALK = 0''' | |||
**Fuente: Criatura. | |||
**Objetivo: Cualquier jugador (para susurro). | |||
**'''datalong:''' 12=decir, 14=gritar, 16=emoción, 41=emoción de boss, 15=susurro, 42=susurro de boss | |||
**dataint:''' Referencia al entry de db_script_string. Los valores deben empezar en 2000000000 y terminar en 2000010000. | |||
*'''SCRIPT_COMMAND_EMOTE = 1''' | |||
**Fuente u objetivo: Criatura. | |||
**'''datalong:''' ID de la emoción. | |||
**'''datalong2:''' Si este valor es > 0 el NPC realizará la emoción perpetuamente en lugar de solo una vez. | |||
*'''SCRIPT_COMMAND_FIELD_SET = 2''' | |||
**Fuente u objetivo: Criatura. | |||
**'''datalong:''' Índice del campo. | |||
**'''datalong2:''' Valor que poner al índice.<br><br> | |||
*'''SCRIPT_COMMAND_CAST_SPELL = 15''' | |||
**Fuente: Unidad. | |||
**Objetivo: Unidad. | |||
**'''datalong:''' ID del hechizo. | |||
**'''datalong2:''' | |||
***0 - Fuente->Objetivo | |||
***1 - Fuente->Fuente (autolanzamiento, para dummy spells) | |||
***2 - Objetivo->Objetivo | |||
***3 - Objetivo->Fuente | |||
***4 - Fuente->Entrada más cercana a dataint. | |||
**dataint: Entry de la criatura que tomará como objetivo si datalong2 es 4, o atributo disparado para el método CastSpell en otros casos. | |||
**'''x:''' Rango de búsqueda de la criatura de dataint si datalong2 es 4.<br><br> | |||
*'''SCRIPT_COMMAND_PLAY_SOUND = 16''' | |||
**Fuente: Objeto del mundo | |||
**Objetivo: Ninguno ('''datalong2''' & 1 == 0) o Jugador ('''datalong2''' & 1 != 0). | |||
**'''datalong:''' ID del sonido. | |||
**'''datalong2:''' | |||
***0 - Reproducir el sonido directo a todos. | |||
***1 - Reproducir el sonido directo al objetivo (debe ser un jugador). | |||
***2 - Reproducir el sonido dependiente de la distancia a todo el mundo. | |||
***3 - Reproducir el sonido dependiente de la distancia al objetivo (debe ser un jugador). | |||
*'''SCRIPT_COMMAND_CREATE_ITEM = 17''' | |||
**Objetivo o Fuente: Jugador. | |||
**'''datalong:''' ID del item para crear. Ver entry de item_template. | |||
**'''datalong2:''' Cantidad de items que se crean. | |||
*'''SCRIPT_COMMAND_DESPAWN_SELF = 18''' | |||
**Objetivo: Criatura. | |||
**'''datalong:''' Retraso del despawn. | |||
*'''SCRIPT_COMMAND_LOAD_PATH = 20''' | |||
**Fuente: Unidad. | |||
**'''datalong:''' ID de la ruta. Ver id de waypoint_data. | |||
**'''datalong2:''' Si es valor > 0, significa que el movimiento de waypoint es repetible. | |||
*'''SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT = 21''' | |||
**Fuente: Si está presente, se usa como centro de búsqueda. | |||
**'''datalong:''' ID de la criatura buscada, si existe la fuente, si no, el guid de la criatura. | |||
**'''datalong2:''' ID of the script from *_scripts table. | |||
**dataint: | |||
***1 - Usa la tabla quest_end_scripts; | |||
***2 - Usa la tabla quest_start_scripts; | |||
***3 - Usa la tabla spell_scripts; | |||
***4 - Usa la tabla gameobject_scripts; | |||
***5 - Usa la tabla se event_scripts; | |||
***6 - Usa la tabla waypoint_scripts. | |||
*'''SCRIPT_COMMAND_KILL = 22''' | |||
**Fuente: Criatura. | |||
**'''dataint:''' Si el valor == 1, elimina el cadáver. | |||
*'''SCRIPT_COMMAND_ORIENTATION = 30''' | |||
**Fuente: Unidad. | |||
**Objetivo: Unidad(datalong != 0). | |||
**'''datalong:''' Si el valor != 0, entonces se gira hacia el objetivo; si no, se gira con la orientación o. | |||
**'''o''': Establece la orientación. | |||
*'''SCRIPT_COMMAND_EQUIP = 31''' | |||
**Fuente: Criatura. | |||
**'''datalong:''' ID del equipamiento. Ver entry de creature_equip_template. | |||
*'''SCRIPT_COMMAND_MODEL = 32''' | |||
**Fuente: Criatura. | |||
**'''datalong:''' ID del modelo. | |||
*'''SCRIPT_COMMAND_CLOSE_GOSSIP = 33''' | |||
**Fuente: Jugador. | |||
*'''SCRIPT_COMMAND_PLAYMOVIE = 34''' | |||
**Fuente: Jugador. | |||
**'''datalong:''' ID de la película. | |||
=== guid === | |||
Para scripts de waypoints, guid de la criatura. |
Revisión del 04:39 17 may 2025
La tablas `***_scripts`
Este formato de tabla se usa para 6 tablas diferentes:
- spell_scripts: Contiene scripts activados por hechizos con el efecto SPELL_EFFECT_SCRIPT_EFFECT (77) o SPELL_EFFECT_DUMMY(3).
- event_scripts: Contiene scripts activados cuando se activa un evento, bien por una entidad o por un hechizo con el efecto SPELL_EFFECT_SEND_EVENT (61).
- waypoint_scripts: Contiene scripts usados en la tabla waypoint_data.
Notas:
- Una entrada en esta tabla puede tener más de una fila si el script realiza más de una acción.
- A pesar de la existencia de estas tablas, hay que evitar su uso en la medida de lo posible ya que con smart_scripts se pueden realizar la mayoría de las acciones contempladas aquí.
Estructura
Field | Type | Attributes | Key | Null | Default | Extra | Comment |
---|---|---|---|---|---|---|---|
ID | mediumint(8) | unsigned | NO | 0 | |||
effIndex | tinyint(3) | unsigned | NO | 0 | |||
Delay | int(11) | unsigned | NO | 0 | |||
Command | mediumint(8) | unsigned | NO | 0 | |||
detalong | mediumint(8) | unsigned | NO | 0 | |||
detalong2 | int(10) | unsigned | NO | 0 | |||
dataint | int(11) | signed | NO | 0 | |||
x | int(10) | float | NO | 0 | |||
y | int(10) | float | NO | 0 | |||
z | int(10) | float | NO | 0 | |||
z | float | signed | NO | 0 | |||
Guid | int(11) | signed | PRI | NO | 0 |
1 Presente sólo en la tabla spell_scripts.
2 Presente sólo en la tabla waypoint_scripts.
Descripción de los campos
ID
Para spell_scripts, es la ID del hechizo. Ver Spell.dbc
Para event_scripts, es la ID del evento. No existe una lista de eventos completa. En cualquier caso, las IDs de los eventos vienen del servidor oficial y no deben ser cambiadas.
Para waypoint_scripts, es la ID de action.
effIndex
El índice de efecto del hechizo que se aplica en el script (ver auras de creature_addon para más información sobre los índices de efecto de hechizos).
delay
Retraso en segundos para que se active la acción actual. 0 = instantáneo.
command
La acción que se llevará a cabo cuando se cumpla el tiempo de delay. Comandos posibles:
Comando | Nombre | Descripción |
---|---|---|
0 | TALK | La criatura habla. |
1 | EMOTE | La criatura Realiza una emoción. |
2 | FIELD_SET | Cambia el valor de un índice del jugador. |
3 | MOVE_TO | Mueve la criatura a su destino. |
4 | FLAG_SET | Activa bits de un flag para el jugador. |
5 | FLAG_REMOVE | Desactiva bits de un flag para el jugador. |
6 | TELEPORT_TO | Teletransporta al jugador a una localización. |
7 | QUEST_EXPLORED | Satisface el requerimento de exploración de una misión. |
8 | KILL_CREDIT | Da crédito de objetivo de una misión al jugador.. |
9 | RESPAWN_GAMEOBJECT | Spawnea una entidad despawneada. |
10 | TEMP_SUMMON_CREATURE | Invoca temporalmente una críatura. |
11 | OPEN_DOOR | Abre una entidad tipo puerta (type == 0). |
12 | CLOSE_DOOR | Cierra una entidad tipo puerta (type == 0). |
13 | ACTIVATE_OBJECT | Activa una entidad. |
14 | REMOVE_AURA | Elimina un aura por un hechizo. |
15 | CAST_SPELL | Lanza un hechizo. |
16 | PLAY_SOUND | Reproduce un sonido. |
17 | CREATE_ITEM | Crea una cantidad específica de items para el jugador. |
18 | DESPAWN_SELF | Fuerza una criatura a despawnear. |
20 | LOAD_PATH | Carga una ruta, creando movimiento de waypoint. |
21 | CALLSCRIPT_TO_UNIT | Llama al script de una de las tablas *_scripts. |
22 | KILL | Cambia el estado de la criatura a muerto y opcionalmente elimina su cadáver. |
30 | ORIENTATION | Cambia la orientación de la unidad (usado en waypoint_scripts). |
31 | EQUIP | Establece una equipación a la criatura. |
32 | MODEL | Establece un modelo a la criatrura. |
33 | CLOSE_GOSSIP | Cierra la ventana de gossip. Sólo para gossip_scripts. |
34 | PLAYMOVIE | Reproduce una película. |
Otros campos
Dependiendo del comando que se use, el significado de estos campos cambia.
- SCRIPT_COMMAND_TALK = 0
- Fuente: Criatura.
- Objetivo: Cualquier jugador (para susurro).
- datalong: 12=decir, 14=gritar, 16=emoción, 41=emoción de boss, 15=susurro, 42=susurro de boss
- dataint: Referencia al entry de db_script_string. Los valores deben empezar en 2000000000 y terminar en 2000010000.
- SCRIPT_COMMAND_EMOTE = 1
- Fuente u objetivo: Criatura.
- datalong: ID de la emoción.
- datalong2: Si este valor es > 0 el NPC realizará la emoción perpetuamente en lugar de solo una vez.
- SCRIPT_COMMAND_FIELD_SET = 2
- Fuente u objetivo: Criatura.
- datalong: Índice del campo.
- datalong2: Valor que poner al índice.
- SCRIPT_COMMAND_CAST_SPELL = 15
- Fuente: Unidad.
- Objetivo: Unidad.
- datalong: ID del hechizo.
- datalong2:
- 0 - Fuente->Objetivo
- 1 - Fuente->Fuente (autolanzamiento, para dummy spells)
- 2 - Objetivo->Objetivo
- 3 - Objetivo->Fuente
- 4 - Fuente->Entrada más cercana a dataint.
- dataint: Entry de la criatura que tomará como objetivo si datalong2 es 4, o atributo disparado para el método CastSpell en otros casos.
- x: Rango de búsqueda de la criatura de dataint si datalong2 es 4.
- SCRIPT_COMMAND_PLAY_SOUND = 16
- Fuente: Objeto del mundo
- Objetivo: Ninguno (datalong2 & 1 == 0) o Jugador (datalong2 & 1 != 0).
- datalong: ID del sonido.
- datalong2:
- 0 - Reproducir el sonido directo a todos.
- 1 - Reproducir el sonido directo al objetivo (debe ser un jugador).
- 2 - Reproducir el sonido dependiente de la distancia a todo el mundo.
- 3 - Reproducir el sonido dependiente de la distancia al objetivo (debe ser un jugador).
- SCRIPT_COMMAND_CREATE_ITEM = 17
- Objetivo o Fuente: Jugador.
- datalong: ID del item para crear. Ver entry de item_template.
- datalong2: Cantidad de items que se crean.
- SCRIPT_COMMAND_DESPAWN_SELF = 18
- Objetivo: Criatura.
- datalong: Retraso del despawn.
- SCRIPT_COMMAND_LOAD_PATH = 20
- Fuente: Unidad.
- datalong: ID de la ruta. Ver id de waypoint_data.
- datalong2: Si es valor > 0, significa que el movimiento de waypoint es repetible.
- SCRIPT_COMMAND_CALLSCRIPT_TO_UNIT = 21
- Fuente: Si está presente, se usa como centro de búsqueda.
- datalong: ID de la criatura buscada, si existe la fuente, si no, el guid de la criatura.
- datalong2: ID of the script from *_scripts table.
- dataint:
- 1 - Usa la tabla quest_end_scripts;
- 2 - Usa la tabla quest_start_scripts;
- 3 - Usa la tabla spell_scripts;
- 4 - Usa la tabla gameobject_scripts;
- 5 - Usa la tabla se event_scripts;
- 6 - Usa la tabla waypoint_scripts.
- SCRIPT_COMMAND_KILL = 22
- Fuente: Criatura.
- dataint: Si el valor == 1, elimina el cadáver.
- SCRIPT_COMMAND_ORIENTATION = 30
- Fuente: Unidad.
- Objetivo: Unidad(datalong != 0).
- datalong: Si el valor != 0, entonces se gira hacia el objetivo; si no, se gira con la orientación o.
- o: Establece la orientación.
- SCRIPT_COMMAND_EQUIP = 31
- Fuente: Criatura.
- datalong: ID del equipamiento. Ver entry de creature_equip_template.
- SCRIPT_COMMAND_MODEL = 32
- Fuente: Criatura.
- datalong: ID del modelo.
- SCRIPT_COMMAND_CLOSE_GOSSIP = 33
- Fuente: Jugador.
- SCRIPT_COMMAND_PLAYMOVIE = 34
- Fuente: Jugador.
- datalong: ID de la película.
guid
Para scripts de waypoints, guid de la criatura.