[SERVICE] Die Questkontrolle

07/02/2013 00:02 GenerationAzzlack#8431
erledigt XD
07/02/2013 00:16 Davidast#8432
Yo ein kleines Problem mit der Quest hier:

PHP Code:
quest hell_run begin
state start begin
    when 20094.chat
."Ich möchte den Höllenrun machen" begin
        say_title
("Bossrun")
        
say("Du willst also ein starker Krieger sein?")
        
say(".....")
        
say("Das ich nicht lache...")
        
say("Sieh dich doch mal an...")
        
say("Ist das deine Vorstellung von einem")
        
say("".. pc.get_name() .." ?")
        
wait()
        
say("Nunja das tut nichts zur Sache!")
        
say("Beweise mir nur dass du ein starker Krieger bist,")
        
say("indem du einen Bossrun meisterst!")
        
wait()
        
say("Was das ist?")
        
say("Das klärt sich nun von ganz allein...")
        
say("Du wirst auf ein Gebiet teleportiert in dem nacheinander")
        
say("Bossmobs spawnen! Eins nach dem anderen!")
        
say("Sobald eins tot ist spawnt das nächste!")
        if 
pc.get_level() < 85 then 
            say 
("Also so lass ich dich nicht dahin!. Komme wieder, wenn du Level 85 bist!"
        else
            
say("Als erstes musst du Goldene Froesche")
            
say("bezwingen! Dann geht es los!")
            
say("Aber gebt Acht! Nur wer das Oberhaupt tötet")
            
say("bekommt auch die Belohnung!")
                
wait()
            
say("Also gut! Was ist nun? Willst du es probieren?")
            
            
local s select("Aber klar!""Ne ich bin ein Schisser")
            if 
== 1 then
                pc
.warp(930600 925800)
            else
                return
            
end
        end
    end
    when 11505.kill with pc
.get_map_index()==202 begin
            timer
("kick_the_noobs"30)
            
d.spawn_mob(11509368629)
            
d.spawn_mob(11509419630)
            
d.spawn_mob(11509428653)
            
d.spawn_mob(11509422679)
            
d.spawn_mob(11509395689)
            
d.spawn_mob(11509369679)
            
d.spawn_mob(11509361658)
            
d.notice("Ihr habt nun insgesammt 30 Minuten Zeit, den Run zu meistern.")
            
d.notice("Solltet ihr ihn in dieser Zeitspanne nicht schaffen, werdet ihr")
            
d.notice("ohne eine Belohnung hinaus teleportiert.")
            
d.setf("kill_count1"7)
    
end
        
        when kick_the_noobs
.timer begin
            warp_all_to_village
()
    
end
    
    when 11509.kill with pc
.get_map_index()==202 begin
        d
.setf("kill_count1"d.getf("kill_count1") - 1)
    
end
    
        when d
.getf("kill_count1") <= 0 then
            d
.notice("Bravo, den ersten Spawn habt ihr geschafft. Nun kommt der zweite!")
            
d.spawn_mob(11509368629)
            
d.spawn_mob(11509419630)
            
d.spawn_mob(11509428653)
            
d.spawn_mob(11509422679)
            
d.spawn_mob(11509395689)
            
d.spawn_mob(11509369679)
            
d.spawn_mob(11509361658)
            
d.setf("kill_count2"7)
    
end
        
    when 11509.kill with pc
.get_map_index()==202 begin
        d
.setf("kill_count2"d.getf("kill_count2") - 1)
    
end
        
        when d
.getf("kill_count2") <= 0 then
            d
.notice("Nun kommt der dritte!")
            
d.spawn_mob(11509368629)
            
d.spawn_mob(11509419630)
            
d.spawn_mob(11509428653)
            
d.spawn_mob(11509422679)
            
d.spawn_mob(11509395689)
            
d.spawn_mob(11509369679)
            
d.spawn_mob(11509361658)
            
d.setf("kill_count3"7)
        
end
    end
end 
Finde den Fehler einfach nicht. Wäre nett wenn mir jemand helfen könnte :)

Gruß
07/02/2013 01:49 sero61#8433
ich hab ein dyndns server..
meine HP is so zu erreichen: 192.168.0.8 -> vermutlich ist das dann meine serverip
root ist root
pw weiss ich auch
wozu ist aber player?!
liege ich mit irgendwas falsch leute?
PHP Code:
quest rangliste begin 
    state start begin 
        when 20095.chat
."Rangliste" begin ------Bis hier her funktioniert allesdanach passiert nichts mehr!
            
