Difference between revisions of "LUA:SpawnScripts"

Line 126: Line 126:
 
|{{TextBox
 
|{{TextBox
 
|Spawnscript Name
 
|Spawnscript Name
|lua code here
+
|--[[
 +
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.

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}}}


Back to LUA