[SERVICE] Die Questkontrolle

12/28/2011 11:36 .Delta#4336
party.is_party()
12/28/2011 11:36 Retrograd#4337
Quote:
party.is_party()
danke :D
12/28/2011 15:19 Fear *_*#4338
Hey Leute hab mir jetzt ma nen Testserver gemacht undso weiter aber ich hab hier ne quest die auch funkt aber irgendwie zählt der die mobs nicht, also der soll jedes getötete monster zählen macht er aber nicht.

Code:
quest monsterzähler begin
	state start begin
		when login begin
			set_state(zähler)
		end
	end
	
	state zähler begin
		when letter begin
			send_letter("Monsteranzahl")
		end
	
		when button or info begin
			say_title("Monsteranzahl")
			say("Lieber".. pc.get_name() ..",")
			
			say("du hast bisher"..pc.getqf("state").." Monster auf DivineLuna getötet!")
			say("Töte fleißig weiter, irgendwann wirst du eine Belohnung erhalten!")
		end
		
		when kill begin
			if npc.is_mob then
				local count = pc.getqf("state") + 1
			
				if count == 10000 then 
					notice_all("".. pc.get_name() .." sein 10.000 Monster getötet!")
					notice_all("Herzlichen Glückwunsch!")
					say_title("10.000 Monster")
					say("Du hast soeben dein 10.000 Monster getötet!")
					say("DivineLuna belohnt dich mit:")
					say_reward("BELOHNUNG")
					pc.give_item(ID)
				end
			end
		end
	end
end
12/28/2011 15:27 Retrograd#4339
@Fear: deine quest kann nicht zählen wenn du gar kein pc.setqf eingetragen hast.

PHP Code:
quest monsterzähler begin
    state start begin
        when login begin
            pc
.setqf("count",0)
            
set_state(zähler)
        
end
    end
    
    state zähler begin
        when letter begin
            send_letter
("Monsteranzahl")
        
end
    
        when button 
or info begin
            say_title
("Monsteranzahl")
            
say("Lieber".. pc.get_name() ..",")
            
            
say("du hast bisher"..pc.getqf("count").." Monster auf DivineLuna getötet!")
            
say("Töte fleißig weiter, irgendwann wirst du eine Belohnung erhalten!")
        
end
        
        when kill begin
            
if npc.is_mob then
                local count 
= pc.getqf("count") + 1
            
                
if count == 10000 then 
                    notice_all
("".. pc.get_name() .." sein 10.000 Monster getötet!")
                    
notice_all("Herzlichen Glückwunsch!")
                    
say_title("10.000 Monster")
                    
say("Du hast soeben dein 10.000 Monster getötet!")
                    
say("DivineLuna belohnt dich mit:")
                    
say_reward("BELOHNUNG")
                    
pc.give_item(ID)
                
end
            end
        end
    end
end 
so müsste sie eig klappen habe sie jetzt nicht getestet
12/28/2011 16:26 Sp0ngeb0b ist cool#4340
PHP Code:
quest monsterzähler begin
    state start begin
        when login with pc
.get_level() >= 1 begin
            set_state
(zähler)
        
end
    end
    
    state zähler begin
        when letter begin
            send_letter
("Monsteranzahl")
        
end
    
        when button 
or info begin
            say_title
("Monsteranzahl")
            
say("Lieber ".. pc.get_name() ..",")
            
            
say("du hast bisher "..pc.getqf("state").." Monster auf DivineLuna getötet!")
            
say("Töte fleißig weiter, irgendwann wirst du eine Belohnung erhalten!")
        
end
        
        when kill begin
            
if not npc.is_pc() then
                pc
.setqf("state", pc.getqf("state")+1)
                
local count =  pc.getqf("state")
                if 
count == 10000 then 
                    notice_all
("".. pc.get_name() .." sein 10.000 Monster getötet!")
                    
notice_all("Herzlichen Glückwunsch!")
                    
say_title("10.000 Monster")
                    
say("Du hast soeben dein 10.000 Monster getötet!")
                    
say("DivineLuna belohnt dich mit:")
                    
say_reward("BELOHNUNG")
                    
pc.give_item2(ID)
                
end
            end
        end
    end
end 
so schon eher ;)
12/28/2011 17:07 Fear *_*#4341
Jetzt habt ihr mich verwirrt sorry,
Code:
quest monsterzähler begin 
    state start begin 
        when login begin 
            pc.setqf("count",0) 
            set_state(zähler) 
        end 
    end
hier wurde des ja am Anfang aufgeführt mit dem Zählen aber bei Spongbob net,
funkt des dann trotzdem so wie es spongbob gemacht hat?

€: So wie Spongbob es gemacht hat geht es danke :D!

