[SERVICE] Die Questkontrolle

06/01/2011 22:49 Bam-Bam#2461
Quote:
@Bam-Bam

PHP-Code:
quest Tausch begin
state start begin
when 20011.chat."Waffen Kiste Tauschen" begin
say_title("Uriel")
say("")
say("So So du willst also deine Waffen Kiste")
say("gegen eine Waffe von mir tauschen ")
say("Aber sei Gewahrnt,")
say("In den Kisten ist mehr drin als ich anbiete!")
if pc.count_item(50112) >= 1
local s = select("Tausch gegen Schlachtschwert+0", "Tausch gegen Erxorzissmusschwert+0", "Tausch gegen Magnetische Klinge+0", "Tausch gegen Partisane+0", "Donnervogelglocke+0", "Drachenmesser+0", "Großgelbdrachenbogen+0", "Erlösungsfächer", " Bye Bye")

if s == 1 then
pc.remove_item(50112,1)
pc.give_item2(140,1)
end

if s == 2 then
pc.remove_item(50112,1)
pc.give_item2(240,1)
end


if s == 3 then
pc.remove_item(50112,1)
pc.give_item2(3140,1)
end


if s == 4 then
pc.remove_item(50112,1)
pc.give_item2(3130,1)
end


if s == 5 then
pc.remove_item(50112,1)
pc.give_item2(5000,1)
end


if s == 6 then
pc.remove_item(50112,1)
pc.give_item2(1100,1)
end


if s == 7 then
pc.remove_item(50112,1)
pc.give_item2(2140,1)
end


if s == 8 then
pc.remove_item(50112,1)
pc.give_item2(7140,1)
end


if s == 9 then
return
end
else
wait(2)
say("Du hast keine Waffen Kiste?, komme wieder")
say("wenn du eine besitzt!")
say_reward("Die Kiste droppste im sd2!!")
end
end
end
end

villt gehts, weiß nicht genau >.<
Leider nicht
06/01/2011 23:35 .ReDDoX™#2462
Quote:
Originally Posted by Bam-Bam View Post
Leider nicht

Hey

Hier die Quest:
06/02/2011 05:10 45myself45#2463
Heyho
wäre nett wenn ihr mal eventuel meine reichsteleporter quest durchguckt und schaut was flasch ist
06/02/2011 10:07 .Delta#2464
PHP Code:
quest reichstele begin
    state start begin
        when 20083.chat
."Blaues Reich" begin
            say_reward
("Willst du ins Blaue Reich reisen")
            
local s=select("Ja","Nein")
            if 
== 2 then
                say_title
("Reichsteleporter:")
                
say("Ok dann lauf halt")
                return
            else
                if 
pc.get_level() < 11 then
                    say_title
("Reichsteleporter:")
                    
say("Du bist noch kein level 11")
                    return
                
end   
                say_title
("Teleport")
                
say("Ich schicke dich nun ins Blaue Reich")
                
say_reward("Du wirst nun teleportiert")
                
pc.warp(960100268700)
            
end       
        end    
        when 20083.chat
."Rotes Reich" begin
            say_reward
("Willst du ins Rote Reich reisen")
            
local s=select("Ja","Nein")
            if 
== 2 then
                say_title
("Reichsteleporter:")
                
say("Ok dann lauf halt")
            else
                if 
pc.get_level() < 11 then
                    say_title
("Reichsteleporter:")
                    
say("Du bist noch kein level 11")
                    return
                
end  
                say_title
("Teleport")
                
say("Ich schicke dich nun ins Rote Reich")
                
say_reward("Du wirst nun teleportiert")
                
pc.warp(474200954400)
            
end               
        end    
        when 20083.chat
."Gelbes Reich" begin
            say_reward
("Willst du ins Gelbe Reich reisen")
            
local s=select("Ja","Nein")
            if 
== 2 then
                say_title
("Reichsteleporter:")
                
say("Ok dann lauf halt")
            else
                if 
pc.get_level() < 11 then
                    say_title
("Reichsteleporter:")
                    
say("Du bist noch kein level 11")
                    return
                
end    
                say_title
("Teleport")
                
say("Ich schicke dich nun ins Gelbe Reich")
                
