[SERVICE] Die Questkontrolle

09/11/2012 19:00 RecK#6781
Fremdconnection für FileZilla:

Dein Kumpel muss in der PortMap für FileZilla-Zugriff Port 22 erstellen und aktivieren.
Du benötigst dann nur noch das entsprechende Passwort.

Für Navicat ist der Fremdzugangs-Port 3306

Achtung! Das sind ziemlich "böse" Ports und sollten nur solange bestehen wie der Fremdzugriff benötigt wird. Ebenso sollte es ein Sicherheitspasswort geben, welches aus mind. 8 Zeichen bestehen (Zahlen und Buchstaben -groß&klein-). Ein wirklich sehr, sehr sicheres Passwort geht ab ca 15Zeichen los.
Am besten holst du dir aus dem Internet vorab ein generiertes Passwort. Diese sind sehr sicher.
09/11/2012 19:03 xR3MiiXx#6782
Ich habe Icebeatzz files und Port 3306 ist grün klappt aber nicht und hab port 22 da eingegeben also in FileZilla..

Was muss ich bei Port 3306 eintragen -.- und wie kriegt man den dan grün?
09/11/2012 19:04 RecK#6783
3306 ist für Navicat.
22 für FileZilla.

Ports in der PortMap erstellen.

Oben auf das grüne Startzeichen klicken.
Bei der Connection zu FileZilla vollständige IP deines Kumpels eintragen nicht die mit .100 !
09/11/2012 19:06 xR3MiiXx#6784
Danke klappt ;)..

Klappt aber mit Navicat nicht... kannst du mir eine portmap bearbeiten und dan Hochladen pls ? mit der ID 5.216.149.163

Würde mich sehr freuen und dir viele Thanks geben :c
09/11/2012 19:25 ηєχσ™#6785
Tag Leute, habe folgende Drachenraum quest die nicht funktioniert. Es kommt zwar bein hochladen kein Error, aber der NPC reagiert nicht wenn ich ihn anklicken will.

Hier die Quest:

PHP Code:
quest dragontemple begin
    state start begin
        when 30121.chat
."Tempel des Drachen" with pc.get_map_index() == 72 begin
        
