[SERVICE] Die Questkontrolle

08/17/2011 17:07 Kriegergeist^^#3121
Quote:
so eventuell? :
PHP Code:
quest zauberspeed begin
    state start begin
        when 71101.
use begin
            
if pc.getqf("zspott") == 1 then
                syschat
("Dieser Effekt wirkt bereits!")
            else
                
pc.remove_item(71101,1)
                
affect.add_collect(apply.CAST_SPEED201800)
                
chat("Du fühlst dich schneller und stärker...")
                
chat("Für 30 Minute hast du 20% mehr Zaubergeschwindigkeit!")
                
pc.setqf("zspott",1)
                
server_timer("zspott"1800)
            
end
        end
        
        when zspott
.server_timer begin
            syschat
("Der Effekt verliert seine wirkung...")
            
pc.setqf("zspott",0)
        
end
    end
end 
geht leider immer noch nicht
08/17/2011 17:17 Zwawo#3122
Quote:
Originally Posted by Kriegergeist^^ View Post
geht leider immer noch nicht
Es könnte entweder am server_timer liegen da dieser in vielen Fällen nicht richtig funktioniert oder deine quest table spackt -> schreib mal statt
PHP Code:
pc.setqf("zspott"1)
das:
pc.setqf("zspott"pc.getqf("zspott")+1)

