[LUA] Boss Skript Problem

02/04/2013 00:24 Zero11#1
Hey Leute hatte mich heute an nem Boss Skript auf Lua Basis gesetzt und bin da aufen Problem gestoßen.

Und Zwar:
[00:21][Arcemu]LuaEngine: scripts\Bosskampftest.lua failed.(could not run)
scripts\Bosskampftest.lua:1: Reference creation failed! (name_OnCombat)
is not a valid Lua function.

Was da steht ist soweit klar doch wäre es mir irgendwie neu das OnCombat keine Funktion ist oder hab ich im Skript irgendwas gegen die Wandgefahren ^^

Hier der Teil der Vermutlich gemeint ist:
Code:
RegisterUnitEvent(100023, 1, "name_OnCombat")
    RegisterUnitEvent(100023, 2, "name_onLeaveCombat")
     RegisterUnitEvent(100023, 3, "name_onKilledTarget")
     RegisterUnitEvent(100023, 4, "name_onDied")
	 
	 function name_OnCombat(Unit, Event)
     Unit:SendChatMessage(14, 0, "Verschwindet ich habe Angst !!!" )
     Unit:RegisterEvent("Name_Phase1", 3000, 1)
    end
Hier das Ganze:

Code:
RegisterUnitEvent(100023, 1, "name_OnCombat")
    RegisterUnitEvent(100023, 2, "name_onLeaveCombat")
     RegisterUnitEvent(100023, 3, "name_onKilledTarget")
     RegisterUnitEvent(100023, 4, "name_onDied")
	 
	 function name_OnCombat(Unit, Event)
     Unit:SendChatMessage(14, 0, "Verschwindet ich habe Angst !!!" )
     Unit:RegisterEvent("Name_Phase1", 3000, 1)
    end
	
	function Name_Phase1(Unit, Event)
     if Unit:GetHealthPct() < 95 then
    Unit:RemoveEvents()
    Unit:RegisterEvent("Phase1_spell1", 32000, 0)
     Unit:SendChatMessage(14, 0, "Nimmt dies")
     Unit:RegisterEvent("Name_Phase2", 1000, 0)
    end
    end
	
	function Phase1_spell1(Unit, Event)
     local spell1ziel =  Unit:GetRandomPlayer(0)
    if (spell1ziel~=nil) then
     Unit:FullCastSpellOnTarget(24327, spell1ziel)
     end
end

function Name_Phase2(Unit, Event)
     if Unit:GetHealthPct() < 50 then
    Unit:RegisterEvent("Phase2_spell1", 18000, 0)
    Unit:SendChatMessage(14, 0, "Nachricht")
    Unit:RegisterEvent("Name_Phase3", 1000, 0)
     end
    end
	
function Phase2_spell1(Unit, Event)
local spell2ziel = Unit:GetRandomPlayer(0)
     if (spell2ziel~=nil) then
     Unit:FullCastSpellOnTarget(23171, spell2ziel)
     end
    end
	
	function Name_Phase3(Unit, Event)
     if Unit:GetHealthPct() < 20 then
     Unit:RegisterEvent("Phase3_spell1", 10000, 0)
      Unit:RegisterEvent("Phase3_spell2", 450000, 0)
      Unit:SendChatMessage(14, 0, "Nachricht")
    end
    end
	
	function Phase3_spell1(Unit, Event)
    local spell3ziel = Unit:GetRandomPlayer(0)
    if (spell3ziel~=nil) then
     Unit:FullCastSpellOnTarget(36212, spell3ziel)
     end
    end
	
	function Phase3_spell2(Unit, Event)
     Unit:CastSpell(39136)
     end
	 
	 function Name_onKilledTarget(Unit, Event)
     end
	 
	 function Name_onLeaveCombat(Unit, Event)
    Unit:RemoveEvents()
    end
	
	function Name_onDied(Unit, Event)
    Unit:RemoveEvents()
    end
Ich würde mich über hilfe freuen danke ;)
02/05/2013 12:36 Zero11#2
nimmand da der sich in LUA ein wenig auskennt ?
02/05/2013 19:40 Requi#3
Ich meine, dass man die Funktion erstmal deklarieren musste.
Du lässt es ins Register schreiben oder so und dann deklarierst du die Funktion erst
02/07/2013 10:43 Zero11#4
ja super hat Funktioniert :) danke dir