[SERVICE] Die Questkontrolle

10/01/2010 20:49 CoreDump#571
syntax error heißt du hast was falsches geschrieben. der buchstabe bzw Zahl bei der klammer kann nicht gelesen werden(Zeile 14)

zeile 6 kann auch dort nicht gelesen werden. buchstabe bei 'Riesen'

die syntax error sind wenigstens noch die leichtesten
10/02/2010 11:48 [PixeL]#572
Hätte mal eine Frage,
gibt es einen Questbefehl mit dem man sich buffen kann?
zB. pc.give_sk oder soetwas?

Gruß
10/02/2010 14:04 CoreDump#573
nein ich glaube sowas ist nicht möglich

questfunctions:
10/03/2010 09:17 BL00DSTYL3#574
hi, habe das Problem (profizocker94 sf) das wenn ich den weisen mann geh und da "Drachen Tal" gehe macht er nichts helft mir bitte

hier einmal das was bei Filezilla ist ! :::

gm.start.1.arg

"Drachen Tal"


gm.start.1.script


start start begin
when 20095.use begin
say_title ( "Seon-Hae:" )
say ( "" )
say ( "Der Ort ist sehr gefährlich," )
say ( "Und alle 20min kommt da ein Roter Drache" )
say ( "Von dem man wertvolles droppen kann" )
say ( "Wenn du dahin möchtest pass auf." )
say ( "" )
say_title ( "Moechtest du dort hin?" )
local S = select("Ja", "Nein")
if S == 1 then pc.warp(832, 0)
if S == 2 then end
end
end
end

gm.start.1.when



start start begin
when 20095.use begin
say_title ( "Seon-Hae:" )
say ( "" )
say ( "Der Ort ist sehr gefährlich," )
say ( "Und alle 20min kommt da ein Roter Drache" )
say ( "Von dem man wertvolles droppen kann" )
say ( "Wenn du dahin möchtest pass auf." )
say ( "" )
say_title ( "Moechtest du dort hin?" )
local S = select("Ja", "Nein")
if S == 1 then pc.warp(832, 0)
if S == 2 then end
end
end
end
10/03/2010 12:29 CoreDump#575
der nächste der nicht lesen kann
ich helfe nur wenn:
------------------
PHP Code:
PHP-Code mit Zeilenumbrüche
ganze quest
fehlermeldung 
------------------
und wenn
du jetzt nochmal die richtige quest reinstellst würde es mich freuen wenn du dafür keinen neuen post machst, sondern editierst

Ich hab den fehler sogar schon
aber wenn du die quest noch richtig reinstellst sag ich ihn dir^^
ein thread braucht seine ordnung. hier wird nicht alles nur reingefetzt, nicht bei mir^^
10/04/2010 15:51 imaktor#576
Was is an dem quest falsch??
VPC zeigt mir an das was in line 11 nicht stimmt aber was.

PHP Code:
quest SensenMann begin
    state start begin
        when login with pc
.level >= 1 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("SensenMann")
        
end

        when info 
or button begin
            say_titel
("SensenMann")
     
say("Der Sensenmann bedroht schon lange unser Dorf!")
     
say("Manchmal kommt er einfach und raubt all unsere Schätze!")
     
say("Bitte Töte dieses Ungeheuer für uns!")
     
say("Zurzeit hält es sich im Dämonenturm auf der 7. Ebenen auf!")
     
say("Nimm alles an dich was er besitzt!")
     
say("Er stahl uns 3 sehr wertvolle Perlen!")
     
say("Wenn du ihn tötest gehören sie dir!")
            
say_reward("Töte Den Sensenmann")
            
say("")
            
pc.setqf("state", )
            
q.set_counter("", )
        
end

        when 
.kill begin
            local count 
pc.getqf("state") - 1
            
if count <=  then
                pc
.setqf("state"count)
                
q.set_counter(""count)
            
end
            
