Problem mit antibug Pet System

12/09/2012 02:15 x'Kyubi#1
Hiho epvpler, ich hab mich mal ran gesetzt und hab versucht ne kleine antibug quest für die Pets zuschreiben... Den meisten ist ja bekannt, dass wen mann sie wegschickt mit strg+g gehen die zwar weg, mann kann auch ein neues rufen aber die bonis von dem alten bleiben und die von dem neuen werden dazu gerechnet... und das will ich nicht :awesome:

Also ich habs versucht mit nem get.gf zulösen aber iwie funtzt es nicht, hoffe einer kann mir helfen.

Antibug quest:
Code:
quest anti_bug_domme begin
	state start begin
		when 71120.use with pc.getqf("domme_pet3", 1) begin
			say("Es ist bereits ein Pet aktiviert. Deaktiviere dies erst!")
		end 
		when 53004.use with pc.getqf("domme_pet3", 1) begin
			say("Es ist bereits ein Pet aktiviert. Deaktiviere dies erst!")
		end
	end
end
Hatte es auch schon so probiert:
Code:
quest anti_bug_domme begin
	state start begin
		when 71120.use with pc.getqf("domme_pet3") == 1 begin
			say("Es ist bereits ein Pet aktiviert. Deaktiviere dies erst!")
		end 
		when 53004.use with pc.getqf("domme_pet3") == 1 begin
			say("Es ist bereits ein Pet aktiviert. Deaktiviere dies erst!")
		end
	end
end
Pet quest:

Code:
quest baby_loewe_domme begin
    state start begin
        when 71120.use begin
            local old_horse_name = horse.get_name() ;
            if string.len(old_horse_name) == 0 then
            say_title("Baby Löwe")
            say_reward("Dein Baby Löwe besitzt noch keinen Namen.")
            say_reward("Du kannst ihm einen geben in dem du den")
            say_reward("Pferdezucker benutzt, diese kannst du dir")
            say_reward("im Itemshop kaufen, oder aus der Azrael Truhe droppen.")
            say_reward("")
            say_reward("ACHTUNG: Alle Haustiere Besitzen dann den")
            say_reward("gleichen Namen!")
            return
            end
			pc.setqf("domme_pet3", 1)
            chat("Dein Löwe wurde gerufen. Er gibt dir 15 Str,Int,Dex,Vit, 20% mehr EXP, 75 mehr Agw und 2,5k TP.")
            affect.add_collect(apply.CON,15,60*60*24*365*60)        
            affect.add_collect(apply.INT,15,60*60*24*365*60)
            affect.add_collect(apply.STR,15,60*60*24*365*60)
            affect.add_collect(apply.DEX,15,60*60*24*365*60)
            affect.add_collect(apply.MAX_HP,2500,60*60*24*365*60)
			affect.add_collect(apply.EXP_DOUBLE_BONUS,20,60*60*24*365*60)
			affect.add_collect(apply.ATT_GRADE_BONUS,75,60*60*24*365*60)
            horse.set_level ("23")
            horse.unsummon() horse.summon()
            set_state(back)
        end
    end
    state back begin
        when 71120.use begin
			pc.setqf("domme_pet3", 0)
            chat("Dein Löwe wurde weggeschickt!")
            affect.remove_collect(apply.CON,15,60*60*24*365*60)        
            affect.remove_collect(apply.INT,15,60*60*24*365*60)
            affect.remove_collect(apply.STR,15,60*60*24*365*60)
            affect.remove_collect(apply.DEX,15,60*60*24*365*60)
            affect.remove_collect(apply.MAX_HP,2500,60*60*24*365*60)
			affect.remove_collect(apply.EXP_DOUBLE_BONUS,20,60*60*24*365*60)
			affect.remove_collect(apply.ATT_GRADE_BONUS,75,60*60*24*365*60)
            horse.unsummon()
            horse.set_level ("21")
            set_state(start)
        end
    end
end
Mein problem: ich kann trotzdem immer neue dazu rufen und die bonis bleiben auch...

#push
12/10/2012 19:39 x'Kyubi#2
#push -.-

#push ! -.-
12/13/2012 15:28 x'Kyubi#3
#PUSH!!! -.-
12/13/2012 17:27 bierkeller9#4
Code:
quest anti_bug_domme begin
	state start begin
		when horse.unsummon() with pc.getqf("domme_pet3") == 1 begin
                        affect.remove_collect(apply.CON,15,60*60*24*365*60)        
                        affect.remove_collect(apply.INT,15,60*60*24*365*60)
                        affect.remove_collect(apply.STR,15,60*60*24*365*60)
                        affect.remove_collect(apply.DEX,15,60*60*24*365*60)
                        affect.remove_collect(apply.MAX_HP,2500,60*60*24*365*60)
			affect.remove_collect(apply.EXP_DOUBLE_BONUS,20,60*60*24*365*60)
			affect.remove_collect(apply.ATT_GRADE_BONUS,75,60*60*24*365*60)
                        pc.setqf("domme_pet3", 0)
		end 
	end
end
weiß nicht ob das geht kenn mich mit quests nicht aus aber von der idee her sollte es klappen :D
12/18/2012 17:32 x'Kyubi#5
probiere es direckt mal :>

€: er soll aber nicht die bonis nehmen, sondern nur sagen das bereits eins aktiv ist :<
abgesehen von dem, dass er die bonis wegnimmt ist es ja mit meiner identisch... okay bis auf das horseunsommon, das probiere ich mal eben

€2: ah okay jezz hab ich begriffen was deine bewirken soll, sorry verguckt ^^

€3:
Quote:
QUEST : anti_bug_domme
STATE : start
WHEN : horse.unsummon
when doesn't have begin-end clause. (()
antibug_domme.quest:3:Error occured on compile antibug_domme.quest
12/18/2012 18:05 .Lowbob#6
Quote:
Originally Posted by .'Luunaaa View Post
probiere es direckt mal :>

€: er soll aber nicht die bonis nehmen, sondern nur sagen das bereits eins aktiv ist :<
abgesehen von dem, dass er die bonis wegnimmt ist es ja mit meiner identisch... okay bis auf das horseunsommon, das probiere ich mal eben

€2: ah okay jezz hab ich begriffen was deine bewirken soll, sorry verguckt ^^

€3:
schreib mir per pn deine skype addy ich helf dir.