Basic Lua:
function Creature_OnCombat(Unit,event)
Unit

"FrostboltSpam", 1000 0)
end
function FrostboltSpam(unit, event)
Unit:FullCastSpellOnTarget(11, Unit:GetRandomPlayer(7))
end
function Creature_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
end
Function Creature_OnDie(Unit,Event)
Unit:RemoveEvents()
end
RegisterUnitEvent(11, 1, "Creature_OnCombat")
RegisterUnitEvent(11, 2, "Creature_OnLeaveCombat")
RegisterUnitEvent(11, 4, "Creature_OnDie")
NPC Chat:
function David_OnLeaveCombat(Unit,Event)
Unit:RemoveEvents()
end
function David_OnDie(Unit,Event)
Unit:RemoveEvents()
end
function David_OnCombat(Unit,Event)
Unit:SendChatMessage(14, 0, "I Am Beast!")
Unit:RegisterEvent("DavidSpellCast_OnCombat", 15000, 1)
end
function David_OnTargetDie(Unit, Event)
Unit:RemoveEvents()
end
function DavidSpellCast_OnCombat(Unit, Event)
Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer())
end
RegisterUnitEvent(100000, 1, "David_OnCombat")
RegisterUnitEvent(100000, 2, "David_OnLeaveCombat")
RegisterUnitEvent(100000, 4, "David_OnDie")
RegisterUnitEvent(100000, 3, "David_OnTargetDie")
Summoning Npc to an npc:
function David_OnLeaveCombat(Unit,Event)
Unit:RemoveEvents()
end
function David_OnDie(Unit,Event)
Unit:RemoveEvents()
end
function David_OnCombat(Unit,Event)
Unit:SendChatMessage(14, 0, "I Am Beast!")
Unit:RegisterEvent("DavidSpellCast_OnCombat", 15000, 1)
Unit:RegisterEvent("DavidNpc_Spawn", 120000, 10)
end
function DavidNpc_Spawn(Unit,Event)
local x = Unit:GetX();
local y = Unit:GetY():
local z = Unit:GetZ():
local o = Unit:GetO():
Unit:SpawnCreature(100000, x, y, z, o, 14, 120000)
end
function David_OnTargetDie(Unit, Event)
Unit:RemoveEvents()
end
function DavidSpellCast_OnCombat(Unit, Event)
Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer())
end
RegisterUnitEvent(100000, 1, "David_OnCombat")
RegisterUnitEvent(100000, 2, "David_OnLeaveCombat")
RegisterUnitEvent(100000, 4, "David_OnDie")
RegisterUnitEvent(100000, 3, "David_OnTargetDie")
Summoning an Npc to a specific location:
function David_OnLeaveCombat(Unit,Event)
Unit:RemoveEvents()
end
function David_OnDie(Unit,Event)
Unit:RemoveEvents()
end
function David_OnCombat(Unit,Event)
Unit:SendChatMessage(14, 0, "I Am Beast!")
Unit:RegisterEvent("DavidSpellCast_OnCombat", 15000, 1)
Unit:RegisterEvent("DavidNpc_Spawn", 120000, 10)
Unit:RegisterEvent("David2Npc_Spawn", 360000, 2)
end
function David2Npc_Spawn(Unit, Event)
Unit:SpawnCreature(100001, 1, 2, 3, 4, 14, 360000)
end
function DavidNpc_Spawn(Unit, Event)
local x = Unit:GetX();
local y = Unit:GetY():
local z = Unit:GetZ():
local o = Unit:GetO():
Unit:SpawnCreature(100000, x, y, z, o, 14, 120000)
end
function David_OnTargetDie(Unit, Event)
Unit:RemoveEvents()
end
function DavidSpellCast_OnCombat(Unit, Event)
Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer())
end
RegisterUnitEvent(100000, 1, "David_OnCombat")
RegisterUnitEvent(100000, 2, "David_OnLeaveCombat")
RegisterUnitEvent(100000, 4, "David_OnDie")
RegisterUnitEvent(100000, 3, "David_OnTargetDie")
Phrases:
function David_OnLeaveCombat(Unit,Event)
Unit:RemoveEvents()
end
function David_OnDie(Unit,Event)
Unit:RemoveEvents()
end
function David_OnCombat(Unit,Event)
Unit:SendChatMessage(14, 0, "I Am Beast!")
Unit:RegisterEvent("DavidSpellCast_OnCombat", 15000, 1)
Unit:RegisterEvent("DavidNpc_Spawn", 120000, 10)
Unit:RegisterEvent("David2Npc_Spawn", 360000, 2)
Unit:Registerevent("David_Phase1", 1000, 1)
end
function David_Phase1(Unit, Event)
if Unit:GetHealthPct() <= 20 then
Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer())
Unit:SetScale(3)
Unit:SetModel(100002)
end
end
function David2Npc_Spawn(Unit, Event)
Unit:SpawnCreature(100001, 1, 2, 3, 4, 14, 360000)
end
function DavidNpc_Spawn(Unit, Event)
local x = Unit:GetX();
local y = Unit:GetY():
local z = Unit:GetZ():
local o = Unit:GetO():
Unit:SpawnCreature(100000, x, y, z, o, 14, 120000)
end
function David_OnTargetDie(Unit, Event)
Unit:RemoveEvents()
end
function DavidSpellCast_OnCombat(Unit, Event)
Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer())
end
RegisterUnitEvent(100000, 1, "David_OnCombat")
RegisterUnitEvent(100000, 2, "David_OnLeaveCombat")
RegisterUnitEvent(100000, 4, "David_OnDie")
RegisterUnitEvent(100000, 3, "David_OnTargetDie")
Portal:
function PortalTo_Boss(pUnit, Event, pMisc)
pMisc:Teleport(1, -142, 235.135, 634.15) <-------------------------(MapID, X-Coord, Y-Coord, Z-Coord)
end
RegisterGameObjectEvent(1500, 2, "PortalTo_Boss")
Teleport NPC:
function On_Gossip(unit, event, player)
unit:GossipCreateMenu(100, player, 0)
unit:GossipMenuAddItem(0, "Main Alliance Teleport Locations", 0, 0)
unit:GossipSendMenu(player)
end
function Gossip_Submenus(unit, event, player, id, intid, code)
if(intid == 0) then
unit:GossipCreateMenu(101, player, 0)
unit:GossipMenuAddItem(0, "Mall", 50, 0)
unit:GossipMenuAddItem(0, "Leveling Road", 51, 0)
unit:GossipMenuAddItem(0, "Boss Area", 52, 0)
unit:GossipMenuAddItem(0, "Event Area", 53, 0)
unit:GossipSendMenu(player)
end
if(intid == 50) then
player:Teleport(mapid, x, y, z)
end
end
RegisterUnitEvent(npcid, 1, "On_Gossip")
RegisterUnitEvent(npcid, 2, "Gossip_Submenus")
Making healer + Buffer+Morpher:
function Buff_Gossip(unit, event, player)
unit:GossipCreateMenu(100, player, 0)
unit:GossipAddMenuItem(0, "Buffs", 0, 0)
unit:GossipAddMenuItem(0, "Heals", 1, 0)
unit:GossipAddMenuItem(0, "Morpher", 2, 0)
unit:GossipSendMenu(player)
end
function Buffs_Submenus(unit, event, player, id, intid, code)
if(intid == 0) then
unit:FullCastSpellOnTarger(20217, player)
player:GossipComplete()
end
if(intid == 1) then
unit:FullCastSpellOnTarget(27136, player)
player:GossipComplete()
end
if(intid ==2) then
unit:SetModel(morpheridhere)
player:GossipComplete()
end
RegisterUnitEvent(npcid, 1, "Buffs_Gossip")
RegisterUnitEvent(npcid, 2, "Buffs_Sebmenus")