if count == 0 then
                say_title
("SensenMann")
                
say("Du hast den Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("System.Windows.Forms.TextBox, WeißePerle:  !")
                
say_reward("System.Windows.Forms.TextBox, BlauePerle:  !")
                
say_reward("System.Windows.Forms.TextBox, BlutrotePerle:  !")
                
say_reward("System.Windows.Forms.TextBox, Antikes Schwert:  !")
                
say_reward("Außerdem:")
                
say_reward("10000000 Yang")
                
say_reward("0 Erfahrung")
                
pc.change_money(10000000)
                
pc.give_exp2(0)
                
pc.give_item2(279921)
                
pc.give_item2(279931)
                
pc.give_item2(279941)
                
pc.give_item2(1091)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
10/04/2010 18:18 CoreDump#577
OMG!

was schreibst du da überhaupt rein?
sieht mir nach keine ahnung aus

und überall wo du die anzahl vergessen hast und .kill
hast du schon jemals eine quest geschrieben??

PHP Code:
quest SensenMann begin
    state start begin
        when login with pc
.level >= 1 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("SensenMann")
        
end

        when info 
or button begin
            say_titel
("SensenMann")
            
say("Der Sensenmann bedroht schon lange unser Dorf!")
            
say("Manchmal kommt er einfach und raubt all unsere Schätze!")
            
say("Bitte Töte dieses Ungeheuer für uns!")
            
say("Zurzeit hält es sich im Dämonenturm auf der 7. Ebenen auf!")
            
say("Nimm alles an dich was er besitzt!")
            
say("Er stahl uns 3 sehr wertvolle Perlen!")
            
say("Wenn du ihn tötest gehören sie dir!")
            
say_reward("Töte Den Sensenmann")
            
say("")
            
pc.setqf("state"0)
            
q.set_counter("-mob-",-Anzahl-)
        
end

        when 
-mob_ID-.kill begin
            local count 
pc.getqf("state") - 1
            
if count <=-Anzahl-  then
                pc
.setqf("state"count)
                
q.set_counter("-mob-"count)
            
end
            
if count == 0 then
                say_title
("SensenMann")
                
say("Du hast den Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("WeißePerle")
                
say_reward("BlauePerle")
                
say_reward("Blutrote Perle")
                
say_reward("Antikes Schwert")
                
say_reward("Außerdem:")
                
say_reward("10000000 Yang")
                
pc.change_money(10000000)
                
pc.give_item2(279921)
                
pc.give_item2(279931)
                
pc.give_item2(279941)
                
pc.give_item2(1091)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
und wenn du keine exp vergeben willst dann lass pc.give_exp2 weg

da war so viel falsch ich weiß garnicht obs jetz überhaupt richtig ist

PS: die fehlermeldung sollst du 1:1 von VPC ins forum posten!
10/04/2010 18:45 Daidalos#578
Ich mach's mal ziemlich direkt.
Brauche 'ne Quest, die alle 10 Minuten schreibt, dass man sich in der Beta-Phase befindet und diese Accounts nach dieser Phase gelöscht werden.
Auslöser sollte eigentlich sein, dass ein GM sich einloggt.
Klappt aber irgendwie nicht.
Bitte um Hilfe, ist ziemlich dringend. :o
Hier die Quest-Datei (betaletter.quest)
PHP Code:
quest betaletter begin
    state start begin
        when login with pc
.is_gm() begin
            notice_all
("".. pc.get_name() .." ist online.")
            
timer("nachricht"10)
        
end
        when nachricht
.timer begin
            notice_all
("Herzlich Willkommen zur Beta-Phase von InfinityMt2.")
            
timer("nachricht2"60*10)
        
end
        when nachricht2
.timer begin
            notice_all
("Bitte beachtet, dass nach der Beta-Phase alle Accounts gelöscht werden.")
            
timer ("nachricht"60*10)
        
end
    end
end 
10/04/2010 18:54 CoreDump#579
du willst eine quest die alle accounts löscht?
was für eine beta phase?
wozu soll das gut sein??
10/04/2010 19:40 Benhero#580
es klappt nicht WEIL!
der GM account IMMER auf der Gleichen map bleiben muss. ansonsten wird der Aktulle timer Abgebrochen! ;)

Greatz Benhero
10/04/2010 19:40 Daidalos#581
Nein. xD

Nur 'ne Notiz im Chat, die alle 10 Minuten kommt.
In dieser Notiz steht halt, dass die Accs nach der Phase gelöscht werden.
(Die dauert halt ne Woche oder so)
Hab mich wahrscheinlich falsch ausgedrückt, sorry. xD

Edit:
Quote:
Originally Posted by Benhero View Post
es klappt nicht WEIL!
der GM account IMMER auf der Gleichen map bleiben muss. ansonsten wird der Aktulle timer Abgebrochen! ;)

