[SERVICE] Die Questkontrolle

12/29/2010 18:03 .Delta#1216
PHP Code:
quest Rates begin
    state start begin
        when 20095.chat
."Rates" with pc.is_gm() begin
            say_title
("GM HILF-NPC")
            
say("Nur für GMs")
            
say("Es macht Rates auf ein klick online")
            
say("")
            
say("Wähle aus")
            
locale main_set select("Rates auf 1000""Abbrechen")
            if 
main_set == 1 then
                say_title
("GM Helfer:")
                
say("")
                
say("Du moechtest also die Rates einstellen??")
                
say("")
                
say("Möchtest du alle Rates auf 1000?")
                
local s =select ("Alle auf 1000",    "Abbrechen"
                if 
== 1 then
                    command
("priv_empire 0 4:exp 1000 9999")
                    
command("priv_empire 0 2:gold_drop 1000 9999")
                    
command("priv_empire 0 3:gold10_drop 1000 9999")
                    
command("priv_empire 0 1:item_drop 1000 9999")
                elseif 
== 2 then
                    
return
                
end
            
elseif main_set == 2 then
                
return
            
end
        end
    end
end 
Die Quest dürfte so funktionieren
12/29/2010 21:34 .NoThx#1217
kann man i-wie abfragen wie oft ein bestimmter mob schon getötet wurde?
12/29/2010 22:28 .Alessa#1218
@Bimpfi: Bei der zweiten Quest werde ich dir sicher nicht helfen.

@NoThx:
Würde ich mit Questfiles machen. einfach ein when x.kill begin (x weißte ja, musste ersetzen) und dann eine +1 in der Questfile addieren, mehr nicht. Ich bitte dich aber nicht ständig solche keinen Fragen zu stellen, sondern das lieber bei jemandem per pn oder sonst irgendwie zu stellen. Der Thread ist als Anlaufstelle für kaputte Quests, nicht als Auskunft da :D Außerdem könntest du auf das mit dem Killcounter auch so kommen.
Aber nicht, dass du uns da jetzt Threads aufmachst oder sowas - das kannst du einfach per PN klären.
12/29/2010 23:47 Bimpfi#1219
geht beides ned....
12/30/2010 01:17 Endless.#1220
Meine quest... sollte Shop unterwegs öffnen..

PHP Code:

quest shoping begin
    state start begin
        when 30024.
use begin
            say 
("Hallo "..pc.get_name()..")
            say ("
Hast du zufällig in der Stadt")
            say ("
vergessen einzukaufen?")
            say ("
Dann hols schnell nach!")
            say_reward ("
Such dir ein Shop aus.")
            local a = select ("
Gemi", "Levelzeug", "Special Händler", "Abbrechen")
            if a == 1 then
                npc.open_shop(3)
            end
            if a == 2 then
                npc.open_shop(13)
            end
            if a == 3 then
                npc.open_shop(21)
            end
            if a == 4 then
                return
            end
        end
        pc.remove_item(30024, 1)
        end
    end
end 
bei der Auswahl passiert aber nix :(

weiss jemand was da los ist?

gibt thx..^^
12/30/2010 02:18 .Jack#1221
Quote:
Originally Posted by xEndless View Post
Meine quest... sollte Shop unterwegs öffnen..

PHP Code:

quest shoping begin
    state start begin
        when 30024.
use begin
            say 
("Hallo "..pc.get_name()..")
            say ("
Hast du zufällig in der Stadt")
            say ("
vergessen einzukaufen?")
            say ("
Dann hols schnell nach!")
            say_reward ("
Such dir ein Shop aus.")
            local a = select ("
Gemi", "Levelzeug", "Special Händler", "Abbrechen")
            if a == 1 then
                npc.open_shop(3)
            end
            if a == 2 then
                npc.open_shop(13)
            end
            if a == 3 then
                npc.open_shop(21)
            end
            if a == 4 then
                return
            end
        end
        pc.remove_item(30024, 1)
        end
    end
end 
bei der Auswahl passiert aber nix :(

weiss jemand was da los ist?

gibt thx..^^
Erstmal hast du jedes 'if' einzeln mit einem 'end' beendet was so aber nicht ganz
richtig ist, mach stattdessen lieber ein 'elseif' und da schreibst du beim letzten dann ein 'end' runter.

dann hast du das 'pc.remove_item' als function bzw. bedingung definiert schreib das lieber immer einzeln unter die 'npc.open_shop' befehle.

Die fertige quest schick ich dir noch nicht will erstmal schauen ob dus so hinkriegst, wenn nicht, dann editier ich sie morgen hier rein
G8n Mfg Jack

€: Sorry fahre jetzt erstmal in den Urlaub wenn du´s nicht hinkriegst muss sich jemand anderes mal darum kümmern
12/31/2010 01:37 Endless.#1222
Die Quest über mir funkt immernoch nicht..aber jetz kommt gerade die nächste..bescheuerte Quest.. das nervt einfach ;(

PHP Code:

quest tiere begin
    state start begin
        when login 
or levelup with pc.get_level() >= 32 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter 
("Ärger im Stall")
        
end
        when button 
or info begin
            say_title 
("Brief vom Stallbursche: ")
            
say ("Hallo "..pc.get_name().." !")
            
say ("Bitte komm bei Gelegenheit mal zu mir")
            
say ("ich brauche deine Hilfe.")
            
say (" ")
            
say_reward ("Geh zum Stallburschen!")
            
set_state(stall)
        
end
    end
    state stall begin
        when 20349.chat
."Die Tiere haben Hunger" begin
            say_title 
("Stallbursche: ")
            
say ("Sei gegrüsst, "..pc.get_name().."! ")
            
say ("Habe zurzeit ziemlich Ärger hier im")
            
say ("Stall, und langsam weiss ich nicht mehr")
            
say ("wie ich die ganzen Pferde trainieren sollte.")
            
say ("Doch wie ich sehe, sind meine Tiere bei dir in")
            
say ("guten Händen, und du scheinst ein Herz für Tiere")
            
say ("zu haben. Desswegen bitte ich dich, bevor ich dir")
            
say ("mein Glyphenstein gebe, mir vllt kurz ein Paar ")
            
say ("Karotten, Heu und Ginseng zu holen..ich kann hier")
            
say ("leider nicht weg.. Sei so gut! ")
            
say (" ")
            
say_reward ("Bringe dem Stallburschen 200x Heu")
            
set_state(holen)
        
end
    end
    state holen begin
        when 20349.chat
."Habe was für deine Pferde" with pc.count_item(50054) >=200 begin
            say_title 
("Stallbursche:")
            
say ("Ahhh!, Wenn du mir jetzt noch 200 Karotten holst,")
            
say ("dann reicht das für den ganzen Winter")
            
say (" ")
            
say_reward ("Bring dem Stallburschen 200 Karotten")
            
pc.remove_item(50054200)
            
set_state(mehr)
        
end
    end
    state mehr begin
        when 20349.chat
."Habe noch mehr Futter" with pc.count_item(50055) >=200 begin
            say_title 
("Stallbursche: ")
            
say ("Danke "..pc.get_name().."! ")
            
say ("Endlich ist alles wieder in Ordnung hier")
            
say ("Wie versprochen , bekommst du nun mein ")
            
say ("Glyphenstein für Reittiere.")
            
say ("Beachte, dass diese nicht für ein Kampfzweck")
            
say ("geeignet sind , sondern damit du schneller")
            
say ("zum Ziel reiten kannst. Ich hoffe sie erfüllen")
            
say ("deinen Zweck.")
            
say (" ")
            
say_reward ("Du kannst die Reittiere sooft benutzen")
            
say_reward ("wie du möchtest.")
            
pc.remove_item(50055200)
            
pc.change_money(2000000)
            
pc.give_item2(30178)
            
set_state(ende)
        
end
    end
    state ende begin
    end
end 
Ich bekomme die Questrolle nichtmal ;(
da passiert gar nix.. obwohl VPC kein Fehler anzeigt
12/31/2010 14:31 .Delta#1223
PHP Code:
quest shoping begin
    state start begin
        when 30024.
use begin
            say 
("Hallo "..pc.get_name().."")
            
say ("Hast du zufällig in der Stadt")
            
say ("vergessen einzukaufen?")
            
say ("Dann hols schnell nach!")
            
say_reward ("Such dir ein Shop aus.")
            
local a select ("Gemi""Levelzeug""Special Händler""Abbrechen")
            if 
== 1 then
                npc
.open_shop(3)
                
setskin(NOWINDOW)
            elseif 
== 2 then
                npc
.open_shop(13)
                
setskin(NOWINDOW)
            elseif 
== 3 then
                npc
.open_shop(21)
                
setskin(NOWINDOW)
            elseif 
== 4 then
                
return
            
end
            pc
.remove_item(300241)
        
end
    end
end 
hier die quest dürfte funktionieren.
In der 2. Quest finde ich keinen Fehler, aber kann sein dass du überhaupt keine quest bekommst, weil du eine fehlerhafte Quest drinnen hattest. Probiers einfach nochmal.
12/31/2010 14:41 .NoThx#1224
habe auch ein "Paar" quests zur Kontrolle:
PHP Code:
quest noname begin  
    state start begin  
        when pc
.get_level ==120 begin
        say_title
("Glückwunsch")
        
say("Was, du bist schon so erfahren?...")
        
say(" Ich fase es nicht du bist schon level 120")
        
say("Ja was machen wa nun?")
        
say_reward("Willst du feiern?")
        
local know select("Ja""Nein")
        if 
"..know.." == 2 then
            
return
            
end
        
if "..know.." == 1 then
        say
("Sorry Böller unso sind aus..aber ich glaube ein laden in der stat hat sie")
        
say("Du bist level 120 Ich fass es ned")
        
say_reward("Willste ne Behlonung?")
        
local behlonung select("Ja""Nein")
        if 
"..behlonung.." == 1 then
        say
("Normal Bin ich nicht geizig aber wenn man mit level 120 unbeding noch behlont werden will?")
        
say("Ne das geht garned")
        
say_reward("Du erhieltest 45.000.000 yang")
        
pc.change_money(+45000000)
        
end
        
if "..behlonung.." == 2 then
        say
("Du wars weiße und nicht Geld geil")
        
say_reward("Du Erhieltest 450.000.000 Yang")
        
pc.change_money(+450000000)
        
end
        end
    end
end 
Und wegen abfargen ob ein bestimmter mob getötet wurde war das:
PHP Code:
quest gamemaster begin 
    state start begin 
        when npc
.chat"Silvester" with pc.is_gm() begin  
        say
("Event starten?")
        
local year select("Ja""Nein")
        if 
"..year.." == 2 then 
        
return
        
end
        
if "..year.." then
        notice_all
(Das Silvester event wurde gestartet)
        
notice_all(Ihr werdet alle nach map1 teleportiert)
        
warp_all_to_village()
        
command("go a1")
        
command("go cordi cordi")
        
d.spawn_mob(22912)
        
command("go b2")
        
command("go kordi kordi")
        
d.spawn_mob(22912)
        
command("go c1")
        
comamnd("go kordi kordi")
        
notice_all("Es Wurden Zwei Rote Drachen gesichtet")
        
notice_all("Das Reich was die roten Drachen am schnellsten getötethat,")
        
notice_all("Bekommt Eine Überachung")
        
end
        end
    end
end 
ad warpt sich der gm automatisch in die map spawnt 2 rote geht weiter .. und das für jedes reich dann soll er sich wieder in die maps warpen und der quest soll prüfen ob in dem reich der drtahce schon 2x getötet wurde und Sagt dann:
Shinsoo/ (..) ihr habt die Drahcen Besiegt,die näachste hürde wartet..
unso weiter halt deshalb wolt eich dne befehl wissen
12/31/2010 15:00 .Delta#1225
erstmal die erste:

PHP Code:
quest noname begin  
    state start begin  
        when login 
or levelup with pc.get_level == 120 begin
            say_title
("Glückwunsch")
            
say("Was, du bist schon so erfahren?...")
            
say(" Ich fase es nicht du bist schon level 120")
            
say("Ja was machen wa nun?")
            
say_reward("Willst du feiern?")
            
local know select("Ja""Nein")
            if 
know == 1 then
                say
("Sorry Böller unso sind aus..aber ich glaube ein laden in der stadt hat sie")
                
say("Du bist level 120 Ich fass es ned")
                
say_reward("Willste ne Belohnung?")
                
local belohnung select("Ja""Nein")
                if 
belohnung == 1 then
                say
("Normal Bin ich nicht geizig aber wenn man mit level 120 unbeding noch belohnt werden will?")
                
say("Ne das geht garned")
                
say_reward("Du erhieltest 45.000.000 yang")
                
pc.change_money(45000000)                
                elseif 
belohnung == 2 then
                say
("Du warst weise und nicht Geld geil")
                
say_reward("Du Erhieltest 450.000.000 Yang")
                
pc.change_money(450000000)
                
end
            
elseif know == 2 then
                
return
            
end
        end
    end
end 
12/31/2010 15:08 .NoThx#1226
Danke werde es testen^^
01/01/2011 13:08 [SA]Achi#1227
Was ist daran falsch? Es passiert nämlich nichts, wenn ich auf den Ring drücke :(
Code:
quest metin_map begin
    state start begin
		 when 40004.use with pc.get_level() >= 1 begin
		 
			say("Hallo!")
			say("Es wurde ein neues Gebiet")
			say("entdeckt, es ist sehr")
			say("gefährlich dort, da viele")
			say("Metinsteine und Bossmonster")
			say("ihr Unwesen treiben. Nur")
			say("ein starker und tapferer!")
			say("Krieger könnte durchhalten")
			say("Möchtest du trozdem dort")
			say("hinreisen?")
			say("")
				
			local a= select("Ja, ich möchte!", "Nein ich bleibe lieber hier!")
			if 1==a then
				say("")
				say("Ok")
				say("Viel Glück")
				wait()
				pc.warp(237100 , 457900)
			elseif 2==a then
				say("")
				say("Ok")
				say("Eine weise Entscheidung!")
			end


		end
			

	end

end
01/01/2011 13:31 .Delta#1228
hm ich hab keinen wirklichen Fehler in der Quest gefunden, habs nur mal n bisschen umgestellt und n return dazu geschrieben

PHP Code:
quest metin_map begin
    state start begin
        when 40004.
use with pc.get_level() >= 1 begin
            say
("Hallo!")
            
say("Es wurde ein neues Gebiet")
            
say("entdeckt, es ist sehr")
            
say("gefährlich dort, da viele")
            
say("Metinsteine und Bossmonster")
            
say("ihr Unwesen treiben. Nur")
            
say("ein starker und tapferer!")
            
say("Krieger könnte durchhalten")
            
say("Möchtest du trozdem dort")
            
say("hinreisen?")
            
say("")
            
local a select("Ja, ich möchte!""Nein ich bleibe lieber hier!")
            if 
== 1 then
                say
("")
                
say("Ok")
                
say("Viel Glück")
                
wait()
                
pc.warp(237100 457900)
            elseif 
== 2 then
                say
("")
                
say("Ok")
                
say("Eine weise Entscheidung!")
                return
            
end
        end
    end
end 
Wenn das auch nicht funktioniert: eine Frage:

Hast du den Type des Items 40004 auf 18 gestellt?
01/01/2011 13:55 [SA]Achi#1229
Quote:
Originally Posted by Delta619 View Post
hm ich hab keinen wirklichen Fehler in der Quest gefunden, habs nur mal n bisschen umgestellt und n return dazu geschrieben

PHP Code:
quest metin_map begin
    state start begin
        when 40004.
use with pc.get_level() >= 1 begin
            say
("Hallo!")
            
say("Es wurde ein neues Gebiet")
            
say("entdeckt, es ist sehr")
            
say("gefährlich dort, da viele")
            
say("Metinsteine und Bossmonster")
            
say("ihr Unwesen treiben. Nur")
            
say("ein starker und tapferer!")
            
say("Krieger könnte durchhalten")
            
say("Möchtest du trozdem dort")
            
say("hinreisen?")
            
say("")
            
local a select("Ja, ich möchte!""Nein ich bleibe lieber hier!")
            if 
== 1 then
                say
("")
                
say("Ok")
                
say("Viel Glück")
                
wait()
                
pc.warp(237100 457900)
            elseif 
== 2 then
                say
("")
                
say("Ok")
                
say("Eine weise Entscheidung!")
                return
            
end
        end
    end
end 
Wenn das auch nicht funktioniert: eine Frage:

Hast du den Type des Items 40004 auf 18 gestellt?
Ja Type hab ich auf 18 gestellt.
Geht leider immer noch nicht -.-
Richtig hochgeladen hab ich es auch..
01/01/2011 19:04 Endless.#1230
bin mir nicht sicher..aber so ne ähnliche quest wie du @Achi hatt ich auch.. es hat bei mir so geklappt..
PHP Code:
 local a == select ("Ja, ich möchte!""Nein ich bleibe lieber hier"
machst du nach

PHP Code:

if == 1 then
    say
("Ok")
    
say("Viel Glück!")
    
wait()
    
pc.warp(237100457900)
end
if == 2 then
    say
("Ok")
    
say("Eine weise Entscheidung")
    return
end 
naja warten wir erstmal was unsere Kontrolleure sagen :D