local rangliste mysql_query("SELECT * FROM player.player WHERE player.name NOT LIKE '[%]%' ORDER BY player.level DESC, player.exp DESC","root","rootpw","player","rootip"
            
say_title("Die Top 10"
            
say("Platz 1:     Name: "..rangliste.name[1].."    Level: "..rangliste.level[1].." "
            
say("Platz 2:     Name: "..rangliste.name[2].."    Level: "..rangliste.level[2].." "
            
say("Platz 3:     Name: "..rangliste.name[3].."    Level: "..rangliste.level[3].." "
            
say("Platz 4:     Name: "..rangliste.name[4].."    Level: "..rangliste.level[4].." "
            
say("Platz 5:     Name: "..rangliste.name[5].."    Level: "..rangliste.level[5].." "
            
say("Platz 6:     Name: "..rangliste.name[6].."    Level: "..rangliste.level[6].." "
            
say("Platz 7:     Name: "..rangliste.name[7].."    Level: "..rangliste.level[7].." "
            
say("Platz 8:     Name: "..rangliste.name[8].."    Level: "..rangliste.level[8].." "
            
say("Platz 9:     Name: "..rangliste.name[9].."    Level: "..rangliste.level[9].." "
            
say("Platz 10:     Name: "..rangliste.name[10].."    Level: "..rangliste.level[10].." "
        
end 
    end 
end 
VirtualBox sagt ist alles ok!
Ausführliche Diskussion:
[Only registered and activated users can see links. Click Here To Register...]
Brauche Dringend Hilfe!
07/02/2013 15:10 Silver™#8434
Quest :
PHP Code:
quest bt begin 
    state start begin 
        when 38050.
use begin 
        local b 
= {
        if 
pc.job == 0 then
        50401
50402504035040550404,             -- Körper Lehre
        50416
50417504185041950420,             -- Mental Lehre
        
if pc.job == 1 then
        50431
50432504335043450435,             -- Nah Lehre
        50446
50447504485044950550,             -- Fern Lehre
        
if pc.job == 2 then
        50461
5046250463504645046550466,     -- Waffen Lehre
        50476
5047750478504795048050481,    -- Magie Lehre
        
if pc.job == 3 then
        50491
5049250493504945049550496,    -- Drachen Lehre
        50506
5050750508505095051050511}    -- Heil Lehre
        local rb 
number(1table.getn(b))
        
pc.give_item2(b[rb], 1)
        
pc.remove_item(item.vnum)
        
end 
    end
end 
Fehler :
[Only registered and activated users can see links. Click Here To Register...]
07/02/2013 15:35 .Leykas#8435
Quote:
Originally Posted by LeykasRecordz View Post
Code:
quest banker begin 
    state start begin 
        when 20007.chat."Bank" begin 
            banker.bankdialog() 
        end 
        function bankdialog() 
            say_title("Banker:") 
            say("Ich biete dir die Möglichkeit, dein Yang") 
            say("Zinsenfrei aufzubewahren.") 
            say("Du kannst jedoch nur begrenzt einzahlen.") 
            say("Das Limit liegt jedoch bei weit über einer Billiarde :)")  
            say("") 
            local action = select("Yang einzahlen", "Yang auszahlen", "Abbrechen") 
            if action == 1 then 
                say_title("Banker:") 
                if pc.gold < 1 then 
                    say("Du hast kein Yang.") 
                    say("") 
                    return 
                end 
                say("Du hast "..pc.gold.." Yang.") 
                say("Wieviel möchtest du davon einzahlen?") 
                local yang = tonumber(input()) 
                if yang < 0 then 
                    return 
                end 
                if yang > pc.gold then 
                    yang = pc.gold 
                end 
                pc.changegold(-yang) 
                local saved_rest = tonumber(pc.getqf("saved_rest")) 
                local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs")) 
                if saved_rest + yang > 2147483647 then 
                    pc.setqf("saved_signed_longs", saved_signed_longs + 1) 
                    pc.setqf("saved_rest", saved_rest + yang - 2147483647) 
                else 
                    pc.setqf("saved_rest", saved_rest + yang) 
                end 
                say_title("Banker:") 
                say("Es wurden "..yang.." Yang eingezahlt.") 
                say("") 
                return 
            elseif action == 2 then 
                local saved_rest = tonumber(pc.getqf("saved_rest")) 
                local saved_signed_longs = tonumber(pc.getqf("saved_signed_longs")) 
                local saved_yang = saved_signed_longs*2147483647+saved_rest 
                say_title("Banker:") 
                if saved_yang < 1 then 
                    say("Ich habe kein Geld mehr von dir.") 
                    say("") 
                    return 
                end 
                say("Ich kann dir das Geld, das du eingezahlt hast,") 
                say("nun wieder auszahlen.") 
                say("") 
                say_reward("Kontostand: "..saved_yang.." Yang") 
                say("") 
                say("Wieviel Yang möchtest du ausgezahlt bekommen?") 
                local yang = tonumber(input()) 
                if yang < 0 then 
                    return 
                end 
                if yang > saved_yang then 
                    yang = saved_yang 
                end 
                if pc.gold + yang > 1899999999 then 
                    yang = 1899999999 - pc.gold 
                end 
                if yang > saved_yang then 
                    yang = saved_yang 
                end 
                if saved_rest - yang < 0 then 
                    pc.setqf("saved_signed_longs", saved_signed_longs - 1) 
                    pc.setqf("saved_rest", 2147483647 - yang + saved_rest) 
                else 
                    pc.setqf("saved_rest", saved_rest - yang) 
                end 
                pc.changegold(yang) 
                say_title("Banker:") 
                say("Es wurden "..yang.." Yang ausgezahlt.") 
                say("") 
            end 
        end 
    end 
end
Es funktioniert garnichts..
Das Problem liegt wahrscheinlich laut putty an banker.bankdialog .. ?
Need immernoch help
07/02/2013 18:48 MrPlayboy#8436
@ Leykaz:
Mach einfach
PHP Code:
            banker.bankdialog() 
        
end 
        
function bankdialog() 
weg.


PHP Code:
quest bt begin 
    state start begin 
        when 38050.
use begin 
        local b 
= {
        if 
pc.job == 0 then
            50401
50402504035040550404,             -- Körper Lehre
            50416
50417504185041950420,             -- Mental Lehre
        
elseif pc.job == 1 then
            50431
50432504335043450435,             -- Nah Lehre
            50446
50447504485044950550,             -- Fern Lehre
        
elseif pc.job == 2 then
            50461
5046250463504645046550466,     -- Waffen Lehre
            50476
5047750478504795048050481,    -- Magie Lehre
        
elseif pc.job == 3 then
            50491
5049250493504945049550496,    -- Drachen Lehre
            50506
5050750508505095051050511}    -- Heil Lehre
            local rb 
number(1table.getn(b))
        
end
        pc
.give_item2(b[rb], 1)
        
pc.remove_item(item.vnum)
        
end
    end
end 
07/02/2013 20:46 Astro.#8437
Quote:
Originally Posted by Silver™ View Post
Quest :
Fehler :
[Only registered and activated users can see links. Click Here To Register...]
untestet sollte aber gehen

PHP Code:
quest fb begin
    state start begin
        when 38050.
use begin
        local fb_index 
= {
            [
0] = { -- Krieger
                
[1] = {5040150402504035040550404},    -- Körper Lehre
                
[2] = {5041650417504185041950420}},    -- Mental Lehre
            
[1] = { -- Ninja
                
[1] = {5043150432504335043450435},    -- Nah Lehre
                
[2] = {5044650447504485044950550}},    -- Fern Lehre
            
[2] = { -- Sura
                
[1] = {504615046250463504645046550466},    -- Waffen Lehre
                
[2] = {504765047750478504795048050481}},    -- Magie Lehre
            
[3] = { -- Schamane
                
[1] = {504915049250493504945049550496},    -- Drachen Lehre
                
[2] = {505065050750508505095051050511}}}    -- Heil Lehre
        a
bfb_indexpc.get_jobpc.get_skill_group
        pc
.give_item2(a[b][c][math.random(table.getn(a[b][c]))], 1)
        
item.remove()
        
end
    end
end 
07/02/2013 22:47 Noisy-Boy#8438
PHP Code:
quest truhe_wissen begin 
    state start begin 
        when 50187.
use begin
            say_title
("Welches Fertigkeitsbuchset möchtest du?")
            
local r select("Krieger""Ninja""Sura""Schamane""Schließen"
            if 
== 1 then
                local k 
select("Körperkrieger""Mentalkrieger")
                if 
== 1 then
                    pc
.give_item2(504011)
                    
pc.give_item2(504021)
                    
pc.give_item2(504031)
                    
pc.give_item2(504041)
                    
pc.give_item2(504051)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504161)
                    
pc.give_item2(504171)
                    
pc.give_item2(504181)
                    
pc.give_item2(504191)
                    
pc.give_item2(504201)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            
if == 2 then
                local n 
select("Fernkampf""Nahkampf")
                if 
== 1 then
                    pc
.give_item2(504461)
                    
pc.give_item2(504471)
                    
pc.give_item2(504481)
                    
pc.give_item2(504491)
                    
pc.give_item2(504501)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504311)
                    
pc.give_item2(504321)
                    
pc.give_item2(504331)
                    
pc.give_item2(504341)
                    
pc.give_item2(504351)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            
if == 3 then
                local s 
select("Waffensura""Magiesura")
                if 
== 1 then
                    pc
.give_item2(504611)
                    
pc.give_item2(504621)
                    
pc.give_item2(504631)
                    
pc.give_item2(504641)
                    
pc.give_item2(504651)
                    
pc.give_item2(504661)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504761)
                    
pc.give_item2(504771)
                    
pc.give_item2(504781)
                    
pc.give_item2(504791)
                    
pc.give_item2(504801)
                    
pc.give_item2(504811)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            
if == 4 then
                local ss 
select("Drachenschamane""Heilschamane")
                if 
ss == 1 then
                    pc
.give_item2(504911)
                    
pc.give_item2(504921)
                    
pc.give_item2(504931)
                    
pc.give_item2(504941)
                    
pc.give_item2(504951)
                    
pc.give_item2(504961)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if ss == 2 then
                    pc
.give_item2(505061)
                    
pc.give_item2(505071)
                    
pc.give_item2(505081)
                    
pc.give_item2(505091)
                    
pc.give_item2(505101)
                    
pc.give_item2(505111)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            
if == 5 then
                
exit
            
end 
        end 
    end 
end 
Die Quest hat eine ähnliche Funktionsweise wie die oben und bekomme die gleiche Fehlermeldung. Würde mich über eure Hilfe freuen.
07/02/2013 23:27 Astro.#8439
Quote:
Originally Posted by Noisy-Boy View Post

Die Quest hat eine ähnliche Funktionsweise wie die oben und bekomme die gleiche Fehlermeldung. Würde mich über eure Hilfe freuen.

PHP Code:
quest truhe_wissen begin 
    state start begin 
        when 50187.
use begin
            say_title
("Welches Fertigkeitsbuchset möchtest du?")
            
local r select("Krieger""Ninja""Sura""Schamane""Schließen"
            if 
== 1 then
                local k 
select("Körperkrieger""Mentalkrieger")
                if 
== 1 then
                    pc
.give_item2(504011)
                    
pc.give_item2(504021)
                    
pc.give_item2(504031)
                    
pc.give_item2(504041)
                    
pc.give_item2(504051)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504161)
                    
pc.give_item2(504171)
                    
pc.give_item2(504181)
                    
pc.give_item2(504191)
                    
pc.give_item2(504201)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            end
            
if == 2 then
                local n 
select("Fernkampf""Nahkampf")
                if 
== 1 then
                    pc
.give_item2(504461)
                    
pc.give_item2(504471)
                    
pc.give_item2(504481)
                    
pc.give_item2(504491)
                    
pc.give_item2(504501)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504311)
                    
pc.give_item2(504321)
                    
pc.give_item2(504331)
                    
pc.give_item2(504341)
                    
pc.give_item2(504351)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            end
            
if == 3 then
                local s 
select("Waffensura""Magiesura")
                if 
== 1 then
                    pc
.give_item2(504611)
                    
pc.give_item2(504621)
                    
pc.give_item2(504631)
                    
pc.give_item2(504641)
                    
pc.give_item2(504651)
                    
pc.give_item2(504661)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if == 2 then
                    pc
.give_item2(504761)
                    
pc.give_item2(504771)
                    
pc.give_item2(504781)
                    
pc.give_item2(504791)
                    
pc.give_item2(504801)
                    
pc.give_item2(504811)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            end
            
if == 4 then
                local ss 
select("Drachenschamane""Heilschamane")
                if 
ss == 1 then
                    pc
.give_item2(504911)
                    
pc.give_item2(504921)
                    
pc.give_item2(504931)
                    
pc.give_item2(504941)
                    
pc.give_item2(504951)
                    
pc.give_item2(504961)
                    
chat("Fertigkeitsbücher erhalten")
                
end
                
if ss == 2 then
                    pc
.give_item2(505061)
                    
pc.give_item2(505071)
                    
pc.give_item2(505081)
                    
pc.give_item2(505091)
                    
pc.give_item2(505101)
                    
pc.give_item2(505111)
                    
chat("Fertigkeitsbücher erhalten")
                
end
            end
            
if == 5 then
                
return
            
end 
        end 
    end 
end 
07/03/2013 01:45 clemgregor#8440
//hatt sich geklärt
07/03/2013 11:30 Scarified#8441
Quote:
Also hier mein Problem
Quote:
syntax error : [string "start"]:13: unexpected symbol near 'when'
pet_city.quest:462:Error occured on compile pet_city.quest
zeile 462 ist die letzte

#PUSH
07/03/2013 18:14 depa95#8442
Quote:
Originally Posted by Scarified View Post
#PUSH
probier es mal so

07/03/2013 19:52 Scarified#8443
Da kommt
Quote:
syntax error : [string "start"]:13: unexpected symbol near 'when'
pet_city.quest:284:Error occured on compile pet_city.quest
07/03/2013 21:28 vbacoder#8444
PHP Code:
quest premium_user begin
    state start begin
        when login with pc
.getqf("premium_user")==and not npc.is_pc() begin
        end
        when 70010.
use with pc.getqf("premium_user")==0 begin
            say_title
("Novo-World MT2")
            
say(" ")
            
say("Mit diesem Item kannst du den VIP Status")
            
say("aktivieren. Der VIP Status bleibt")
            
say("Permanent! Du Kannst dieses Item nur einmal")
            
say("benutzen und nicht weiter handeln.")
            
say("Die Krone wurde beim Team beantragt."
            
say("Es kann bis zu 4 Werktage dauern, bis du"
            
say("sie Ingame Siehst. Wenn dein Name zu lang"
            
say("ist, wird er ggf. vom Team gekürtzt!."
            
say(" ")
            
say_title("Willst du den Premium Status Aktivieren?")
            
            
local s select("Ja""Nein")
                
            if 
== 1 then
                pc
.setqf("premium_user"1)
                
            else
                return
            
end
        end
    end
end 
Quote:
syntax error : [string "startpc . getqf ( "premium_user" ) == 0"]:8: `)' expected (to close `(' at line 7) near `say'
premium_user.quest:27:Error occured on compile premium_user.quest
Ist bestimmt nur ein kleiner fehler, aber ich finde ihn nicht :S
07/03/2013 21:51 .Marcel'#8445
Quote:
Originally Posted by vbacoder View Post
PHP Code:
quest premium_user begin
    state start begin
        when login with pc
.getqf("premium_user")==and not npc.is_pc() begin
        end
        when 70010.
use with pc.getqf("premium_user")==0 begin
            say_title
("Novo-World MT2")
            
say(" ")
            
say("Mit diesem Item kannst du den VIP Status")
            
say("aktivieren. Der VIP Status bleibt")
            
say("Permanent! Du Kannst dieses Item nur einmal")
            
say("benutzen und nicht weiter handeln.")
            
say("Die Krone wurde beim Team beantragt."
            
say("Es kann bis zu 4 Werktage dauern, bis du"
            
say("sie Ingame Siehst. Wenn dein Name zu lang"
            
say("ist, wird er ggf. vom Team gekürtzt!."
            
say(" ")
            
say_title("Willst du den Premium Status Aktivieren?")
            
            
local s select("Ja""Nein")
                
            if 
== 1 then
                pc
.setqf("premium_user"1)
                
            else
                return
            
end
        end
    end
end 


Ist bestimmt nur ein kleiner fehler, aber ich finde ihn nicht :S
Probier das hier mal:

PHP Code:
quest premium_user begin
    state start begin
        when login with pc
.getqf("premium_user")==and not npc.is_pc() begin
        end
        when 70010.
use with pc.getqf("premium_user")==0 begin
            say_title
("Novo-World MT2")
            
say(" ")
            
say("Mit diesem Item kannst du den VIP Status")
            
say("aktivieren. Der VIP Status bleibt")
            
say("Permanent! Du Kannst dieses Item nur einmal")
            
say("benutzen und nicht weiter handeln.")
            
say("Die Krone wurde beim Team beantragt.")
            
say("Es kann bis zu 4 Werktage dauern, bis du")
            
say("sie Ingame Siehst. Wenn dein Name zu lang")
            
say("ist, wird er ggf. vom Team gekürtzt!.")
            
say(" ")
            
say_title("Willst du den Premium Status Aktivieren?")
            
            
local s select("Ja""Nein")
                
            if 
== 1 then
                pc
.setqf("premium_user"1)
                
            else
                return
            
end
        end
    end
end