WOW와우 분류
WOW 스마트 스크립트 구조
컨텐츠 정보
- 5 조회
- 0 추천
- 0 비추천
- 목록
본문
와우 스마트 스크립트 기본 구조 입니다.
entryorguid
EntryOrGuid > 0: entry of the creature / game object / etc.
EntryOrGuid < 0: guid of the creature / game object / etc.
Depends on source_type.
Entryorguid 부분은 스마트 스크립트를 적용할 크리쳐 / 오브젝트 / 기타 설치가 가능한 것들의 코드 입니다.
Entry 혹은 ID이며 guid는 모든 크리쳐의 동일한 적용이 아닌 한곳의 지정된 대상에게만 적용되는 것 입니다.
Entry = 제품 번호 / guid = 시리얼 넘버 라고 보시면 됩니다.
source_type
Object type: creature, game object, spell. see table below for values
Name
Value
SMART_SCRIPT_TYPE_CREATURE
0
SMART_SCRIPT_TYPE_GAMEOBJECT
1
SMART_SCRIPT_TYPE_AREATRIGGER
2
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_EVENT
3
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_GOSSIP
4
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_QUEST
5
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_SPELL
6
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_TRANSPORT
7
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_INSTANCE
8
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST
9
소스 타입은 스마트 스크립트를 보유한 객체가 크리쳐인지, 오브젝트인지 구분을 하는 것 입니다.
id
Incremental id bound to each entryorguid & source_type (0, 1, 2, ...).
ID는 해당 소스의 넘버링입니다. 같은 스마트 스크립트를 갖고있는 크리쳐라면 ID로 넘버링을하여 여러개를 동시에 적용하실 수 있습니다.
link
Simple event linking;
Example: if id = 0 and link = 1; id 1 will only be able to occur if id = 0 was triggered.
Smart_event to be used.
스마트 스크립트간에 연결해주실 수 있는 부분입니다.
event_phase_mask
When dealing with phases, phase IDs have to be used. There are 10 (9+1) different phases: 1, 2, ... 9 and the default 0.
Example: The script is in phase 0 by default - If we want it to go to phase 1, we got two choices:
SMART_ACTION_INC_PHASE by 1 or SMART_ACTION_SET_PHASE 1
If the script is in phase 0 and want to skip to phase 2:
SMART_ACTION_INC_PHASE by 2 or SMART_ACTION_SET_PHASE 2
If the script is in phase 1 and want to skip to phase 2:
SMART_ACTION_INC_PHASE by 1 or SMART_ACTION_SET_PHASE 2
Name
Flag
Hex
Comment
SMART_EVENT_PHASE_ALWAYS_BIT
0 0x000 Means all phases (1 ... 9)
SMART_EVENT_PHASE_1 1 0x001 Phase 1 only.
SMART_EVENT_PHASE_2 2 0x002 Phase 2 only.
SMART_EVENT_PHASE_3 4 0x004 Phase 3 only.
SMART_EVENT_PHASE_4 8 0x008 Phase 4 only.
SMART_EVENT_PHASE_5 16 0x010 Phase 5 only.
SMART_EVENT_PHASE_6 32 0x020 Phase 6 only.
SMART_EVENT_PHASE_7 64 0x040 Phase 7 only.
SMART_EVENT_PHASE_8 128 0x080 Phase 8 only.
SMART_EVENT_PHASE_9 256 0x100 Phase 9 only.
Event will only be able to occur if creature/GO is in this phase.
Example: If we want an event to only be able to occure in phase 1 and 4, event_phase_mask = 1+8 = 9
(Inverse of EAI: event_inverse_phase_mask).
이벤트 페이즈 마스크는 이벤트의 순서에 따라 진행되는, 일반 레이드를 스크립트짜실때, 각 페이즈별 조건부여 후 행동을 지정할때 사용하실수 있습니다.
예를들어 체력 35% 미만에서 페이즈2 돌입해놓고 페이즈2에서 주어질 행동들 짜시면, 그대로 적용되고 이를 이용하여 최대 페이즈 9 까지 이용하실 수 있습니다.
event_chance
This is the probability of the event to occur as a percentage from 0-100. So, if you want the event to occur roughly half of the time, then set this to 50.
100 으로 두시면 항상 적용됩니다.
event_flags
Name
Flag
Hex
Comment
SMART_EVENT_FLAG_NOT_REPEATABLE
1
0x01
Event can not repeat
SMART_EVENT_FLAG_DIFFICULTY_0
2
0x02
Event only occurs in normal dungeon
SMART_EVENT_FLAG_DIFFICULTY_1
4
0x04
Event only occurs in heroic dungeon
SMART_EVENT_FLAG_DIFFICULTY_2
8
0x08
Event only occurs in normal raid
SMART_EVENT_FLAG_DIFFICULTY_3
16
0x10
Event only occurs in heroic raid
SMART_EVENT_FLAG_DEBUG_ONLY
128
0x80
Event only occurs in debug build
SMART_EVENT_FLAG_DONT_RESET 256 0x100 Event will not reset in SmartScript::OnReset()
Sets if the event should not repeat or should only happen in a given instance/dungeon difficulty (if applicable);
Values can be added together (bitwise math).
1 = 이벤트는 반복되지 않습니다.
2 = 일반 던전
4 = 영웅 던전
8 = 일반 공격대
16 = 영웅 공격대
128 = 디버그 모드에서 작동
256 = 스마트스크립트가 리셋되지 않음
event_type
Name
Value
Param1
Param2
Param3
Param4
Comment
SMART_EVENT_UPDATE_IC
0
InitialMin
InitialMax
RepeatMin
RepeatMax
In combat.
SMART_EVENT_UPDATE_OOC
1
InitialMin
InitialMax
RepeatMin
RepeatMax
Out of combat.
SMART_EVENT_HEALT_PCT
2
HPMin%
HPMax%
RepeatMin
RepeatMax
Health Percentage
SMART_EVENT_MANA_PCT
3
ManaMin%
ManaMax%
RepeatMin
RepeatMax
Mana Percentage
SMART_EVENT_AGGRO
4
On Creature Aggro
SMART_EVENT_KILL
5
CooldownMin
CooldownMax
Player only (0/1)
Creature entry (if param3 is 0)
On Creature Kill
SMART_EVENT_DEATH
6
On Creature Death
SMART_EVENT_EVADE
7
On Creature Evade Attack
SMART_EVENT_SPELLHIT
8
SpellID
School
CooldownMin
CooldownMax
On Creature/Gameobject Spell Hit
SMART_EVENT_RANGE
9
MinDist
MaxDist
RepeatMin
RepeatMax
On Target In Range
SMART_EVENT_OOC_LOS
10
NoHostile
MaxRange
CooldownMin
CooldownMax
On Target In Distance Out of Combat
SMART_EVENT_RESPAWN
11
type
MapId
ZoneId
On Creature/Gameobject Respawn
SMART_EVENT_TARGET_HEALTH_PCT
12
HPMin%
HPMax%
RepeatMin
RepeatMax
On Target Health Percentage
SMART_EVENT_VICTIM_CASTING
13
RepeatMin
RepeatMax
Spell id (0 any)
On Target Casting Spell
SMART_EVENT_FRIENDLY_HEALTH
14
HPDeficit
Radius
RepeatMin
RepeatMax
On Friendly Health Deficit
SMART_EVENT_FRIENDLY_IS_CC
15
Radius
RepeatMin
RepeatMax
SMART_EVENT_FRIENDLY_MISSING_BUFF
16
SpellId
Radius
RepeatMin
RepeatMax
On Friendly Lost Buff
SMART_EVENT_SUMMONED_UNIT
17
CretureId (0 all)
CooldownMin
CooldownMax
On Creature/Gameobject Summoned Unit
SMART_EVENT_TARGET_MANA_PCT
18
ManaMin%
ManaMax%
RepeatMin
RepeatMax
On Target Mana Percentage
SMART_EVENT_ACCEPTED_QUEST
19
QuestID (0 any)
On Target Accepted Quest
SMART_EVENT_REWARD_QUEST
20
QuestID (0 any)
On Target Rewarded Quest
SMART_EVENT_REACHED_HOME
21
On Creature Reached Home
SMART_EVENT_RECEIVE_EMOTE
22
EmoteId
CooldownMin
CooldownMax
condition
On Receive Emote.
SMART_EVENT_HAS_AURA
23
SpellID
Stacks
RepeatMin
RepeatMax
On Creature Has Aura
SMART_EVENT_TARGET_BUFFED
24
SpellID
Stacks
RepeatMin
RepeatMax
On Target Buffed With Spell
SMART_EVENT_RESET
25
After Combat, On Respawn or Spawn
SMART_EVENT_IC_LOS
26
NoHostile
MaxRange
CooldownMin
CooldownMax
On Target In Distance In Combat
SMART_EVENT_PASSENGER_BOARDED
27
CooldownMin
CooldownMax
SMART_EVENT_PASSENGER_REMOVED
28
CooldownMin
CooldownMax
SMART_EVENT_CHARMED
29
On Creature Charmed
SMART_EVENT_CHARMED_TARGET
30
On Target Charmed
SMART_EVENT_SPELLHIT_TARGET
31
SpellId
School
RepeatMin
RepeatMax
On Target Spell Hit
SMART_EVENT_DAMAGED
32
MinDmg
MaxDmg
RepeatMin
RepeatMax
On Creature Damaged
SMART_EVENT_DAMAGED_TARGET
33
MinDmg
MaxDmg
RepeatMin
RepeatMax
On Target Damaged
SMART_EVENT_MOVEMENTINFORM
34
MovementType (any)
PointID
SMART_EVENT_SUMMON_DESPAWNED
35
Entry
CooldownMin
CooldownMax
On Summoned Unit Despawned
SMART_EVENT_CORPSE_REMOVED
36
On Creature Corpse Removed
SMART_EVENT_AI_INIT
37
SMART_EVENT_DATA_SET
38
Field
Value
CooldownMin
CooldownMax
On Creature/Gameobject Data Set, Can be used with SMART_ACTION_SET_DATA
SMART_EVENT_WAYPOINT_START
39
PointId (0 any)
pathId (0 any)
On Creature Waypoint ID Started
SMART_EVENT_WAYPOINT_REACHED
40
PointId (0 any)
pathId (0 any)
On Creature Waypoint ID Reached
Unused.png?version=1&modificationDate=13 SMART_EVENT_TRANSPORT_ADDPLAYER
41
Unused.png?version=1&modificationDate=13SMART_EVENT_TRANSPORT_ADDCREATURE
42
Entry (0 any)
Unused.png?version=1&modificationDate=13SMART_EVENT_TRANSPORT_REMOVE_PLAYER
43
Unused.png?version=1&modificationDate=13 SMART_EVENT_TRANSPORT_RELOCATE
44
PointId
Unused.png?version=1&modificationDate=13 SMART_EVENT_INSTANCE_PLAYER_ENTER
45
Team (0 any)
CooldownMin
CooldownMax
SMART_EVENT_AREATRIGGER_ONTRIGGER
46
TriggerId (0 any)
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_ACCEPTED
47
On Target Quest Accepted
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_OBJ_COPLETETION
48
On Target Quest Objective Completed
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_COMPLETION
49
On Target Quest Completed
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_REWARDED
50
On Target Quest Rewarded
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_FAIL
51
On Target Quest Field
SMART_EVENT_TEXT_OVER
52
GroupId (from creatue_text)
CreatureId (0 any)
On TEXT_OVER Event Triggered After SMART_ACTION_TALK
SMART_EVENT_RECEIVE_HEAL
53
MinHeal
MaxHeal
CooldownMin
CooldownMax
On Creature Received Healing
SMART_EVENT_JUST_SUMMONED
54
On Creature Just spawned
SMART_EVENT_WAYPOINT_PAUSED
55
PointId (0 any)
pathID (0 any)
On Creature Paused at Waypoint ID
SMART_EVENT_WAYPOINT_RESUMED
56
PointId (0 any)
pathID (0 any)
On Creature Resumed after Waypoint ID
SMART_EVENT_WAYPOINT_STOPPED
57
PointId (0 any)
pathID (0 any)
On Creature Stopped On Waypoint ID
SMART_EVENT_WAYPOINT_ENDED
58
PointId (0 any)
pathID (0 any)
On Creature Waypoint Path Ended
SMART_EVENT_TIMED_EVENT_TRIGGERED
59
Id
SMART_EVENT_UPDATE
60
InitialMin
InitialMax
RepeatMin
RepeatMax
SMART_EVENT_LINK
61
Used to link together multiple events as a chain of events.
SMART_EVENT_GOSSIP_SELECT
62
menu_id
id
On gossip clicked (gossip_menu_option).
SMART_EVENT_JUST_CREATED
63
SMART_EVENT_GOSSIP_HELLO
64
On Right-Click Creature/Gameobject that have gossip enabled.
SMART_EVENT_FOLLOW_COMPLETED
65
Unused.png?version=1&modificationDate=13 SMART_EVENT_DUMMY_EFFECT
66
spellId
effectIndex
SMART_EVENT_IS_BEHIND_TARGET
67
CooldownMin
CooldownMax
On Creature is behind target.
SMART_EVENT_GAME_EVENT_START
68
game_event.eventEntry
On game_event started.
SMART_EVENT_GAME_EVENT_END
69
game_event.eventEntry
On game_event ended.
SMART_EVENT_GO_STATE_CHANGED
70
State (0 - Active, 1 - Ready, 2 - Active alternative)
SMART_EVENT_GO_EVENT_INFORM
71
EventId
SMART_EVENT_ACTION_DONE
72
EventId
SMART_EVENT_ON_SPELLCLICK 73
SMART_EVENT_FRIENDLY_HEALTH_PCT 74 minHpPct maxHpPct repeatMin
repeatMax
SMART_EVENT_DISTANCE_CREATURE 75 database guid database entry distance repeat interval (ms)
On creature guid OR any instance of creature entry is within distance.
SMART_EVENT_DISTANCE_GAMEOBJECT 76 database guid database entry distance repeat interval (ms)
On gameobject guid OR any instance of gameobject entry is within distance.
SMART_EVENT_COUNTER_SET 77 counterID value cooldownMin cooldownMax If the value of specified counterID is equal to a specified value
action_type
Name
Value
Param1
Param2
Param3
Param4
Param5
Param6
Comment
SMART_ACTION_NONE
0
Do nothing
SMART_ACTION_TALK
1
Creature_text.groupid
Duration to wait before TEXT_OVER event is triggered.
Param2 in Milliseconds.
SMART_ACTION_SET_FACTION
2
FactionID (or 0 for default)
Sets faction to creature.
SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL
3
Creature_template.entry(param1)
Creature_template.modelID(param2)
Take DisplayID of creature (param1) OR Turn to DisplayID (param2) OR Both = 0 for Demorph
SMART_ACTION_SOUND
4
SoundId
onlySelf
Play Sound; TextRange = 0 only sends sound to self, TextRange = 1 sends sound to everyone in visibility range
SMART_ACTION_PLAY_EMOTE
5
EmoteId
Play Emote
SMART_ACTION_FAIL_QUEST
6
QuestID
Fail Quest of Target
SMART_ACTION_ADD_QUEST
7
QuestID
Add Quest to Target
SMART_ACTION_SET_REACT_STATE
8
State
React State. Can be Aggressive, Passive or Defensive.
SMART_ACTION_ACTIVATE_GOBJECT
9
Activate Object
SMART_ACTION_RANDOM_EMOTE
10
EmoteId1
EmoteId2
EmoteId3...
Play Random Emote
SMART_ACTION_CAST
11
SpellId
Cast Flags
Cast Spell ID at Target
SMART_ACTION_SUMMON_CREATURE
12
Creature_template.entry
Summon type
duration in ms
attackInvoker
Summon Unit
SMART_ACTION_THREAT_SINGLE_PCT
13
Threat% inc
Threat% dec
Change Threat Percentage for Single Target
SMART_ACTION_THREAT_ALL_PCT
14
Threat% inc
Threat% dec
Change Threat Percentage for All Enemies
SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS
15
QuestID
SMART_ACTION_UNUSED_16
16
SMART_ACTION_SET_EMOTE_STATE
17
EmoteId
Play Emote Continuously
SMART_ACTION_SET_UNIT_FLAG
18
(may be more than one field OR'd together)
type
If false setCreature_template.unit_flags
If true setCreature_template.unit_flags2
Can set Multi-able flags at once
SMART_ACTION_REMOVE_UNIT_FLAG
19
(may be more than one field OR'd together)
type
If false setCreature_template.unit_flags
If true setCreature_template.unit_flags2
Can Remove Multi-able flags at once
SMART_ACTION_AUTO_ATTACK
20
AllowAttackState (0 = Stop attack, anything else means continue attacking)
Stop or Continue Automatic Attack.
SMART_ACTION_ALLOW_COMBAT_MOVEMENT
21
AllowCombatMovement (0 = Stop combat based movement, anything else continue attacking)
Allow or Disable Combat Movement
SMART_ACTION_SET_EVENT_PHASE
22
smart_scripts.event_phase_mask
SMART_ACTION_INC_EVENT_PHASE
23
Increment
Decrement
Set param1 OR param2 (not both). Value 0 has no effect.
SMART_ACTION_EVADE
24
Evade Incoming Attack
SMART_ACTION_FLEE_FOR_ASSIST
25
0/1 (If you want the fleeing NPC to say attempts to flee text on flee, use 1 on param1. For no message use 0.)
If you want the fleeing NPC to say '%s attempts to run away in fear' on flee, use 1 on param1. 0 for no message.
SMART_ACTION_CALL_GROUPEVENTHAPPENS
26
QuestID
SMART_ACTION_CALL_CASTEDCREATUREORGO
27
Creature_template.entry
SpellId
SMART_ACTION_REMOVEAURASFROMSPELL
28
Spellid
0 removes all auras
SMART_ACTION_FOLLOW
29
Distance (0 = Default value)
Angle (0 = Default value)
End creature_template.entry
credit
creditType (0monsterkill, 1event)
Follow Target
SMART_ACTION_RANDOM_PHASE
30
smart_scripts.event_phase_mask1
smart_scripts.event_phase_mask2
smart_scripts.event_phase_mask3
smart_scripts.event_phase_mask4
smart_scripts.event_phase_mask5
smart_scripts.event_phase_mask6
SMART_ACTION_RANDOM_PHASE_RANGE
31
smart_scripts.event_phase_maskminimum
smart_scripts.event_phase_maskmaximum
SMART_ACTION_RESET_GOBJECT
32
Reset Gameobject
SMART_ACTION_CALL_KILLEDMONSTER
33
Creature_template.entry
This is the ID fromquest_template.RequiredNpcOrGo
SMART_ACTION_SET_INST_DATA
34
Field
Data
Set Instance Data
SMART_ACTION_SET_INST_DATA64
35
Field
Set Instance Data uint64
SMART_ACTION_UPDATE_TEMPLATE
36
Creature_template.entry
Team (updates creature_template to given entry)
SMART_ACTION_DIE
37
Kill Target
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE
38
SMART_ACTION_CALL_FOR_HELP
39
Radius in yards that other creatures must be to acknowledge the cry for help.
0/1 (say calls for help text)
If you want the NPC to say '%s calls for help!'. Use 1 on param1, 0 for no message.
SMART_ACTION_SET_SHEATH
40
Sheath (0-unarmed, 1-melee, 2-ranged)
SMART_ACTION_FORCE_DESPAWN
41
timer
Despawn Target after param1 Milliseconds
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL
42
flat hp value
percent hp value
If you use both params, only percent will be used.
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL
43
Creature_template.entry
Creature_template.modelID
Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount
SMART_ACTION_SET_INGAME_PHASE_MASK
44
Creature.phasemask
SMART_ACTION_SET_DATA
45
Field
Data
Set Data For Target, can be used with SMART_EVENT_DATA_SET
SMART_ACTION_MOVE_FORWARD
46
Distance in yards
Sends creature forward.
SMART_ACTION_SET_VISIBILITY
47
0/1
Makes creature Visible = 1 or Invisible = 0
SMART_ACTION_SET_ACTIVE
48
SMART_ACTION_ATTACK_START
49
Allows basic melee swings to creature.
SMART_ACTION_SUMMON_GO
50
Gameobject_template.entry
De-spawn time in seconds.
Spawns Gameobject, use target_type to set spawn position.
SMART_ACTION_KILL_UNIT
51
Kills Creature.
SMART_ACTION_ACTIVATE_TAXI
52
TaxiID
Sends player to flight path. You have to be close to Flight Master, which gives Taxi ID you need.
SMART_ACTION_WP_START
53
walk = 0 run = 1
Waypoints.entry
canRepeat
Quest_template.id
despawntime
reactState
Creature starts Waypoint Movement. Use waypoints table to create movement.
SMART_ACTION_WP_PAUSE
54
time (in ms)
Creature pauses its Waypoint Movement for given time.
SMART_ACTION_WP_STOP
55
despawnTime
Quest_template.id
fail (0/1)
Creature stops its Waypoint Movement.
SMART_ACTION_ADD_ITEM
56
Item_template.entry
count
Adds item(s) to player.
SMART_ACTION_REMOVE_ITEM
57
Item_template.entry
count
Removes item(s) from player.
SMART_ACTION_INSTALL_AI_TEMPLATE
58
TemplateID
SMART_ACTION_SET_RUN
59
0 = Off / 1 = On
SMART_ACTION_SET_FLY
60
0 = On / 1 = Off
Only works for creatures with inhabit air.
SMART_ACTION_SET_SWIM
61
0 = Off / 1 = On
SMART_ACTION_TELEPORT
62
MapID
Continue this action with the TARGET_TYPE column. Use any target_type (except 0), and use target_x, target_y, target_z, target_o as the coordinates
SMART_ACTION_SET_COUNTER
63
counterID value
reset (0/1)
SMART_ACTION_STORE_TARGET_LIST
64
varID
SMART_ACTION_WP_RESUME
65
Creature continues in its Waypoint Movement.
SMART_ACTION_SET_ORIENTATION
66
This depends on whet target script have if SMART_TARGET_SELF than Facing will be set like in HomePosition, When SMART_TARGET_POSITION you need to set target_o. 0 = North, West = 1.5, South = 3, East = 4.5
SMART_ACTION_CREATE_TIMED_EVENT
67
id
InitialMin
InitialMax
RepeatMin(only if it repeats)
RepeatMax(only if it repeats)
chance
SMART_ACTION_PLAYMOVIE
68
entry
SMART_ACTION_MOVE_TO_POS
69
PointId
PointId is called by SMART_EVENT_MOVEMENTINFORM. Continue this action with the TARGET_TYPE column. Use any target_type, and use target_x, target_y, target_z, target_o as the coordinates
SMART_ACTION_RESPAWN_TARGET
70
Respawntime in seconds for gameobjects (parameter for gameobjects only)
SMART_ACTION_EQUIP
71
Creature_equip_template.entry
Slotmask
slot1 (item_template.entry)
Slot2 (item_template.entry)
Slot3 (item_template.entry)
only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), Slots1-3 are only used if no Param1 is set
SMART_ACTION_CLOSE_GOSSIP
72
Closes gossip window.
SMART_ACTION_TRIGGER_TIMED_EVENT
73
id(>1)
SMART_ACTION_REMOVE_TIMED_EVENT
74
id(>1)
SMART_ACTION_ADD_AURA
75
SpellId
Adds aura to player(s). Use target_type 17 to make AoE aura.
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT
76
WARNING: CAN CRASH CORE, do not use if you dont know what you are doing
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT
77
SMART_ACTION_CALL_SCRIPT_RESET
78
SMART_ACTION_SET_RANGED_MOVEMENT
79
attackDistance
attackAngle
Sets movement to follow at a specific range to the target.
SMART_ACTION_CALL_TIMED_ACTIONLIST
80
EntryOrGuid
timer update type(0 OOC, 1 IC, 2 ALWAYS)
SMART_ACTION_SET_NPC_FLAG
81
Creature_template.npcflag
SMART_ACTION_ADD_NPC_FLAG
82
Creature_template.npcflag
SMART_ACTION_REMOVE_NPC_FLAG
83
Creature_template.npcflag
SMART_ACTION_SIMPLE_TALK
84
Creature_text.groupID
Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used.
SMART_ACTION_INVOKER_CAST
85
SpellID
castFlags
if avaliable, last used invoker will cast spellId with castFlags on targets
SMART_ACTION_CROSS_CAST
86
SpellID
castFlags
CasterTargetType (caster is selected here, use it as target_type)
CasterTarget (target_param1)
CasterTarget (target_param2)
CasterTarget (target_param3)
This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally.
SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST
87
EntryOrGuid 1
EntryOrGuid 2
EntryOrGuid 3
EntryOrGuid 4
EntryOrGuid 5
EntryOrGuid 6
Will select one entry from the ones provided. 0 is ignored.
SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST
88
EntryOrGuid 1
EntryOrGuid 2
0 is ignored.
SMART_ACTION_RANDOM_MOVE
89
Radius
Creature moves to random position in given radius.
SMART_ACTION_SET_UNIT_FIELD_BYTES_1
90
Value
Type
SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1
91
Value
Type
SMART_ACTION_INTERRUPT_SPELL
92
With delay (0/1)
SpellId
Instant (0/1)
This action allows you to interrupt the current spell being cast. If you do not set the spellId, the core will find the current spell depending on the withDelay and the withInstant values.
SMART_ACTION_SEND_GO_CUSTOM_ANIM
93
animprogress (0-255)
SMART_ACTION_SET_DYNAMIC_FLAG
94
dynamicflag.
SMART_ACTION_ADD_DYNAMIC_FLAG
95
dynamicflags
SMART_ACTION_REMOVE_DYNAMIC_FLAG
96
dynamicflags
SMART_ACTION_JUMP_TO_POS
97
Speed XY
Speed Z
Target X
Target Y
Target Z
SMART_ACTION_SEND_GOSSIP_MENU
98
Gossip_menu_option.menuId
Gossip_menu_option.npc_text_id
Can be used together with 'SMART_EVENT_GOSSIP_HELLO' to set custom gossip.
SMART_ACTION_GO_SET_LOOT_STATE
99
LootState (0 - Not ready, 1 - Ready, 2 - Activated, 3 - Just deactivated)
SMART_ACTION_SEND_TARGET_TO_TARGET
100
Id
Send targets previously stored with SMART_ACTION_STORE_TARGET, to another npc/go, the other npc/go can then access them as if it was its own stored list
SMART_ACTION_SET_HOME_POS
101
Use with SMART_TARGET_SELF or SMART_TARGET_POSITION
SMART_ACTION_SET_HEALTH_REGEN
102
0/1
Sets the current creatures health regen on or off.
SMART_ACTION_SET_ROOT 103 0/1 Enables or disables creature movement
SMART_ACTION_SET_GO_FLAG 104 gameobject_template.flags oldFlag = newFlag
SMART_ACTION_ADD_GO_FLAG 105 gameobject_template.flags oldFlag |= newFlag
SMART_ACTION_REMOVE_GO_FLAG 106 gameobject_template.flags oldFlag &= ~newFlag
SMART_ACTION_SUMMON_CREATURE_GROUP 107 creature_summon_groups.groupId Attack invoker (0/1) Use creature_summon_groups table. SAI target has no effect, use 0
SMART_ACTION_SET_POWER 108 Power type New power
SMART_ACTION_ADD_POWER 109 Power type Power to add
SMART_ACTION_REMOVE_POWER 110 Power type Power to remove
SMART_ACTION_START_CLOSEST_WAYPOINT 111 wp1 wp2 wp3 wp4
wp5
wp6 Make target follow closest waypoint to its location
SMART_ACTION_RISE_UP 114 Distance in yards Makes the creature to fly up xx yards up to the sky (from current position)
위의 기능을 이용하여 각 이벤트별 설정을 할 수 있습니다. 이를 이용하여 던전도 구현하실 수 있습니다. 코어 소스를 이용하여 직접 소스 짜시는게 좋지만, 간이 구현은
이것으로도 얼마든지 가능합니다.
Predefined SAI templates
Description Name
Value (Param1)
Param2
Param3
Param4
Param5
Param6
Comment
SMARTAI_TEMPLATE_BASIC
0
SMARTAI_TEMPLATE_CASTER
1
spellid
repeatMin
repeatMax
range
manaPCT
+JOIN: target_param1 as castFlag
SMARTAI_TEMPLATE_TURRET
2
spellid
repeatMin
repeatMax
range
manaPCT
+JOIN: target_param1 as castflag
SMARTAI_TEMPLATE_PASSIVE
3
SMARTAI_TEMPLATE_CAGED_GO_PART
4
creatureID
give credit at point end (0/1)
SMARTAI_TEMPLATE_CAGED_NPC_PART
5
gameObjectID
despawntime
run (0/1)
dist
TextGroupID
target_type
Name
Value
target_param1
target_param2
target_param3
target_x
target_y
target_z
target_o
Comment
SMART_TARGET_NONE
0
None.
SMART_TARGET_SELF
1
Self cast.
SMART_TARGET_VICTIM
2
Our current target. (ie: highest aggro)
SMART_TARGET_HOSTILE_SECOND_AGGRO
3
Second highest aggro.
SMART_TARGET_HOSTILE_LAST_AGGRO
4
Dead last on aggro.
SMART_TARGET_HOSTILE_RANDOM
5
Just any random target on our threat list.
SMART_TARGET_HOSTILE_RANDOM_NOT_TOP
6
Any random target except top threat.
SMART_TARGET_ACTION_INVOKER
7
Unit who caused this Event to occur.
SMART_TARGET_POSITION
8
x
y
z
o
Use xyz from event params.
SMART_TARGET_CREATURE_RANGE
9
creatureEntry (0 any)
minDist
maxDist
(Random?) creature with specified ID within specified range.
SMART_TARGET_CREATURE_GUID
10
guid
entry
Creature with specified GUID.
SMART_TARGET_CREATURE_DISTANCE
11
creatureEntry (0 any)
maxDist
Creature with specified ID within distance. (Different from #9?)
SMART_TARGET_STORED
12
id
Uses pre-stored target(list)
SMART_TARGET_GAMEOBJECT_RANGE
13
goEntry (0 any)
minDist
maxDist
(Random?) object with specified ID within specified range.
SMART_TARGET_GAMEOBJECT_GUID
14
guid
entry
Object with specified GUID.
SMART_TARGET_GAMEOBJECT_DISTANCE
15
goEntry (0 any)
maxDist
Object with specified ID within distance. (Different from #13?)
SMART_TARGET_INVOKER_PARTY
16
Invoker's party members
SMART_TARGET_PLAYER_RANGE
17
minDist
maxDist
(Random?) player within specified range.
SMART_TARGET_PLAYER_DISTANCE
18
maxDist
(Random?) player within specified distance. (Different from #17?)
SMART_TARGET_CLOSEST_CREATURE
19
creatureEntry (0 any)
maxDist (Can be from 0-100 yards)
dead? (0/1)
Closest creature with specified ID within specified range.
SMART_TARGET_CLOSEST_GAMEOBJECT
20
goEntry (0 any)
maxDist (Can be from 0-100 yards)
Closest object with specified ID within specified range.
SMART_TARGET_CLOSEST_PLAYER
21
maxDist
Closest player within specified range.
SMART_TARGET_ACTION_INVOKER_VEHICLE
22
Unit's vehicle who caused this Event to occur
SMART_TARGET_OWNER_OR_SUMMONER
23
Unit's owner or summoner
SMART_TARGET_THREAT_LIST
24
All units on creature's threat list
SMART_TARGET_CLOSEST_ENEMY 25 maxDist playerOnly (0/1) Any attackable target (creature or player) within maxDist
SMART_TARGET_CLOSEST_FRIENDLY 26 maxDist playerOnly (0/1) Any friendly unit (creature, player or pet) within maxDist
스마트 스크립트의 대상에게 적용이되는 것들입니다. 1번으로 예를들면 스마트 스크립트로 발동되는 액션효과가 본인에게 적용됨입니다.
예를들어 보스의 스킬구성중 버프가 있다면, 버프 대상을 본인에게 시전하는 그런 역할입니다.
comment
Commenting on SAI uses a template which is the following: (with an example)
"Creature name - Event - Action"
"Minion of Gurok - On spawn - Set Random Movement"
entryorguid
EntryOrGuid > 0: entry of the creature / game object / etc.
EntryOrGuid < 0: guid of the creature / game object / etc.
Depends on source_type.
Entryorguid 부분은 스마트 스크립트를 적용할 크리쳐 / 오브젝트 / 기타 설치가 가능한 것들의 코드 입니다.
Entry 혹은 ID이며 guid는 모든 크리쳐의 동일한 적용이 아닌 한곳의 지정된 대상에게만 적용되는 것 입니다.
Entry = 제품 번호 / guid = 시리얼 넘버 라고 보시면 됩니다.
source_type
Object type: creature, game object, spell. see table below for values
Name
Value
SMART_SCRIPT_TYPE_CREATURE
0
SMART_SCRIPT_TYPE_GAMEOBJECT
1
SMART_SCRIPT_TYPE_AREATRIGGER
2
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_EVENT
3
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_GOSSIP
4
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_QUEST
5
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_SPELL
6
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_TRANSPORT
7
Unused.png?version=1&modificationDate=13 SMART_SCRIPT_TYPE_INSTANCE
8
SMART_SCRIPT_TYPE_TIMED_ACTIONLIST
9
소스 타입은 스마트 스크립트를 보유한 객체가 크리쳐인지, 오브젝트인지 구분을 하는 것 입니다.
id
Incremental id bound to each entryorguid & source_type (0, 1, 2, ...).
ID는 해당 소스의 넘버링입니다. 같은 스마트 스크립트를 갖고있는 크리쳐라면 ID로 넘버링을하여 여러개를 동시에 적용하실 수 있습니다.
link
Simple event linking;
Example: if id = 0 and link = 1; id 1 will only be able to occur if id = 0 was triggered.
Smart_event to be used.
스마트 스크립트간에 연결해주실 수 있는 부분입니다.
event_phase_mask
When dealing with phases, phase IDs have to be used. There are 10 (9+1) different phases: 1, 2, ... 9 and the default 0.
Example: The script is in phase 0 by default - If we want it to go to phase 1, we got two choices:
SMART_ACTION_INC_PHASE by 1 or SMART_ACTION_SET_PHASE 1
If the script is in phase 0 and want to skip to phase 2:
SMART_ACTION_INC_PHASE by 2 or SMART_ACTION_SET_PHASE 2
If the script is in phase 1 and want to skip to phase 2:
SMART_ACTION_INC_PHASE by 1 or SMART_ACTION_SET_PHASE 2
Name
Flag
Hex
Comment
SMART_EVENT_PHASE_ALWAYS_BIT
0 0x000 Means all phases (1 ... 9)
SMART_EVENT_PHASE_1 1 0x001 Phase 1 only.
SMART_EVENT_PHASE_2 2 0x002 Phase 2 only.
SMART_EVENT_PHASE_3 4 0x004 Phase 3 only.
SMART_EVENT_PHASE_4 8 0x008 Phase 4 only.
SMART_EVENT_PHASE_5 16 0x010 Phase 5 only.
SMART_EVENT_PHASE_6 32 0x020 Phase 6 only.
SMART_EVENT_PHASE_7 64 0x040 Phase 7 only.
SMART_EVENT_PHASE_8 128 0x080 Phase 8 only.
SMART_EVENT_PHASE_9 256 0x100 Phase 9 only.
Event will only be able to occur if creature/GO is in this phase.
Example: If we want an event to only be able to occure in phase 1 and 4, event_phase_mask = 1+8 = 9
(Inverse of EAI: event_inverse_phase_mask).
이벤트 페이즈 마스크는 이벤트의 순서에 따라 진행되는, 일반 레이드를 스크립트짜실때, 각 페이즈별 조건부여 후 행동을 지정할때 사용하실수 있습니다.
예를들어 체력 35% 미만에서 페이즈2 돌입해놓고 페이즈2에서 주어질 행동들 짜시면, 그대로 적용되고 이를 이용하여 최대 페이즈 9 까지 이용하실 수 있습니다.
event_chance
This is the probability of the event to occur as a percentage from 0-100. So, if you want the event to occur roughly half of the time, then set this to 50.
100 으로 두시면 항상 적용됩니다.
event_flags
Name
Flag
Hex
Comment
SMART_EVENT_FLAG_NOT_REPEATABLE
1
0x01
Event can not repeat
SMART_EVENT_FLAG_DIFFICULTY_0
2
0x02
Event only occurs in normal dungeon
SMART_EVENT_FLAG_DIFFICULTY_1
4
0x04
Event only occurs in heroic dungeon
SMART_EVENT_FLAG_DIFFICULTY_2
8
0x08
Event only occurs in normal raid
SMART_EVENT_FLAG_DIFFICULTY_3
16
0x10
Event only occurs in heroic raid
SMART_EVENT_FLAG_DEBUG_ONLY
128
0x80
Event only occurs in debug build
SMART_EVENT_FLAG_DONT_RESET 256 0x100 Event will not reset in SmartScript::OnReset()
Sets if the event should not repeat or should only happen in a given instance/dungeon difficulty (if applicable);
Values can be added together (bitwise math).
1 = 이벤트는 반복되지 않습니다.
2 = 일반 던전
4 = 영웅 던전
8 = 일반 공격대
16 = 영웅 공격대
128 = 디버그 모드에서 작동
256 = 스마트스크립트가 리셋되지 않음
event_type
Name
Value
Param1
Param2
Param3
Param4
Comment
SMART_EVENT_UPDATE_IC
0
InitialMin
InitialMax
RepeatMin
RepeatMax
In combat.
SMART_EVENT_UPDATE_OOC
1
InitialMin
InitialMax
RepeatMin
RepeatMax
Out of combat.
SMART_EVENT_HEALT_PCT
2
HPMin%
HPMax%
RepeatMin
RepeatMax
Health Percentage
SMART_EVENT_MANA_PCT
3
ManaMin%
ManaMax%
RepeatMin
RepeatMax
Mana Percentage
SMART_EVENT_AGGRO
4
On Creature Aggro
SMART_EVENT_KILL
5
CooldownMin
CooldownMax
Player only (0/1)
Creature entry (if param3 is 0)
On Creature Kill
SMART_EVENT_DEATH
6
On Creature Death
SMART_EVENT_EVADE
7
On Creature Evade Attack
SMART_EVENT_SPELLHIT
8
SpellID
School
CooldownMin
CooldownMax
On Creature/Gameobject Spell Hit
SMART_EVENT_RANGE
9
MinDist
MaxDist
RepeatMin
RepeatMax
On Target In Range
SMART_EVENT_OOC_LOS
10
NoHostile
MaxRange
CooldownMin
CooldownMax
On Target In Distance Out of Combat
SMART_EVENT_RESPAWN
11
type
MapId
ZoneId
On Creature/Gameobject Respawn
SMART_EVENT_TARGET_HEALTH_PCT
12
HPMin%
HPMax%
RepeatMin
RepeatMax
On Target Health Percentage
SMART_EVENT_VICTIM_CASTING
13
RepeatMin
RepeatMax
Spell id (0 any)
On Target Casting Spell
SMART_EVENT_FRIENDLY_HEALTH
14
HPDeficit
Radius
RepeatMin
RepeatMax
On Friendly Health Deficit
SMART_EVENT_FRIENDLY_IS_CC
15
Radius
RepeatMin
RepeatMax
SMART_EVENT_FRIENDLY_MISSING_BUFF
16
SpellId
Radius
RepeatMin
RepeatMax
On Friendly Lost Buff
SMART_EVENT_SUMMONED_UNIT
17
CretureId (0 all)
CooldownMin
CooldownMax
On Creature/Gameobject Summoned Unit
SMART_EVENT_TARGET_MANA_PCT
18
ManaMin%
ManaMax%
RepeatMin
RepeatMax
On Target Mana Percentage
SMART_EVENT_ACCEPTED_QUEST
19
QuestID (0 any)
On Target Accepted Quest
SMART_EVENT_REWARD_QUEST
20
QuestID (0 any)
On Target Rewarded Quest
SMART_EVENT_REACHED_HOME
21
On Creature Reached Home
SMART_EVENT_RECEIVE_EMOTE
22
EmoteId
CooldownMin
CooldownMax
condition
On Receive Emote.
SMART_EVENT_HAS_AURA
23
SpellID
Stacks
RepeatMin
RepeatMax
On Creature Has Aura
SMART_EVENT_TARGET_BUFFED
24
SpellID
Stacks
RepeatMin
RepeatMax
On Target Buffed With Spell
SMART_EVENT_RESET
25
After Combat, On Respawn or Spawn
SMART_EVENT_IC_LOS
26
NoHostile
MaxRange
CooldownMin
CooldownMax
On Target In Distance In Combat
SMART_EVENT_PASSENGER_BOARDED
27
CooldownMin
CooldownMax
SMART_EVENT_PASSENGER_REMOVED
28
CooldownMin
CooldownMax
SMART_EVENT_CHARMED
29
On Creature Charmed
SMART_EVENT_CHARMED_TARGET
30
On Target Charmed
SMART_EVENT_SPELLHIT_TARGET
31
SpellId
School
RepeatMin
RepeatMax
On Target Spell Hit
SMART_EVENT_DAMAGED
32
MinDmg
MaxDmg
RepeatMin
RepeatMax
On Creature Damaged
SMART_EVENT_DAMAGED_TARGET
33
MinDmg
MaxDmg
RepeatMin
RepeatMax
On Target Damaged
SMART_EVENT_MOVEMENTINFORM
34
MovementType (any)
PointID
SMART_EVENT_SUMMON_DESPAWNED
35
Entry
CooldownMin
CooldownMax
On Summoned Unit Despawned
SMART_EVENT_CORPSE_REMOVED
36
On Creature Corpse Removed
SMART_EVENT_AI_INIT
37
SMART_EVENT_DATA_SET
38
Field
Value
CooldownMin
CooldownMax
On Creature/Gameobject Data Set, Can be used with SMART_ACTION_SET_DATA
SMART_EVENT_WAYPOINT_START
39
PointId (0 any)
pathId (0 any)
On Creature Waypoint ID Started
SMART_EVENT_WAYPOINT_REACHED
40
PointId (0 any)
pathId (0 any)
On Creature Waypoint ID Reached
Unused.png?version=1&modificationDate=13 SMART_EVENT_TRANSPORT_ADDPLAYER
41
Unused.png?version=1&modificationDate=13SMART_EVENT_TRANSPORT_ADDCREATURE
42
Entry (0 any)
Unused.png?version=1&modificationDate=13SMART_EVENT_TRANSPORT_REMOVE_PLAYER
43
Unused.png?version=1&modificationDate=13 SMART_EVENT_TRANSPORT_RELOCATE
44
PointId
Unused.png?version=1&modificationDate=13 SMART_EVENT_INSTANCE_PLAYER_ENTER
45
Team (0 any)
CooldownMin
CooldownMax
SMART_EVENT_AREATRIGGER_ONTRIGGER
46
TriggerId (0 any)
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_ACCEPTED
47
On Target Quest Accepted
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_OBJ_COPLETETION
48
On Target Quest Objective Completed
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_COMPLETION
49
On Target Quest Completed
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_REWARDED
50
On Target Quest Rewarded
Unused.png?version=1&modificationDate=13 SMART_EVENT_QUEST_FAIL
51
On Target Quest Field
SMART_EVENT_TEXT_OVER
52
GroupId (from creatue_text)
CreatureId (0 any)
On TEXT_OVER Event Triggered After SMART_ACTION_TALK
SMART_EVENT_RECEIVE_HEAL
53
MinHeal
MaxHeal
CooldownMin
CooldownMax
On Creature Received Healing
SMART_EVENT_JUST_SUMMONED
54
On Creature Just spawned
SMART_EVENT_WAYPOINT_PAUSED
55
PointId (0 any)
pathID (0 any)
On Creature Paused at Waypoint ID
SMART_EVENT_WAYPOINT_RESUMED
56
PointId (0 any)
pathID (0 any)
On Creature Resumed after Waypoint ID
SMART_EVENT_WAYPOINT_STOPPED
57
PointId (0 any)
pathID (0 any)
On Creature Stopped On Waypoint ID
SMART_EVENT_WAYPOINT_ENDED
58
PointId (0 any)
pathID (0 any)
On Creature Waypoint Path Ended
SMART_EVENT_TIMED_EVENT_TRIGGERED
59
Id
SMART_EVENT_UPDATE
60
InitialMin
InitialMax
RepeatMin
RepeatMax
SMART_EVENT_LINK
61
Used to link together multiple events as a chain of events.
SMART_EVENT_GOSSIP_SELECT
62
menu_id
id
On gossip clicked (gossip_menu_option).
SMART_EVENT_JUST_CREATED
63
SMART_EVENT_GOSSIP_HELLO
64
On Right-Click Creature/Gameobject that have gossip enabled.
SMART_EVENT_FOLLOW_COMPLETED
65
Unused.png?version=1&modificationDate=13 SMART_EVENT_DUMMY_EFFECT
66
spellId
effectIndex
SMART_EVENT_IS_BEHIND_TARGET
67
CooldownMin
CooldownMax
On Creature is behind target.
SMART_EVENT_GAME_EVENT_START
68
game_event.eventEntry
On game_event started.
SMART_EVENT_GAME_EVENT_END
69
game_event.eventEntry
On game_event ended.
SMART_EVENT_GO_STATE_CHANGED
70
State (0 - Active, 1 - Ready, 2 - Active alternative)
SMART_EVENT_GO_EVENT_INFORM
71
EventId
SMART_EVENT_ACTION_DONE
72
EventId
SMART_EVENT_ON_SPELLCLICK 73
SMART_EVENT_FRIENDLY_HEALTH_PCT 74 minHpPct maxHpPct repeatMin
repeatMax
SMART_EVENT_DISTANCE_CREATURE 75 database guid database entry distance repeat interval (ms)
On creature guid OR any instance of creature entry is within distance.
SMART_EVENT_DISTANCE_GAMEOBJECT 76 database guid database entry distance repeat interval (ms)
On gameobject guid OR any instance of gameobject entry is within distance.
SMART_EVENT_COUNTER_SET 77 counterID value cooldownMin cooldownMax If the value of specified counterID is equal to a specified value
action_type
Name
Value
Param1
Param2
Param3
Param4
Param5
Param6
Comment
SMART_ACTION_NONE
0
Do nothing
SMART_ACTION_TALK
1
Creature_text.groupid
Duration to wait before TEXT_OVER event is triggered.
Param2 in Milliseconds.
SMART_ACTION_SET_FACTION
2
FactionID (or 0 for default)
Sets faction to creature.
SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL
3
Creature_template.entry(param1)
Creature_template.modelID(param2)
Take DisplayID of creature (param1) OR Turn to DisplayID (param2) OR Both = 0 for Demorph
SMART_ACTION_SOUND
4
SoundId
onlySelf
Play Sound; TextRange = 0 only sends sound to self, TextRange = 1 sends sound to everyone in visibility range
SMART_ACTION_PLAY_EMOTE
5
EmoteId
Play Emote
SMART_ACTION_FAIL_QUEST
6
QuestID
Fail Quest of Target
SMART_ACTION_ADD_QUEST
7
QuestID
Add Quest to Target
SMART_ACTION_SET_REACT_STATE
8
State
React State. Can be Aggressive, Passive or Defensive.
SMART_ACTION_ACTIVATE_GOBJECT
9
Activate Object
SMART_ACTION_RANDOM_EMOTE
10
EmoteId1
EmoteId2
EmoteId3...
Play Random Emote
SMART_ACTION_CAST
11
SpellId
Cast Flags
Cast Spell ID at Target
SMART_ACTION_SUMMON_CREATURE
12
Creature_template.entry
Summon type
duration in ms
attackInvoker
Summon Unit
SMART_ACTION_THREAT_SINGLE_PCT
13
Threat% inc
Threat% dec
Change Threat Percentage for Single Target
SMART_ACTION_THREAT_ALL_PCT
14
Threat% inc
Threat% dec
Change Threat Percentage for All Enemies
SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS
15
QuestID
SMART_ACTION_UNUSED_16
16
SMART_ACTION_SET_EMOTE_STATE
17
EmoteId
Play Emote Continuously
SMART_ACTION_SET_UNIT_FLAG
18
(may be more than one field OR'd together)
type
If false setCreature_template.unit_flags
If true setCreature_template.unit_flags2
Can set Multi-able flags at once
SMART_ACTION_REMOVE_UNIT_FLAG
19
(may be more than one field OR'd together)
type
If false setCreature_template.unit_flags
If true setCreature_template.unit_flags2
Can Remove Multi-able flags at once
SMART_ACTION_AUTO_ATTACK
20
AllowAttackState (0 = Stop attack, anything else means continue attacking)
Stop or Continue Automatic Attack.
SMART_ACTION_ALLOW_COMBAT_MOVEMENT
21
AllowCombatMovement (0 = Stop combat based movement, anything else continue attacking)
Allow or Disable Combat Movement
SMART_ACTION_SET_EVENT_PHASE
22
smart_scripts.event_phase_mask
SMART_ACTION_INC_EVENT_PHASE
23
Increment
Decrement
Set param1 OR param2 (not both). Value 0 has no effect.
SMART_ACTION_EVADE
24
Evade Incoming Attack
SMART_ACTION_FLEE_FOR_ASSIST
25
0/1 (If you want the fleeing NPC to say attempts to flee text on flee, use 1 on param1. For no message use 0.)
If you want the fleeing NPC to say '%s attempts to run away in fear' on flee, use 1 on param1. 0 for no message.
SMART_ACTION_CALL_GROUPEVENTHAPPENS
26
QuestID
SMART_ACTION_CALL_CASTEDCREATUREORGO
27
Creature_template.entry
SpellId
SMART_ACTION_REMOVEAURASFROMSPELL
28
Spellid
0 removes all auras
SMART_ACTION_FOLLOW
29
Distance (0 = Default value)
Angle (0 = Default value)
End creature_template.entry
credit
creditType (0monsterkill, 1event)
Follow Target
SMART_ACTION_RANDOM_PHASE
30
smart_scripts.event_phase_mask1
smart_scripts.event_phase_mask2
smart_scripts.event_phase_mask3
smart_scripts.event_phase_mask4
smart_scripts.event_phase_mask5
smart_scripts.event_phase_mask6
SMART_ACTION_RANDOM_PHASE_RANGE
31
smart_scripts.event_phase_maskminimum
smart_scripts.event_phase_maskmaximum
SMART_ACTION_RESET_GOBJECT
32
Reset Gameobject
SMART_ACTION_CALL_KILLEDMONSTER
33
Creature_template.entry
This is the ID fromquest_template.RequiredNpcOrGo
SMART_ACTION_SET_INST_DATA
34
Field
Data
Set Instance Data
SMART_ACTION_SET_INST_DATA64
35
Field
Set Instance Data uint64
SMART_ACTION_UPDATE_TEMPLATE
36
Creature_template.entry
Team (updates creature_template to given entry)
SMART_ACTION_DIE
37
Kill Target
SMART_ACTION_SET_IN_COMBAT_WITH_ZONE
38
SMART_ACTION_CALL_FOR_HELP
39
Radius in yards that other creatures must be to acknowledge the cry for help.
0/1 (say calls for help text)
If you want the NPC to say '%s calls for help!'. Use 1 on param1, 0 for no message.
SMART_ACTION_SET_SHEATH
40
Sheath (0-unarmed, 1-melee, 2-ranged)
SMART_ACTION_FORCE_DESPAWN
41
timer
Despawn Target after param1 Milliseconds
SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL
42
flat hp value
percent hp value
If you use both params, only percent will be used.
SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL
43
Creature_template.entry
Creature_template.modelID
Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount
SMART_ACTION_SET_INGAME_PHASE_MASK
44
Creature.phasemask
SMART_ACTION_SET_DATA
45
Field
Data
Set Data For Target, can be used with SMART_EVENT_DATA_SET
SMART_ACTION_MOVE_FORWARD
46
Distance in yards
Sends creature forward.
SMART_ACTION_SET_VISIBILITY
47
0/1
Makes creature Visible = 1 or Invisible = 0
SMART_ACTION_SET_ACTIVE
48
SMART_ACTION_ATTACK_START
49
Allows basic melee swings to creature.
SMART_ACTION_SUMMON_GO
50
Gameobject_template.entry
De-spawn time in seconds.
Spawns Gameobject, use target_type to set spawn position.
SMART_ACTION_KILL_UNIT
51
Kills Creature.
SMART_ACTION_ACTIVATE_TAXI
52
TaxiID
Sends player to flight path. You have to be close to Flight Master, which gives Taxi ID you need.
SMART_ACTION_WP_START
53
walk = 0 run = 1
Waypoints.entry
canRepeat
Quest_template.id
despawntime
reactState
Creature starts Waypoint Movement. Use waypoints table to create movement.
SMART_ACTION_WP_PAUSE
54
time (in ms)
Creature pauses its Waypoint Movement for given time.
SMART_ACTION_WP_STOP
55
despawnTime
Quest_template.id
fail (0/1)
Creature stops its Waypoint Movement.
SMART_ACTION_ADD_ITEM
56
Item_template.entry
count
Adds item(s) to player.
SMART_ACTION_REMOVE_ITEM
57
Item_template.entry
count
Removes item(s) from player.
SMART_ACTION_INSTALL_AI_TEMPLATE
58
TemplateID
SMART_ACTION_SET_RUN
59
0 = Off / 1 = On
SMART_ACTION_SET_FLY
60
0 = On / 1 = Off
Only works for creatures with inhabit air.
SMART_ACTION_SET_SWIM
61
0 = Off / 1 = On
SMART_ACTION_TELEPORT
62
MapID
Continue this action with the TARGET_TYPE column. Use any target_type (except 0), and use target_x, target_y, target_z, target_o as the coordinates
SMART_ACTION_SET_COUNTER
63
counterID value
reset (0/1)
SMART_ACTION_STORE_TARGET_LIST
64
varID
SMART_ACTION_WP_RESUME
65
Creature continues in its Waypoint Movement.
SMART_ACTION_SET_ORIENTATION
66
This depends on whet target script have if SMART_TARGET_SELF than Facing will be set like in HomePosition, When SMART_TARGET_POSITION you need to set target_o. 0 = North, West = 1.5, South = 3, East = 4.5
SMART_ACTION_CREATE_TIMED_EVENT
67
id
InitialMin
InitialMax
RepeatMin(only if it repeats)
RepeatMax(only if it repeats)
chance
SMART_ACTION_PLAYMOVIE
68
entry
SMART_ACTION_MOVE_TO_POS
69
PointId
PointId is called by SMART_EVENT_MOVEMENTINFORM. Continue this action with the TARGET_TYPE column. Use any target_type, and use target_x, target_y, target_z, target_o as the coordinates
SMART_ACTION_RESPAWN_TARGET
70
Respawntime in seconds for gameobjects (parameter for gameobjects only)
SMART_ACTION_EQUIP
71
Creature_equip_template.entry
Slotmask
slot1 (item_template.entry)
Slot2 (item_template.entry)
Slot3 (item_template.entry)
only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), Slots1-3 are only used if no Param1 is set
SMART_ACTION_CLOSE_GOSSIP
72
Closes gossip window.
SMART_ACTION_TRIGGER_TIMED_EVENT
73
id(>1)
SMART_ACTION_REMOVE_TIMED_EVENT
74
id(>1)
SMART_ACTION_ADD_AURA
75
SpellId
Adds aura to player(s). Use target_type 17 to make AoE aura.
SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT
76
WARNING: CAN CRASH CORE, do not use if you dont know what you are doing
SMART_ACTION_RESET_SCRIPT_BASE_OBJECT
77
SMART_ACTION_CALL_SCRIPT_RESET
78
SMART_ACTION_SET_RANGED_MOVEMENT
79
attackDistance
attackAngle
Sets movement to follow at a specific range to the target.
SMART_ACTION_CALL_TIMED_ACTIONLIST
80
EntryOrGuid
timer update type(0 OOC, 1 IC, 2 ALWAYS)
SMART_ACTION_SET_NPC_FLAG
81
Creature_template.npcflag
SMART_ACTION_ADD_NPC_FLAG
82
Creature_template.npcflag
SMART_ACTION_REMOVE_NPC_FLAG
83
Creature_template.npcflag
SMART_ACTION_SIMPLE_TALK
84
Creature_text.groupID
Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used.
SMART_ACTION_INVOKER_CAST
85
SpellID
castFlags
if avaliable, last used invoker will cast spellId with castFlags on targets
SMART_ACTION_CROSS_CAST
86
SpellID
castFlags
CasterTargetType (caster is selected here, use it as target_type)
CasterTarget (target_param1)
CasterTarget (target_param2)
CasterTarget (target_param3)
This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally.
SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST
87
EntryOrGuid 1
EntryOrGuid 2
EntryOrGuid 3
EntryOrGuid 4
EntryOrGuid 5
EntryOrGuid 6
Will select one entry from the ones provided. 0 is ignored.
SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST
88
EntryOrGuid 1
EntryOrGuid 2
0 is ignored.
SMART_ACTION_RANDOM_MOVE
89
Radius
Creature moves to random position in given radius.
SMART_ACTION_SET_UNIT_FIELD_BYTES_1
90
Value
Type
SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1
91
Value
Type
SMART_ACTION_INTERRUPT_SPELL
92
With delay (0/1)
SpellId
Instant (0/1)
This action allows you to interrupt the current spell being cast. If you do not set the spellId, the core will find the current spell depending on the withDelay and the withInstant values.
SMART_ACTION_SEND_GO_CUSTOM_ANIM
93
animprogress (0-255)
SMART_ACTION_SET_DYNAMIC_FLAG
94
dynamicflag.
SMART_ACTION_ADD_DYNAMIC_FLAG
95
dynamicflags
SMART_ACTION_REMOVE_DYNAMIC_FLAG
96
dynamicflags
SMART_ACTION_JUMP_TO_POS
97
Speed XY
Speed Z
Target X
Target Y
Target Z
SMART_ACTION_SEND_GOSSIP_MENU
98
Gossip_menu_option.menuId
Gossip_menu_option.npc_text_id
Can be used together with 'SMART_EVENT_GOSSIP_HELLO' to set custom gossip.
SMART_ACTION_GO_SET_LOOT_STATE
99
LootState (0 - Not ready, 1 - Ready, 2 - Activated, 3 - Just deactivated)
SMART_ACTION_SEND_TARGET_TO_TARGET
100
Id
Send targets previously stored with SMART_ACTION_STORE_TARGET, to another npc/go, the other npc/go can then access them as if it was its own stored list
SMART_ACTION_SET_HOME_POS
101
Use with SMART_TARGET_SELF or SMART_TARGET_POSITION
SMART_ACTION_SET_HEALTH_REGEN
102
0/1
Sets the current creatures health regen on or off.
SMART_ACTION_SET_ROOT 103 0/1 Enables or disables creature movement
SMART_ACTION_SET_GO_FLAG 104 gameobject_template.flags oldFlag = newFlag
SMART_ACTION_ADD_GO_FLAG 105 gameobject_template.flags oldFlag |= newFlag
SMART_ACTION_REMOVE_GO_FLAG 106 gameobject_template.flags oldFlag &= ~newFlag
SMART_ACTION_SUMMON_CREATURE_GROUP 107 creature_summon_groups.groupId Attack invoker (0/1) Use creature_summon_groups table. SAI target has no effect, use 0
SMART_ACTION_SET_POWER 108 Power type New power
SMART_ACTION_ADD_POWER 109 Power type Power to add
SMART_ACTION_REMOVE_POWER 110 Power type Power to remove
SMART_ACTION_START_CLOSEST_WAYPOINT 111 wp1 wp2 wp3 wp4
wp5
wp6 Make target follow closest waypoint to its location
SMART_ACTION_RISE_UP 114 Distance in yards Makes the creature to fly up xx yards up to the sky (from current position)
위의 기능을 이용하여 각 이벤트별 설정을 할 수 있습니다. 이를 이용하여 던전도 구현하실 수 있습니다. 코어 소스를 이용하여 직접 소스 짜시는게 좋지만, 간이 구현은
이것으로도 얼마든지 가능합니다.
Predefined SAI templates
Description Name
Value (Param1)
Param2
Param3
Param4
Param5
Param6
Comment
SMARTAI_TEMPLATE_BASIC
0
SMARTAI_TEMPLATE_CASTER
1
spellid
repeatMin
repeatMax
range
manaPCT
+JOIN: target_param1 as castFlag
SMARTAI_TEMPLATE_TURRET
2
spellid
repeatMin
repeatMax
range
manaPCT
+JOIN: target_param1 as castflag
SMARTAI_TEMPLATE_PASSIVE
3
SMARTAI_TEMPLATE_CAGED_GO_PART
4
creatureID
give credit at point end (0/1)
SMARTAI_TEMPLATE_CAGED_NPC_PART
5
gameObjectID
despawntime
run (0/1)
dist
TextGroupID
target_type
Name
Value
target_param1
target_param2
target_param3
target_x
target_y
target_z
target_o
Comment
SMART_TARGET_NONE
0
None.
SMART_TARGET_SELF
1
Self cast.
SMART_TARGET_VICTIM
2
Our current target. (ie: highest aggro)
SMART_TARGET_HOSTILE_SECOND_AGGRO
3
Second highest aggro.
SMART_TARGET_HOSTILE_LAST_AGGRO
4
Dead last on aggro.
SMART_TARGET_HOSTILE_RANDOM
5
Just any random target on our threat list.
SMART_TARGET_HOSTILE_RANDOM_NOT_TOP
6
Any random target except top threat.
SMART_TARGET_ACTION_INVOKER
7
Unit who caused this Event to occur.
SMART_TARGET_POSITION
8
x
y
z
o
Use xyz from event params.
SMART_TARGET_CREATURE_RANGE
9
creatureEntry (0 any)
minDist
maxDist
(Random?) creature with specified ID within specified range.
SMART_TARGET_CREATURE_GUID
10
guid
entry
Creature with specified GUID.
SMART_TARGET_CREATURE_DISTANCE
11
creatureEntry (0 any)
maxDist
Creature with specified ID within distance. (Different from #9?)
SMART_TARGET_STORED
12
id
Uses pre-stored target(list)
SMART_TARGET_GAMEOBJECT_RANGE
13
goEntry (0 any)
minDist
maxDist
(Random?) object with specified ID within specified range.
SMART_TARGET_GAMEOBJECT_GUID
14
guid
entry
Object with specified GUID.
SMART_TARGET_GAMEOBJECT_DISTANCE
15
goEntry (0 any)
maxDist
Object with specified ID within distance. (Different from #13?)
SMART_TARGET_INVOKER_PARTY
16
Invoker's party members
SMART_TARGET_PLAYER_RANGE
17
minDist
maxDist
(Random?) player within specified range.
SMART_TARGET_PLAYER_DISTANCE
18
maxDist
(Random?) player within specified distance. (Different from #17?)
SMART_TARGET_CLOSEST_CREATURE
19
creatureEntry (0 any)
maxDist (Can be from 0-100 yards)
dead? (0/1)
Closest creature with specified ID within specified range.
SMART_TARGET_CLOSEST_GAMEOBJECT
20
goEntry (0 any)
maxDist (Can be from 0-100 yards)
Closest object with specified ID within specified range.
SMART_TARGET_CLOSEST_PLAYER
21
maxDist
Closest player within specified range.
SMART_TARGET_ACTION_INVOKER_VEHICLE
22
Unit's vehicle who caused this Event to occur
SMART_TARGET_OWNER_OR_SUMMONER
23
Unit's owner or summoner
SMART_TARGET_THREAT_LIST
24
All units on creature's threat list
SMART_TARGET_CLOSEST_ENEMY 25 maxDist playerOnly (0/1) Any attackable target (creature or player) within maxDist
SMART_TARGET_CLOSEST_FRIENDLY 26 maxDist playerOnly (0/1) Any friendly unit (creature, player or pet) within maxDist
스마트 스크립트의 대상에게 적용이되는 것들입니다. 1번으로 예를들면 스마트 스크립트로 발동되는 액션효과가 본인에게 적용됨입니다.
예를들어 보스의 스킬구성중 버프가 있다면, 버프 대상을 본인에게 시전하는 그런 역할입니다.
comment
Commenting on SAI uses a template which is the following: (with an example)
"Creature name - Event - Action"
"Minion of Gurok - On spawn - Set Random Movement"
-
등록일 10.29
-
등록일 10.09
-
등록일 10.09
관련자료
댓글 0
등록된 댓글이 없습니다.