jedoch sobald man relog macht setzt sich der counter wieder auf 0 -.-"
12/28/2011 19:40 xPrivate#4342
Mach das

Code:
pc.setqf("count", 0)
aus dem ersten When raus. Denn die Bedingung für das When ist ja login. Also wird die immer dann ausgeführt und das willst du ja nicht.

Mit freundlichen Grüßen
xPrivate
12/28/2011 21:36 Fear *_*#4343
Das ist drausen aber der löscht trotzdem den counter immer nach dem rlg.
12/28/2011 21:55 £αšεℜ™#4344
iss doch klar wo speicher der das wv du hast? nirgens also fängt er von 0 an
12/28/2011 22:08 Fear *_*#4345
Und ne Lösung dafür??
12/28/2011 23:54 xCh4oS#4346
Hallo ich habe folgendes problem. Ich habe den "Zombie God" zum NPC gemacht udn wollte ihm folgende quest verpassen:

quest Zombieland begin
state start begin
when 2597.chat."Zombieland" with pc begin
say(""..mob_name(2597)..":")
say("")
say("Sei gegrüßt Kämpfer!")
say("Seit kurzem habe ich den Schlüssel")
say("zum berüchtigten Zombieland.")
say("Dort im verborgenden leben die")
say("letzten Seelen der Krieger,")
say("die im schrecklichen Kampf um das Land")
say("ihr Leben liessen. Sie sind extrem stark und")
say("durch und durch mit Hass, Und ihr Boss!! Ohhh...")
say("Ich kann dich hinbringen, aber NUR, wenn du Lv 90")
say("oder höher bist und gut bezahlst!")
say("hmm......")
say("15000000 yang ist, denke ich, ein fairer Preis ;D")
local s = select("Auf zur Zombieschlacht!","Nein...bleibe doch hier...")
if s == 2 then
return
end
if pc.get_level() <= 89 then
say_title("Zombie God:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für´s Zombieland.")
say("Die Zombies würden dich in stücke reißen!")
say("Komm wieder, wenn du Lv 90 oder höher bist.")
return
end
if pc.gold < 15000000 then
say_title("Zombie God:")
say("")
say("Du hast nicht genug Geld,")
say("Sehe ich so aus, als würde")
say("ich dich kostenlos teleportieren ?!")
say("Ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet 15000000 Yang."))
return
end
elseif pc.get_level() >= 89 then
say(""..mob_name(2597)..":")
say("")
say("Na schön du hast es so gewollt...")
say("Und nun her mit der kohle !!!!
say("Gute Reise...!")
wait()
pc.warp(83200,0)
pc.change_money(-15000000)
end
end
end
end

wenn ich den "Zombie God" anklicke passiert nix. Hatte in der db "on_klick" auf 2 und 1 gestellt...aber es passiert bei beiden nix...kann mir pls wer helfen ?!
12/29/2011 00:20 Fear *_*#4347
Am anfang des mit dem:

when 2597.chat."Zombieland" with pc begin

da mach ma nur:

when 2597.chat."Zombieland" begin
12/29/2011 00:22 .Avatar#4348
Bitte um Hilfe...
Screen:
12/29/2011 00:27 Fear *_*#4349
@.Avatar du hattest einen say befehl falsch gemacht und hast vor dem ? die " gemacht :D
hier gefixxt:

Code:
quest jobdesk begin
    state start begin
        when 20080.chat."Ausbildung zum Rekrut" with pc.get_level() >= 50 begin
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Rekrutenausbildung:")
            say("")
            say_red(""..pc.get_name().." sei gegrüßt!")
            say_yellow("Da du Level 50 erreicht hast")
            say_yellow("Wirst du bei mir nun deine erste")
            say_yellow("Ausbildung abschließen können.")
            say_yellow("Deine nächste Ausbildung erhälst")
            say_yellow("du mit Level 80.")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_red("Rekrutenausbildung:")
            say("")
            say_red("Ich zähle dir nun auf was für Bonis")
            say_red("die erste Ausbildung dir gibt.")
            say("")
            say_red("Rekrut - 500 TP und 15% gg Monster")
            say_yellow("Soldat - 750 TP und 10% Krit")
            say_yellow("Veteran - 1000 TP und 15 Halbmenschen")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Rekrutenausbildung:")
            say("")
            say_red("Nun kannst du die Ausbildung")
            say_red("als Rekrut absolvieren.")
            say("")
            local wahl = select ("Rekrut werden", "Abbrechen")
            if wahl == 2 then
                return
            elseif wahl == 1 then
                say_size(250, 350)
                setbgimage('ausbildung.tga')
                say_title("Ausbildung zum Rekrut:")
                say("")
                say("Du willst also wirklich ein")
                say("Rekrut werden, "..pc.get_name().."." ?)
                say("Okay, dann soll es so sein!.")
                say("")
                say_red("Folgende Werte sind nun gestiegen:")
                say("")
                say("+500 TP")
                say("+15% gg Monster")
                affect.add_collect(apply.MAX_HP, 500, 60*60*24*365*60)
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 15, 60*60*24*365*60)
                set_state(__COMPLETE__)
            end
        end
    end
    state __COMPLETE__ begin
    end
