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