say_reward("Du wirst nun teleportiert")
                
pc.warp(63200166100)
            
end                   
        end    
    end
end 
06/02/2011 11:56 .Risan.#2465
Habe auch ein Problem.

PHP Code:
quest test begin
state start begin 
when 9010.chat
."Sprechen" then --
say("Hi wie gehts")
end
end
end 
Funktioniert nicht :(
06/02/2011 16:11 Endless.#2466
Risan, mach das "then" zu einem "begin" dann klappts :D
06/02/2011 16:13 .Delta#2467
Quote:
Originally Posted by Endless. View Post
Risan, mach das "then" zu einem "begin" dann klappts :D
Das weiß er doch :D

Ich denke er wollte mich nur ärgern, hat mich dann ja auch in skype angeschrieben :D
06/02/2011 17:27 Endless.#2468
Delta, hab da was für dich :P.. ich hab nen Problem mit dieser Quest hier^^

Ich bekomme nichtmal diese Rolle da^^

Und ich will nicht wissen..was da noch alles kaputt ist:S

Kanns du mir da bitte helfen?:D

PHP Code:

quest special_grade begin
    state start begin
        when login 
or levelup with pc.get_level() >= 50 begin
            set_state
(infor)
        
end
    end
    state infor begin
        when letter begin
            send_letter 
("Antike Gegenstände")
        
end
        when button 
or info begin
            say_title 
(""..pc.get_name()..": ")
            
say ("Ich sah letztens bei einem Streit zu..")
            
say ("Es ging um einen Ring oder eine Andere Art von")
            
say ("Schmuck der ursprünglich von der < Levelzeug > ")
            
say ("Händlerin stammt.")
            
say ("Ich sollte mich besser auf dem Weg dort hin machen und")
            
say ("ihr helfen.")
            
say ("")
            
say_reward ("Begib dich zur Levelzeug Händlerin.")
            
set_state(schmuck)
        
end
    end
    state schmuck begin
        when 9010.chat
."Antike Gegenstände" begin
            say 
("Guten Tag "..pc.get_name().." ")
            
say ("Du hast wohl mitbekommen, das mein ")
            
say ("Ring mit Diamant und Kristall gestohlen")
            
say ("wurde. Der Dieb kann leider überall sein")
            
say ("aber in Map2 beim Brutalen Hauptmann habe ich")
            
say ("eine handfeste Spur. Bitte sieh nach ob du dort")
            
say ("etwas findest. Der Ring wird wohl als erstes zu ")
            
say ("finden sein.")
            
set_state(ring)
        
end
    end
    state ring begin
        when 591.kill begin
            say_title 
(""..pc.get_name()..":")
            
say ("Ich habe den Ring von der Händlerin erhalten.")
            
say ("Die Spuren auf dem Ring sehen stark dannach aus")
            
say ("als ob die Kerben mit Gewalt geöffnet wurden.")
            
say ("In der 1. Kerbe sind Sandkörner und Staub drin..")
            
say ("Ich sollte der Spur bis zur Wüste verfolgen.")
            
say ("Die 1. Kerbung sieht aus als ob da ein Diamant")
            
say ("reinpassen würde.")
            
say ("")
            
say_reward ("Töte eine Babyspinne in der Wüste")
            
pc.give_item2(70016)
            
set_state(dia)
        
end
    end
    state dia begin
        when 2001.kill with pc
.count_item(70016) >= 1 begin
            say_title 
(""..pc.get_name()..":")
            
say ("Ein sehr sauberer und glänzender Diamant")
            
say ("Der passt genau in diese Kerbe rein.")
            
say ("Trotz dieser Hitze in dieser Wüste, fühlt")
            
say ("sich dieser Diamant sehr kalt an, als wäre ")
            
say ("er ne Weile im Eis gelegen..und tiefgefroren")
            
say ("Diese Spur bringt mich wiederrum auf dem Weg")
            
say ("ins Eisland, dennoch bin ich mir nicht sicher.")
            
say ("Ich schaue mich dortmal genauer um.")
            
say ("")
            
say_reward ("Begib dich ins Eisland und töte ein Eisgolem")
            
pc.give_item2(50621)
            
set_state(kristall)
        
end
    end
    state kristall begin
        when 1137.kill begin
            say_title 
(""..pc.get_name()..":")
            
say ("Hm.. sieht stark so aus als ob dieser Kristall")
            
say ("gesplittert wurde, dabei sieht der vom Glanz und")
            
say ("der Farbe her genau so aus wie der zum Teleportieren.")
            
say ("Der Kristall hier ist leider beschädigt und nichts mehr wert.")
            
say ("Doch so kann ich den Ring nicht zurück geben, ich werde dieses")
            
say ("Stück versuchen reparieren zu lassen, dafür müsste ich allerdings")
            
say ("weitere 100 Kristalle bringen. Ich muss Den Holzfäller in Map2")
            
say ("mal fragen.")
            
say ("")
            
say_reward ("Geh ins 2. Dorf zu Deoke-Ba den Holzfäller.")
            
say_reward ("Er wird dir da weiterhelfen können.")
            
set_state(holz)
        
end
    end
    state holz begin
        when 20015.chat
."Die Kristallsplitter" begin
            say_title 
("Holzfäller:")
            
say ("Ahh Hallo "..pc.get_name()..",")
            
say ("wie ich sehe benötigst du weitere")
            
say ("Kristallstücke im den zerbrochenen Kristall")
            
say ("wieder zu reparieren.")
            
say ("Am besten suchst du eine Kristall Ader,")
            
say ("die du mit einer Spitzhacke bearbeitest.")
            
say ("Ich verkaufe Spitzhacken, arbeiten musst du")
            
say ("aber selbst. ")
            
say ("")
            
say_reward ("Suche im Tempel oder Gildenzone nach")
            
say_reward ("einer Kristall Ader und baue mind. 100 Stück ab")
            
say ("")
            
say ("Wenn du 100 Kristallerze hast, gehst du zu Seon Pyeong.")
            
say ("Er macht dir den Kristall wieder ganz.")
            
set_state(ader)
        
end
    end
    state ader begin
        when 20091.chat
."Schmuck Reperatur" with pc.count_item(50611) >= 100 and pc.count_item(30204) >= 1 begin
            say_title 
("Seon Pyeong:")
            
say ("Guten Tag, "..pc.get_name()..".")
            
say ("Du bringst mir also einen kaputten Kristall")
            
say ("Hm.. ich werde mal versuchen den wieder zu reparieren.")
            
say ("Einen Moment!........")
            
say ("")
            
say ("")
            
say ("Sooo hier ist er!")
            
wait()
            
say_title (""..pc.get_name()..":")
            
say ("Soo ich habe die 2 wichtigsten Schmuck Dekos.")
            
say ("Nun muss ich die 2 Sachen verschmelzen und sie")
            
say ("und sie dann zu einem Schmuckstück machen.")
            
say ("Ich zünde schonmal ein Lagerfeuer.")
            
say ("")
            
say_reward ("Geh zum Fischer und mach ein Lagerfeuer")
            
pc.give_item2(50631)
            
pc.remove_item(50611100)
            
pc.remove_item(30204)
            
set_state(fire)
        
end
    end
    state fire begin
        when 12000.chat
."Verschmelzung" with pc.count_item(50631) >= and pc.count_item(50621) >= 1 begin
            say_title 
(""..pc.get_name()..":")
            
say ("Soo, das wars.. nur noch die Verbesserung")
            
say ("Bei Seon Pyeong durchführen und den Ring so")
            
say ("zurückgeben.")
            
say ("")
            
say_reward ("Verbessere das Armband bei Seon Psyeong.")
            
say_reward ("Das Verfahren ist ein Uppverfahren mit 100%")
            
pc.give_item2(30141)
            
pc.remove_item(50631)
            
pc.remove_item(50621)
            
set_state(back)
        
end
    end
    state back begin
        when 9010.chat
."Der Ring" with pc.count_item(30101) >= 1 begin
            say_title 
("Levelzeug Händlerin:")
            
say ("Ohh mein Gott!! Vielen Dank!")
            
say ("Du hast mein Ring wieder gefunden")
            
say ("ich habe diesen als Hochzeitsgeschenk von meinem")
            
say ("Mann bekommen.")
            
say ("Naja ist auch unwichtig.")
            
say ("Hier ist deine Belohnung")
            
wait()
            
say_title ("..pc.get_name().."'s Belohnung:")
            say ("")
            say_reward ("Angriffswert+ 100 ")
            say_reward ("Vertdeidigung+ 100 ")
            say_reward ("Zaubergeschwindigkeit+ 25%")
            say_reward ("Angriffsgeschwindigkeit+ 15%")
            say_reward ("Stark gegen Monster+ 10%")
            say_reward ("25.000.000 Yang ")
            say_reward ("5.000.000 EXP")
            affect.add_collect(apply.53,100,60*60*24*365*4)
            affect.add_collect(apply.7,15,60*60*24*365*4)
            affect.add_collect(apply.9,25,60*60*24*365*4)
            affect.add_collect(apply.65,100,60*60*24*365*4)
            affect.add_collect(apply.63,10,60*60*24*365*4)
            pc.change_gold(25000000)
            pc.give_exp2(5000000)
            pc.remove_item(30101)
            clear_letter()
            set_state(ende)
        end
    end
    state ende begin
end 
gibt riesen Thanks:P

Gruß, Endless;)
06/02/2011 17:37 .Delta#2469
In Zeile 156 Fehlt dir vorne ein Anführungszeichen ( Du hast ", muss aber "" sein ^^)

Und du musst soweit ich weiß auch die bonus NAMEN hinschreiben, nicht die Nummer.
Die Namen findest du entweder in navicat, Bonus tabelle. oder in der questlib.lua
Und ganz am ende fehlt dir noch ein end^^
06/02/2011 17:40 .Risan.#2470
Seh auf anhieb keinen fehler, was genau bekommste nicht bzw. welches state?
06/02/2011 17:42 Endless.#2471
Also die Questrolle erscheint bei mir nicht :D der Anfang.. state infor...
habe dabei /reload q und reboots gemacht :(


€: Danke Delta :D

PHP Code:
            say_title (""..pc.get_name().."'s Belohnung:")
            
say ("")
            
say_reward ("Angriffswert+ 100 ")
            
say_reward ("Vertdeidigung+ 100 ")
            
say_reward ("Zaubergeschwindigkeit+ 25%")
            
say_reward ("Angriffsgeschwindigkeit+ 15%")
            
say_reward ("Stark gegen Monster+ 10%")
            
say_reward ("25.000.000 Yang ")
            
say_reward ("5.000.000 EXP")
            
affect.add_collect(apply.ATT_SPEED,15,60*60*24*365*4)
            
affect.add_collect(apply.CAST_SPEED,25,60*60*24*365*4)
            
affect.add_collect(apply.ATT_GRADE_BONUS,120,60*60*24*365*4)
            
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60*24*365*4)
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*60*24*365*4)
            
pc.change_gold(25000000)
            
pc.give_exp2(5000000)
            
pc.remove_item(30101)
            
clear_letter()
            
set_state(ende)
        
end
    end
    state ende begin
    end
end 
Stimmt das so?^^
06/03/2011 18:35 j-mäx#2472
Soo meine Lieben Quester.:D
habe ein Spezielles prob. und zwar beendet sich es nicht wenn der Auftrag abgeschlossen ist.. das heißt man macht rlg und da steht wieder auftrag abgeschlossen und man bekommt wieder die belohnung..oO

06/03/2011 18:38 .Delta#2473
nur mal ein ausschnitt:
Du musst den state natürlich auch wechseln ;)
PHP Code:
        when info or button begin
            say_title
