Custom Lua

01/10/2011 07:05 NuclearFighter#1
Hallo zusammen,

ich habe mir da mal eine Lua zusammengebastelt, bekomme es aber irgendwie nicht hin:

-Instand Level 80
-Instand Maxskill
-Wiederbelebungsnachwirkungen Entfernen

Quote:
local Npc_ID = 200000

function MaxSkillNPC_OnGossip(pUnit,event,player)
pUnit:GossipCreateMenu(100, player, 0)
pUnit:GossipMenuAddItem(0,"Ich moechte bitte maximalen Waffenskill.",1,0)
pUnit:GossipMenuAddItem(0, "Ich will Level 80!.",2, 0)
pUnit:GossipMenuAddItem(1,"Wiederbelebungsnachwirk ungen entfernen.",3, 0)
pUnit:GossipMenuAddItem(0,"Ich moechte nichts, auf Wiedersehen!",4,0)
pUnit:GossipSendMenu(player)
end

function MaxSkillNPC_OnSelect(pUnit,event,player,id,intid,c ode)
if (intid == 1) then
player:AdvanceSkill (43, 400) --Swords
player:AdvanceSkill (44, 400) --Axes
player:AdvanceSkill (45, 400) --Bows
player:AdvanceSkill (46, 400) --Guns
player:AdvanceSkill (54, 400) --Maces
player:AdvanceSkill (55, 400) --Two Handed Swords
player:AdvanceSkill (95, 400) --Defense
player:AdvanceSkill (136, 400) --Staves
player:AdvanceSkill (160, 400) --Two Handed Maces
player:AdvanceSkill (162, 400) --Unarmed
player:AdvanceSkill (172, 400) --Two Handed Axes
player:AdvanceSkill (173, 400) --Daggers
player:AdvanceSkill (176, 400) --Thrown
player:AdvanceSkill (226, 400) --Crossbows
player:AdvanceSkill (228, 400) --Wands
player:AdvanceSkill (229, 400) --Polearms
player:AdvanceSkill (473, 400) --Fist Weapons
player:SendBroadcastMessage("Dein Waffenskill ist nun auf die maximale Stufe gesetzt.")
player:GossipComplete()
end

function MaxSkillNPC_OnGossip(Unit, Event, player, id, intid, code, pMisc)
if (intid == 2) then
player:SetLevel(80)
player:GossipComplete()
end

function MaxSkillNPC_OnSelect(pUnit,event,player,id,intid,c ode)
if (intid == 3) then
if (player:HasAura(15007) == true) then
player:SendBroadcastMessage("Resurrection Sickness has been Removed")
player:RemoveAura(15007)
player:GossipComplete()

else

player:SendBroadcastMessage("You do not have Resurrection Sickness!")
player:GossipComplete()
end

if (intid == 4) then
player:GossipComplete()
end
end
end
end
end
RegisterUnitGossipEvent(Npc_ID, 1, "MaxSkillNPC_OnGossip")
RegisterUnitGossipEvent(Npc_ID, 2, "MaxSkillNPC_OnSelect")

Was ist Falsch???

Ascent + NCDB
01/11/2011 22:19 Zerpd#2
Mhm du hast die Bedingungen und die Funktionen garnicht richtig beendet. So sollte es glaub ich funktionieren.

Code:
local Npc_ID = 200000

function MaxSkillNPC_OnGossip(pUnit,event,player)
	pUnit:GossipCreateMenu(100, player, 0)
	pUnit:GossipMenuAddItem(0,"Ich moechte bitte maximalen Waffenskill.",1,0)
	pUnit:GossipMenuAddItem(0, "Ich will Level 80!.",2, 0)
	pUnit:GossipMenuAddItem(1,"Wiederbelebungsnachwirk ungen entfernen.",3, 0)
	pUnit:GossipMenuAddItem(0,"Ich moechte nichts, auf Wiedersehen!",4,0)
	pUnit:GossipSendMenu(player)
end

function MaxSkillNPC_OnSelect(pUnit,event,player,id,intid,c ode)
	if (intid == 1) then	
		player:AdvanceSkill (43, 400) --Swords
		player:AdvanceSkill (44, 400) --Axes
		player:AdvanceSkill (45, 400) --Bows
		player:AdvanceSkill (46, 400) --Guns
		player:AdvanceSkill (54, 400) --Maces
		player:AdvanceSkill (55, 400) --Two Handed Swords
		player:AdvanceSkill (95, 400) --Defense
		player:AdvanceSkill (136, 400) --Staves
		player:AdvanceSkill (160, 400) --Two Handed Maces
		player:AdvanceSkill (162, 400) --Unarmed
		player:AdvanceSkill (172, 400) --Two Handed Axes
		player:AdvanceSkill (173, 400) --Daggers
		player:AdvanceSkill (176, 400) --Thrown
		player:AdvanceSkill (226, 400) --Crossbows
		player:AdvanceSkill (228, 400) --Wands
		player:AdvanceSkill (229, 400) --Polearms
		player:AdvanceSkill (473, 400) --Fist Weapons
		player:SendBroadcastMessage("Dein Waffenskill ist nun auf die maximale Stufe gesetzt.")
		player:GossipComplete()
	end
end

function MaxSkillNPC_OnGossip(Unit, Event, player, id, intid, code, pMisc)
	if (intid == 2) then
		player:SetLevel(80)
		player:GossipComplete()
	end
end

function MaxSkillNPC_OnSelect(pUnit,event,player,id,intid,c ode)
	if (intid == 3) then
		if (player:HasAura(15007) == true) then
			player:SendBroadcastMessage("Resurrection Sickness has been Removed")
			player:RemoveAura(15007)
			player:GossipComplete()
		else
			player:SendBroadcastMessage("You do not have Resurrection Sickness!")
			player:GossipComplete()
		end
	end
	if (intid == 4) then
		player:GossipComplete()
	end
end

RegisterUnitGossipEvent(Npc_ID, 1, "MaxSkillNPC_OnGossip")
RegisterUnitGossipEvent(Npc_ID, 2, "MaxSkillNPC_OnSelect")
01/11/2011 23:05 NuclearFighter#3
Und jetzt geht Garnichts mehr.......
01/12/2011 22:13 Zerpd#4
Naja du hast auch 2 Funktionen die gleich heißen. Ich bin grad selber etwas verwirrt was du da machen willst.
01/13/2011 14:10 NuclearFighter#5
Einen Npc Für alles ----

-- Auf level 80 Setzen

-- Maxskill setzen

-- Teleporter

-- Wiederbelebungsnachwirkungen entfernen