sowie darunter statt
pc
.setqf("zspott",0)
das:
pc.setqf("zspott"pc.getqf("zspott")-1
Hatte mir mal geholfen...
Ich gehe aber davon aus das es am server_timer liegt
08/17/2011 17:44 Kriegergeist^^#3123
ich glaube der es an server_timer liegt, weil die
PHP Code:
syschat("Der Effekt verliert seine wirkung..."
Auch nicht angezeigt wird, was kann ich dagegen machen? Nur zur info, benutze noch die 2007 files um alles zu testen, fals das wichtig ist

MfG
Kriegergeist^^
08/17/2011 19:06 £αšεℜ™#3124
Quote:
ich habe mal eine frage an euch quest pros ich möchte das bei der quest statts nur der name online oder offline
aber er muss auch online sein das ist das was ich nicht hinbekomme
PHP Code:
quest usercp begin
    state start begin
        when 70042.
use begin
            say_title
("Userpanel")
            
say("")
            
say("Mit diesem Item kannst du dein Userpanel")
            
say("aufrufen! Viel Spaß!")
            
say_reward("Wähle aus, was du tun willst:")
            
say("")
            
local a select("Das Team","Rotes Reich","Gelbes Reich","Blaues Reich","Farmmap","Abbrechen")
            if 
== 6 then
                
return

            elseif 
== 1 then
                say_title
("Das Team")
                
say("")
                
say("Das Team besteht aus:")
                
say_reward("GM name")
                
say_reward("GM name")
                
say_reward("GM name")
                
say_reward("GM name")
                
say_reward("GM name")
                
say_reward("GM name")
                
            elseif 
== 2 then
                pc
.warp(474300954800)

            elseif 
== 3 then
                pc
.warp(63800166400)
                
            elseif 
== 4 then
                pc
.warp(959900269200)

            elseif 
== 5 then
                pc
.warp(832000)
            
end
        end
    end
end 
ich hoffe ihr könnt mir helfen
ich brauch immernoch hilfe ....
08/17/2011 19:08 .Nguyen#3125
Laser änder mal deinen Satzbau ich versteh nicht was du willst.
08/17/2011 19:10 £αšεℜ™#3126
ja also da soll offline stehen wenn der gm offline ist und online wenn er online ist und das soll sich halt immer ändern verstehst du jezt was ich meine es soll halt sagen welcher gm online ist nicht nur der name
08/17/2011 20:34 Endless.#3127
Biologen Quest.. mal so eine alte aus meinem quest Ordner rausgeholt die da vergammelt.. um was draus zu machen.. allerdings geht einfach nichts ;(

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."Pfirsichblüten" 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("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 pc.getqf("drink_drug")==1 then
                say
("Deine Abgabe Zeit wurde auf")
                
say("0 gesetzt. Du kannst ein Weiteres")
                
say("Exemplar abgeben.")
                return
            
end
            
if pc.count_item(50701)==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(50701) >0 begin
                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)
                
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 :D")
                    
say("")
                    
say_reward("Du Bekommst ein Item!")
                    
say_reward("Du Bekommst 1kk Yang!")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)    
                    
clear_letter()
                    
set_state(__complete)
                    else
                        
pc.give_item2()
                    
end
                    pc
.change_money(1000000)
                    
set_quest_state("levelup","run")
                else
                
say("Biologe:")
                
say("Diese Blüte 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
    end
end 
Man soll alle 30 Min abgeben können und sie soll funktionieren ;(

Kann mir jemand helfen?

gebe THX
08/17/2011 21:07 Megawurrrm#3128
Quote:
Originally Posted by Megawurrrm View Post
Hey

1.
wie heist die quest die ganz am anfang kommt und "Willkommen auf ....." heisen müsste?
2.
meine questrollen leicht,normal,expert funktionieren nicht
PHP Code:
quest questscroll1 begin
    state start begin
    when questscroll1
.use begin
        local idx 
item.get_socket(0)
        if 
idx == 0 then
        idx 
number(1,2)
        
item.set_socket(0idx)
        
end
        
if idx>table.getn(special.questscroll) or idx <= 0 then
        item
.remove()
        elseif 
table.getn(special.questscroll[idx])!=5 then
        
else
        
local table special.questscroll[idx]
        
local rt special.questscroll_reward[idx]
        
local t table[1]
        if  
== QUEST_SCROLL_TYPE_KILL_MOB then
            say
(table[2])
            
say(color(1,1,0),rt[2],locale.gold," ",locale.exp,rt[3]," ",(rt[4] != 0) and item_name(rt[4]) or ""," ",(rt[5] != 0) and item_name(rt[5]) or ""," ", (rt[6] != 0) and item_name(rt[6]) or ""color(1,1,1))
 
            
pc.setqf("idx"idx)
            
pc.setqf("count"table[5])
            
pc.setqf("target"mob_vnum(table[4]))
            
q.set_title(table[3])
            
q.set_counter(table[4],table[5])
            --
q.set_clock("³Ñ¤Uªº®É¶¡"24*60*60)
            --
loop_timer("timeupdate"3)
            
q.start()
            
pc.setqf("timer"24*60*60)
            
setstate(kill_mob)
            
item.remove()
            
char_log(0"QUEST""questscroll1 start");
        elseif 
== QUEST_SCROLL_TYPE_KILL_ANOTHER_EMPIRE then
            
--say(special.questscroll[idx][2])
            --
setstate(kill_another_empire)
            --
say("Åé²{.")
            
say(table[2])
            
pc.setqf("idx"idx)
            
pc.setqf("count"table[5])
            
q.set_title(table[3])
            
q.set_counter(table[4],table[5])
            --
q.set_clock("³Ñ¤Uªº®É¶¡"24*60*60)
            --
loop_timer("timeupdate"3)
            
q.start()
            
pc.setqf("timer"24*60*60)
            
setstate(kill_another_empire)
            
item.remove()
        else
            -- ??? ???
            
item.remove()
        
end
        end
    end
    end
    state kill_mob begin
    
--when timeupdate.timer begin
        
--local tpc.getqf("timer")-3
        
--pc.setqf("timer"t)
        --if 
t<0 then
        
--cleartimer("timeupdate")
        --
say("¥ô°È®É¶¡¶W¹L,¦]¦¹¥ô°È¥¢±Ñ.")
        --
setstate(start)
        --
q.done()
        --
pc.setqf("idx"0)
        --
char_log(0"QUEST""questscroll1 timeover")
        --
end
    
--end

    when questscroll1
.use begin
        say
(locale.questscroll.exist)
    
end

    when kill begin
        
if npc.race == pc.getqf("target"then
        pc
.setqf("count"pc.getqf("count")-1)
        
q.set_counter_value(pc.getqf("count"))
        if 
pc.getqf("count")>=0 then
            char_log
(0"QUEST""questscroll1 kill "..pc.getqf("count"));
        
end
        
if pc.getqf("count") <= 0 then
            makequestbutton
(locale.questscroll.finish_button)
        
end
        setskin
(NOWINDOW)
        
end
    end
    when login begin
        
if pc.getqf("count") <= 0 then
        makequestbutton
(locale.questscroll.finish_button)
        else
        
local table special.questscroll[pc.getqf("idx")]
        
q.set_title(table[3])
        
q.set_counter(table[4],pc.getqf("count"))
        --
q.set_clock("³Ñ¤Uªº®É¶¡"pc.getqf("timer"))
        --
loop_timer("timeupdate"3)
        
q.start()
        
end
        setskin
(NOWINDOW)
    
end
    when button begin
        setstate
(start)
        
q.done()
        
local rt special.questscroll_reward[pc.getqf("idx")]
        
say(locale.questscroll.finish)
        
say(rt[2],locale.gold)
        
pc.changegold(rt[2])
        
say(locale.exp" "rt[3])
        
pc.give_exp2(rt[3])
           
set_quest_state("levelup","run")
        
set_quest_state("levelup","run")
        if 
rt[4] != 0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
        
if rt[5] != 0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
        
if rt[6] != 0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
        pc
.setqf("idx"0)
        
char_log(0"QUEST""questscroll1 done")
    
end
    end
    state kill_another_empire begin
    
--when timeupdate.timer begin
        
--local tpc.getqf("timer")-3
        
--pc.setqf("timer"t)
        --if 
t<0 then
        
--cleartimer("timeupdate")
        --
say("¥ô°È®É¶¡¶W¹L,¦]¦¹¥ô°È¥¢±Ñ.")
        --
setstate(start)
        --
q.done()
        --
pc.setqf("idx"0)
        --
end
    
--end
    when questscroll1
.use begin
        say
(locale.questscroll.exist)
    
end
    when kill begin
        
if npc.is_pc() and npc.empire != pc.empire then
        pc
.setqf("count"pc.getqf("count")-1)
        
q.set_counter_value(pc.getqf("count"))
        if 
pc.getqf("count")>=0 then
            char_log
(0"QUEST""questscroll1 kill "..pc.getqf("count"));
        
end
        
if pc.getqf("count") <= 0 then
            makequestbutton
(locale.questscroll.finish_button)
        
end
        setskin
(NOWINDOW)
        
end
    end
    when login begin
        
if pc.getqf("count") <= 0 then
        makequestbutton
(locale.questscroll.finish_button)
        else
        
local table special.questscroll[pc.getqf("idx")]
        
q.set_title(table[3])
        
q.set_counter(table[4],pc.getqf("count"))
        --
q.set_clock("³Ñ¤Uªº®É¶¡"pc.getqf("timer"))
        --
loop_timer("timeupdate"3)
        
q.start()
        
end
        setskin
(NOWINDOW)
    
end
    when button begin
        setstate
(start)
        
local rt special.questscroll_reward[pc.getqf("idx")]
        
say(locale.questscroll.finish)
        
say(rt[2],locale.gold)
        
pc.changegold(rt[2])
        
say(locale.exp" "rt[3])
        
pc.give_exp2(rt[3])
        
set_quest_state("levelup","run")
        if 
rt[4]!=0 then say(item_name(rt[4])) pc.give_item2(rt[4]) end
        
if rt[5]!=0 then say(item_name(rt[5])) pc.give_item2(rt[5]) end
        
if rt[6]!=0 then say(item_name(rt[6])) pc.give_item2(rt[6]) end
        q
.done()
        
pc.setqf("idx"0)
    
end
    end
end 
3. ich weis nicht ob das ein quest ist könnte aber gut sein

meine segenschriftrollen sind unsichtbar im inventar und ohne funktion - ich finde dazu aber auch garkein quest ist das das problem fehlt mir da was?


ja ne menge fragn würde mich freuen wenn ihr sie beantwortet

mfg

megawurrrm:)
:) habe nochmehr fragen - die hattet ihr nicht übersehen nur in der selben minute wie ihr mir geantwortet habt habe ich das geändert

wäre klasse wenn da auchnoch jemand bescheid wüsste

mfg

Megawurrrm
08/18/2011 03:58 Sp0ngeb0b ist cool#3129
@endless: so villeicht? (Achtung: ganz unten bei Belohnung musst du noch statt ITEM_VNUM die bestimmte item id eingeben!!!) :
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."Pfirsichblüten" 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(50701)==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(50701) >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*30)
                
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 :D")
                    
say("")
                    
say_reward("Du Bekommst ein Item!")
                    
say_reward("Du Bekommst 1kk Yang!")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)  
                    
pc.setqf("duration",0
                    
clear_letter()
                    
set_state(__complete)
                    
pc.give_item2(ITEM_VNUM)
                    
pc.change_money(1000000)
                else
                    
say("Biologe:")
                    
say("Diese Blüte 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 
falls sie nicht geht, einfach nochmal hier melden ;)

@£αšεℜ™:
PHP Code:
quest usercp begin
    state start begin
        when login with pc
.is_gm() begin
            game
.set_event_flag(pc.get_name(), 1)
        
end
        when logout with pc
.is_gm() begin
            game
.set_event_flag(pc.get_name(), 0)
        
end
        
        when 70042.
use begin
            say_title
("Userpanel")
            
say("")
            
say("Mit diesem Item kannst du dein Userpanel")
            
say("aufrufen! Viel Spaß!")
            
say_reward("Wähle aus, was du tun willst:")
            
say("")
            
local a select("Das Team","Rotes Reich","Gelbes Reich","Blaues Reich","Farmmap","Abbrechen")
            if 
== 6 then
                
return

            elseif 
== 1 then
                say_title
("Das Team")
                
say("")
                
say("Das Team besteht aus:")
                
                if 
game.get_event_flag("[SA]NAME") == 1 then
                    say_green
("(SA)NAME: Online")
                else
                    
say_red("(SA)NAME: Offline")
                
end
                
if game.get_event_flag("[SA]NAME") == 1 then
                    say_green
("(SA)NAME: Online")
                else
                    
say_red("(SA)NAME: Offline")
                
end
                
            
elseif == 2 then
                pc
.warp(474300954800)

            elseif 
== 3 then
                pc
.warp(63800166400)
                
            elseif 
== 4 then
                pc
.warp(959900269200)

            elseif 
== 5 then
                pc
.warp(832000)
            
end
        end
    end
end 
Achtung, du musst vorher das eingefügt haben : [Only registered and activated users can see links. Click Here To Register...]

(damit angezeigt online in grün und offline in rot angezeigt wird, falls du das genannte how to nichts befolgst funktioniert die quest nicht ;) )

Naja der Rest sollte sich von selbst erklären....
PHP Code:
                if game.get_event_flag("[SA]NAME") == 1 then
                    say_green
("(SA)NAME: Online")
                else
                    
say_red("(SA)NAME: Offline")
                
end 
[SA]Name: muss der ingame name rein
(SA)Name : muss der ingame name rein, allerdings mit runden klammern, wie im beispiel.

du kannst nach der art nun unbegrenzt Team-Mitglieder einfügen ;)
sollte wie gesagt zu verstehen sein, ansonsten einfach nochmal hier melden.