("Aufgabe abgeschlossen!")
            
say("Hier ist deine Belohnung:")
            
locale a select("Schwartzstahl Panzer""Schwarzwindanzug""Magie-Plattenpanzer""Schwarze Kleidung")
        if 
a==1 then
            pc
.give_item2(11290)
        elseif 
a==2 then
            pc
.give_item2(11490)
        elseif 
a==3 then
            pc
.give_item2(11690)
        elseif 
a==4 then
            pc
.give_item2(11890)                
            
say("Vielen Dank für deine Hilfe!")
            
end
            set_state
(ende)
        
end
    end 
06/03/2011 18:39 j-mäx#2474
EDIT: Fazit Abort trap core dumped i.was mit near 'a'..

PHP Code:
quest ruestungssp begin
    state start begin
        when login 
or levelup with pc.level >= 55 and pc.level <= 70 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("66er Rüstung!")
        
end

        when info 
or button begin
        say_title
("66er Rüstung")
        
say("")
        
say("Hey,")
        
say("Wenn du meinen Auftrag annimmst,")
        
say("und du es schaffst.")
        
say("bekommste eine 66er Rüstung")
        
say_title("Willst du den Autrag annehmen?")
        
say("Du musst nur 3 Tausendkämpfer")
        
say("töten!")
        
