Diferencia entre revisiones de «Smart scripts»

De TimelessWoW
Ir a la navegación Ir a la búsqueda
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 79: Línea 79:
[[source_type]]
[[source_type]]
*Fuente del evento: criatura, gameobect, spell.
*Fuente del evento: criatura, gameobect, spell.
Consultar la tabla.
 
===Expandir y consultar la tabla.===


{| class="mw-collapsible mw-collapsed wikitable"
{| class="mw-collapsible mw-collapsed wikitable"
Línea 322: Línea 323:


[[event_phase_mask]]
[[event_phase_mask]]
 
===EXPANDIR LA TABLA===
{| class="mw-collapsible mw-collapsed wikitable"
! style="background:PaleGreen;" | Nombre
! style="background:PaleGreen;" | Flags
|-
| SMART_EVENT_PHASE_ALWAYS_BIT  ||  0
|-
| SMART_EVENT_PHASE_1_BIT      ||  1
|-
| SMART_EVENT_PHASE_2_BIT      ||  2
|-
| SMART_EVENT_PHASE_3_BIT      ||  4
|-
| SMART_EVENT_PHASE_4_BIT      ||  8
|-
| SMART_EVENT_PHASE_5_BIT      || 16
|-
| SMART_EVENT_PHASE_6_BIT      || 32
|-
| SMART_EVENT_PHASE_ALL <br> <font style="background:#DC143C"><font color="#FFFFFF"> (La suma de todas)        || <font style="background:#DC143C"><font color="#FFFFFF">63
|-
|}
* El evento solo podrá ocurrir si la criatura/GO está en esta fase.
* Ejemplo: Si queremos que un evento solo ocurra en las fases 1 y 4, event_phase_mask = 1+8 = 9
* (Inverso de EAI: event_inverse_phase_mask).


[[event_chance]]
[[event_chance]]
*Probabilidad de que el evento tenga lugar, en porcentaje (0-100%).
*Probabilidad de que el evento tenga lugar, en porcentaje (0-100%).
Por lo tanto, si desea que el evento ocurra aproximadamente la mitad de las veces, establezca este valor en 50.
[[event_flags]]
[[event_flags]]
*Establece si el evento no debería repetirse o sólo debería ocurrir en una determinada dificultad de instancia/mazmorra (si corresponde).
*Establece si el evento no debería repetirse o sólo debería ocurrir en una determinada dificultad de instancia/mazmorra (si corresponde).
*Los valores se pueden sumar.
*Los valores se pueden sumar.
===EXPANDIR LA TABLA===
{| class="mw-collapsible mw-collapsed wikitable"
! style="background:PaleGreen;" | Nombre
! style="background:PaleGreen;" | Flag
! style="background:PaleGreen;" | Comentario
|-
| EVENT_FLAG_NONE                  ||  0 ||  Nada
|-
| EVENT_FLAG_NOT_REPETABLE ||  1 ||  No repetible
|-
| EVENT_FLAG_NORMAL_DUNGEON ||  2 ||  Dungeon Normal
|-
| EVENT_FLAG_HEROIC_DUNGEON ||  4 ||  Dungeon Heroica
|-
| EVENT_FLAG_NORMAL_RAID ||  8 ||  Raid Normal
|-
| EVENT_FLAG_HEROIC_RAID ||  16 || Raid Heroica
|-
| EVENT_FLAG_DEBUG_ONLY ||  128 || Solo ocurre en la compilación
|-
|}
[[action_type]]
[[action_type]]



Revisión actual - 11:17 13 oct 2025

La tabla `smart_scripts`

Con este sistema podremos programar eventos bastante complejos sin la necesidad de recurrir a scripts.

Dado las grandes posibilidades que presenta sustituye completamente a los eventos programados por Event AI,
así que este último sistema ha quedado obsoleto y ya no se usa.


Estructura

Field Type Attributes KEY NULL Default Extra Comment
entryorguid int(11) signed PRI NO None
source_type tinyint(3) unsigned PRI NO 0
id smallint(5) unsigned PRI NO 0
link smallint(5) unsigned PRI NO 0
event_type tinyint(3) unsigned NO 0
event_phase_mask tinyint(3) unsigned NO 0
event_chance tinyint(3) unsigned NO 100
event_flags tinyint(3) unsigned NO 0
event_param1 int(10) unsigned NO 0
event_param2 int(10) unsigned NO 0
event_param3 int(10) unsigned NO 0
event_param4 int(10) unsigned NO 0
action_type tinyint(3) unsigned NO 0
action_param1 int(10) unsigned NO 0
action_param2 int(10) unsigned NO 0
action_param3 int(10) unsigned NO 0
action_param4 int(10) unsigned NO 0
action_param5 int(10) unsigned NO 0
action_param6 int(10) unsigned NO 0
target_type tinyint(3) unsigned NO 0
target_param1 int(10) unsigned NO 0
target_param2 int(10) unsigned NO 0
target_param3 int(10) unsigned NO 0
target_x float signed NO 0
target_y float signed NO 0
target_z float signed NO 0
target_o float signed NO 0
comment text signed NO Event Comment

Descripción de los campos

Nótese que significa que esa característica/opción no está (aún) implementada.

entryorguid

  • EntryOrGuid > 0: entry de la criatura/ gameobject / etc.
  • EntryOrGuid < 0: guid de la criatura/ gameobject / etc.
  • Depende del valor tomado en source_type.

source_type

  • Fuente del evento: criatura, gameobect, spell.

Expandir y consultar la tabla.

Nombre Valor
SMART_SCRIPT_TYPE_CREATURE 0
SMART_SCRIPT_TYPE_GAMEOBJECT 1
SMART_SCRIPT_TYPE_AREATRIGGER 2
SMART_SCRIPT_TYPE_EVENT 3
SMART_SCRIPT_TYPE_GOSSIP 4
SMART_SCRIPT_TYPE_QUEST 5
SMART_SCRIPT_TYPE_SPELL 6
SMART_SCRIPT_TYPE_TRANSPORT 7
SMART_SCRIPT_TYPE_INSTANCE 8
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST 9
SMART_SCRIPT_TYPE_SCENE 10
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY 11
SMART_SCRIPT_TYPE_AREATRIGGER_ENTITY_SERVERSIDE 12

id

  • Incremento de id ligad a cada 'entryorguid' y 'source_type' (0, 1, 2, ...).

link

  • Método simple para enlazar eventos.
  • Ejemplo: Tenemos un evento (con un entryorguid y un source_type definidos) con id = 0 y link = 1; el evento (que tiene el mismo entryorguid y source_type) con id = 1 sólo podrá ocurrir si el evento con id = 0 ha sido desencadenado.
  • Cuando se usa este método, hay que seleccionar el event_type 61 (SMART_EVENT_LINK).

Volver a smart_scripts.

event_type

EXPANDIR LA TABLA

Nombre Valor Parametro 1 Parametro 2 Parametro 3 Parametro 4 Parametro 5 Comentario
SMART_EVENT_UPDATE_IC 0 Inicio/Mínimo Inicio/Máximo Repite/Mínimo Repite/Máximo En combate
SMART_EVENT_UPDATE_OOC 1 Inicio/Mínimo Inicio/Máximo Repite/Mínimo Repite/Máximo Fuera de combate
SMART_EVENT_HEALT_PCT 2 HPMin% HPMax% RepeatMin RepeatMax Porcentage de salud
SMART_EVENT_MANA_PCT 3 ManaMin% ManaMax% RepeatMin RepeatMax Porcentage de maná
SMART_EVENT_AGGRO 4 Al entrar en combate
SMART_EVENT_KILL 5 CooldownMin0 CooldownMax1 playerOnly (0/1) Enttry (Si el parámetro 3 es 0) Sobre la muerte de criaturas
SMART_EVENT_DEATH 6 NONE
SMART_EVENT_EVADE 7 NONE
SMART_EVENT_SPELLHIT 8 SpellID School CooldownMin CooldownMax Al golpear com un hechizo a creatura/objeto
SMART_EVENT_RANGE 9 MinDist MaxDist RepeatMin RepeatMax Al objeto dentro del rango
SMART_EVENT_OOC_LOS 10 Ignorar hostilidad - target (0/1) Max Distancia al target CooldownMin CooldownMax Distancia cuando está fuera de combate
SMART_EVENT_RESPAWN 11 Condición del respawn Condicion del MapId Condición de la ZoneId Sobre la reaparición de objetos/criaturas
SMART_EVENT_TARGET_HEALTH_PCT 12 HPMin% HPMax% RepeatMin RepeatMax Porcentage de salud del objetivo
SMART_EVENT_TARGET_CASTING 13 Repeticion Min. Repetición Max. id del hechizo Hechizo al objetivo
SMART_EVENT_FRIENDLY_HEALTH 14 Déficit de HP(salud) Rádio Repetición Min. Repetición Max. Déficit de salud - amistoso
SMART_EVENT_FRIENDLY_IS_CC 15 Radio Repetición Min. Repetición Max. cuando una unidad amiga dentro de un cierto rango está bajo el efecto de un hechizo de control de masas
SMART_EVENT_FRIENDLY_MISSING_BUFF 16 Id del hechizo Radio Repetición Min. Repetición Max. Unidad amistosa, perdida de Buff
SMART_EVENT_SUMMONED_UNIT 17 Criatura Id, para ninguno dejar en 0 Repatición Min. Repatición Max. Unidad invocada por criatura/objeto
SMART_EVENT_TARGET_MANA_PCT 18 Mana Maz.% Mana Min.% Repetición Min. Repetición Max. Porcentaje de maná del objetivo
SMART_EVENT_ACCEPTED_QUEST 19 ID de la misión (0 ninguna) Tiempo Min. Tiempo Max. Misión aceptada
SMART_EVENT_REWARD_QUEST 20 ID de la misión (0 ninguna) Tiempo Min. Tiempo Max. Mision Recompensada
SMART_EVENT_REACHED_HOME 21 Sobre la criatura que llega a casa
SMART_EVENT_RECEIVE_EMOTE 22 EmoteId Tiempo Min. Tiempo Max. Recibe el emote
SMART_EVENT_HAS_AURA 23 Id del hechizo Numero de STacked Repetición Min. Repetición Max. Sobre el aura de la criatura
SMART_EVENT_TARGET_BUFFED 24 Id del hechizo Numero de STacked Repetición Min. Repetición Max. Buff de spell sobre el objetivo
SMART_EVENT_RESET 25 Aparecer o reaparecer despues del combate
SMART_EVENT_IC_LOS 26 Ignora criatura hostil (0/1) Rango (distancia) Max. Tiempo Min. Tiempo Max. Objetivo a distancia en combate
SMART_EVENT_PASSENGER_BOARDED 27 Tiempo Min. Tiempo Max. Cuando la criatura se sube al vehiculo
SMART_EVENT_PASSENGER_REMOVED 28 Tiempo Min. Tiempo Max. Cuando la criatura se baja al vehiculo
SMART_EVENT_CHARMED 29 0 (al aplicar el encanto) / 1 (al quitar el encanto) Criatura encantada
SMART_EVENT_CHARMED_TARGET 30 Criatura encantada al objetivo
SMART_EVENT_SPELLHIT_TARGET 31 Id del hechizo Escuela Tiempo Min. Tiempo Max. Hechizo sobre el objetivo
SMART_EVENT_DAMAGED 32 Daño Min. Daño Max. Tiempo Min. Tiempo Max. Daño sobre la criatura
SMART_EVENT_DAMAGED_TARGET 33 Daño Min. Daño Max. Tiempo Min. Tiempo Max. Daño al objetivo
SMART_EVENT_MOVEMENTINFORM 34 MovementType(any) PointID MovemenType
SMART_EVENT_SUMMON_DESPAWNED 35 Creature Id (Ninguno-0) Tiempo Min. Tiempo Max. Invocada/Desaparecida
SMART_EVENT_CORPSE_REMOVED 36 Cadaver de la criatura eliminado
SMART_EVENT_AI_INIT 37
SMART_EVENT_DATA_SET 38 Id Value Tiempo Min. Tiempo Max. Conjunto de datos criatura/objetivo. Se puede utilizar con SMART_ACTION_SET_DATA
SMART_EVENT_WAYPOINT_START 39 Id del punto(0-ninguno) pathID(0-ninguno) La criatura comienza los waipoints
SMART_EVENT_WAYPOINT_REACHED 40 Id del punto(0-ninguno) pathID(0-ninguno) Cuando la criatura llega al punto dado
SMART_EVENT_TRANSPORT_ADDPLAYER 41
SMART_EVENT_TRANSPORT_ADDCREATURE 42 ID (0- ninguno)
SMART_EVENT_TRANSPORT_REMOVE_PLAYER 43
SMART_EVENT_TRANSPORT_RELOCATE 44 Id del punto
SMART_EVENT_INSTANCE_PLAYER_ENTER 45 Equipo (0-ninguno) Tiempo Min. Tiempo Max.
SMART_EVENT_AREATRIGGER_ONTRIGGER 46 Id del Trigger(0-ninguno)
SMART_EVENT_QUEST_ACCEPTED 47 Cuando se acepta la misión
SMART_EVENT_QUEST_OBJ_COPLETETION 48 Objetivo de la misión completado
SMART_EVENT_QUEST_COMPLETION 49 Misión completada
SMART_EVENT_QUEST_REWARDED 50 Misión premiada
SMART_EVENT_QUEST_FAIL 51 Misión fallida
SMART_EVENT_TEXT_OVER 52 GroupId de creature_text Id de la criatura que habla (0-ninguno) Se activa despues de SMART_ACTION_TALK Para una acción después
SMART_EVENT_RECEIVE_HEAL 53 MinHeal MaxHeal Tiempo Min. Tiempo Max. Criatura que recibe la curación
SMART_EVENT_JUST_SUMMONED 54 Justo cuando la criatura aparece por summon
SMART_EVENT_WAYPOINT_PAUSED 55 Id del punto(0-ninguno) pathID(0-ninguno) Pausa en el camino
SMART_EVENT_WAYPOINT_RESUMED 56 Id del punto(0-ninguno) pathID(0-ninguno) Criatura reanuda el camino
SMART_EVENT_WAYPOINT_STOPPED 57 Id del punto(0-ninguno) pathID(0-ninguno) Parada en el camino
SMART_EVENT_WAYPOINT_ENDED 58 Id del punto(0-ninguno) pathID(0-ninguno) Finalización del camino
SMART_EVENT_TIMED_EVENT_TRIGGERED 59 id
SMART_EVENT_UPDATE 60 Inicio Min. Inicio Max. Repetición Min. Repetición Max.
SMART_EVENT_LINK 61 Uso interno no hay parametros Se utiliza para encadenar varios eventos
SMART_EVENT_GOSSIP_SELECT 62 menuID actionID Al hacer click en el menu Gossip
SMART_EVENT_JUST_CREATED 63
SMART_EVENT_GOSSIP_HELLO 64 Al hacer click con el boton del raton Criatura/Objeto. Tiene que tener el Gossip activo
SMART_EVENT_FOLLOW_COMPLETED 65
SMART_EVENT_DUMMY_EFFECT 66 Id del hechizo effectIndex
SMART_EVENT_IS_BEHIND_TARGET 67 Tiempo Min. Tiempo Max. Criatura detrás del objetivo. Usado en 3.3.5
SMART_EVENT_GAME_EVENT_START 68 game_event.Entry
SMART_EVENT_GAME_EVENT_END 69 game_event.Entry
SMART_EVENT_GO_STATE_CHANGED 70 go state
SMART_EVENT_GO_EVENT_INFORM 71 Id del evento
SMART_EVENT_ACTION_DONE 72 Id del evento (SharedDefines.EventId)
SMART_EVENT_ON_SPELLCLICK 73 clicker (unit) Necesita entrada en npc_spellclick_spells de la base de datos
SMART_EVENT_FRIENDLY_HEALTH_PCT 74 minHpPct maxHpPct repeatMin repeatMax
SMART_EVENT_DISTANCE_CREATURE 75 guid entry distance repeat Criatura dento de la distancia
SMART_EVENT_DISTANCE_GAMEOBJECT 76 guid entry distance repeat Objeto dentro de distancia, por guid
SMART_EVENT_COUNTER_SET 77 id value Tiempo Min. Tiempo Max. Evento que se activa cuando un objeto del juego se acerca a una distancia determinada.
SMART_EVENT_SCENE_START 78 (NYI) No implementado
SMART_EVENT_SCENE_TRIGGER 79 (NYI) No implementado
SMART_EVENT_SCENE_CANCEL 80 (NYI) No implementado
SMART_EVENT_SCENE_COMPLETE 81 (NYI) No implementado
SMART_EVENT_SUMMONED_UNIT_DIES 82 (NYI) No implementado
SMART_EVENT_ON_SPELL_CAST 83 (NYI) No implementado
SMART_EVENT_ON_SPELL_FAILED 84 (NYI) No implementado
SMART_EVENT_ON_SPELL_START 85 (NYI) No implementado
SMART_EVENT_ON_DESPAWN 86 (NYI) No implementado
SMART_EVENT_SEND_EVENT_TRIGGER 87 (NYI) No implementado
SMART_EVENT_AREATRIGGER_EXIT 88 (NYI) No implementado
SMART_EVENT_DISTANCE_PLAYER 100 range aura ispresent repeat
  • El evento sólo podrá ocurrir si la criatura/gameobject está en esta fase.
  • El 0 engloba todas las fases (?).

event_phase_mask

EXPANDIR LA TABLA

Nombre Flags
SMART_EVENT_PHASE_ALWAYS_BIT 0
SMART_EVENT_PHASE_1_BIT 1
SMART_EVENT_PHASE_2_BIT 2
SMART_EVENT_PHASE_3_BIT 4
SMART_EVENT_PHASE_4_BIT 8
SMART_EVENT_PHASE_5_BIT 16
SMART_EVENT_PHASE_6_BIT 32
SMART_EVENT_PHASE_ALL
(La suma de todas)
63
  • El evento solo podrá ocurrir si la criatura/GO está en esta fase.
  • Ejemplo: Si queremos que un evento solo ocurra en las fases 1 y 4, event_phase_mask = 1+8 = 9
  • (Inverso de EAI: event_inverse_phase_mask).

event_chance

  • Probabilidad de que el evento tenga lugar, en porcentaje (0-100%).

Por lo tanto, si desea que el evento ocurra aproximadamente la mitad de las veces, establezca este valor en 50. event_flags

  • Establece si el evento no debería repetirse o sólo debería ocurrir en una determinada dificultad de instancia/mazmorra (si corresponde).
  • Los valores se pueden sumar.

EXPANDIR LA TABLA

Nombre Flag Comentario
EVENT_FLAG_NONE 0 Nada
EVENT_FLAG_NOT_REPETABLE 1 No repetible
EVENT_FLAG_NORMAL_DUNGEON 2 Dungeon Normal
EVENT_FLAG_HEROIC_DUNGEON 4 Dungeon Heroica
EVENT_FLAG_NORMAL_RAID 8 Raid Normal
EVENT_FLAG_HEROIC_RAID 16 Raid Heroica
EVENT_FLAG_DEBUG_ONLY 128 Solo ocurre en la compilación

action_type

EXPANDIR LA TABLA

Nombre Valor Param 1 Param 2 Param 3 Param 4 Param 5 Param 6 Comentario Limitación del Branch 9
SMART_ACTION_NONE 0 No action
SMART_ACTION_TALK 1 groupID from creature_text Duracion de la espera antes que se active - TEXT_OVER
SMART_ACTION_SET_FACTION 2 FactionId (or 0 for default)
SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL 3 Creature_template entry(param1) ModelId (param2) (or 0 for both to demorph)
SMART_ACTION_SOUND 4 SoundId onlySelf
SMART_ACTION_PLAY_EMOTE 5 EmoteId
SMART_ACTION_FAIL_QUEST 6 QuestID
SMART_ACTION_ADD_QUEST 7 QuestID
SMART_ACTION_SET_REACT_STATE 8 state
SMART_ACTION_ACTIVATE_GOBJECT 9
SMART_ACTION_RANDOM_EMOTE 10 EmoteId1 EmoteId2 EmoteId3 EmoteId4
SMART_ACTION_CAST 11 Id de la spell CastFlags
SMART_ACTION_SUMMON_CREATURE 12 CreatureID summonType duration in ms attackInvoker SmartActionSummonCreatureFlags: PersonalSpawn = 1 PreferUnit = 2 Summon Unit
SMART_ACTION_THREAT_SINGLE_PCT 13 Threat% Cambiar porcentage de amenaza para un objetivo
SMART_ACTION_THREAT_ALL_PCT 14 Threat% Cambiar porcentage de amenaza para varios objetivo
SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS 15 QuestID
SMART_ACTION_UNUSED_16 16 Solo para la 4.3.4
SMART_ACTION_SET_EMOTE_STATE 17 emoteID Reproduce el emote continuamente
SMART_ACTION_SET_UNIT_FLAG 18 Flags (may be more than one field OR'd together) Target: Si es falso creature_template.unit_flags Si es verdadero creature_template.unit_flags Se pueden establecer varias flag a la vez
SMART_ACTION_REMOVE_UNIT_FLAG 19 Flags (may be more than one field OR'd together) Target: Si es falso creature_template.unit_flags Si es verdadero creature_template.unit_flags Se pueden eliminar, de inmediato, las varias flags
SMART_ACTION_AUTO_ATTACK 20 AllowAttackState (0 = stop attack anything else means continue attacking) Detiene o continua el ataque automatico
SMART_ACTION_ALLOW_COMBAT_MOVEMENT 21 AllowCombatMovement (0 = stop combat based movement anything else continue attacking) Permite o deshabilita el movimiento de combate
SMART_ACTION_SET_EVENT_PHASE 22 Phase
SMART_ACTION_INC_EVENT_PHASE 23 Crecimiento Decrecimiento Establecer el parámatro 1 o 2, no ambos. Si lo dejamos en 0, no tiene efecto alguno
SMART_ACTION_EVADE 24 No Params
SMART_ACTION_FLEE_FOR_ASSIST 25 (0/1) Si queremos que el npc que huye diga texto del intento de huir
SMART_ACTION_CALL_GROUPEVENTHAPPENS 26 QuestID
SMART_ACTION_COMBAT_STOP 27
SMART_ACTION_REMOVEAURASFROMSPELL 28 Spellid 0 Remueve todas las auras
SMART_ACTION_FOLLOW 29 Distance (0 = default) Angle (0 = default) End CreatureEntry credit creditType (0monsterkill 1event) Seguir al Target
SMART_ACTION_RANDOM_PHASE 30 PhaseId1 PhaseId2 PhaseId3 PhaseId4 PhaseId4
SMART_ACTION_RANDOM_PHASE_RANGE 31 PhaseMin PhaseMax
SMART_ACTION_RESET_GOBJECT 32 Restablece el Gameobject
SMART_ACTION_CALL_KILLEDMONSTER 33 CreatureId
SMART_ACTION_SET_INST_DATA 34 Field Data
SMART_ACTION_SET_INST_DATA64 35 Field
SMART_ACTION_UPDATE_TEMPLATE 36 Entry Team
SMART_ACTION_DIE 37 No Params
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE 38 No Params
SMART_ACTION_CALL_FOR_HELP 39 Radius With Emote
SMART_ACTION_SET_SHEATH 40 Sheath (0-desarmado 1-cuerpo a cuerpo 2-a distancia)
SMART_ACTION_FORCE_DESPAWN 41 Tiempo La criatura desaparece en el tiempo establecido (ms)
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL 42 MinHpValue(+pct-flat) Si se usan los dos parámetros, solo cogera el del porcentaje
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL 43 Creature_template entry (param1) ModelId (param2) En 0 desmonta
SMART_ACTION_SET_INGAME_PHASE_MASK 44 mask
SMART_ACTION_SET_DATA 45 Field Data Establece los datos pata la criatura SMART_EVENT_DATA_SET
SMART_ACTION_UNUSED_46 46
SMART_ACTION_SET_VISIBILITY 47 on/off
SMART_ACTION_SET_ACTIVE 48 No Params
SMART_ACTION_ATTACK_START 49
SMART_ACTION_SUMMON_GO 50 GameObjectID Tiempo Tiempo que tarda en desaparecer (ms)
SMART_ACTION_KILL_UNIT 51
SMART_ACTION_ACTIVATE_TAXI 52 TaxiID
SMART_ACTION_WP_START 53 Andar/Correr (0/1) Id del waypoint Repetición Path id de la mision Teimpo de desaparición despues del Path La criatura inicia su movimiento de WP
SMART_ACTION_WP_PAUSE 54 Tiempo La criatura pausa su movimiento de WP
SMART_ACTION_WP_STOP 55 Teimpo de desaparición Id de la Mision (0/1) Misión fallida La criatura detiene su movimiento de WP
SMART_ACTION_ADD_ITEM 56 Id del Item count Agrega item al jugador
SMART_ACTION_REMOVE_ITEM 57 Id del Item count Elimina item al jugador
SMART_ACTION_INSTALL_AI_TEMPLATE 58 AITemplateID
SMART_ACTION_SET_RUN 59 Off/On (0/1)
SMART_ACTION_SET_FLY 60 Off/On (0/1) Solo funciona en NPCs que habitan en el aire
SMART_ACTION_SET_SWIM 61 Off/On (0/1)
SMART_ACTION_TELEPORT 62 Id del mapa
SMART_ACTION_SET_COUNTER 63 id value reset (0/1)
SMART_ACTION_STORE_TARGET_LIST 64 variable Id
SMART_ACTION_WP_RESUME 65 none
SMART_ACTION_SET_ORIENTATION 66
SMART_ACTION_CREATE_TIMED_EVENT 67 id del evento InitialMin InitialMax RepeatMin(only if it repeats) RepeatMax(only if it repeats) chance
SMART_ACTION_PLAYMOVIE 68 entry
SMART_ACTION_MOVE_TO_POS 69 Point Id La acción continua poniendo los valores x,y,z,o en el Target
SMART_ACTION_RESPAWN_TARGET 70
SMART_ACTION_EQUIP 71 Equip Template SlotMask Slot1 (item_template.entry) Slot2 (item_template.entry) Slot3 (item_template.entry) Solo las ranuras con máscara configurada se enviarán al cliente, los bits son 1, 2, 4, dejando la máscara 0 como predeterminada en la máscara 7 (enviar todo), las ranuras 1 a 3 solo se usan si no se configura ningún parámetro 1
SMART_ACTION_CLOSE_GOSSIP 72 none
SMART_ACTION_TRIGGER_TIMED_EVENT 73 id(>1)
SMART_ACTION_REMOVE_TIMED_EVENT 74 id(>1)
SMART_ACTION_ADD_AURA 75 Id del Hechizo (Spell) Agrega aura a los juggadores. Target 17 para aura de área
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT 76 CRASH del Nucleo (core). No se usa si no se sabe bien lo que se hace.
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT 77 none
SMART_ACTION_CALL_SCRIPT_RESET 78 none
SMART_ACTION_SET_RANGED_MOVEMENT 79 Distancia Ángulo
SMART_ACTION_CALL_TIMED_ACTIONLIST 80 Id o Guid * 100 Fuera de combate, en combate o siempre (0,1,2)
SMART_ACTION_SET_NPC_FLAG 81 Flags
SMART_ACTION_ADD_NPC_FLAG 82 Flags
SMART_ACTION_REMOVE_NPC_FLAG 83 Flags
SMART_ACTION_SIMPLE_TALK 84 groupID can be used to make players say groupID Text_over event is not triggered whisper can not be used (Target units will say the text)
SMART_ACTION_INVOKER_CAST 85 Id del hechizo castFlags if avaliable El objetivo lanza el hechizo sobre si mismo
SMART_ACTION_CROSS_CAST 86 Id del hechizo castFlags CasterTargetType CasterTarget param1 CasterTarget param2 CasterTarget param3 Para que lanze el hechizo el target
SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST 87 EntryOrGuid 1 (smart_scripts.entryorguid * 100 + n) EntryOrGuid 2 (smart_scripts.entryorguid * 100 + n) EntryOrGuid 3 (smart_scripts.entryorguid * 100 + n) EntryOrGuid 4 (smart_scripts.entryorguid * 100 + n)... Coge una de los script, aleatorio. O lo ignora
SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST 88 EntryOrGuid 1 (smart_scripts.entryorguid * 100 + n) EntryOrGuid 2 (smart_scripts.entryorguid * 100 + n) 0 lo ignora
SMART_ACTION_RANDOM_MOVE 89 Distancia Máxima
SMART_ACTION_SET_UNIT_FIELD_BYTES_1 90 bytes target
SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1 91 bytes target
SMART_ACTION_INTERRUPT_SPELL 92
SMART_ACTION_SEND_GO_CUSTOM_ANIM 93 Id de la animación
SMART_ACTION_SET_DYNAMIC_FLAG 94 Flags
SMART_ACTION_ADD_DYNAMIC_FLAG 95 Flags
SMART_ACTION_REMOVE_DYNAMIC_FLAG 96 Flags
SMART_ACTION_JUMP_TO_POS 97 speed XY speed Z Ir al target para marcar la posición X,Y,Z,O
SMART_ACTION_SEND_GOSSIP_MENU 98 menuId optionId
SMART_ACTION_GO_SET_LOOT_STATE 99 state
SMART_ACTION_SEND_TARGET_TO_TARGET 100 id
SMART_ACTION_SET_HOME_POS 101 none
SMART_ACTION_SET_HEALTH_REGEN 102 Off/On (0/1)
SMART_ACTION_SET_ROOT 103 NYI (No está implementado)
SMART_ACTION_SET_GO_FLAG 104 NYI (No está implementado)
SMART_ACTION_ADD_GO_FLAG 105 NYI (No está implementado)
SMART_ACTION_REMOVE_GO_FLAG 106 NYI (No está implementado)
SMART_ACTION_SUMMON_CREATURE_GROUP 107 NYI (No está implementado)
SMART_ACTION_SET_POWER 108 NYI (No está implementado)
SMART_ACTION_ADD_POWER 109 NYI (No está implementado)
SMART_ACTION_REMOVE_POWER 110 NYI (No está implementado)
SMART_ACTION_GAME_EVENT_STOP 111 NYI (No está implementado)
SMART_ACTION_GAME_EVENT_START 112 NYI (No está implementado)
SMART_ACTION_START_CLOSEST_WAYPOINT 113 NYI (No está implementado)
SMART_ACTION_MOVE_OFFSET 114 PointId Usar el Target X,Y,Z,O
SMART_ACTION_RANDOM_SOUND 115 NYI (No está implementado)
SMART_ACTION_SET_CORPSE_DELAY 116 NYI (No está implementado)
SMART_ACTION_DISABLE_EVADE 117 NYI (No está implementado)
SMART_ACTION_GO_SET_GO_STATE 118 NYI (No está implementado)
SMART_ACTION_SET_CAN_FLY 119 NYI (No está implementado)
SMART_ACTION_REMOVE_AURAS_BY_TYPE 120 NYI (No está implementado)
SMART_ACTION_SET_SIGHT_DIST 121 NYI (No está implementado)
SMART_ACTION_FLEE 122 NYI (No está implementado)
SMART_ACTION_ADD_THREAT 123 NYI (No está implementado)
SMART_ACTION_LOAD_EQUIPMENT 124 NYI (No está implementado)
SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT 125 NYI (No está implementado)
SMART_ACTION_REMOVE_ALL_GAMEOBJECTS 126 NYI (No está implementado)
SMART_ACTION_PAUSE_MOVEMENT 127 NYI (No está implementado)
SMART_ACTION_PLAY_ANIMKIT 128 NYI (No está implementado)
SMART_ACTION_SCENE_PLAY 129 NYI (No está implementado)
SMART_ACTION_SCENE_CANCEL 130 NYI (No está implementado)
SMART_ACTION_DESPAWN_SPAWNGROUP 132 NYI (No está implementado)
SMART_ACTION_RESPAWN_BY_SPAWNID 133 NYI (No está implementado)
SMART_ACTION_INVOKER_CAST_ 134 NYI (No está implementado)
SMART_ACTION_PLAY_CINEMATIC 135 NYI (No está implementado)
SMART_ACTION_SET_MOVEMENT_SPEED 136 NYI (No está implementado)
SMART_ACTION_PLAY_SPELL_VISUAL_KIT 137 NYI (No está implementado)
SMART_ACTION_OVERRIDE_LIGHT 138 NYI (No está implementado) 3.3.5
SMART_ACTION_OVERRIDE_WEATHER 139 NYI (No está implementado) 3.3.5
SMART_ACTION_SET_AI_ANIM_KIT 140 NYI (No está implementado) 3.3.5
SMART_ACTION_SET_HOVER 141 NYI (No está implementado) 3.3.5
SMART_ACTION_SET_HEALTH_PCT 142 NYI (No está implementado) 3.3.5
SMART_ACTION_CREATE_CONVERSATION 143 NYI (No está implementado) Master
SMART_ACTION_SET_IMMUNE_PC 144 Inmune a Players 3.3.5
SMART_ACTION_SET_IMMUNE_NPC 145 Inmune a NPCs 3.3.5
SMART_ACTION_SET_UNINTERACTIBLE 146 NYI (No está implementado) 3.3.5
SMART_ACTION_ACTIVATE_GAMEOBJECT 147 NYI (No está implementado)
SMART_ACTION_ADD_TO_STORED_TARGET_LIST 148 NYI (No está implementado)
SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER 149 NYI (No está implementado)
SMART_ACTION_TRIGGER_GAME_EVENT 150 NYI (No está implementado)
SMART_ACTION_DO_ACTION 151 NYI (No está implementado)
SMART_ACTION_COMPLETE_QUEST 152 NYI (No está implementado)
SMART_ACTION_CREDIT_QUEST_OBJECTIVE_TALK_TO 153 NYI (No está implementado)
SMART_ACTION_SEND_QUEST_EVENT 160 Any SAI have this acion we should keep them?
SMART_ACTION_MOVE_TO_POS_FIXED_ORIENTATION 161 Only one SAI have this
  • Acción que se usará si el evento es desencadenado.

target_type

  • Define el target del evento y/o la acción.

EXPANDIR LA TABLA

Nombre Valor Target Parametro 1 Target Parametro 2 Target Parametro 3 Target Parametro 4 Target X Target Y Target Z Target O Comentario
SMART_TARGET_NONE 0 Ninguno. Por defecto es el invocador
SMART_TARGET_SELF 1 Auto casteo (así mismo)
SMART_TARGET_VICTIM 2 Nuestro objetivo, con mayor aggro
SMART_TARGET_HOSTILE_SECOND_AGGRO 3 Máxima distancia Solo jugador (0/1) Potencia +1 Segundo con mayor aggro
SMART_TARGET_HOSTILE_LAST_AGGRO 4 Última muerte
SMART_TARGET_HOSTILE_RANDOM 5 Cualquier objetio aleatorio, en nuestra lista de amenazas
SMART_TARGET_HOSTILE_RANDOM_NOT_TOP 6 Cualquier objetio aleatorio, excepto la amenaza superior
SMART_TARGET_ACTION_INVOKER 7 Unidad que provoca que ocurra el evento. (Habitualente player)
SMART_TARGET_POSITION 8 X Y Z Se usan las coordenadas en xyz como parámetros del evento
SMART_TARGET_CREATURE_RANGE 9 Id de la criatira (Para ninguna dejar a 0) Distancia Min. Distancia Max. Criatura con ID específica, dentro de un rango específico
SMART_TARGET_CREATURE_GUID 10 Guid Entry Criatura con GUID específica
SMART_TARGET_CREATURE_DISTANCE 11 Id de la criatura (Para ninguna, dejar en 0) Distancia Max. Criatura con Id específica dentro de rango
SMART_TARGET_STORED 12 id Utiliza objetivos prealmacenados (lista)
SMART_TARGET_GAMEOBJECT_RANGE 13 Id del Go (Para ningino, dejar en 0) Distancia Min. Distancia Max Objeto con id específica dento de un rango específico
SMART_TARGET_GAMEOBJECT_GUID 14 Guid el Objeto Id del Objeto Objeto con Guid específica
SMART_TARGET_GAMEOBJECT_DISTANCE 15 Id del Objeto(Para ninguno, dejar en 0) Distancia Max Objeto con Id específico, dentro de la distancia
SMART_TARGET_INVOKER_PARTY 16 Miembros del grupo del invocador
SMART_TARGET_PLAYER_RANGE 17 Distancia Min. Distancia Max. Jugador denteo de un rango específico
SMART_TARGET_PLAYER_DISTANCE 18 Distancia Max. Jugador dentro de una máxima distancia
SMART_TARGET_CLOSEST_CREATURE 19 Id de la criatura (Para ninguna, dejar en 0) Distancia Max. Muerte (0/1) Cierra la criatura mas cercana dento del rango máximo
SMART_TARGET_CLOSEST_GAMEOBJECT 20 Id del Objeto (Para ninguno, dejar en 0) Distancia Max. Cierra el objeto mas cercano dentro de la distancia
SMART_TARGET_CLOSEST_PLAYER 21 Distancia Max. Cierra el jugador dentro del rango especificado
SMART_TARGET_ACTION_INVOKER_VEHICLE 22 Vehículo de la unidad que provoca la distancia
SMART_TARGET_OWNER_OR_SUMMONER 23 Invocador o propietario
SMART_TARGET_THREAT_LIST 24 Distancia Max. Todas las criaturas de la lista
SMART_TARGET_CLOSEST_ENEMY 25 (NYI) Aun no está implementado
SMART_TARGET_CLOSEST_FRIENDLY 26 (NYI) Aun no está implementado
SMART_TARGET_LOOT_RECIPIENTS 27 (NYI) Aun no está implementado
SMART_TARGET_FARTHEST 28 Distancia Max. Solo Jugador (0/1) isInLos (0/1) Unidad mas alejada de la lista de amenazas
SMART_TARGET_VEHICLE_PASSENGER 29 (NYI) Aun no está implementado
SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT 30 (NYI) Aun no está implementado
SMART_TARGET_RANDOM_POSITION 40 (NYI) Aun no está implementado
SMART_TARGET_INVOKER_SUMMON 41 (NYI) Aun no está implementado
SMART_TARGET_HOSTILE_RANDOM_PLAYER 42 (NYI) Aun no está implementado
SMART_TARGET_HOSTILE_RANDOM_NOT_TOP_PLAYER 43 (NYI) Aun no está implementado
SMART_TARGET_HOSTILE_RANDOM_AURA 44 (NYI) Aun no está implementado

comment

  • Al comentar en Smart AI se usa una plantilla como la siguiente:

"Nombre de la criatura - Evento - Acción "Minion of Gurok - On spawn - Set Random Movement"

Notas:

  • Actualiza siempre la tabla creature_template o gameobject_template(dependiendo de a quien afecta el evento) con:

UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=XXXXX;

UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=XXXXX;

  • Si la criatura o gameobject está dentro de una mazmorra, establece event_flags de acuerdo a la dificultad de la estancia (heroica, banda 10j., etc.).