[SERVICE] Die Questkontrolle

05/23/2011 18:04 j-mäx#2401
oO hört sich nach ne menge arbeit an:D und dabei nix falsch machen.:/

naya ich gebe mein bestes^^also ich habe verstanden worauf man hinaus wollte^^
z.B wie im Otm der teleporter in der mitte...der portet ein ja auch in sein reich zurück^^
aber danke dafür schonmal=)
05/23/2011 18:10 .Delta#2402
Quote:
Originally Posted by j-mäx View Post
oO hört sich nach ne menge arbeit an:D und dabei nix falsch machen.:/

naya ich gebe mein bestes^^also ich habe verstanden worauf man hinaus wollte^^
z.B wie im Otm der teleporter in der mitte...der portet ein ja auch in sein reich zurück^^
aber danke dafür schonmal=)
bitte

solltest du Probleme haben kannst du mir gerne deine teleporter quest posten/schicken, samt den Koords der neuen map, dem namen der neuen map und an welcher position diese in der Auswahl stehen soll.
05/23/2011 19:20 Retrograd#2403
kann mir pls jmd helfen
PHP Code:
quest forschung2 begin
    state start begin
        when login 
or levelup with pc.get_level() >= 94 begin
            set_state
(information)
        
end
    end
    
    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20091)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Seon-Pyeongs Forschung 2")
            
end
            send_letter
("Seon-Pyeongs Forschung 2")
        
end
        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung 2")
            
say("")
            
say("Seon-Pyeong sucht dich!")
            
say("Gehe zu ihm.")
            
say("Er sagte, er hat eine weitere Aufgabe für dich.")
            
say("")
        
end
        
        when __TARGET__
.target.click or
            
20091.chat."Juwel der Weisheit" begin
            target
.delete("__TARGET__")
            
say(""..mob_name(20091)..":")
            ---
            
say("Schön das duch gekommen bist. Dass du")
            
say("mir helfen willst freut micht. Diese")
            
say("Aufgabe wird schwieriger als die")
            
say("vorherige. Ich bin auf etwas gestoßen.")
            
say("Du hast doch bestimmt schon von der")
            
say("Grotte der Verbannung gehört, oder?")
            
wait()
            
say(""..mob_name(20091)..":")
            
say("Naja wenn nicht ist es auch nicht schlimm.")
            
say("Du wirst den Weg schon finden. Naja zurück")
            
say("zu deiner Aufgabe. Ich habe in meinen alten")
            
say("Büchern gelesen und etwas über ein Juwel ")
            
say("herausgefunden. Du kannst es von den")
            
say("Seatou-Bogenschützen und Kommandanten bekommen.")
            
say("")
            
wait()
            
say(""..mob_name(20091)..":")
            
say("Ich benötige 20 dieser Juwele um genauere Forschungen.")
            
say("anstellen zu können. Du hilfst mir wieder, oder?")
            
say("")
            
say("Ja! Das ist nett von dir, danke!")
            
say("")
            
set_state(go_to_gdv)
            
pc.setqf("duration",0)
            
pc.setqf("collect_count",0)
            
pc.setqf("drink_drug",0)
        
end
    end
    state go_to_gdv begin
        when letter begin
            send_letter
("Sammle die Juwelen")
        
end
        when button 
or info begin
            say_title
("Juwel der Weisheit")
            ---
            
say("")
            
say("Seon-Pyeong schickt mich die Juwelen aus der")
            
say("Grotte der Verbannung zu holen. Ich muss ihm")
            
say("20 dieser Juwelen besorgen.")
            
say("")
            
say_item_vnum(30252)
            
say_reward("Du hast".." "..pc.getqf("collect_count").." abgegeben")
            
say("")
        
end
        when 71035.
use begin
            