end
quest jobdesk2 begin
    state start begin
        when 20080.chat."Ausbildung zum Soldat" with pc.get_level() >= 80 begin
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Soldatenausbildung:")
            say("")
            say_red(""..pc.get_name().." sei gegrüßt!")
            say_yellow("Da du Level 80 erreicht hast")
            say_yellow("Wirst du bei mir nun deine zweite")
            say_yellow("Ausbildung abschließen können.")
            say_yellow("Die nächste und letzte Ausbildung")
            say_yellow("kannst du mit Level 95 machen.")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_red("Soldatenausbildung:")
            say("")
            say_red("Ich zähle dir nun auf was für Bonis")
            say_red("die zweite Ausbildung dir gibt.")
            say("")
            say_yellow("Rekrut - 500 TP und 15% gg Monster")
            say_red("Soldat - 750 TP und 10% Krit")
            say_yellow("Veteran - 1000 TP und 15 Halbmenschen")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Soldatenausbildung:")
            say("")
            say_red("Nun kannst du die Ausbildung")
            say_red("als Soldat absolvieren.")
            say("")
            local wahl = select ("Soldat werden", "Abbrechen")
            if wahl == 2 then
                return
            elseif wahl == 1 then
                say_size(250, 350)
                setbgimage('ausbildung.tga')
                say_title("Ausbildung zum Soldat:")
                say("")
                say("Du willst also wirklich ein")
                say("Soldat werden, "..pc.get_name().."?")
                say("(Deine Ausbildung als Rekrut bleibt.)")
                say("Dann soll es so sein!")
                say_red("Folgende Werte sind nun gestiegen:")
                say("")
                say("+750 TP")
                say("+10% Kritischer Treffer")
                affect.add_collect(apply.MAX_HP, 750, 60*60*24*365*60)
                affect.add_collect(apply.CRITICAL_PCT, 10, 60*60*24*365*60)
                set_state(__COMPLETE__)
            end
        end
    end
    state __COMPLETE__ begin
    end
end
quest jobdesk3 begin
    state start begin
        when 20080.chat."Ausbildung zum Veteran" with pc.get_level() >= 95 begin
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Veteranausbildung:")
            say("")
            say_red(""..pc.get_name().." sei gegrüßt!")
            say_yellow("Da du Level 95 erreicht hast")
            say_yellow("Wirst du bei mir nun deine dritte")
            say_yellow("Ausbildung abschließen können.")
            say_yellow("Dies ist deine letzte Ausbildung")
            say_yellow("danach bist du ein Veteran.")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_red("Veteranausbildung:")
            say("")
            say_red("Ich zähle dir nun auf was für Bonis")
            say_red("die letzte Ausbildung dir gibt.")
            say("")
            say_yellow("Rekrut - 500 TP und 15% gg Monster")
            say_yellow("Soldat - 750 TP und 10% Krit")
            say_red("Veteran - 1000 TP und 15 Halbmenschen")
            say("")
            say("")
            wait()
            say_size(250, 350)
            setbgimage('ausbildung.tga')
            say_title("Veteranausbildung:")
            say("")
            say_red("Nun kannst du die Ausbildung")
            say_red("als Veteran absolvieren.")
            say("")
            local wahl = select ("Veteran werden", "Abbrechen")
            if wahl == 2 then
                return
            elseif wahl == 1 then
                say_size(250, 350)
                setbgimage('ausbildung.tga')
                say_title("Ausbildung zum Veteran:")
                say("")
                say("Du willst also wirklich ein")
                say("Veteran werden, "..pc.get_name().."." ?)
                say("Dann soll es so sein!")
                say_red("Folgende Werte sind nun gestiegen:")
                say("")
                say("+1000 TP")
                say("+15% Halbmenschen")
                affect.add_collect(apply.MAX_HP, 1000, 60*60*24*365*60)
                affect.add_collect(apply.ATTBONUS_HUMAN, 15, 60*60*24*365*60)
                set_state(__COMPLETE__)
            end
        end
    end
    state __COMPLETE__ begin
    end
end
12/29/2011 00:32 xCh4oS#4350
Quote:
Originally Posted by Fear *_* View Post
Am anfang des mit dem:

when 2597.chat."Zombieland" with pc begin

da mach ma nur:

when 2597.chat."Zombieland" begin
hab ich gemacht, aber passiert immer noch nix :confused: