[SERVICE] Die Questkontrolle

08/21/2011 10:00 .Delta#3151
Quote:
Originally Posted by Sp0ngeb0b ist cool View Post
PHP Code:
quest rollenblock begin
       state start begin
        when 22010.
use with pc.get_map_index() == 200 or INDEX or INDEX begin
            chat
("Hier kannst du keine Ortsrollen benutzen.")
            
item.remove()
        
end
    end
end 
INDEX eben mit dem jeweiligen index ersetzen und probiern ;)

wenn es nicht geht, nochmal melden ;)
not ;)
Du musst das so machen
PHP Code:
quest rollenblock begin
       state start begin
        when 22010.
use with pc.get_map_index() == 200 or pc.get_map_index() == INDEX or pc.get_map_index() == INDEX begin
            chat
("Hier kannst du keine Ortsrollen benutzen.")
            
item.remove()
        
end
    end
end 
08/21/2011 11:54 .Karuzo#3152
Ich habe ein Quest Problem:

08/21/2011 12:18 .Delta#3153
viel zuviele ends o.O
PHP Code:
quest npc_shop begin
    state start begin
        when 20092.chat
."Seelengrotte 2." begin
            say
(mob_name(20092)..":")
            
say("")
            
say("Sei gegruesst Reisender!")
            
say("Du moechstest also zur Seelengrotte 2.?")
            
say("Ich kann dich gerne hinbringen.")
            
say("")
            
say("Moechtest du zur Seelengrotte 2.")
            
say("")
            
local a select("Ja","Nein")
            if 
== 2 then
                say
(mob_name(20092)..":")
                
say("")
                
say("Gut")
                
say("Dann bleib erst einmal hier.")
                return
            
end
            say
(mob_name(20092)..":")
            
say("")
            
say("Gut")
            
say("Ich wuensche dir viel Spass")
            
wait()
            
pc.warp(241700,1274900)
        
end        
        when 20092.chat
."Farmap" begin
            say
(mob_name(20092)..":")
            
say("")
            
say("Sei gegruesst Reisender!")
            
say("Du moechstest also zur Farmap?")
            
say("Ich kann dich gerne hinbringen.")
            
say("")
            
say("Moechtest du zur Farmap")
            
say("")
            
local a select("Ja","Nein")
            if 
== 2 then
                say
(mob_name(20092)..":")
                
say("")
                
say("Gut")
                
say("Dann bleib erst einmal hier.")
                return
            
end
            say
(mob_name(20092)..":")
            
say("")
            
say("Gut")
            
say("Ich wuensche dir viel Spass")
            
wait()
            
pc.warp(845109,745909)
        
end
        when 20092.chat
."Seelengrotte 1. Etage" begin
            say
(mob_name(20092)..":")
            
say("")
            
say("Sei gegruesst Reisender!")
            
say("Du moechstest also zur Seelengrotte 1. Etage?")
            
say("Ich kann dich gerne hinbringen.")
            
say("")
            
say("Moechtest du zur Seelengrotte 1. Etage")
            
say("")
            
local a select("Ja","Nein")
            if 
== 2 then
                say
(mob_name(20092)..":")
                
say("")
                
say("Gut")
                
say("Dann bleib erst einmal hier.")
                return
            
end
            say
(mob_name(20092)..":")
            
say("")
            
say("Gut")
            
say("Ich wuensche dir viel Spass")
            
wait()
            
pc.warp(10000,1214200)
        
end         
    end
end 
08/21/2011 15:06 Endless.#3154
Biologenquest :D
Sie wurde von der alten verbuggten überarbeitet und wird die erste Quest sein
die vllt was taugt. Alle anderen dannach zu kopieren/umschreiben ist kein Problem
wenn die Quest funktioniert.
Hier treten allerdings viele Fehler in der Konsole auf.