if get_time() < pc.getqf("duration"then
                say
("BLA BLA BLA")
                
retun
            end
            
if pc.getqf("drin_drug") == 1 then
                say
("BLUBB BLUBB")
                return
            
end
            
if pc.count_item(30252) == 0 then
                say
(""..mob_name(20091)..":")
                
say("Du musst mir schon ein Juwel mitbringen")
                
say("sonst kann ich es nicht untersuchen.")
                return
            
end
            
            item
.remove()
            
pc.setqf("drink_drug",1)
        
end
        
        when 2414.kill 
or
             
2412.kill begin
            local s 
number(1100)
            if 
<= and pc.count_item(30252) == 0 begin
                pc
.give_item2(302521)
            
end
        end
        
        when 20091.chat
."Juwel der Weisheit" with pc.count_item(30252) > 0 begin
            
if get_time() > pc.getqf("duration"then
            say
(""..mob_name(20091)..":")
            ---
            
say("Vielen Dank, danns du mir dieses")
            
say("Juwel mitgebracht hast. Ich werde mich jetzt")
            
say("hinsetzen und es untersuchen.")
            
say("")
            
pc.remove_item(302521)
            
pc.setqf("duration",get_time()+60*60*22)
            
wait()
            
            
local pass_percent
            
if pc.getqf("drink_drug")==0 then
                pass_percent
=60
            
else
                
pass_percent=90
            end
            
            local s 
number(1100)
            if 
<= pass_percent then
                
if pc.getqf("collect_count") < 19 then
                    locale index 
pc.getqf("collet_count")+1
                    pc
.setqf("collect_count",index)
                    
say(""..mob_name(20091)..":")
                    
say("Ich muss sagen, dass ist ein sehr schönes Juwel.")
                    
say("Du hast bis jetzt".." "..20-pc.getqf("collect_count").. "abgegeben.")
                    
say("Ich brauche noch ein paar mehr um meine Forschung zu beenden.")
                    
say("")
                    
pc.setqf("drink_drug",0)
                    return
                
end
                say
(""..mob_name(20091)..":")
                
say("Super! Du hast mir alle Juwelen gebracht, die ich")
                
say("für meine Forschungen benötigt habe. Du kannst dir")
                
say("bestimmt denken, was ich jetzt benötige.")
                
say("")
                
say("Nein kannst du nicht? Achso ja stimmt ich habe ja noch nie einen Seelenstein")
                
say("von dir verlangt. Ich brauche den Seelenstein des Drachen.")
                
say("")
                
pc.setqf("collect_count",0)
                
pc.setqf("drink_drug",0)
                
pc.setqf("duration",0)
                
set_state(key_item)
                return
            else
                
say(""..mob_name(20091)..":")
                
say("Es tut mir Leid, aber dieses Juwel ist")
                
say("nicht gut genug damit ich es untersuchen kann.")
                
say("")
                
pc.setqf("drink_drug",0)
                
retrun
            end
        
else
            
say(""..mob_name(20091)..":")
            
say("Die Untersuchungen des letzten Juwels sind noch nicht")
            
say("fertig. Konne später noch einmal vorbei.")
            
say("")
            return
        
end
    end
end
    state key_item begin
        when letter begin
            send_letter
("Seelenstein des Drachen")
            
            if 
pc.count_item(30228) > 0 then
                local v 
find_npc_by_vnum(20091)
                if 
!= 0 then
                    target
.viid("__TARGET__"v"Seon-Pyeongs Forschung 2")
                
end
            end
        end
        when button 
or info begin
            
if pc.count_item(30228) > 0 then
                say_title
("Juwel der Weißheit")
                
say("")
                ---
                
say("Seon-Pyeong hat eine Aufgabe ..")
                
say("Gehe zu ihm")
                
say("")
                return
            
end
            
            say_title
("Seelenstein des Drachen")
            
say("")
            ---
            
say("Nun, da du mir alle 20 Juwele der Weisheit")
            
say("gebracht hast benötige ich noch den Seelenstein")
            
say("des Drachen.")
            
say_item_vnum(30228)
            
say("Ein legendärer Stin der Armee von Beran-Setaou.")
            
say("")
        
end
        
        when 2493.kill 
or
             
2492.kill or
             
2491.kill begin
            local s 
number(1200)
            if 
== and pc.count_item(30228) == 0 then
                pc
.give_item(302281)
                
send_letter("Seelenstein des Drachen")
            
end
        end
        
        
        when __TARGET__
.target.click or
            
20091.chat."Seelenstein des Drachen" with pc.count_item(30228) > 0 begin
            target
.delete("__TARGET__")
            
say(""..mob_name(20091)..":")
            
say("Du hast die Aufgabe gut bemeistert. Ich gratuliere")
            
say("dir dazu. Um deine Belohnung zu bekommen musst du zu")
            
say("Baek-Go gehen.")
            
say("")
            
pc.remove_item(302281)
            
set_state(__reward)
        
end
    end
    
    state __reward begin
        when letter begin
            send_letter
("Gehe zu Baek-Go")
            
            
local v find_npc_by_vnum(20018)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Baek-Go")
            
end
        end
        
        when button 
or info begin
            say_title
("Der Weg zu der Belohnung")
            ---
            
say("Die Quest von Seon-Pyeong ist beendet. Du hast")
            
say("alle Juwelen zu ihm gebracht. Nun musst du nur noch")
            
say("zu Baek-Go gehen.")
            
say("")
        
end
        
        when __TARGET__
.target.click or
            
20018.chat."Belohnung" begin
            target
.delete("__TARGET__")
            
say(""..mob_name(20018)..":")
            
say("Nun ich habe gehört, dass du Seon-Pyeong")
            
say("bei seiner letzten Forschung geholfen hast.")
            
say("")
            
say("Das heißt, dass wir uns nicht mehr so schnell wieder sehen.")
            
say("")
            
say_reward("Auftrag erfolgreich beendet.")
            
say_reward("Du kannst nun zwischen den Belohnungen wählen")
            
            
local f select ("1100 TP""140 Verteidigung""60 Angriffswert")
            
            if 
3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
            elseif 
2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
            elseif 
1 then
                say_reward
("Du erhälst 1100 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
            
end
            
            clear_letter
()
            
set_state(__complete)
        
end
    end
    
    state __complete begin
    end
end 
der fehler kommt
Quote:
syntax error : [string "go_to_gdv"]:4: `=' expected near `end'
forschung_2.quest:92:Abort trap (core dumped)
Error occured on compile forschung_2,quest
05/23/2011 19:29 j-mäx#2404
Hier Delta=) danke das du so behilflich bist=)
also habs versucht nur komme mit der orientierung nicht dolle klar.xD

also die warp quest allgemein:

und hier die reihenfolge die eingefügt werden soll..
nehmen wir die maps der 1sten seite..(z.B otm etc.) die sollten bearbeitet werden^^
PHP Code:
No.1=Chillermap =Warp (568400 558200)
No.2=Handelsmap=Warp (777700 777700)
No.3=Pvpmap=warp (333300 333300)
No.4=Unterhaltungsmap=warp (444400 444400
Wenn du Noch was brauchst posten ich sage besscheidt^^
Mfg=)
05/23/2011 19:38 .ReDDoX™#2405
Quote:
Originally Posted by j-mäx View Post
Hier Delta=) danke das du so behilflich bist=)
also habs versucht nur komme mit der orientierung nicht dolle klar.xD