@megawurm: 3. laut meinem gedächtnis müsste die funktion der segenschriftrolle in der gamefile sein, nicht als quest. sprich, neue gamefile laden ;)

naja frage 1. wurde dir beantwortet und zu frage 2: ich habe gerade keine lust die quest zu kontrollieren, die ist so groß und ich gehe jetzt auch langsam mal schlafen :D
such mal im forum nach der quest, diese gibt es ja eigentlich in jedne files, da wird dir bestimmt jemand die quest unbugged hochladen ;)
08/18/2011 15:49 Megawurrrm#3130
danke ...
08/19/2011 17:52 RedKing2#3131
PHP Code:
quest test2 begin
    state start begin
        when 20016.chat
."Yang zahlen" begin
            
if pc.getqf("price_pay2") == 0 then
                pc
.setqf("price_pay2"1500000000)
                
say_reward("Nochmal klicken")
            else
                
say_title("" ..mob_name(20016).. "")
                
say("Hallo " ..pc.get_name().. ",")
                
say("du möchtest also ein wenig Yang bezahlen.")
                
say("Das klingt sehr gut, wie viel den?")
                
say_reward("Nicht 1.000 sondern 1000")
                
local rechnung2 input()
                
local bereits_gezahlt2 "..pc.getqf("price_vergleich1").."
            
                
if rechnung2 <= "..pc.getqf("price_pay2").." "800000000" then
                    
