[SERVICE] Die Questkontrolle

01/19/2015 17:44 .yorliK#10861
Quote:
Originally Posted by .ɦype View Post
Suche Weiter :3
Ganz nebenbei # 900 Beiträge und in Zeile 18 der Satz:

Wir wünschen dir viel Spaß

ändere das ß in ss um.

MfG
Kilroy.

:)
01/20/2015 18:27 FroZz97#10862
Hi Liebe Community,

ich habe die Geldspeicherquest von Lost-Empire umgeschrieben,
könnt ihr einen Fehler entdecken, oder ist alles gut ?

Code:
quest geldspeicher begin
    state start begin
		when letter begin
			send_letter("Geldspeicher")
		end
		when info or button begin
            say_title("Geldspeicher")
			say("Hier kannst du dir 3 Arten von Geldspeichern kaufen!")
			say("Geldspeicher 1 = 100kk")
			say("Geldspeicher 2 = 250kk")
			say("Geldspeicher 3 = 500kk")
			say("")
			say("")
			local a = select("Geldspeicher 100kk", "Geldspeicher 250kk", "Geldspeicher 500kk", "Abbrechen")
			if a == 1 then
				if pc.money>=100000000 then
					pc.changemoney("-100000000")
					pc.give_item2(81011, 1)
					say_title("Geldspeicher 100kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81011)
					send_letter("Geldspeicher")
				end
			elseif a == 2 then
				if pc.money>=250000000 then
					pc.changemoney("-250000000")
					pc.give_item2(81012, 1)
					say_title("Geldspeicher 250kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81012)
					send_letter("Geldspeicher")
				end
			elseif a == 3 then
				if pc.money>=500000000 then
					pc.changemoney("-500000000")
					pc.give_item2(81012, 1)
					say_title("Geldspeicher 500kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81013)
					send_letter("Geldspeicher")
				end
			elseif a == 3 then
				send_letter("Geldspeicher")
					return
				end
			end
		end
	end
end
Mit freundlichen Grüßen FroZz97
01/20/2015 19:05 Hype#10863
Quote:
Originally Posted by FroZz97 View Post
Hi Liebe Community,

ich habe die Geldspeicherquest von Lost-Empire umgeschrieben,
könnt ihr einen Fehler entdecken, oder ist alles gut ?

Code:
quest geldspeicher begin
    state start begin
		when letter begin
			send_letter("Geldspeicher")
		end
		when info or button begin
            say_title("Geldspeicher")
			say("Hier kannst du dir 3 Arten von Geldspeichern kaufen!")
			say("Geldspeicher 1 = 100kk")
			say("Geldspeicher 2 = 250kk")
			say("Geldspeicher 3 = 500kk")
			say("")
			say("")
			local a = select("Geldspeicher 100kk", "Geldspeicher 250kk", "Geldspeicher 500kk", "Abbrechen")
			if a == 1 then
				if pc.money>=100000000 then
					pc.changemoney("-100000000")
					pc.give_item2(81011, 1)
					say_title("Geldspeicher 100kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81011)
					send_letter("Geldspeicher")
				end
			elseif a == 2 then
				if pc.money>=250000000 then
					pc.changemoney("-250000000")
					pc.give_item2(81012, 1)
					say_title("Geldspeicher 250kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81012)
					send_letter("Geldspeicher")
				end
			elseif a == 3 then
				if pc.money>=500000000 then
					pc.changemoney("-500000000")
					pc.give_item2(81012, 1)
					say_title("Geldspeicher 500kk")
					say("Du hast folgendes Item erhalten:")
					say("")
					say("")
					say_item_vnum(81013)
					send_letter("Geldspeicher")
				end
			elseif a == 3 then
				send_letter("Geldspeicher")
					return
				end
			end
		end
	end
end
Mit freundlichen Grüßen FroZz97
Nein, schaut super aus. Kommen denn Fehler auf?

-

Danke @Kilroy :)
Kannst du mir evtl. sagen, wieso das nicht mit "ß" geht? "Ä", "Ö", "Ü" gehen ja auch.
01/20/2015 19:49 .yorliK#10864
Quote:
Originally Posted by .ɦype View Post
Danke @Kilroy :)
Kannst du mir evtl. sagen, wieso das nicht mit "ß" geht? "Ä", "Ö", "Ü" gehen ja auch.
Ich weiß es nicht. Allerdings kannst du das Problem auch noch lösen indem du das ß nicht als letztes Zeichen im String stehen lässt. z.B. indem du einen Punkt dahinter setzt "Spaß." - Dazu zählt auch eine Leerzeichen! also "Spaß " geht auch!
01/20/2015 21:23 AntikerGolem#10865
[Only registered and activated users can see links. Click Here To Register...]

Wieso funz das nicht -.-
01/21/2015 15:04 G.I Duke#10866
Quote:
Originally Posted by KaiserAwu View Post
[Only registered and activated users can see links. Click Here To Register...]

Wieso funz das nicht -.-
Bin mir nicht sicher da ich das nicht so mache mit den Verzeichnissen,
aber müsstest du nicht dann die Pfade anpassen? sprich in Putty oder
VPC

PHP Code:
cd /usr/home/game/share/locale/germany/quests/bio 
und dann

PHP Code:
cd home/game/quests/bio && python make.py 
?? k.A bin mir nicht so sicher damit^^
01/21/2015 18:47 AntikerGolem#10867
ne geht nix
01/21/2015 21:38 Toluni#10868
PHP Code:
quest biologie_1  begin
    state start begin
        when login 
or levelup with pc.get_level() >=160  begin
            set_state
(information)
        
end    
    end

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

        when button 
or info begin
            say_title
("Suche den Biologen!")
            
say("")
            
say("Ey du, wenn du das liest, bist du sicher")
            
say("schon stark und bereit fuer eine neue Aufgabe!")
            
say("Der Biologe Chaegirab hat nach dir gefragt!")
            
say("Er braucht Hilfe, bei einer seiner Untersuchungen.")
            
say("Er mag es nicht zu warten, also suche")
            
say("ihn, sobald du Zeit hast, auf.")
            
say("Dein .Casa")
        
end

        when __TARGET__
.target.click or
            
20084.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Biologe:")
            ---                                                   
l
            say
("Endlich, ich warte schon den ganzen Tag auf dich.")
            
say("Ich bin mitten in meinen Untersuchungen und")
            
say("brauche deshalb deine Hilfe, also hoer gut zu!")
            
say("Ich hab fast alles, mir fehlen nur noch Steinstücke.")
            
say("10 Stück fehlen mir noch, woher du sie bekommst,")
            
say("sollte klar sein.")    
            
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("Biologe gab euch den Auftrag")
            
say("10 Steinstücke zu sammeln!")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(27990)
            
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(27990)==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 108.kill begin
            
if pc.count_item(27990)<10-pc.getqf("collect_count"then
                pc
.give_item2(300041)
            
end
        end

        when 20084.chat
."Quest" with pc.count_item(27990) >0   begin
                say
("Einen Moment!")
                ---                                                   
l
                say
("Ich werde das Item")
                
say("schnell mal ueberpruefen.")
                
say("Hoffentlich klappt alles!")
                
say("")
                
pc.remove_item(279901)
                
wait()

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

                local s
number(1,100)
            if 
s<= pass_percent  then
               
if pc.getqf("collect_count")< 9 then     --5*Ó¥H¤U 
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+1
                        say
("Biologe:")
                        
say("Perfekt! Das Item ist in Ordnung")
                        
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                        
say("Bring mir die restlichen!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                        
return
                    
end
                    say
("Biologe:")
                    
say("Yuhu! Du hast mir")
                    
say("alles gebracht!")
                    
say("Dafür werde ich dich wie versprochen")
                    
say("belohnen!")
                    
say("")
                    
say_reward("Du bekommst Passierschein!")
                    
say_reward("Du bekommst 100000000 Yang!")
                    
say_reward("Du bekommst 0 Erfahrung!")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)
                    
clear_letter()
                    
set_state(__complete)

                    
pc.give_item2(71095)
                    
pc.change_money(100000000)
                    
pc.give_exp2(5000000)
                    
set_quest_state("levelup","run")


                    return
                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 
Fehlermeldung: assertion failure :nested---0
01/22/2015 17:13 .yorliK#10869
Quote:
Originally Posted by Toluni View Post
Fehlermeldung: assertion failure :nested---0
Am Ende fehlte ein End und der State __complete existierte nicht.

Code:
quest biologie_1  begin 
	state start begin 
		when login or levelup with pc.get_level() >=160  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("BioQuest 1") 
		end 
		when button or info begin 
			say_title("Suche den Biologen!") 
			say("") 
			say("Ey du, wenn du das liest, bist du sicher") 
			say("schon stark und bereit fuer eine neue Aufgabe!") 
			say("Der Biologe Chaegirab hat nach dir gefragt!") 
			say("Er braucht Hilfe, bei einer seiner Untersuchungen.") 
			say("Er mag es nicht zu warten, also suche") 
			say("ihn, sobald du Zeit hast, auf.") 
			say("Dein .Casa") 
		end 
		when __TARGET__.target.click or 20084.chat."Quest" begin 
			target.delete("__TARGET__") 
			say("Biologe:") 
			say("Endlich, ich warte schon den ganzen Tag auf dich.") 
			say("Ich bin mitten in meinen Untersuchungen und") 
			say("brauche deshalb deine Hilfe, also hoer gut zu!") 
			say("Ich hab fast alles, mir fehlen nur noch Steinstücke.") 
			say("10 Stück fehlen mir noch, woher du sie bekommst,") 
			say("sollte klar sein.")     
			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") 
			say("") 
			say("Biologe gab euch den Auftrag") 
			say("10 Steinstücke zu sammeln!") 
			say("Viel Glueck!") 
			say("") 
			say_item_vnum(27990) 
			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(27990)==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 kill with npc.get_race()==108 begin 
			if pc.count_item(27990)<10-pc.getqf("collect_count") then 
				pc.give_item2(30004, 1) 
			end 
		end 
		when 20084.chat."Quest" with pc.count_item(27990) >0 begin 
			say("Einen Moment!") 
			say("Ich werde das Item") 
			say("schnell mal ueberpruefen.") 
			say("Hoffentlich klappt alles!") 
			say("") 
			pc.remove_item(27990, 1) 
			wait() 
			local pass_percent 
			if pc.getqf("drink_drug")==0 then 
				pass_percent=70024 
			else         
				pass_percent=70024 
			end 
			local s= number(1,100) 
			if s<= pass_percent  then 
			  if pc.getqf("collect_count")< 9 then     --5*Ó¥H¤U  
					local index =pc.getqf("collect_count")+1  
					pc.setqf("collect_count",index)     --¨ú±o¤@* +1 
					say("Biologe:") 
					say("Perfekt! Das Item ist in Ordnung") 
					say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!") 
					say("Bring mir die restlichen!") 
					say("") 
					pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ 
					return 
				end 
				say("Biologe:") 
				say("Yuhu! Du hast mir") 
				say("alles gebracht!") 
				say("Dafür werde ich dich wie versprochen") 
				say("belohnen!") 
				say("") 
				say_reward("Du bekommst Passierschein!") 
				say_reward("Du bekommst 100000000 Yang!") 
				say_reward("Du bekommst 0 Erfahrung!") 
				pc.setqf("collect_count",0) 
				pc.setqf("drink_drug",0) 
				clear_letter() 
				set_state(__complete) 
				pc.give_item2(71095) 
				pc.change_money(100000000) 
				pc.give_exp2(5000000) 
				set_quest_state("levelup","run") 
				return 
			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
		when enter begin
			q.done()
		end
	end
end
01/22/2015 19:19 billijam#10870
Quest fehler error occured on compile amuleta.quest




01/22/2015 20:12 Hype#10871
Quote:
Originally Posted by billijam View Post
Quest fehler error occured on compile amuleta.quest





[Only registered and activated users can see links. Click Here To Register...]
01/22/2015 20:20 ./tkz#10872
Moin, Kann mir jemand mal bitte helfen bei dieser Quest?
Ich möchte wissen wie man das umsetzen kann, dass wenn man sich bereits ein Militärgaul gekauft hat diese Option nicht mehr zur Verfügung steht.

Hier die Quest:

HTML Code:
quest horse_guard begin
	state start begin 
        when 20349.chat."Millitär-Pferd kaufen." with pc.get_level() >= 30 begin 
            say_title("Stallbursche") 
            say("Hallo ".. pc.get_name() ..".") 
            say("") 
            say_reward("Möchtest du für 500.000 Yang ein") 
            say_reward("neues Militärpferd kaufen?") 
            local b=select("Kaufen", "Nicht Kaufen") 
            if 1==b then 
                if pc.money>=500000en 
                    pc.changemoney(-500000) 
                    horse.set_level("21") 
                    pc.give_item2("50053", 1) 
                else 
                    say("Du hast nicht genug Yang.") 
                end             
            end 
        end 
		when 20349.chat."Reitshop" begin
	    npc.open_shop(17)
		 		say("Hier findest du alle Items für ein Pferd.")
	end
		when 20349.chat."Information" begin
			local s=number(1, 7)
			if 1>=s then -- 14.29% (1/7)
				say("Füttere dein Pferd")
				say("regelmässig sonst")
				say("stirbt es.")
			elseif 2>=s then -- 14.29% (1/7)
				say("Das Anfängerpferd")
				say("ist sehr schnell erschöpft.")
				say("Bleibe nicht auf seinem Rücken stehen.")
			elseif 3>=s then -- 14.29% (1/7)
				say("Um dein Pferd zu verbessern")
				say("benötigst du 1kk Yang.")
				say("Bringe das Yang zu mir")
				say("und ich werde dein Pferd steigern.")
			elseif 4>=s then -- 14.29% (1/7)
				say("Wenn dein Pferd gestorben")
				say("ist gibt es mehrere")
				say("Kräuter von den")
				say("Affenkönigen um")
				say("sie Wiederzubeleben.")
			elseif 5>=s then -- 14.29% (1/7)
				say("Es gibt 9 verschiedene")
				say("Pferde Aussehen.")
				say("Ohne Gilde, mit Gilde und als Leader.")
			elseif 6>=s then -- 14.29% (1/7)
				say("Das Anfängerpferd")
				say("isst gerne Heu.")
				say("Das Kampfpferd")
				say("isst gerne Karotten.")
				say("Das Militärpferd")
				say("isst gerne Roten Ginseng.")
			elseif 7>=s then -- 14.29% (1/7)
				say("Lese Handbuch Pferde Zähmen")
				say("um dein Pferd schneller zu rufen.")
			end
		end
	end
	state __COMPLETE__ begin
		when enter begin
			q.done()
		end
	end
end
01/22/2015 21:00 rollback#10873
Die when-Zeile mit dem hier ersetzen:

PHP Code:
when 20349.chat."Millitär-Pferd kaufen." with pc.get_level() >= 30 and horse.get_level() < 21 begin 
01/23/2015 15:18 DarkCry96#10874

VBOX spuckt mir folgende Fehlermeldung aus:
when doesn´t have begin-end clause. (pc)
01/23/2015 18:34 Nick#10875
Quote:
Originally Posted by DarkCry96 View Post

VBOX spuckt mir folgende Fehlermeldung aus:
when doesn´t have begin-end clause. (pc)
In Zeile 3
PHP Code:
when login or levelup pc.level >= 75 begin 
durch
PHP Code:
when login or levelup with pc.get_level() >= 75 begin 
ersetzen.

lg