also die warp quest allgemein:

und hier die reihenfolge die eingefügt werden soll..
nehmen wir die maps der 1sten seite..(z.B otm etc.) die sollten bearbeitet werden^^
PHP Code:
No.1=Chillermap =Warp (568400 558200)
No.2=Handelsmap=Warp (777700 777700)
No.3=Pvpmap=warp (333300 333300)
No.4=Unterhaltungsmap=warp (444400 444400
Wenn du Noch was brauchst posten ich sage besscheidt^^
Mfg=)


Hey

Bin zwar nicht .Delta, habe aber trotzdem die Quest. :D
Hier:
05/23/2011 19:47 j-mäx#2406
ahhhh okay:D danke..

ich probiere die schonmal aus.=)
hast aber ein thx für deine arbeit=)
05/23/2011 21:19 Stell#2407
HTML Code:
----------------------------------------------------
--COLLECT QUEST_lv110
--METIN2 Collect Quest  
----------------------------------------------------
quest collect_quest_lv110  begin
    state start begin
        when login or levelup with pc . get_level ( ) >= 110 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 del Biologo")
            end
            send_letter("Le richieste del biologo")
        end

        when button or info begin
            say_title("Le richieste del biologo")
            say("Il biologo Chaegirab, l allievo di")
            say("Uriel, sta disperatamente cercando")
            say("il tuo aiuto. Corri ad")
            say("aiutarlo.")
            say("")
        end
        
        when __TARGET__.target.click or
            20084.chat."Le richieste del biologo" begin
            target.delete("__TARGET__")
            say_title("Biologo Chaegirab:")
            say("Oh!! Per favore aiutami. Sto") 
            say("raccogliendo informazioni circa i") 
            say("mostri del nostro regno, ma non") 
            say("posso occuparmene da solo.")
            say("Penso immaginerai che io, in")
            say("quanto semplice biologo, ho dei")
            say("problemi nel farlo. Per favore,")
            say("aiutami. Ovviamente riceverai una")
            say("ricompensa per l aiuto.")
            say("")
            wait() 
            say_title ( "Biologo Chaegirab:" ) 
            say("Al momento sto esaminando i" ) 
            say("cani selvaggi. Le perle") 
            say("rosse sono capaci di macinare") 
            say("il ferro. Ecco perche sono cosi")
            say("interessanti per me." )
            say("")
            wait()
            say_title("Biologo Chaegirab:")
            say("Potresti procurarmi qualche")
            say("perla? Ma mi servono delle")
            say("particolari perle. Portami una")
            say("perla rossi ogni ora")
            say("affinche possa esaminarle.")
            say("Buona fortuna!")
            say("")                                                                                                                                                              
            pc.setqf("duration",0)  
            pc.setqf("collect_count",0)
            pc.setqf("drink_drug",0) 
            set_state(go_to_disciple)
        end
    end

    state go_to_disciple begin
        when letter begin
            send_letter("Le perle rosse")            
        end
        when button or info begin
            say_title("Le perle rosse")
            say("Il biologo Chaegirab ha bisogno")
            say("delle perle rosse per le sue ricerche.")
            say("Portagliene sempre uno alla volta,")
            say("cosi da dargli il tempo di")
            say("esaminarle.")
            say("")
            say_item ( "Perla Rossa" , 11299 , "" ) 
            say_reward("Attualmente hai trovato"..pc.getqf("collect_count").."perle rosse.")
            say("")
        end
        
        when 101.kill begin
            local r = number ( 1 , 2)
            if r == 1 then
                pc . give_item2 ( 11299, 1 )
            end
        end
                        
        when 20084.chat."Hai una perla rossa?" with pc.count_item(30015) > 0 begin
            if get_time() > pc.getqf("duration") then
                say("Biologo Chaegirab:")
                say("Humm...")
                say("Mi hai portato una perla rossa,")
                say("fammela esaminare...")
                say("")
                pc.removeitem(30015, 1)
                pc.setqf("duration",get_time()+60*60) -- 1 ora.
                wait()
                
                local pass_percent=60
                local s= number(1,100)
                
                if s>= pass_percent  then
                   if pc.getqf("collect_count")< 50 then     
                        local index =pc.getqf("collect_count")+1 
                        pc.setqf("collect_count",index)     
                        say("Biologo Chaegirab:")
                        say("Grandioso!!!")
                        say("Questa perla rossa è adatta alle mie ricerche,")
                        say("devi portarmi solo altre" ..15-pc.getqf("collect_count").. " perle rosse!")
                        say("")
                        pc.setqf("drink_drug",0)     
                        return
                    end
                    say("Biologo Chaegirab:")
                    say("Grandissimo!!!")
                    say("Ho completato le mie ricerche!")
                    say("Come ricompensa ricevi:")
                    pc . give_exp2 ( 300000000 )
                    affect.add_collect(apply.ATT_GRADE_BONUS,,60*60*24*365*60)
                    affect.add_collect(apply.MAX_HP,7000,60*60*24*365*60)
                    say_reward ( " - 300.000.000 di exp[ENTER] - +120 di attacco permanente[ENTER] - +7.000 HP permanenti." )
                    pc.setqf("collect_count",0)
                    pc.setqf("drink_drug",0)    
                    pc.setqf("duration",0) 
                    set_state(__complete)
                else                                
                    say_title("Biologo Cheagirab:")
                    say("Questa perla rossa non è adatta alle")
                    say("mie ricerche.")
                    say("Potresti portarmene un'altra?")
                    say("")                   
                    pc.setqf("drink_drug",0)    
                end
            end
        end
    end
    state __complete begin
    end