Code:
20084.chat ("Leere Flasche") with pc.count_item ( 30130 ) >0 
expecting `when`or `funktion´
biologen.quest:abort trap (core dumped)

Die Quest
PHP Code:
quest biologen begin
    state start begin
        when login 
or levelup with pc.get_level() >=25 and pc.level <= 90 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Biologenquest")
            
end
            send_letter
("Die Forschung des Biologen")
        
end
        when button 
or info begin
            say_title
("Die Forschung des Biologen")
            
say("")
            
say("Der Biologe braucht deine Hilfe!")
            
say("Gehe zu ihm.")
            
say("")
        
end
        when __TARGET__
.target.click or
            
20084.chat."Leere Flaschen" begin
            target
.delete("__TARGET__")
            
say("Biologe:")
            
say("Oh!!! Du hilfst mir?")
            
say("Gut ...")
            
say("Ich bin übrigens Der Biologe")
            
say("ich studiere zahlreiches aus der Pflanzenwelt.")
            
say("Wenn du mir bei meinen Forschungen hilfst,")
            
say("werde ich dich Reich Belohnen")
            
wait()
            
say("Biologe:")
            
say("Ich habe vor kurzem wieder angefangen ...")
            
say("Ich forsche an Gegenstände")
            
say("die von Monster gefunden werden,")
            
say("es währe also nett wenn du mir hilfst...")
            
say("Sammel mir bitte 3 Leere Flaschen von den")
            
say("Weissen Eids. Habe gehört die haben Flaschen")
            
say("in Massen gestohlen. Möchte herrausfinden wozu")
            
say("gut sind.")
            
set_state(go_to_disciple)
            
pc.setqf("duration",0
            
pc.setqf("collect_count",0
            
pc.setqf("drink_drug",0
        
end
    end
    state go_to_disciple begin
        when letter begin
            send_letter
("Sammlung der Leeren Flaschen")
        
end
        when button 
or info begin
            say_title
("Leere Flasche")
            
say("")
            
say("Der Biologe gab euch den Auftrag")
            
say("3 Leere Flaschen zu sammeln!")
            
say("Sammelt sie von den Weissen Eids")
            
say("und gebt sie dem Biologe.")
            
say("")
            
say_item_vnum(30130)
            
say_reward("Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
            
say("")
        
end
        when 71035.
use begin
            
if get_time() < pc.getqf("duration"then
                say
("Du musst noch warten,")
                
say("bis du ein weiteres")
                
say("Exemplar abgeben kannst.")
                return
            
end
            
if pc.getqf("drink_drug")==1 then
                say
("Die Zeit wurde auf 0 gesetzt.")
            
end
            
if pc.count_item(30130)==0 then
                say
("Tut mir Leid aber ohne")
                
say("Materialen kann ich meine")
                
say("Forschung nicht fortsetzen...")
                
say("Bitte bring mir Materialen!")
                return
            
end
            item
.remove()
            
pc.setqf("drink_drug",1)
        
end
        when 392.kill begin
            
if pc.count_item(30130)<3-pc.getqf("collect_count"then
                pc
.give_item2(301301)
            
end
        end
        when 20084.chat
."Leere Flasche" with pc.count_item(30130) >0 begin
            
if get_time() > pc.getqf("duration"then
                say
("Einen Moment ...")
                
say("Vielen Dank,")
                
say("lasst es mich schnell überprüfen")
                
say("ob diese Flasche in Ordnung ist ...")
                
say("")
                
pc.remove_item(301301)
                
pc.setqf("duration",get_time()+60*10)
                
wait()
                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=90
                
else
                    
pass_percent=100
                end
                local s
number(1,100)
                if 
s<= pass_percent then
                    
if pc.getqf("collect_count")< 2 then
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)
                        
say("Biologe:")
                        
say("Hervorragend diese Flasche ist in Ordnung")
                        
say("ihm habt bis jetzt ".." "..3-pc.getqf("collect_count").. " Abgegeben!")
                        
say("Bringt mir noch welche!")
                        
say("")
                        
pc.setqf("drink_drug",0)
                        return
                    
end
                    say
("Biologe:")
                    
say("Hervorragend du hast")
                    
say("mir die 3 Stück gebracht...")
                    
say("Dafür werde ich dich wie versprochen")
                    
say("Belohnen")
                    
say("")
                    
say_reward("Du erhälst Fünfeckschild+9")
                    
say_reward("Du erhälst 1.000.000 Yang!")
                    
say_reward("15% Bewegungsgeschwindigkeit+")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)  
                    
pc.setqf("duration",0
                    
clear_letter()
                    
set_state(__complete)
                    
pc.give_item2(13029)
                    
pc.change_money(1000000)
                    
affect.add_collect(apply.MOV_SPEED,15,60*60*24*365*20)
                else
                    
say("Biologe:")
                    
say("Diese Flasche ist von schlechter Qualität!")
                    
say("sie kann nicht verwendet werden")
                    
say("bitte hole mir eine neue.")
                    
say("")
                    
pc.setqf("drink_drug",0)
                    return
                
end
            end
        end
        state __complete begin
        end
    end
end 

Wäre glücklich wenn ihr mir da helfen könnt :D die ist eig fast fertig.
Nur die Fehler die auftreten machen es nahezu unmöglich die nächste Quests anzufangen :D


Gebe THX


Gruß, Endless;)
08/21/2011 15:07 xTheSoulutionxx3#3155
quest:
PHP Code:
quest boar begin
state start begin
when 71114.
use with pc.is_mount() begin 
chat
("Du hast dein Reittier eingefangen!")
pc.mount(0)
end
when 71114.
use begin 
chat
("Du hast dein Reittier gerufen! ")
pc.mount(20110,999999)
end 
fehler:When :71114.use
assertion failure :nested==0
boar.quest:10:Abort trap (core dumped)
Error occured on compile boar.quest
08/21/2011 15:37 .NighT™#3156
Quote:
Originally Posted by xTheSoulutionxx3 View Post
quest:
PHP Code:
quest boar begin
state start begin
when 71114.
use with pc.is_mount() begin 
chat
("Du hast dein Reittier eingefangen!")
pc.mount(0)
end
when 71114.
use begin 
chat
("Du hast dein Reittier gerufen! ")
pc.mount(20110,999999)
end 
fehler:When :71114.use
assertion failure :nested==0
boar.quest:10:Abort trap (core dumped)
Error occured on compile boar.quest
Glaube, 1-2 ends zu wenig. Probiers so:
PHP Code:
quest boar begin
state start begin
when 71114.
use with pc.is_mount() begin 
chat
("Du hast dein Reittier eingefangen!")
pc.mount(0)
end
when 71114.
use begin 
chat
("Du hast dein Reittier gerufen! ")
pc.mount(20110,999999)
end
end
end 
08/21/2011 16:08 .Delta#3157
Endless mach vor state __complete begin
mal noch ein end hin ;)
08/21/2011 16:08 blerim222#3158
quest Orks begin
state start begin
when login with pc.level >= 36 begin
set_state(information)
end
end

state information begin
when letter begin
send_letter("Töte 30 Schwarze Orks")
end

when info or button begin
say_titel("Töte 30 Schwarze Orks")
say("Ich Hörte das Die Orks")
say("einen Aufstand machen.")
say_reward("Töte 30 Schwarze Orks")
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("Töte 30 Schwarze Orks")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward("System.Windows.Forms.TextBox, Text: !")
say_reward("System.Windows.Forms.TextBox, Text: !")
say_reward("Außerdem:")
say_reward("350000000 Yang")
say_reward("300000000 Erfahrung")
pc.change_money(350000000)
pc.give_exp2(300000000)
pc.give_item2(50080, 1)
pc.give_item2(, )
clear_letter()
set_state(__COMPLETE__)

end
end
end

state __COMPLETE__ begin
end
end
08/21/2011 17:22 xTheSoulutionxx3#3159
quest:
PHP Code:
quest lvl99 begin
    state start begin
        when login 
or levelup with pc.level >= 99 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 99 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
        
end
    end
end
quest lvl120 begin
    state start begin
        when login 
or levelup with pc.level >= 120 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 120 erreicht!")
            
notice_all("")
            
notice_all("Gratuliert ihm!")
        
end
    end
end
quest lvl150 begin
    state start begin
        when login 
or levelup with pc.level >= 150 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 150 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
        
end
    end
end 
fehler:Segmentation fault (core dumped)
Error occured on compile level_ank"ndigung.quest
08/21/2011 17:58 .Delta#3160
PHP Code:
quest Orks begin
    state start begin
        when login with pc
.level >= 36 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("Töte 30 Schwarze Orks")
        
end
        when info 
or button begin
            say_title
("Töte 30 Schwarze Orks")    -- war say_titel
            say
("Ich Hörte das Die Orks")
            
say("einen Aufstand machen.")
            
say_reward("Töte 30 Schwarze Orks")
            
say("")
            
pc.setqf("state"0)
            
q.set_counter("Orks"30)
            
set_state(killen)
        
end
    end
    state killen begin
        when letter begin
            send_letter
("Töte schwarze Orks")
        
end
        when button 
or info begin
            say
("Es verbleiben:")
            
say_reward(pc.getqf("state").." von 30 schwarzen Orks")
        
end
        when 636.kill begin
            local count 
pc.getqf("state") + 1
            
if count <= 30then
                pc
.setqf("state"count)
                
q.set_counter(""30-count)
                if 
count == 30 then
                    say_title
("Töte 30 Schwarze Orks")
                    
say("Du hast die Quest erfolgreich abgeschlossen!")
                    
say("Du erhälst:")
                    
say_reward("System.Windows.Forms.TextBox, Text: !")
                    
say_reward("System.Windows.Forms.TextBox, Text: !")
                    
say_reward("Außerdem:")
                    
say_reward("350000000 Yang")
                    
say_reward("300000000 Erfahrung")
                    
pc.change_money(350000000)
                    
pc.give_exp2(300000000)
                    
pc.give_item2(500801)
                    
set_state(__COMPLETE__)
                
end
            end
        end
    end
    state __COMPLETE__ begin
    end
end 
--------------------------------------------------------------------------
machs so:
und nenn deine Quest level.quest ;)
PHP Code:
quest level begin
    state start begin
        when login 
or levelup with pc.level >= 99 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 99 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
        
end
        when login 
or levelup with pc.level >= 120 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 120 erreicht!")
            
notice_all("")
            
notice_all("Gratuliert ihm!")
        
end
        when login 
or levelup with pc.level >= 150 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 150 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
        
end
    end
end 
08/21/2011 18:23 hr4rjuku#3161
Quote:
quest spielerlogin begin
state start begin
when login begin with pc.get_level() >= 0 begin
chat("Hast du einen Bug entdeckt, eine Frage oder ein Problem?")
chat("Dann melde dich bei einer unserer GM's oder im Forum!")
chat("Homepage: http://www.het-loo.org/")
chat("Forum: http://www.het-loo.org/board/")
chat("Teampspeak: 62.141.31.17:9987")
end
end
end
funzt nicht
08/21/2011 18:25 xTheSoulutionxx3#3162
immer wenn ich ein levelup bekomm zeigt er mir lvl 99 usw jedes mal?
08/21/2011 18:34 .Delta#3163
gar nicht drauf geachtet, sry :D
PHP Code:
quest level begin
    state start begin
        when login 
or levelup with pc.level >= 99 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 99 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
            
set_state(level120)
        
end
    end
    state level120 begin
        when login 
or levelup with pc.level >= 120 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 120 erreicht!")
            
notice_all("")
            
notice_all("Gratuliert ihm!")
            
set_state(level150)
        
end
    end
    state level150 begin
        when login 
or levelup with pc.level >= 150 begin
            notice_all
("".. pc.get_name() .." hat gerade das")
            
notice_all("Level 150 erreicht!")
            
notice_all("")
            
notice_all("Weiter so!")
            
set_state(__complete)
        
end
    end
    state __complete begin
    end
end 
----------------------------------------------------------------
PHP Code:
quest spielerlogin begin
    state start begin
        when login begin
            chat
("Hast du einen Bug entdeckt, eine Frage oder ein Problem?")
            
chat("Dann melde dich bei einer unserer GM's oder im Forum!")
            
chat("Homepage: http://www.het-loo.org/ ")
            
chat("Forum: http://www.het-loo.org/board/ ")
            
chat("Teampspeak: 62.141.31.17:9987")
        
end
    end
end 
08/21/2011 18:55 xTheSoulutionxx3#3164
irgendwie kommt das immer noch wenn ich mich einlogge porte und so das ich 99 bin und weiter so
08/21/2011 19:38 hr4rjuku#3165
An dem Fettgedruckten hab ich etwas verändert. Ist alles Korreckt?