[SERVICE] Die Questkontrolle

02/25/2012 21:35 Retrograd#4861
probiers mal so habs jetzt nicht getestet
PHP Code:
quest drachenraum begin  
    state start begin  
        when 30121.chat
."Drachenraum" begin  
            say
("")  
            
say(""..mob_name(30121).."")  
            
say("Du willst also die Drachenraum betreten?")  
            
say("Nur wenige koennen die Monster in ihr besiegen,")  
            
say("also sei achtsam!")  
            
say("Ich kann dich dort hinbringen,")  
            
say("Es kostet dich allerdings etwas!")  
            
say_reward("Du benoetigst einen")  
            
say_reward("Seelenstein der Anfuehrer dafuer!")  
            
wait()   
            if 
pc.count_item(30227)>= 1 then  
                say
("")  
                
say(""..mob_name(30121)..""
                
say("Du besitzt des Seelenstein der Anführer!")                  
                
say("Ich bringe dich nun in die Drachenraum!")  
                
say("")  
                
wait()
                
say("Du wirst nun teleportiert!")      
                
say("Aber sei vorsichtig!")   
                
wait()  
                
pc.warp(8432001066800)  
                
pc.remove_item(30227,1)  
            else  
                
say("")  
                
say(""..mob_name(30121).."")  
                
say("Du bist nicht im Besitz eines Seelenstein der Anführer!")  
                
say("Ohne einen kannst du die Grotte nicht erreichen.")  
                
say("Du kannst ihn ab Level 100 von allen Monstern bekommen!")  
            
end  
        end  
    end  
end 
02/25/2012 21:42 xxalbanxx3#4862
Quote:
Originally Posted by Retrograd View Post
probiers mal so habs jetzt nicht getestet
PHP Code:
quest drachenraum begin  
    state start begin  
        when 30121.chat
."Drachenraum" begin  
            say
("")  
            
say(""..mob_name(30121).."")  
            
say("Du willst also die Drachenraum betreten?")  
            
say("Nur wenige koennen die Monster in ihr besiegen,")  
            
say("also sei achtsam!")  
            
say("Ich kann dich dort hinbringen,")  
            
say("Es kostet dich allerdings etwas!")  
            
say_reward("Du benoetigst einen")  
            
say_reward("Seelenstein der Anfuehrer dafuer!")  
            
wait()   
            if 
pc.count_item(30227)>= 1 then  
                say
("")  
                
say(""..mob_name(30121)..""
                
say("Du besitzt des Seelenstein der Anführer!")                  
                
say("Ich bringe dich nun in die Drachenraum!")  
                
say("")  
                
wait()
                
say("Du wirst nun teleportiert!")      
                
say("Aber sei vorsichtig!")   
                
wait()  
                
pc.warp(8432001066800)  
                
pc.remove_item(30227,1)  
            else  
                
say("")  
                
say(""..mob_name(30121).."")  
                
say("Du bist nicht im Besitz eines Seelenstein der Anführer!")  
                
say("Ohne einen kannst du die Grotte nicht erreichen.")  
                
say("Du kannst ihn ab Level 100 von allen Monstern bekommen!")  
            
end  
        end  
    end  
end 
Geht auch nicht
02/25/2012 22:03 Retrograd#4863
kommt denn irgendein fehler?
02/25/2012 22:17 xxalbanxx3#4864
Quote:
Originally Posted by Retrograd View Post
kommt denn irgendein fehler?
Nein da kommt kein fehler! Wenn ich den NPC anklicke erscheint die Quest einfach nicht da
02/25/2012 22:28 Retrograd#4865
sorry dann kann ich dir leider auch nicht helfen.

aber ich habe auch ein problem.

Wie mache ich eine Gameflag mit namen also das ich die mit namen abspeicher?

ich habe es jetzt so probiert und es hat nicht geklappt:

Code:
game.set_event_flag("blablabla"..pc.get_name().."",1)
02/25/2012 22:33 richib135#4866
PHP Code:
quest vote begin
    state start begin
        when 45678.
use begin
            
if pc get_level ( ) < 85 then 
                say 
("Dein LvL ist zu niedrig, du kanst sie erst mit LvL 85 öffnen")
                return
            
end 
            
if get_time() < pc.getqf("sperre"then
                say
("Du musst noch warten!")
                return
            
end    
            say_title
("Votetruhe")
            
say("")
            
say("Du kannst diese Votetruhe tauschen")
            
say("gegen eine Itemtruhe.")
            
say("Aus der Itemtruhe können wertvolle")
            
say("Items herauskommen.")
            
say("Folgende Items kann diese Truhe beinhalten:")
            
say("Gelbe, Blaue und Grüne Diamanten, Rote Schreibfeder")
            
say("Feuer-Blume, Goldener Pilz, Piranha-Planze")
            
say(" 6/7 Boni switchen/einfügen und Regenbogenstein")
            
say("")
            
say_reward("Möchtest du nun eine Itemtruhe?")
            
local s select("Ja""Nein")
            if 
== 2 then
                
return
            
end
            pc
.setqf("sperre"get_time()+60*60*24)
            
pc.remove_item(456781)
            
pc.give_item2(500111)
        
end
    end
end 

Bitte helft mir, anscheinend funktioniert die Quest nicht, wegen den Timer

Fehlermeldung:

expecting 'when' or 'function'
vote.quest:27:Abort trap (core dumped)
Error occured on compile vote.quest


€: Quest funktioniert jetzt!
Danke an Delta und Spongi^^ ;)
02/25/2012 23:20 xxalbanxx3#4867
PHP Code:
quest drachnraum begin
    state start begin        
        when 9010.chat
."Drachenraum" begin  --NPC zum Starten
            say_title
(mob_name(9010)) --NPC zum Starten
            say
("Hallo Abenteurer,")
            
say("ich habe längst verlassene Gänge und")
            
say("Schluchten entdeckt, wo Ungeheuer ihr")
            
say("unwesen treiben. Nur die stärksten")
            
say("Krieger halten denen Stand!")
            if 
pc.count_item(30227) == 0 then
                say
("Du benötigst einen Drachenraum-Key um passieren zu können.")
                
say_item_vnum(30227)
                return
            
end
            say
("Soll ich dich dahin bringen?")
            
local s=select("Ja""Nein")
            if 
s==2 then return end
            
if pc.count_item(30227) > 0 then
                pc
.remove_item(302271)
                
pc.warp(8432001066800)
            
end
        end
        when login with pc
.get_map_index() == 308 begin
            say
("Die Brücke ist kaputt gegangen.")
            
say("Jetzt gibt es kein zurück mehr!")
        
end
    end
end 
Also eine frage die quest hier funktioniert aber ich möchte die so haben das wenn der Drache gekillt wird 2493 das es alles die da grade drinne sind raus portet.
Kann mir da jemand helfen?
02/25/2012 23:20 FunkYFriDy#4868
Hier die Quest:


Die Fehlermeldung:

expecting 'when' or 'function'
killbestial_test2.quest:26:Abort trap (core dumped)
Mcncc#
02/25/2012 23:50 Computercrack#4869
PHP Code:
quest bla23 begin
    state start begin
        when 1337.
use begin
            say_title
("Fussball")
                if 
pc.job == 0 then
                    local s
=number(1100)
                    
local stufe number(09)
                    if 
10 then
                        pc
.give_item2(50401,1)
                    elseif 
20 and 11 then
                        pc
.give_item2(50402,1)
                    elseif 
30 and 21 then
                        pc
.give_item2(50403,1)
                    elseif 
40 and 31 then
                        pc
.give_item2(50404,1)
                    elseif 
50 and 41 then
                        pc
.give_item2(50405,1)
                    elseif 
60 and 51 then
                        pc
.give_item2(50416,1)
                    elseif 
70 and 61 then
                        pc
.give_item2(50417,1)
                    elseif 
80 and 71 then
                        pc
.give_item2(50418,1)
                    elseif 
90 and 81 then
                        pc
.give_item2(50419,1)
                    elseif 
100 and 91 then
                        pc
.give_item2(50420,1)
                    
end
                end
            end
        end
    end
end 
02/26/2012 00:24 .Delta#4870
ein end zuviel unten dran^^
02/26/2012 00:49 RealMadrid94rk#4871
@Funky: dir fehlt nach dem set state main_kill ein end zum beenden der state und damit die nächste state beginnen kann.

@richi schau mal so müsste es klappen:
Kann ja nicht sein, weil get_time kann ja nicht kleiner sein als eine zahl, die du noch nicht definiert hast xD, daher spackt die quest um.

PHP Code:
quest vote begin
    state start begin
        when 45678.
use begin
            
if pc get_level ( ) < 85 then 
                say 
("Dein LvL ist zu niedrig, du kanst sie erst mit LvL 85 öffnen")
                return
            
end 
            
if get_time() > pc.getqf("sperre"then
                say
("Du musst noch warten!")
                return
            
end    
            say_title
("Votetruhe")
            
say("")
            
say("Du kannst diese Votetruhe tauschen")
            
say("gegen eine Itemtruhe.")
            
say("Aus der Itemtruhe können wertvolle")
            
say("Items herauskommen.")
            
say("Folgende Items kann diese Truhe beinhalten:")
            
say("Gelbe, Blaue und Grüne Diamanten, Rote Schreibfeder")
            
say("Feuer-Blume, Goldener Pilz, Piranha-Planze")
            
say(" 6/7 Boni switchen/einfügen und Regenbogenstein")
            
say("")
            
say_reward("Möchtest du nun eine Itemtruhe?")
            
local s select("Ja""Nein")
            if 
== 2 then
                
return
            
end
            pc
.setqf("sperre"get_time()+60*60*24)
            
pc.remove_item(456781)
            
pc.give_item2(500111)
        
end
    end
end 
02/26/2012 01:00 .Delta#4872
nein < stimmt und macht hier keine probleme ;)
02/26/2012 01:03 RealMadrid94rk#4873
Ansonsten sehe ich da aber keine fehler, woran solls sonst liegen? ^^
02/26/2012 01:04 .Delta#4874
die quest funktioniert^^
hat er doch geschrieben^^
02/26/2012 01:06 RealMadrid94rk#4875
Bin echt blind ^^
Habs nicht gesehen :D