end
05/23/2011 21:31 Retrograd#2408
what is the message?
05/24/2011 04:06 AtzeDamon#2409
Meine Sensi Quest :D


Quote:
quest Sensi_quest begin
state start begin
when login with pc.level >= 50 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Ein SSP+9 bekommen?")
end

when info or button begin
say_titel("Ein SSP+9 bekommen?")
say("Hallo liebe Spieler,")
say("")
say("habt ihr bock ein SSP+9 zu bekommen?")
say("Dann töte 1.Sensenman")
say("und du erhälst dann dein Item.")
say_reward("Töte den Sensenman")
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("Ein SSP+9 bekommen?")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward("System.Windows.Forms.TextBox, Text: !")
say_reward("Außerdem:")
say_reward("1000000 Yang")
say_reward("100000 Erfahrung")
pc.change_money(1000000)
pc.give_exp2(100000)
pc.give_item2(11299, 1)
clear_letter()
set_state(__COMPLETE__)

end
end
end

state __COMPLETE__ begin
end
end
05/24/2011 06:33 Retrograd#2410
versuch mal so
PHP Code:
quest sensi begin
    state start begin
        when login 
or levelup with pc.get_level() >= 50 begin
            set_state
(information)
        
end
    end
    
    state information begin
        when letter begin
            send_letter
