ich hab mir mal, nachdem ich mit C schon Erfahrung haben, gedacht, ich könnte doch mal nen Lua WoW Boss skripten...^^
Hab mir ein Tutorial geholt, und hab los gelegt...
Dass is dabei rausgekommen, und iwie kennt er die Funktion "OnCombat" nicht...
Code:
RegisterUnitEvent(100000, 1, "Boss_OnCombat")
RegisterUnitEvent(100000, 2, "Boss_OnLeaveCombat")
RegisterUnitEvent(100000, 3, "Boss_OnKilledTarget")
RegisterUnitEvent(100000, 4, "Boss_OnDied")
-- main funktions
function Boss_OnCombat(Unit, Event)
Unit:SendChatMessage(14, 0, "Now you shall burn!" )
Unit:RegisterEvent("Name_Phase1", 1000, 0)
end
function Boss_OnKilledTarget(Unit, Event)
Unit:SendChatMessage(14, 0, "...just another one!" )
end
function Boss_OnLeaveCombat(Unit, Event)
Unit:RemoveEvents()
Unit:SendChatMessage(14, 0, "Haha, running away like a child!" )
end
function Boss_OnDied(Unit, Event)
Unit:SendChatMessage(14, 0, "You... you... have it done..." )
Unit:RemoveEvents()
end
-- phasen
function Name_Phase1(Unit, Event)
if Unit:GetHealthPct() < 95 then
Unit:RemoveEvents()
Unit:RegisterEvent("Phase1_spell1", 20000, 0)
Unit:RegisterEvent("Phase1_spell2", 35000, 0)
Unit:RegisterEvent("Name_Phase2", 1000, 0)
end
end
function Name_Phase2(Unit, Event)
if Unit:GetHealthPct() < 50 then
Unit:RegisterEvent("Phase2_spell1", 15, 0)
Unit:RegisterEvent("Name_Phase3", 1000, 0)
end
end
function Name_Phase3(Unit, Event)
if Unit:GetHealthPct() < 20 then
Unit:RemoveEvents()
Unit:RegisterEvent("Phase3_spell1", 10000, 0)
Unit:RegisterEvent("Phase3_spell2", 120000, 0)
Unit:RegisterEvent("Phase3_spell3", 180000, 0)
Unit:RegisterEvent("Phase3_spell2", 120000, 0)
Unit:RegisterEvent("Name_Phase4", 1000, 0)
end
end
function Name_Phase4(Unit, Event)
if Unit:GetHealthPct() > 25 then
Unit:RegisterEvent("Phase4_spell1", 1500, 1)
Unit:RegisterEvent("Phase4_spell2", 1500, 1)
Unit:RegisterEvent("Phase4_spell3", 1500, 1)
Unit:RegisterEvent("Phase4_spell4", 1000, 0)
end
end
-- casts
function Phase1_spell1(Unit, Event)
local spell1ziel = Unit:GetRandomPlayer(7)
if (spell1ziel~=nil) then
Unit:FullCastSpellOnTarget(67628, spell1ziel)
Unit:SendChatMessage(14, 0, "Burn!" )
end
end
function Phase1_spell2(Unit, Event)
local spell2ziel = Unit:GetClosestPlayer()
if (spell2ziel~=nil) then
Unit:CastSpellOnTarget(67660, spell2ziel)
Unit:SendChatMessage(14, 0, "Sleep!" )
end
function Phase2_spell1(Unit, Event)
local spell3ziel = Unit:GetMainTank()
if (spell3ziel~=nil) then
Unit:FullCastSpellOnTarget(67477, spell3ziel)
Unit:SendChatMessage(14, 0, "Take this!" )
end
end
function Phase3_spell1(Unit, Event)
local spell4ziel = Unit:GetMainTank()
if (spell4ziel~=nil) then
Unit:FullCastSpellOnTarget(67477, spell4ziel)
Unit:SendChatMessage(14, 0, "...and now, I am engaging!" )
end
end
function Phase3_spell2(Unit, Event)
Unit:CastSpell(47585)
Unit:SendChatMessage(14, 0, "You are just wasting your time!" )
end
function Phase3_spell3(Unit, Event)
Unit:CastSpell(47788)
Unit:SendChatMessage(14, 0, "Angels are flying!" )
end
function Phase3_spell3(Unit, Event)
Unit:CastSpell(48068)
end
function Phase4_spell1(Unit, Event)
Unit:CastSpell(47008)
Unit:SetScale(3.2)
Unit:SendChatMessage(14, 0, "Now.. Now it is over! ENRAGE!" )
end
function Phase4_spell2(Unit, Event)
Unit:CastSpell(61714)
end
function Phase4_spell3(Unit, Event)
Unit:CastSpell(64238)
end
function Phase4_spell4(Unit, Event)
Unit:CastSpell(61715)
end
function Phase4_spell4(Unit, Event)
local spell10ziel = Unit:GetMainTank()
if (spell10ziel~=nil) then
Unit:FullCastSpellOnTarget(64487, spell10ziel)
Unit:SendChatMessage(14, 0, "Big BANG!" )
end
end
Und wenn wer nen Wuala WoWEmulator Debugger iwo rumliegen hat, hoch laden und link pls, hab nix nützliches gefunden zum debuggen^^