if get_time() > game.get_event_flag("Grotte_time"then
        game
.set_event_flag("Grotte_zugang",0)
        
end
        
if pc.is_gm() then
        say_title
(""..mob_name(30121).."")
        
say("")
        
say("Hallo Gamemaster, "..pc.get_name().."")
        
say("Ich lasse dich auch ohne die Schlüssel und")
        
say("das Passwort passieren.")
        
wait()
        
pc.warp(8432001066900)
        return
        
end
        
if game.get_event_flag("Grotte_zugang") == and pc.count_item(30179) < 3 then
        say_title
(""..mob_name(30121).."")
        
say("")
        
say("Dir fehlen "..item_name(30179).."")
        
say_item_vnum(30179)
        
say("Komme wieder wenn du 3 besitzt.")
        return
        
end
        
if game.get_event_flag("Grotte_zugang") == 1 then
        say_title
(""..mob_name(30121).."")
        
say("")
        
pc.setqf("grotte_passworto"078954687921)
        if 
pc.getqf("abgabe") == 1 then
        pc
.setqf("abgabe",0)
        
say("Du hast bereits deine 3 Schlüssel abgeben.")
        
say("Ich lasse dich passieren.")
        
pc.setqf("erlaubt",1)
        
wait()
        
pc.warp(8432001066900)
        return
        
end
        say
("Tut mir Leid, der Raum ist reseviert.")
        
say("Wenn du ein die Kennzahl hast für den Zugang,")
        
say("gebe sie jetzt bitte ein.")
        
local passwort tonumber(input(""))
        --
pc.setqf("grotte_passworto"passwort
        if 
game.get_event_flag("Grotte_passwort") == passwort then
        say_title
(""..mob_name(30121).."")
        
say("")
        
say("Die Kennzahl stimmt überein.")
        if 
pc.count_item(30179) < 3 then
        say
("Ich kann dir den zutritt nicht gewähren")
        
say("Dir fehlt "..item_name(30179).."")
        
say_item_vnum(30179)
        
say("Komme wieder wenn du 3 besitzt.")
        return
        
end
        
if pc.warp() then
        pc
.remove_item("30179",3)
        
say("Ich gewähre dir den zutritt!")
        
pc.setqf("erlaubt",1)
        
wait()
        
pc.warp(8432001066900)
        else
        
say_title(""..mob_name(30121).."")
        
say("")
        
say("Bitte probiere es nochmal, du hast zuletzt gehandelt")
        
end
        
elseif passi != pc.getqf("grotte_passworto"then
        say_title
(""..mob_name(30121).."")
        
say("")
        
say("Die Kennzahl ist leider falsch.")
        return
        
end
        end
        
if game.get_event_flag("Grotte_zugang") == and pc.count_item(30179) >= 3 then
        say_title
(""..mob_name(30121).."")
        
say("")
        
say("Du bist der erste der den Eintritt in den Tempel")
        
say("des Drachens verlangt. Ich werde dich passieren")
        
say("lassen, sofern du einen gewunden Schlüssel")
        
say("besitzt. Bevor du den Raum betreten darfst")
        
say("musst du eine geheime Zahl eingeben.")
        
say("Diese kannst du innerhalb von 5 Minuten an")
        
say("deine Mitstreiter weitergeben, so das auch")
        
say("sie den Raum betreten können. ")
        
say("")
        
say("Bedenke auch das die Macht der Schlüssel nur")
        
say("30 Minuten lang hält. In dieser Zeit müsst")
        
say("ihr den Drachen besiegt haben.")
        
local i select("Ich bin Bereit""Abbrechen")
        if 
== i then
        say_title
(""..mob_name(30121).."")
        
say("Dann Lege jetzt die kennzahl fest.")
        
local passwort tonumber(input(""))
        if 
passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then
        game
.set_event_flag("Grotte_zugang",1)
        
game.set_event_flag("Grotte_passwort",passwort)
        
local times get_time() + 300 --Wartezeit
        game
.set_event_flag("Grotte_time"times)
        
say_title(""..mob_name(30121).."")
        
pc.setqf("abgabe",1)
        
say("")
        
say("Die Kennzahl lautet:")
        
chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."")
        
say_reward(""..passwort.."")
        
say("Gib die Kennzahl deinen Mitstreitern weiter")
        
pc.remove_item("30179",3)
        else 
        
say_title(""..mob_name(30121).."")
        
say("")
        
say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.")
        
say("Bitte gebe nur Ziffern ein.")
        
end
        end
        end
        end
    when login with pc
.get_map_index() == 408 and not pc.is_gm() begin
        
if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end
        
if pc.get_level() < 75 or pc.getqf("erlaubt") == and pc.get_map_index() == 408 then
         chat
("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ")
            
warp_to_village()
        
end
        chat
("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.")
        
chat("Aber beeilt euch, sonst fliegt ihr raus")
        
local sekunden game.get_event_flag("Grotte_time") - get_time()
        
notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden")
        
timer("skipia_boss_ende"sekunden)
        
pc.set_warp_location(73 182512207)
        
game.set_event_flag("dragontemple_dropp",1)
        
end
    when 8023.kill with pc
.get_map_index() == 408 begin
        timer
("skipia_boss_goo"2)
        
notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht")
        
end
    when skipia_boss_goo
.timer begin
        game
.set_event_flag("Grotte_zugang",0)
        
d.new_jump_all(408843610669)
        
d.setf("grotte_boss"1)
        
d.spawn_mob(9012239173)
        
end
    when 8031.kill 
or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
    local n 
=d.getf("count") + 1
    d
.setf("count"n
    --
notice_all("Metin killed "..n.."")
    if 
2 then
    local t 
number(1,4)
    --
notice_all("Spawn Metin")
    if 
== t then
    d
.regen_file("data/dungeon/skia_boss1.txt")
    elseif 
== t then
    d
.regen_file("data/dungeon/skia_boss2.txt")
    elseif 
== t then
    d
.regen_file("data/dungeon/skia_boss3.txt")
    else
    
d.regen_file("data/dungeon/skia_boss4.txt")
    
end
    end
    end
    when 2493.kill with pc
.in_dungeon() and d.getf("grotte_boss") == 2 begin
        d
.setf("grotte_boss"3)
        
notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.")
        
d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören")
        d.notice("
ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.")
        game.drop_item(30315)
        timer("
skipia_boss_end", 60)
        d.kill_all()
        d.spawn_mob(9012, 239, 173)
        d.clear_regen()
        game.set_event_flag("
dragontemple_dropp",0)
        end

    when login with pc.in_dungeon() and d.getf("
grotte_boss") == 2 begin
    pc.set_warp_location(73 , 1825, 12207)
    end
    when login with pc.in_dungeon() and d.getf("
grotte_boss") == 1 begin
        timer("
skipia_boss_end", 3600)
        timer("
skipia_spawn", 5)        
        d.setf("
grotte_boss", 2)
        d.notice("
Willkommen im Tempel des Drachenihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegenViel Erfolg")
        d.setf("
count", 0)
        pc.set_warp_location(73 , 1825, 12207)
        end
    when skipia_spawn.timer begin
        d.set_regen_file("
data/dungeon/skia_boss.txt")
        local t = number(1,4)
    if 1 == t then
    d.regen_file("
data/dungeon/skia_boss1.txt")
    elseif 2 == t then
    d.regen_file("
data/dungeon/skia_boss2.txt")
    elseif 3 == t then
    d.regen_file("
data/dungeon/skia_boss3.txt")
    else
    d.regen_file("
data/dungeon/skia_boss4.txt")
    end
    local o = number(1,4)
    if 1 == o then
    d.regen_file("
data/dungeon/skia_boss1.txt")
    elseif 2 == o then
    d.regen_file("
data/dungeon/skia_boss2.txt")
    elseif 3 == o then
    d.regen_file("
data/dungeon/skia_boss3.txt")
    else
    d.regen_file("
data/dungeon/skia_boss4.txt")
    end
        end

    when login with pc.in_dungeon() and d.getf("
grotte_boss") == 3 begin -- begin
    --pc.warp(181700, 1220600)
    end
    
    when skipia_boss_end.timer begin
        d.exit_all()
        end
    when skipia_boss_ende.timer begin
        kill_all_in_map(408)
        game.set_event_flag("
Grotte_zugang",0)
        d.setf("
grotte_boss", 1)
        d.exit_all()
    end
    when login with pc.get_map_index() != 408 or not pc.in_dungeon() begin
    pc.setqf("
erlaubt",0)
    end
    end
end 
Wäre über jede Hilfe dankbar.

Mit freundlichen Grüßen
09/11/2012 19:28 xR3MiiXx#6786
quest dragontemple begin
state start begin
when 30121.chat."Tempel des Drachen" with pc.get_map_index() == 72 begin
if get_time() > game.get_event_flag("Grotte_time") then
game.set_event_flag("Grotte_zugang",0)
end
if pc.is_gm() then
say_title(""..mob_name(30121).."")
say("")
say("Hallo Gamemaster, "..pc.get_name().."")
say("Ich lasse dich auch ohne die Schlüssel und")
say("das Passwort passieren.")
wait()
pc.warp(843200, 1066900)
return
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) < 3 then
say_title(""..mob_name(30121).."")
say("")
say("Dir fehlen "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
if game.get_event_flag("Grotte_zugang") == 1 then
say_title(""..mob_name(30121).."")
say("")
pc.setqf("grotte_passworto", 078954687921)
if pc.getqf("abgabe") == 1 then
pc.setqf("abgabe",0)
say("Du hast bereits deine 3 Schlüssel abgeben.")
say("Ich lasse dich passieren.")
pc.setqf("erlaubt",1)
wait()
pc.warp(843200, 1066900)
return
end
say("Tut mir Leid, der Raum ist reseviert.")
say("Wenn du ein die Kennzahl hast für den Zugang,")
say("gebe sie jetzt bitte ein.")
local passwort = tonumber(input(""))
--pc.setqf("grotte_passworto", passwort)
if game.get_event_flag("Grotte_passwort") == passwort then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl stimmt überein.")
if pc.count_item(30179) < 3 then
say("Ich kann dir den zutritt nicht gewähren")
say("Dir fehlt "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
if pc.warp() then
pc.remove_item("30179",3)
say("Ich gewähre dir den zutritt!")
pc.setqf("erlaubt",1)
wait()
pc.warp(843200, 1066900)
else
say_title(""..mob_name(30121).."")
say("")
say("Bitte probiere es nochmal, du hast zuletzt gehandelt")
end
elseif passi != pc.getqf("grotte_passworto") then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl ist leider falsch.")
return
end
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) >= 3 then
say_title(""..mob_name(30121).."")
say("")
say("Du bist der erste der den Eintritt in den Tempel")
say("des Drachens verlangt. Ich werde dich passieren")
say("lassen, sofern du einen gewunden Schlüssel")
say("besitzt. Bevor du den Raum betreten darfst")
say("musst du eine geheime Zahl eingeben.")
say("Diese kannst du innerhalb von 5 Minuten an")
say("deine Mitstreiter weitergeben, so das auch")
say("sie den Raum betreten können. ")
say("")
say("Bedenke auch das die Macht der Schlüssel nur")
say("30 Minuten lang hält. In dieser Zeit müsst")
say("ihr den Drachen besiegt haben.")
local i = select("Ich bin Bereit", "Abbrechen")
if 1 == i then
say_title(""..mob_name(30121).."")
say("Dann Lege jetzt die kennzahl fest.")
local passwort = tonumber(input(""))
if passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then
game.set_event_flag("Grotte_zugang",1)
game.set_event_flag("Grotte_passwort",passwort)
local times = get_time() + 300 --Wartezeit
game.set_event_flag("Grotte_time", times)
say_title(""..mob_name(30121).."")
pc.setqf("abgabe",1)
say("")
say("Die Kennzahl lautet:")
chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."")
say_reward(""..passwort.."")
say("Gib die Kennzahl deinen Mitstreitern weiter")
pc.remove_item("30179",3)
else
say_title(""..mob_name(30121).."")
say("")
say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.")
say("Bitte gebe nur Ziffern ein.")
end
end
end
end
when login with pc.get_map_index() == 408 and not pc.is_gm() begin
if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end
if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 408 then
chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ")
warp_to_village()
end
chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.")
chat("Aber beeilt euch, sonst fliegt ihr raus")
local sekunden = game.get_event_flag("Grotte_time") - get_time()
notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden")
timer("skipia_boss_ende", sekunden)
pc.set_warp_location(73 , 1825, 12207)
game.set_event_flag("dragontemple_dropp",1)
end
when 8023.kill with pc.get_map_index() == 408 begin
timer("skipia_boss_goo", 2)
notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht")
end
when skipia_boss_goo.timer begin
game.set_event_flag("Grotte_zugang",0)
d.new_jump_all(408, 8436, 10669)
d.setf("grotte_boss", 1)
d.spawn_mob(9012, 239, 173)
end
when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
local n =d.getf("count") + 1
d.setf("count", n)
--notice_all("Metin killed "..n.."")
if n > 2 then
local t = number(1,4)
--notice_all("Spawn Metin")
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
end
end
when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
d.setf("grotte_boss", 3)
notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.")
d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören")
d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.")
game.drop_item(30315)
timer("skipia_boss_end", 60)
d.kill_all()
d.spawn_mob(9012, 239, 173)
d.clear_regen()
game.set_event_flag("dragontemple_dropp",0)
end

when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
pc.set_warp_location(73 , 1825, 12207)
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin
timer("skipia_boss_end", 3600)
timer("skipia_spawn", 5)
d.setf("grotte_boss", 2)
d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg")
d.setf("count", 0)
pc.set_warp_location(73 , 1825, 12207)
end
when skipia_spawn.timer begin
d.set_regen_file("data/dungeon/skia_boss.txt")
local t = number(1,4)
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
local o = number(1,4)
if 1 == o then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == o then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == o then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
end

when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin
--pc.warp(181700, 1220600)
end

when skipia_boss_end.timer begin
d.exit_all()
end
when skipia_boss_ende.timer begin
kill_all_in_map(408)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 408 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end

Versuchs jetzt mal
09/11/2012 19:30 RecK#6787
Syntax kontrollieren mit Syntax-Highlightning !!!!

PHP Code:
"Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- "Als Abschluss könnt ihr noch die Metins zerstören"
Vor Als Abschluss -> " weiß nicht ganz ob du es dort an der Stelle haben willst aber denke mal schon.

Du hast " geöffnet und was man öffnet muss man auch schließen. Alles was folgr steht also immernoch in dieser "Ansage". Das musste du korrigieren
Denke dann sollte es funzen. Wenn nicht prüf das on_click - Feld in der DB.

Da dort über mir wird wohl nicht funzen weil dort der Syntaxfehler immernoch vorhanden ist.
Kann aber sein das ich noch was übersehen hab beim Überfliegen ^^

@Remix:
Nein ich lade dir keine PortMap hoch. Wenn du das mit dem FileZilla-Zugriff hinbekommen hast, sollteste das mit Navicat auch hinbekommen (Port: 3306 in der PortMap)
09/11/2012 19:42 ηєχσ™#6788
@ Remix, bitte mit php die Quest einfügen.
@ Reck , im on_click Feld steht eine 1, denke mal das es so richtig ist
09/11/2012 19:43 Fever1234#6789
ja .ich weiß aber es net so gemeint das mit noob das werde ich ändern
und hey jeder macht fehler oder hat seine schwächen hier
also verkessen wir unser streit hier und helfen andern leuten okay?

leider geht mein quest noch nicht
muss mir überlegen was ich noch machen muss
09/11/2012 20:31 Hahaha12313#6790
Hey Com. ,
Ich hab ne frage kann sein das die schon beantwortet wurde und ich es nicht gelesen hab.

Z.b. bei dieser Quest :

quest levelup begin
state start begin
when levelup with pc.get_level() == 127 begin
notice_all(pc.get_name().. " hat level 127 erreicht.")
notice_all(pc.get_name().. " hat das Endlevel erreicht.")
notice_all("Wir wünschen dir weiterhin viel spaß. ")
end
end
end

Sie ist eig. richtig glaub ich und ich trag sie in der Hongkong list ein, anschließend geb ich den Befehl in VPC ein :

cd /usr/rain/channel/share_data/locale/hongkong/quest
sh make.sh

und es grad am checken ist kommt immer !!!
Core Dumped .. Warum.? & das passier bei jeder Quest -.-

Ich hab in diesen Theard von Seite 1 - 85 durchgelesen und hab den Beitrag von CoreDumped gelesen und er meint immer : Da darf keine Leertaste sein oder so ...

Was muss weg und was nicht.?

PHP Code:
quest levelup begin
    state start begin
        when levelup with pc
.get_level() == 127 begin
            notice_all
(pc.get_name().. " hat level 127 erreicht.")
            
notice_all(pc.get_name().. " hat das Endlevel erreicht.")
            
notice_all("Wir wünschen dir weiterhin viel spaß. ")
        
end
    end
end 

Tut mir leid wegen diesen doofen posten aber ich check das nicht...

Danke im Voraus. ( Natürlich bekommt der jenige der mir hilft Thanks ) :)
09/11/2012 20:42 RecK#6791
Quote:
Originally Posted by Fever1234 View Post
leider geht mein quest noch nicht
muss mir überlegen was ich noch machen muss
Deine Variable "s" überschneidet sich.
Direkt am Anfang zum Beispiel:

local s = ("10er","20er","30er",...)
local s = ("Ja", "Nein")

Wenn du dir "s" nun ausgeben lassen würdest, bekommst du als Result 1 oder 2, je nachdem was du angeklickt hast _(Ja oder Nein).
Du verwendest s dann aber für die Prüfung von 10,20,30,40,50.

Würde ich so lösen:
PHP Code:
local s = ("Ja""Nein")
if 
== 1 then
local wieviel 
= ("10er", ...)
(
weiter mit wie viel)
end
end
else
say("Ok, dann nicht")
end 
Jetzt nur als kleiner Algorithmus, so solltest du das nicht in dein Script einfügen!
09/12/2012 08:54 [ShiizoPhreN]™#6792
hi kann mir jemand sagen warum meine levelup.quest (die jagdautragsquest) nicht richtig funktioniert ich hab sie in meiner questliste eingetragen und läuft auch soweit nur wenn ich die questrolle Auftrag 2 oder so anklicke verschwindet sie einfach nur und mehr nicht

p.s. ist die standard quest die in jeden files zu finden ist

MfG
09/12/2012 15:10 .Seriously#6793
PHP Code:
quest collect_quest_lv17 begin
    state start begin
    end
    state run begin
        when login 
or levelup with pc.level >= 17  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20087)
            if 
!= 0 then
                target
.vid("__TARGET__"v"wonda-rim")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end

        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
        
end
        
        when __TARGET__
.target.click or 20087.chat."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
set_state(go_to_rim)
        
end
    end

    state go_to_rim begin
        when letter begin
            local v 
find_npc_by_vnum(20011)
            if 
!= 0 then
                target
.vid("__TARGET__"v"uriel")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
    
        when __TARGET__
.target.click or 20011.chat."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
set_state(go_to_find_kp)
        
end
    end
    state go_to_find_kp begin
        when letter begin
            local v 
find_npc_by_vnum(20087)
            if 
!= 0 then
                target
.vid("__TARGET__"v"wonda-rim")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
        
        when 20087.chat
."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
        
end
        when 152.kill begin
            local drop 
=  number(1,90)
            if 
drop == 5 then
            pc
.give_item2(30173,1)
            if 
pc.count_item(30173) >= 5 then
            set_state
(go_back_to_kp)
            
end
        end
    end
end
    state go_back_to_kp begin
        when letter begin
            local v 
find_npc_by_vnum(20087)
            if 
!= 0 then
                target
.vid("__TARGET__"v"wonda-rim")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
        
        when 20087.chat
."Das Geschenk für den Biologen" with pc.count_item(30173) == 5 begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
set_state(go_to_bio)
            
pc.remove_item(30173,5)
        
end
    end
    state go_to_bio begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
!= 0 then
                target
.vid("__TARGET__"v"bio")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
        
        when 20084.chat
."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
set_state(go_to_wonda)
        
end
    end
    state go_to_wonda begin
        when letter begin
            local v 
find_npc_by_vnum(20087)
            if 
!= 0 then
                target
.vid("__TARGET__"v"wonda-rim")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
        
        when 20087.chat
."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
set_state(go_to_yang)
        
end
    end
    state go_to_yang begin
        when letter begin
            local v 
find_npc_by_vnum(20019)
            if 
!= 0 then
                target
.vid("__TARGET__"v"yang-shin")
            
end
            send_letter
("Das Geschenk für den Biologen")
        
end
        when button 
or info begin
            say
("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
        
end
        
        when 20019.chat
."Das Geschenk für den Biologen" begin
            target
.delete("__TARGET__")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("text")
            
say("")
            
local lose select("Nein, gar nicht","Ja, er war begeistert")
            if 
lose == 1 then
            say_reward
("Du erhälst: 10.000 Gold.")
            
say_reward("Du erhälst: 1 Fertigkeitsbuch.")
            
say_reward("Du erhälst: 40.000 Erfahrungspunkte.")
            
pc.give_gold(10000)
            
pc.give_item2(50300,1)
            
pc.give_exp(40000)
            
set_state(complete)
            elseif 
lose == 2 then
            say_reward
("Du erhälst: 20.000 Gold.")
            
say_reward("Du erhälst: 1 Goldklumpen.")
            
say_reward("Du erhälst: 20.000 Erfahrungspunkte.")
            
pc.give_gold(20000)
            
pc.give_item2(80008,1)
            
pc.give_exp(20000)
            
set_state(complete)
        
end
    end
end
state complete begin
end
end 
Die Quest startet ingame nicht.
09/12/2012 15:24 Tentos123#6794
Quote:
Originally Posted by Hahaha12313 View Post
PHP Code:
quest levelup begin
    state start begin
        when levelup with pc
.get_level() == 127 begin
            notice_all
(pc.get_name().. " hat level 127 erreicht.")
            
notice_all(pc.get_name().. " hat das Endlevel erreicht.")
            
notice_all("Wir wünschen dir weiterhin viel spaß. ")
        
end
    end
end 
Also du hast halt nur ein paar " und ein paar. vergessen;)
Sollte so gehen:
PHP Code:
quest levelup begin
    state start begin
        when levelup with pc
.get_level() == 127 begin
            notice_all
("" .. pc.get_name() .. " hat level 127 erreicht.")
            
notice_all("" .. pc.get_name() .. " hat das Endlevel erreicht.")
        
notice_all("Wir wünschen dir weiterhin viel spaß. ")
        
end
    end
end 
[/QUOTE]
09/12/2012 16:33 [ShiizoPhreN]™#6795
Hallo liebe freunde der Sonne...

Ich hab ein Problem mit meiner quest.
Es handelt sich um eine Jagdquest, da die originlae levelup.quest (zuständig für jagdaufträge) bei mir nicht funktioniert man klickt die rolle an und sie verschwindet einfach nur.
Zu meiner Quest Sie funktioniert ansich fehlerfrei allerdings möchte ich das so haben
das wenn man sich für Auftrag A oder Auftrag B entscheidet die minimap mit geöffnet wird und die mapsignale von den orten der mobs angezeigt werden denn das tut sie nicht.


Zudem enschuldige ich mich für den Code ist meine erste Quest :)
Wenn sich jemand bereiterklären würde den Code zu kürzen kann wäre dies sehr nett ansonsten kann die auch so bleiben xD

Code:
quest hunt_quest_lv2 begin
	state start begin
		when login or levelup with pc.get_level() >= 1 begin
			set_state(information)
		end
	end
	
	state information begin
		when letter begin
			send_letter("Aufgabe 2")
		end
		
		when info or button begin
			say_title("Jagdauftrag:")
			say("Für deinen nächsten Auftrag kannst du wählen,")
			say("welches der beiden Monster du jagen und töten")
			say("wirst")
			
			local a = select ("Hungriger Wildhund 10 töten", "Hungriger Wolf 5 töten")
			if a == 1 then
				setskin(SCROLL)
				setbgimage('level_bg.tga')
				addimage('20', '12', 'level_01.tga')
				setcolor('0', '0', '0')
				say("")
				say("")
				say("")
				say("Töte Hungriger Wildhund")
				say("Anzahl der Ziele: 10")
				say("Belohnung: 10% Erfahrung")
				say("")
				say("Bisherige Ziele getötet:".." "..pc.getqf("state").."")
				say("")
				set_state(hunting_stray_dog)
				pc.setqf("state", 0)
				q.set_counter("Wildhund", 0)
				chat("Du hast die Herausforderung angenommen Hungriger Wildhund zu töten.")				
				if pc.job == 0 then
					say("Mönchsplattenpanzer+0")
				elseif pc.job == 1 then
					say("Azuranzug+0")
				elseif pc.job == 2 then
					say("Requiem-Plattenpanzer+0")
				elseif pc.job == 3 then
					say("Purpurkleidung+0")
				end
			elseif a == 2 then
				setskin(SCROLL)
				setbgimage('level_bg.tga')
				addimage('20', '12', 'level_01.tga')
				setcolor('0', '0', '0')
				say("Töte Hungriger Wolf")
				say("Anzahl der Ziele: 10")
				say("Belohnung: 10% Erfahrung")
				set_state(hunting_wolf)
				pc.setqf("state", 0)
				q.set_counter("Wolf", 0)
				chat("Du hast die Herausforderung angenommen Hungriger Wolf zu töten.")			
				if pc.job == 0 then
					say("Mönchsplattenpanzer+0")
				elseif pc.job == 1 then
					say("Azuranzug+0")
				elseif pc.job == 2 then
					say("Requiem-Plattenpanzer+0")
				elseif pc.job == 3 then
					say("Purpurkleidung+0")
				end
			clearmapsignal()
			end
		end
	end
----------------------ANZEIGE WENN MAN NOCHEINMAL DRAUFKICKT AUF DEM BUTTON	------------------------------------
	state hunting_stray_dog begin
		when info or button begin
			setskin(SCROLL)
			setbgimage('level_bg.tga')
			addimage('20', '12', 'level_01.tga')
			setcolor('0', '0', '0')
			say("")
			say("")
			say("Töte Hungriger Wildhund")
			say("Anzahl der Ziele: 10")
			say("Belohnung: 10% Erfahrung")
			if pc.job == 0 then
				say("Mönchsplattenpanzer+0")
			elseif pc.job == 1 then
				say("Azuranzug+0")
			elseif pc.job == 2 then
				say("Requiem-Plattenpanzer+0")
			elseif pc.job == 3 then
				say("Purpurkleidung+0")
			end
			say("")
			say("Bisherige Ziele getötet:".." "..pc.getqf("state").."")
			say("")
		end	
			
		when 171.kill begin
			local count = pc.getqf("state") + 1
			
			if count <= 10 then
				pc.setqf("state", count)
				q.set_counter("Wildhund", 10 - count)
			
				if count == 10 then
					set_state(hunting_stray_dog2)
				end
			end
		end
	end
		
	state hunting_stray_dog2 begin
		when letter begin
			send_letter("Auftrag 2 abgeschlossen")
		end
		when button or info begin
			say_title("Auftrag 2 abgeschlossen")
			say("Ausgezeichnet, du hast den Auftrag erfolgreich")
			say("beendet.")
			if pc.job == 0 then
				pc.give_item2( 11200 )
				pc.give_exp2( 250 )
			elseif pc.job == 1 then
				pc.give_item2( 11400 )
				pc.give_exp2( 250 )
			elseif pc.job == 2 then
				pc.give_item2( 11600 )
				pc.give_exp2( 250 )
			elseif pc.job == 3 then
				pc.give_item2( 11800 )
				pc.give_exp2( 250 )
			end	
			clear_letter()	
			set_state(__COMPLETE__)			
		end
	end
----------------------------------------------------------------------------------------------------------------	
----------------------ANZEIGE WENN MAN NOCHEINMAL DRAUFKICKT AUF DEM BUTTON	------------------------------------	
	state hunting_wolf begin
		when info or button begin
			setskin(SCROLL)
			setbgimage('level_bg.tga')
			addimage('20', '12', 'wolf.tga')
			setcolor('0', '0', '0')
			say("Töte Hungriger Wolf")
			say("Anzahl der Ziele: 5")
			say("Belohnung: 10% Erfahrung")
			if pc.job == 0 then
				say("Mönchsplattenpanzer+0")
			elseif pc.job == 1 then
				say("Azuranzug+0")
			elseif pc.job == 2 then
				say("Requiem-Plattenpanzer+0")
			elseif pc.job == 3 then
				say("Purpurkleidung+0")
			end
		end		
	
		when 102.kill begin
			local count = pc.getqf("state") + 1
			
			if count <= 5 then
				pc.setqf("state", count)
				q.set_counter("Wolf", 5 - count)


				if count == 5 then
					set_state(hunting_wolf2)

				end
			end
		end
	end
		
	state hunting_wolf2 begin
		when letter begin
			send_letter("Auftrag 2 abgeschlossen")
		end
		
		when button or info begin
			say_title("Auftrag 2 abgeschlossen")
			say("Ausgezeichnet, du hast den Auftrag erfolgreich")
			say("beendet.")
			if pc.job == 0 then
				pc.give_item2( 11200 )
				pc.give_exp2( 250 )
			elseif pc.job == 1 then
				pc.give_item2( 11400 )
				pc.give_exp2( 250 )
			elseif pc.job == 2 then
				pc.give_item2( 11600 )
				pc.give_exp2( 250 )
			elseif pc.job == 3 then
				pc.give_item2( 11800 )
				pc.give_exp2( 250 )
			end	
				clear_letter()	
				set_state(__COMPLETE__)			
		end
	end
----------------------------------------------------------------------------------------------------------------	
	state __COMPLETE__ begin
	end
end