("Eine 70er Rüstung deiner Klasse bekommen?")
        
end
        when info 
or button begin
            say_title
("Eine 70er Rüstung deiner Klasse bekommen?")
            
say("Hallo liebe Spieler,")
            
say("")
            
say("habt ihr bock eine 70er Rüstung deiner Klasse zu bekommen?")
            
say("Dann töte 1.Sensenman")
            
say("und du erhälst dann dein Item.")
            
say_reward("Töte den Sensenman")
            
say("")
            
pc.setqf("state",1)
            
q.set_counter("sensi",1)
        
end
        when 1093.kill begin
            local count 
pc.getqf("state") - 1
                
if count == 0 then
                    say_title
("Eine 70er Rüstung deiner Klasse bekommen?")
                    
say("Du hast die Quest erfolgreich abgeschlossen!")
                    
say("Du erhälst:")
                    
say_reward("System.Windows.Forms.TextBox, Text: !")
                    
say_reward("Außerdem:")
                    
say_reward("1000000 Yang")
                    
say_reward("100000 Erfahrung")
                    
pc.change_money(1000000)
                    
pc.give_exp2(100000)
                    
pc.give_item2(112991)
                        if 
pc.get_job() == 0 then
                            pc
.give_item2(112991)
                        elseif 
pc.get_job() == 1 then
                            pc