local s select("Ich will den Auftrag""Nein, keine Lust!")
        if 
== 2 then
                    say
("Gut, dein Pech!!!")
                    
clear_letter()
                    
set_state (ende)
        else
            
say_title("Töte Tausendkämpfer!")
            
say("Ich habe eine Aufgabe für dich!")
            
say("Gehe in das Lans der Riesen und töte dort")
            
say("3 Tausendkämpfer!")
            
say("")
            
pc.setqf("state5"0)
            
q.set_counter("Tausendkämpfer"3)
            
set_state(kill)
            
end
        end
    end
    
    state kill begin
        when letter begin
            send_letter
("Tausendkämpfer Status")
        
end
    
        when info 
or button begin
            say_title
("Kill Status:")
            
say_reward("Du hast schon "..pc.getqf("state5").."/3 Tausendkämpfer getötet")
        
end 
        when 1403.kill begin
            local count3 
pc.getqf("state5") + 1
            
if count3 <= 3 then
                pc
.setqf("state5"count3)
                
q.set_counter("Tausendkämpfer"count3)
            
end
            
if pc.getqf("state5") >= 3 then
                    set_state
(finish)
            
end
        end
    end
            
    state finish begin
        when letter begin
            send_letter
("Aufgabe abgeschlossen!")
        
