[SERVICE] Die Questkontrolle

10/09/2012 16:13 He3o Sippel#6976
PHP Code:
quest teleporter begin 
    state start begin 
        when info 
or button begin 
            say_title
("Handelsmap"
            
say("Auf die Handelsmap warpen?")
            
            
local s select("Ja","Nein"
            if 
== 1 then 
                
if pc.get_level()>= 1 then     --lvl eintrag 
                    pc
.warp(91236540091236500)
                else
                    
chat("Dein Level ist zu Niedrig.")
                
end
            
elseif == 2 then 
                
return
               
                
end
            end 
        end 
    end 
end 
wo ist da der fehler??[/QUOTE]

So sollte es klappen

PHP Code:
quest teleporter begin
    state start begin
        when info 
or button begin
            say_title
("Handelsmap")
            
say("Auf die Handelsmap warpen?")
            
            
local s select("Ja","Nein")
            if 
== 1 then
                
if pc.get_level()>= 1 then     --lvl eintrag
                    pc
.warp(91236540091236500)
                else
                    
chat("Dein Level ist zu Niedrig.")
                
end
            
elseif == 2 then
                
return
            
end
        end
    end
end 
10/09/2012 16:50 GoldenLegend#6977
Code:
quest mobil begin
	state start begin
		when 90006.use begin
		say_title("Mobile Yangspeicher kaufen!")
			say("Welchen Yangspeicher möchtest du kaufen?")
			say("100kk Yangspeicher")
			say("250kk Yangspeicher")
			say("500kk Yangspeicher")
		local t = select("100kk","250kk","500kk","Abbrechen")
		if t == 1 then
		if pc.get_gold() >= 100000000 then
			pc.give_item2(80005)
			pc.changemoney(-100000000)
			say_reward("Du hast erfolgreich einen 100kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
		elseif t == 2 then
		if pc.get_gold() >= 250000000 then
			pc.give_item2()
			pc.changemoney(-250000000)
			say_reward("Du hast erfolgreich einen 250kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
			return
		elseif t == 3 then
		if pc.get_gold() >= 500000000 then
			pc.give_item2()
			pc.changemoney(-500000000)
			say_reward("Du hast erfolgreich einen 500kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
			return
		elseif t == 4 then
			return
		end
		end
	end
end
der kann die nich laden..
10/09/2012 17:27 He3o Sippel#6978
Quote:
Originally Posted by GoldenLegend View Post
Code:
quest mobil begin
	state start begin
		when 90006.use begin
		say_title("Mobile Yangspeicher kaufen!")
			say("Welchen Yangspeicher möchtest du kaufen?")
			say("100kk Yangspeicher")
			say("250kk Yangspeicher")
			say("500kk Yangspeicher")
		local t = select("100kk","250kk","500kk","Abbrechen")
		if t == 1 then
		if pc.get_gold() >= 100000000 then
			pc.give_item2(80005)
			pc.changemoney(-100000000)
			say_reward("Du hast erfolgreich einen 100kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
		elseif t == 2 then
		if pc.get_gold() >= 250000000 then
			pc.give_item2()
			pc.changemoney(-250000000)
			say_reward("Du hast erfolgreich einen 250kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
			return
		elseif t == 3 then
		if pc.get_gold() >= 500000000 then
			pc.give_item2()
			pc.changemoney(-500000000)
			say_reward("Du hast erfolgreich einen 500kk Speicher")
			say_reward("gekauft")
		else
			say_reward("Du hast nicht genug Yang!")
			return
		elseif t == 4 then
			return
		end
		end
	end
end
der kann die nich laden..

So hier sollte so klappen.

PHP Code:
quest mobil begin
    state start begin
        when 90006.
use begin
            say_title
("Mobile Yangspeicher kaufen!")
            
say("Welchen Yangspeicher möchtest du kaufen?")
            
say("100kk Yangspeicher")
            
say("250kk Yangspeicher")
            
say("500kk Yangspeicher")
            
local t select("100kk","250kk","500kk","Abbrechen")
            if 
== 1 then
                
if pc.get_gold() >= 100000000 then
                    pc
.give_item2(80005)
                    
pc.changemoney(-100000000)
                    
say_reward("Du hast erfolgreich einen 100kk Speicher")
                    
say_reward("gekauft")
                else
                    
chat("Du hast nicht genug Yang!")
                
end
            
elseif == 2 then
                
if pc.get_gold() >= 250000000 then
                    pc
.give_item2()
                    
pc.changemoney(-250000000)
                    
say_reward("Du hast erfolgreich einen 250kk Speicher")
                    
say_reward("gekauft")
                else
                    
chat("Du hast nicht genug Yang!")
                    return
                
end
            
elseif == 3 then
                
if pc.get_gold() >= 500000000 then
                    pc
.give_item2()
                    
pc.changemoney(-500000000)
                    
say_reward("Du hast erfolgreich einen 500kk Speicher")
                    
say_reward("gekauft")
                else
                    
chat("Du hast nicht genug Yang!")
                    return
                
end
            
elseif == 4 then
                
return
        
end
    end
end 
10/09/2012 18:14 .ZiPPO#6979
PHP Code:
                    pc.warp(91236540091236500
Kann sein das diese Warp's zu lang sind? Kann man das irgendwie trotzdem über die quest machen, oder muss man aufjedenfall die Warp's ändern?
10/09/2012 18:50 Mijago#6980
du kannst es mit pc.warp_local probieren
pc.warp_local(mapindex,x,y)
10/09/2012 21:15 .ZiPPO#6981
Quote:
Originally Posted by Mijago View Post
du kannst es mit pc.warp_local probieren
pc.warp_local(mapindex,x,y)
Funktioniert Leider nicht
10/09/2012 23:45 Mijago#6982
Dann solltest du die Kooridinaten ändern, ist ja kein großes Ding.

Da wir nun ein Questwriting-Forum haben, ziehe ich mich vorerst aus diesem Thread zurück.

Grüße, Mijago
10/10/2012 01:47 Toffeepopcorn#6983
Quote:
quest ItemDelete begin
state start begin
when 20041.take begin
item.remove()
end
end
end
möchte das der betrunkene bürger zum item-zerstörer wird
10/10/2012 11:52 .CHHorny#6984
PHP Code:
quest kill8 begin
    state start begin
        when login 
or levelup with pc.get_level() >= 92 begin
            set_state
(information)
        
end
    end    
    
    state information begin
        when letter begin
            send_letter
("Auftrag 8")
        
end
    
        when button 
or info begin
            say_title
("Auftrag 8")
            
say("Du musst 10 Oberorks töten")
            
set_state(kill)
            
pc.setqf("count",0)
        
end
    end    
    state kill begin
        when letter begin
            send_letter
("Oberorks töten")
        
end    
        when button 
or info begin
            say_title
("Auftrag 8")
            
say("Du hast schon "..pc.getqf("count").." von 10 getötet.")
        
end        
        when kill begin
            
if npc.get_race() == 691 then
                pc
.setqf("count"pc.getqf("count")+1)
            
end
            
if pc.getqf("count") == 10 then
                say_title
("Oberorks töten")
                
say("Belohnung:")
                
say("Schaden gegen Spieler: 10% (dauerhaft)")
                
affect.add_collect(apply.ATT_BONUS_TO_WARRIOR,10,60*60*24*365*60)
                
affect.add_collect(apply.ATT_BONUS_TO_ASSASSIN,10,60*60*24*365*60)
                
affect.add_collect(apply.ATT_BONUS_TO_SURA,10,60*60*24*365*60)
                
affect.add_collect(apply.ATT_BONUS_TO_SHAMAN,10,60*60*24*365*60)
                
clear_letter()
                
set_state(__COMPLETE__)            
            
end
        end
    end    
    state __COMPLETE__ begin
    end    
end 


Der Schaden wird nicht angehoben sondern bleibt gleich.
10/12/2012 15:52 Invicta³#6985
Guten Tag Liebe Epvpler

Ich bekomme bei der quest ständig scheiß Fehler.

Code:
syntax error : [string "start"]:10: `)' expected near `,'
naga.quest:21:Abort trap (core dumped)

Code:
quest sd3 begin
	state start begin
		when 30173.chat. "Spinnendungeon 3 (Lvl 80)" begin
			if pc.get_level() <= 79 then
				say("Dein Level reicht noch nicht aus")
				say("Um diese map zu betreten.")
				say("")
				say_red("Mindestlevel: 80")
			elseif pc.get_level() >= 80 then
				say("Bist du dir sicher dass du den")
				say_red("Spinnendungeon 3")
				say("betreten möchtest?")
				local i ("Ja","Nein")
				if 1 == i then
					pc.warp(123456700,123456700)
				if 2 == i then
					return
				end
			end
		end
	end
10/12/2012 16:17 He3o Sippel#6986
Quote:
Originally Posted by Invicta³ View Post
Guten Tag Liebe Epvpler

Ich bekomme bei der quest ständig scheiß Fehler.

Code:
syntax error : [string "start"]:10: `)' expected near `,'
naga.quest:21:Abort trap (core dumped)

Code:
quest sd3 begin
	state start begin
		when 30173.chat. "Spinnendungeon 3 (Lvl 80)" begin
			if pc.get_level() <= 79 then
				say("Dein Level reicht noch nicht aus")
				say("Um diese map zu betreten.")
				say("")
				say_red("Mindestlevel: 80")
			elseif pc.get_level() >= 80 then
				say("Bist du dir sicher dass du den")
				say_red("Spinnendungeon 3")
				say("betreten möchtest?")
				local i ("Ja","Nein")
				if 1 == i then
					pc.warp(123456700,123456700)
				if 2 == i then
					return
				end
			end
		end
	end

PHP Code:
quest sd3 begin
    state start begin
        when 30173.chat
."Spinnendungeon 3 (Lvl 80)" begin
            
if pc.get_level() <= 79 then
                say
("Dein Level reicht noch nicht aus")
                
say("Um diese map zu betreten.")
                
say("")
                
say_red("Mindestlevel: 80")
            elseif 
pc.get_level() >= 80 then
                say
("Bist du dir sicher dass du den")
                
say_red("Spinnendungeon 3")
                
say("betreten möchtest?")
                
local i select("Ja","Nein")
                if 
== 1 then
                    pc
.warp(123456700,123456700)
                elseif 
== 2 then
                    
return
                
end
            end
        end
    end
end 
10/13/2012 09:33 Screft 2-Support#6987
quest Beweise deinen Mut begin
state start begin
when login or levelup with pc.get_level() >=50 begin
set_state(information)
end
end

state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Beweise deinen Mut!")
end

when button or info begin
say_title("Beweise deinen Mut!")
say("")
say("Der Biologe hat dich darum gebeten,")
say("der Plage der Metinsteine")
say("vorzubeugen!")
say("Zerstöre 8 Metin des Todes und")
say("erhalte deine unglaubliche ")
say("Belohnung!")
say("")
end

when __TARGET__.target.click or
20084.chat."Quest" begin
target.delete("__TARGET__")
say("Biologe:")
--- l
say("Hallo, tapferer Held.")
say("Die Metin-Steine bedrohen unser")
say("Land und all die wunderbaren")
say("Geschöpfe der Kathedrale")
say("des Lichts! Befolge die Mission")
say("auf dem Pergament!")
say("")
set_state(go_to_disciple)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end

state go_to_disciple begin
when letter begin
send_letter("Auftrag von Biologe")

end
when button or info begin
say_title("Quest")
--- l
say("")
say("Der Biologe hat Euch darum gebeten")
say("8 Notizen zu sammeln!")
say("Das Item findet ihr beim Metin des Todes")
say("Viel Glück!")
say("")
say_item_vnum(30160)
say_reward(" Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
say("")
end

when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("Bessere Droppchance!")
say("")

return
end
if pc.count_item(30160)==0 then
say("")
say("Du hast keine!")
say("Lauf los und besorg mir welche!")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end


when 8013.kill begin
if pc.count_item(30160)<8-pc.getqf("collect_count") then
pc.give_item2(30160, 1)
end
end

when 20084.chat."Quest" with pc.count_item(30160) >0 begin
say("Einen Moment!")
--- l
say("Ich werde die Notiz nun lesen")
say("und überprüfen!")
say("Hoffentlich ist sie gut erhalten!")
say("")
pc.remove_item(30160, 1)
wait()

local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=50512
else
pass_percent=50512
end

local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 7 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Biologe:")
say("Wow. Welch unglaubliche Wissenssammlung!")
say("Ich durfte jetzt schon ".." "..8-pc.getqf("collect_count").. " lesen")
say("Bitte bring mir die restlichen möglichst schnell!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Biologe:")
say("Unglaublich")
say("Dieser perfekte Zusammenhang")
say("Für deine Mühen sollst du")
say("belohnt werden!")
say("")
say_reward("Du bekommst ein Regenbogenstein!")
say_reward("Du bekommst ein Verlobungsring!")
say_reward("Du bekommst ein Rüstung!!")
say_reward("Du bekommst 10000000 Yang!")
say_reward("Du bekommst 75000 Erfahrung!")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
set_state(__complete)

if pc.job == 0 then
pc.give_item2(11269, 1)
pc.give_item2(50512, 1)
pc.give_item2(70301, 1)
setqf(get) == 1
elseif pc.job == 1 then
pc.give_item2(11469, 1)
pc.give_item2(70301, 1)
pc.give_item2(50512, 1)
setqf(get) == 1
elseif pc.job == 2 then
pc.give_item2(11669, 1)
pc.give_item2(50512, 1)
pc.give_item2(70301, 1)
setqf(get) == 1
elseif pc.job == 3 then
pc.give_item2(11869, 1)
pc.give_item2(50512, 1)
pc.give_item2(70301, 1)
pc.change_money(10000000)
pc.give_exp2(75000)
set_quest_state("levelup","run")


return
else
say("Biologe:")
say("Es tut mir Leid.. ")
say("Meine Augen können das nicht mehr lesen!")
say("Bitte hol mir ein neues!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
endturn
else
say("Biologe:")
say("Dieses Item ist von schlechter Qualität!")
say("Es kann nicht verwendet werden.")
say("Hole mir ein neues!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
end
end



state __complete begin
end
end
10/13/2012 21:49 [SA]Natsuki#6988
Quote:
Originally Posted by Toffeepopcorn View Post
möchte das der betrunkene bürger zum item-zerstörer wird
PHP Code:
quest itemzerstorer begin
    state start begin
        when 20041.take begin
            item
.remove()
        
end
    end
end 
MfG. Natsuki
10/13/2012 22:09 Giulio999#6989
Also habe Probleme mit den 2 quests:

1. Info Item:

(kein FreeBSD Fehler, aber wenn ich auf das Item klicke passiert garnichts!)


und 2. die Info NPC quest:
(FREEBSD Fehler: "error on compiling quest "NPC_quests/InfoNPC.quest"

10/13/2012 23:04 He3o Sippel#6990
Quote:
Originally Posted by Giulio999 View Post
Also habe Probleme mit den 2 quests:

1. Info Item:

(kein FreeBSD Fehler, aber wenn ich auf das Item klicke passiert garnichts!)


und 2. die Info NPC quest:
(FREEBSD Fehler: "error on compiling quest "NPC_quests/InfoNPC.quest"

1. Quest

2. Quest