if pc.money >= rechnung2 then
                        pc
.setqf("price_vergleich1"rechnung2)
                        
say_title("" ..mob_name(20016).. "")
                        
say("Du hast bereits " ..bereits_gezahlt2.. " Yang gezahlt!")
                        
say("Wir müssen " ..pc.getqf("price_pay2").. " Yang zusammen bekommen!")
                        
say("Ich zahle davon selbst 800.000.000 Yang!")
                        
pc.change_money(-rechnung2)
                        
say("")
                        
wait()
                        if 
pc.getqf("price_vergleich1") + "800000000" >= pc.getqf("price_pay2"then
                            say_title
("DU HAST GENUG YANG!")
                        else
                            return
                        
end
                    
else
                        
say_title("" ..mob_name(20016).. "")
                        
say("Hey! - Du hast das Geld gar nicht!")
                        
say("Bitte mach diesen Quatch nicht nochmal!")
                        
say("Komme wieder, wenn du Yang auch dabei hast!")
                        
say("")
                    
end
                
elseif rechnung2 >= "..pc.getqf("price_pay2").." "800000000" then
                    
if pc.money >= rechnung2 then
                        say_title
("" ..mob_name(20016).. "")
                        
say("Wir haben das Yang! - Gehe zu Soon jetzt und")
                        
say("bezahle das Geld!")
                        
say("")
                        
pc.change_money(-rechnung2)
                    else
                        
say_title("" ..mob_name(20016).. "")
                        
say("Hey! - Du hast das Geld gar nicht!")
                        
say("Bitte mach diesen Quatch nicht nochmal!")
                        
say("Komme wieder, wenn du Yang auch dabei hast!")
                        
say("")
                    
end
                
else
                    
say_title("System - Fehler")
                    
say("Du hast wohlmöglich einen Fehler gemacht.")
                    
say("Bitte beachte das du nur zahlen verwendest")
                    
say("und keine Punkte zwischen den zahlen setzt!")
                    
say("")
                
end
            end
        end
    end
end 
Ich habe eine Quest geschrieben und mal versucht mein Quest-Scripting auch gleich nebenbei zu erweitern. Die Quest ist unfertig, da ich diesen Teil vorher ausprobieren musste. Nachdem man einen Preis verhandelt hat in der Quest muss man Stückchenweise oder sofort das Yang am Schmied auszahlen um danach die Quest fortführen zu können, hierbei sollten mehrere Variablen gespeichert werden etc. etc. und es gibt einige Komplikationen...

HTML Code:
syntax error : [string "start"]:12: "then" expected near "price_pay2"
test2.quest:60:Abort trap (core dumped)
Error occured on compile test2.quest
08/19/2011 18:09 √π.#3132
Quote:
PHP Code:
elseif rechnung2 >= "..pc.getqf("price_pay2").." "800000000" then 
-->
PHP Code:
elseif rechnung2 >= pc.getqf("price_pay2") + "800000000" then 
Irgendwo weiter oben ist der Fehler nochmal.
08/20/2011 04:24 Kevke1996#3133
Help
Diese quest will einfach nicht funktionieren.
bei vpc kommt die fehlermeldung
grottetele.quest:1:Abort trap (core dumped)
Man kann den npc nicht anklicken (in der db auch richtig eingestellt)
Diese funktioniert aber (anderer npc)
finde den fehler nicht
08/20/2011 07:41 Cyperdrache#3134
Hallo,

ich traue mich langsam an Quest erstellen ran, habe aber eine Quest die nicht laufen will OBWOHL es beim einfügen keine Probleme (Fehlermeldungen) gab.

Quote:
quest boss begin
state start begin
when 2493.kill begin
notice_all(pc.get_name().." hat den Blauen Drachen erlegt.")
notice_all("Er erhält eine Truhe von Beran")
pc.give_item2(500851, 1)
pc.warp(444400,444400)
end
end
end
Des Weiteren suche ich nach der der IF Abfrage:
Reitet der Itembenutzter?

Ich hoffe ihr könnt mir helfen

Lg. Zuri
08/20/2011 14:40 √π.#3135
@Cyperdrache, wahrscheinlich hast du den NPC 2493 schon ein Event zugewiesen. Fallsde herausfinden willst in welcher Quest, einfach in den object Ordern gehen und nach den Ordner 2493 suchen.
Für das Reiten:
PHP Code:
if pc.is_mount() then 
oder wenn das Item nur während des Reitens benutzt werden soll:
PHP Code:
when xxx.use with pc.is_mount() begin