[Quest] Problem

11/27/2011 00:35 .Apfel#1
Hallo,

Code:
quest levelhorse begin
	state start begin
		when 50911.use begin
			if horse.get_level() <= 20 then
				horse.advance()
				chat("Dein Pferd wurde um eine Stufe gesteigert.")
				item.remove()
			else
				chat("Dein Pferd hat schon das maximale Level erreicht.")
			end
			if horse.get_level() == 1 then
				say_title("Hufeisen")
				say("Herzlichen Glückwunsch!")
				say("Dein Pferd ist nun Stufe 1.")
				say("Du erhälst ein Pferdebild:")
				say_item_vnum(50051)
				pc.give_item2(50051, 1)
				item.remove()
			elseif horse.get_level() == 11 then
				say_title("Hufeisen")
				say("Herzlichen Glückwunsch!")
				say("Dein Pferd ist nun Stufe 11.")
				say("Du erhälst ein Waffen-Pferdebuch:")
				say_item_vnum(50052)
				pc.give_item2(50052, 1)
				item.remove()
			elseif horse.get_level() == 21 then
				say_title("Hufeisen")
				say("Herzlichen Glückwunsch!")
				say("Dein Pferd ist nun Stufe 21.")
				say("Du erhälst ein Militärpferdebuch:")
				say_item_vnum(50053)
				pc.give_item2(50053, 1)
				item.remove()
			end
		end
	end
end
Mein Problem ist halt, dass wenn mein Gaul bereits auf 21 ist, er mir jedesmal ein Milligaulbuch gibt, anstatt die Chatnachricht. (Die Chatnachricht, die sagt, dass das Pferd bereits Maximallevel erreicht hat)
11/27/2011 00:38 Mijago#2
PHP Code:
quest levelhorse begin
    state start begin
        when 50911.
use begin
            
if horse.get_level() <= 20 then
                horse
.advance()
                
chat("Dein Pferd wurde um eine Stufe gesteigert.")
                
item.remove()
            else
                
chat("Dein Pferd hat schon das maximale Level erreicht.")
                return
            
end
            
if horse.get_level() == 1 then
                say_title
("Hufeisen")
                
say("Herzlichen Glückwunsch!")
                
say("Dein Pferd ist nun Stufe 1.")
                
say("Du erhälst ein Pferdebild:")
                
say_item_vnum(50051)
                
pc.give_item2(500511)
                
item.remove()
            elseif 
horse.get_level() == 11 then
                say_title
("Hufeisen")
                
say("Herzlichen Glückwunsch!")
                
say("Dein Pferd ist nun Stufe 11.")
                
say("Du erhälst ein Waffen-Pferdebuch:")
                
say_item_vnum(50052)
                
pc.give_item2(500521)
                
item.remove()
            elseif 
horse.get_level() == 21 then
                say_title
("Hufeisen")
                
say("Herzlichen Glückwunsch!")
                
say("Dein Pferd ist nun Stufe 21.")
                
say("Du erhälst ein Militärpferdebuch:")
                
say_item_vnum(50053)
                
pc.give_item2(500531)
                
item.remove()
            
end
        end
    end
end 
11/27/2011 01:03 .Apfel#3
Dankeschön =)
Na, war eher was für's Auge, denn wenn ich den anderen Befehl für's removen des Items nehme, und ich z.B. 5 solcher Items im Inventar hab, nimmt es das Item das halt als erstes kommt. Ich wollte aber, dass es das Item entfernt, welches ich grade angeklickt habe. Und das tut er nunmal nur mit item.remove(). Ist aber auch egal, klappt alles prima =)