Difference between revisions of "LUA:SpawnScripts"
| Line 126: | Line 126: | ||
|{{TextBox | |{{TextBox | ||
|Spawnscript Name | |Spawnscript Name | ||
| − | |lua | + | |--[[ |
| + | Script Name : Quests/FrostfangSea/the_icemanes_cometh.lua | ||
| + | Script Purpose : the quest The Icemanes Cometh | ||
| + | Script Author : theFoof | ||
| + | Script Date : 2013.5.20 | ||
| + | |||
| + | Zone : Frostfang Sea | ||
| + | Quest Giver : Verien Skysigh | ||
| + | Preceded by : Pilgrim Pelts | ||
| + | Followed by : None | ||
| + | --]] | ||
| + | |||
| + | function Accepted(Quest, QuestGiver, Player) | ||
| + | if HasItem(Player, 46664) == false then | ||
| + | SummonItem(Player, 46664, 1) | ||
| + | end | ||
| + | FaceTarget(QuestGiver, Player) | ||
| + | conversation = CreateConversation() | ||
| + | |||
| + | PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_030.mp3", "", "", 2735698585, 1703243228, Player) | ||
| + | AddConversationOption(conversation, "I understand.") | ||
| + | StartConversation(conversation, QuestGiver, Player, "Be sure to escort them back here. Then tether them to the icemane post nearby. That is our only hope in dealing with them.") | ||
| + | end | ||
| + | |||
| + | function Declined(Quest, QuestGiver, Player) | ||
| + | end | ||
| + | |||
| + | function Deleted(Quest, QuestGiver, Player) | ||
| + | SetTempVariable(Player, "cub1", nil) | ||
| + | SetTempVariable(Player, "cub2", nil) | ||
| + | SetTempVariable(Player, "cub3", nil) | ||
| + | SetTempVariable(Player, "cub4", nil) | ||
| + | end | ||
| + | |||
| + | function Init(Quest) | ||
| + | -- 2329 ?? | ||
| + | AddQuestRewardCoin(Quest, math.random(1,80), math.random(6,12), 0, 0) | ||
| + | AddQuestStep(Quest, 1, "Use the binding tether on icemane cubs upon the Icemane Plains, then bring them back to the lion post near Verien Skysigh at the pilgrims' camp within Gwenevyn's Cove.", 4, 100, "Verien believes the grizzlies will avoid attacking any pilgrim who is being escorted by icemane cubs. He has tasked you with leashing some and bringing them back to the camp using the binding tether he provided you.", 2329) | ||
| + | AddQuestStepCompleteAction(Quest, 1, "GotCubs") | ||
| + | end | ||
| + | |||
| + | function GotCubs(Quest, QuestGiver, Player) | ||
| + | UpdateQuestTaskGroupDescription(Quest, 1, "You brought back enough tethered icemane cubs.") | ||
| + | AddQuestStepChat(Quest, 2, "Return to Verien Skysigh now that you have presented him with enough tethered icemane cubs.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, now that you have presented him with enough tethered icemane cubs.", 0, 4700034) | ||
| + | AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") | ||
| + | end | ||
| + | |||
| + | function CompleteQuest(Quest, QuestGiver, Player) | ||
| + | GiveQuestReward(Quest, Player) | ||
| + | end | ||
| + | |||
| + | function Reload(Quest, QuestGiver, Player, Step) | ||
| + | if Step == 1 then | ||
| + | GotCubs(Quest, QuestGiver, Player) | ||
| + | elseif Step == 2 then | ||
| + | CompleteQuest(Quest, QuestGiver, Player) | ||
| + | end | ||
| + | end | ||
|BackgroundColor=ffffff | |BackgroundColor=ffffff | ||
|FontColor=000000}} | |FontColor=000000}} | ||
Revision as of 19:46, 13 June 2016
Spawn Scripts are used to bring a spawn to life, the most common use is to add dialog but it is possible to write your own custom AI completely overriding the default behavior provided in the server core.
Contents
Aggro
Aggro is called when the spawn aggros a player due to faction
function aggro(Spawn, Spawn) end
Attacked
Attacked is called when the spawn enters combat
function attacked(Spawn, Spawn) end
Auto Attack Tick
Auto Attack Tick is called when the spawn makes an attack with the primary weapon
function auto_attack_tick(Spawn, Spawn) end
Can Use Command
can_use_command is called when an entity command is used on a spawn. Return true to allow the command to be used, false to not. This check only applies if this function is in the script. The third parameter is the name of the spell/entity command.
function can_use_command(NPC, Spawn, String)
return true
end
Casted On
Casted On is called when a spell is casted on the spawn, the third parameter is the name of the spell/entity command
function casted_on(Spawn, Spawn, String) end
Combat Reset
Combat Reset is called when the spawn leaves combat
function CombatReset(Spawn) end
Death
Death is called when the spawn dies
function death(Spawn, Spawn) end
Group Dead
Group dead is called when the last member of a spawn group is killed
function group_dead(Spawn, Spawn) end
Hailed
Hailed is called when a player hails the spawn
function hailed(Spawn, Spawn) end
Hailed Busy
Hailed Busy is called when a player hails the spawn while it is in combat
function hailed_busy(Spawn, Spawn) end
Health Changed
Health Changed is called whenever the spawns health changes in either direction
function healthchanged(Spawn, Spawn) end
Killed
Killed is called whenever the spawn kills something
function killed(Spawn, Spawn) end
Random Chat
Random Chat is never called and its purpose is lost, code for it still remains so it is listed here just for reference
function randomchat(Spawn, String) end
Respawn
Respawn is called when the spawn respawns
function respawn(Spawn) end
Spawn
Spawn is called when the spawn spawns for the first time
function spawn(Spawn) end
Targeted
Targeted is called whenever a player targets the spawn
function targeted(Spawn, Spawn) end
Think
Think is used to override AI and is called every time the AI needs to run
function Think(Spawn, Spawn) end
Spawnscript Name {{{2}}} |