.give_item2(114991)
                        elseif 
pc.get_job() == 2 then
                            pc
.give_item2(116991)
                        elseif 
pc.get_job() == 3 then
                            pc
.give_item2(118991)
                        
end
                    clear_letter
()

                        
set_state(__COMPLETE__)
                
end
        end
    end
    state __COMPLETE__ begin
    end
end 
habe grad kein server muss jetzt in die schule deswegen konnte ich es noch nicht testen
05/24/2011 08:54 .Delta#2411
nur wird der sensi kill denke ich nicht funktionieren?
Wie oft hatten wir das Thema jetzt? Unzählige Male...
Der .kill Befehl für den Mob 093 ( Sensi ) ist im DT dauerhaft aktiv!
Von daher geht er in keiner anderen Quest mit dem Mob.
05/24/2011 09:46 AtzeDamon#2412
Ach so aber dann könnte ich den Blauen Tot anstatt den Sensi benutzen :?
05/24/2011 09:52 .Delta#2413
Quote:
Originally Posted by AtzeDamon View Post
Ach so aber dann könnte ich den Blauen Tot anstatt den Sensi benutzen :?
das wäre evtl möglich unter einigen Vorraussetzungen:
1. du hast deinen Run nur bis zum Sensi
falls nicht
kannst du die BT-Run Quest ( also im Prinzip der dt run) so abändern, dass nach dem BT-Kill NICHTS passiert. Also auch kein Tele spawnt usw.
05/24/2011 15:27 AtzeDamon#2414
hmm.. irgendwas stimmt nicht
Quote:
quest lian begin
state start begin
when login or levelup with pc.get_level() >= 50 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Toete Li-An!")
end
when info or button begin
say_title("Toete Li-An")
say("Hallo liebe metin Spieler,")
say("")
say("habt ihr lust euch das leveln einbisschen einfacher zu gestalten?")
say("Dann toetet 1.Li-An und ihr erhählt eine Menge Exp")
say("Aber seit gewarnt Li-An ist sehr stark kommt, und aus der Hölle.")
say("Hae-Tae gibt es nur in Map1 sie rennen durch ganz Map 1 herrum!!!")
say_reward("Toete Li-An)
pc.setqf("state",1)
q.set_counter("Li-An",1)
end
when 155.kill begin
local count = pc.getqf("state") - 1
if count == 0 then
say_title("Toete Li-An")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward("Du erhählst Exp und Yang")
say_reward("Außerdem:")
say_reward("100000000 Yang")
say_reward("1000000 Erfahrung")
pc.change_money(10000000)
pc.give_exp2(1000000)
end
clear_letter()

set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
05/24/2011 15:30 .Delta#2415
PHP Code:
quest lian begin
    state start begin
        when login 
or levelup with pc.get_level() >= 50 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("Toete Li-An!")
        
end
        when info 
or button begin
            say_title
("Toete Li-An")
            
say("Hallo liebe metin Spieler,")
            
say("")
            
say("habt ihr lust euch das leveln einbisschen einfacher zu gestalten?")
            
say("Dann toetet 1.Li-An und ihr erhählt eine Menge Exp")
            
say("Aber seit gewarnt Li-An ist sehr stark kommt, und aus der Hölle.")
            
say("Hae-Tae gibt es nur in Map1 sie rennen durch ganz Map 1 herrum!!!")
            
say_reward("Toete Li-An")
        
end
        when 155.kill begin
            say_title
("Toete Li-An")
            
say("Du hast die Quest erfolgreich abgeschlossen!")
            
say("Du erhälst:")
            
say_reward("Du erhählst Exp und Yang")
            
say_reward("Außerdem:")
            
say_reward("100000000 Yang")
            
say_reward("1000000 Erfahrung")
            
pc.change_money(10000000)
            
pc.give_exp2(1000000)
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end