end
        
        when info 
or button begin
            say_title
("Aufgabe abgeschlossen!")
            
say("Hier ist deine Belohnung:")
            
locale a select("Schwartzstahl Panzer""Schwarzwindanzug""Magie-Plattenpanzer""Schwarze Kleidung")
        if 
== 1 then
            pc
.give_item2(11290)
        elseif 
== 2 then
            pc
.give_item2(11490)
        elseif 
== 3 then
            pc
.give_item2(11690)
        elseif 
== 4 then
            pc
.give_item2(11890)                
            
say("Vielen Dank für deine Hilfe!")
            
end
            set_state
(ende)
        
end
    end
   
    state ende begin
    when 20087.chat
."66er Rüstung!" with pc.level >= 55 and pc.level <= 70 begin
                say_title
("66er Rüstung!")
        
say_title("66er Rüstung!")
        
say("Hey bei mir kannst du Aufträge neu aufnehmen")
        
say("die du davor abgelehnt hast!")
        
say("Wunder dich nicht wenn nicht alle Aufträge")
        
say("angezeigt werden die du einmal abgelehnt hast,")
        
say("den jede Quest hat eine Level Begrenzung")
        
say("Wenn du diese Levelbegrenzung überschritten")
        
say("hast dann wird sie hier nicht mehr Angezeigt")
        
say("")
        
wait()
        
say("")
        
say("Wenn du diesen Auftrag wieder aufnihmnst")
        
say("dann bekommst du diese Belohnung")
        
say("Eine 66er Rüstung für deine Rasse!")
        
say("")
        
say_title("Willst du den Autrag annehmen?")
        
say("Du musst nur ein 3 Tausendkämpfer")
        
say("töten!")
        
local s select("Ich will den Auftrag""Nein, keine Lust!")
        if 
== 2 then
                    say
("Gut, dein Pech!!!")
        else
            
say_title("66er Rüstung!")
            
say("Ich habe eine Aufgabe für dich!")
            
say("Gehe in das Land der Riesen und töte dort")
            
say("3 Tausendkämpfer!")
            
say("")
            
pc.setqf("state5"0)
            
q.set_counter("Tausendkämpfer"3)
            
set_state(kill)
            