Greatz Benhero
Ja, aber irgendwas ist wohl am Anfang schon falsch.
Denn die Nachricht "xyz ist online." erscheint auch nicht.. (kp wieso oO)
10/04/2010 19:58 Benhero#582
also ich sehe da nix falsches teste ma so...
PHP Code:
quest betaletter begin
    state start begin
        when login with pc
.is_gm() begin
            notice_all
(pc.get_name().. " ist online.")
            
timer("nachricht"10)
        
end
        when nachricht
.timer begin
            notice_all
("Herzlich Willkommen zur Beta-Phase von InfinityMt2.")
            
timer("nachricht2"60*10)
        
end
        when nachricht2
.timer begin
            notice_all
("Bitte beachtet, dass nach der Beta-Phase alle Accounts gelöscht werden.")
            
timer ("nachricht"60*10)
        
end
    end
end 
10/04/2010 22:48 CoreDump#583
PHP Code:
(""..pc.get_name().." ist online."
so sollte es eig sein.
man muss das in " angeben sonst haut dir das die quest zusammen
10/04/2010 23:20 Benhero#584
Nein macht sie nicht.. ich arbeite auch ohne ("".. davor! Und das bis dato Ohne jegliche Probleme..

Greatz Benhero
10/05/2010 17:59 .Alessa#585
Wenn er alle 10 Minuten das abspielen soll, würde ich es eher so machen:

PHP Code:
quest betaletter begin
    state start begin
        when login with pc
.is_gm() begin
            notice_all
(pc.get_name().. " ist online.")
            
timer("nachricht"10)
        
end
        when nachricht
.timer begin
            notice_all
("Herzlich Willkommen zur Beta-Phase von InfinityMt2.")
            
timer("nachricht2"60*10)
            
clear_server_timer('nachricht'get_server_timer_arg())
        
end
        when nachricht2
.timer begin
            notice_all
("Bitte beachtet, dass nach der Beta-Phase alle Accounts gelöscht werden.")
            
timer ("nachricht"60*10)
            
clear_server_timer('nachricht2'get_server_timer_arg())
        
end
    end
end 
Wobei ich im Allgemeinen eher anders vorgehen würde.


PHP Code:
quest betaletter begin
    state start begin
        when login with pc
.is_gm() begin
            notice_all
(pc.get_name().. " ist online.")
            
server_loop_timer("nachricht"10)
        
end
        when nachricht
.timer begin
            notice_all
("Herzlich Willkommen zur Beta-Phase von InfinityMt2.")
            
notice_all("Bitte beachtet, dass nach der Beta-Phase alle Accounts gelöscht werden.")
        
end
    end
end 

Die zweite Variante habe ich aber noch nicht ausprobiert^^ Ich hoffe mal, dass die so funktioniert. Aber ich kenne das Problem und habe mal früher so eine ähnliche Quest aufgebaut, mit der Variante 1 hat sie funktioniert.