end
        end
    end
end 
06/03/2011 20:14 .Delta#2475
try
PHP Code:
quest ruestungssp begin
    state start begin
        when login 
or levelup with pc.level >= 55 and pc.level <= 70 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("66er Rüstung!")
        
end

        when info 
or button begin
        say_title
("66er Rüstung")
        
say("")
        
say("Hey,")
        
say("Wenn du meinen Auftrag annimmst,")
        
say("und du es schaffst.")
        
say("bekommste eine 66er Rüstung")
        
say_title("Willst du den Autrag annehmen?")
        
say("Du musst nur 3 Tausendkämpfer")
        
say("töten!")
        
local s select("Ich will den Auftrag""Nein, keine Lust!")
        if 
== 2 then
                    say
("Gut, dein Pech!!!")
                    
clear_letter()
                    
set_state (ende)
        else
            
say_title("Töte Tausendkämpfer!")
            
say("Ich habe eine Aufgabe für dich!")
            
say("Gehe in das Lans der Riesen und töte dort")
            
say("3 Tausendkämpfer!")
            
say("")
            
pc.setqf("state5"0)
            
q.set_counter("Tausendkämpfer"3)
            
set_state(kill)
            
end
        end
    end
    
    state kill begin
        when letter begin
            send_letter
("Tausendkämpfer Status")
        
end
    
        when info 
or button begin
            say_title
("Kill Status:")
            
say_reward("Du hast schon "..pc.getqf("state5").."/3 Tausendkämpfer getötet")
        
end 
        when 1403.kill begin
            local count3 
pc.getqf("state5") + 1
            
if count3 <= 3 then
                pc
.setqf("state5"count3)
                
q.set_counter("Tausendkämpfer"count3)
            
end
            
if pc.getqf("state5") >= 3 then
                    set_state
(finish)
            
end
        end
    end
            
    state finish begin
        when letter begin
            send_letter
("Aufgabe abgeschlossen!")
        
end
        
        when info 
or button begin
            say_title
("Aufgabe abgeschlossen!")
            
say("Hier ist deine Belohnung:")
            
local a select("Schwartzstahl Panzer""Schwarzwindanzug""Magie-Plattenpanzer""Schwarze Kleidung")
        if 
== 1 then
            pc
.give_item2(11290)
        elseif 
== 2 then
            pc
.give_item2(11490)
        elseif 
== 3 then
            pc
.give_item2(11690)
        elseif 
== 4 then
            pc
.give_item2(11890)                
            
say("Vielen Dank für deine Hilfe!")
            
end
            set_state
(ende)
        
end
    end
   
    state ende begin
    when 20087.chat
."66er Rüstung!" with pc.level >= 55 and pc.level <= 70 begin
                say_title
("66er Rüstung!")
        
say_title("66er Rüstung!")
        
say("Hey bei mir kannst du Aufträge neu aufnehmen")
        
say("die du davor abgelehnt hast!")
        
say("Wunder dich nicht wenn nicht alle Aufträge")
        
say("angezeigt werden die du einmal abgelehnt hast,")
        
say("den jede Quest hat eine Level Begrenzung")
        
say("Wenn du diese Levelbegrenzung überschritten")
        
say("hast dann wird sie hier nicht mehr Angezeigt")
        
say("")
        
wait()
        
say("")
        
say("Wenn du diesen Auftrag wieder aufnihmnst")
        
say("dann bekommst du diese Belohnung")
        
say("Eine 66er Rüstung für deine Rasse!")
        
say("")
        
say_title("Willst du den Autrag annehmen?")
        
say("Du musst nur ein 3 Tausendkämpfer")
        
say("töten!")
        
local s select("Ich will den Auftrag""Nein, keine Lust!")
        if 
== 2 then
                    say
("Gut, dein Pech!!!")
        else
            
say_title("66er Rüstung!")
            
say("Ich habe eine Aufgabe für dich!")
            
say("Gehe in das Land der Riesen und töte dort")
            
say("3 Tausendkämpfer!")
            
say("")
            
pc.setqf("state5"0)
            
q.set_counter("Tausendkämpfer"3)
            
set_state(kill)
            
end
        end
    end
end