[SERVICE] Die Questkontrolle

09/11/2011 15:02 marvpaul#3436
Hey Leute; ich hab vor ner halben Stunde angefangen Quest zu "machen"/zusammenzustellen. Also nehmt es mir nicht übel wenn der Fehler vllt. auf der Hand liegt.

PHP Code:
quest icerun begin
    state start begin
        when 20083.chat
."Soll es los gehen?" begin
            say_title
("Wächter vom Ice Run:")
            
say("Okey; wollt ihr den Ice-Run wirklich starten?")
            
local s=select("Klar!","Nein; ich glaub das schaffen wir nicht.")
            if 
s==1 then
                say
("Okey; du hast es so gewollt.!")
                
d.spawn_mob(803612289)
                
d.spawn_mob(803610689)
            
end
            
if s==2 then
                say
("Ja; ich hab doch gleich gewusst ihr traut euch nicht.")
                
say("Wenn du es dir noch anders überlegst sag mir einfach bescheid.")
            
end
        end
    end
end 
Die Mobs Spawnen einfach nicht. >.< Gleiches Problem ist beim Befehl
" d.regen_file("*Verzeichnis*")"

Jeder der mir hilft/zur Lösung des Problems beiträgt bekommt ein Thx. Is ja eigl. klar.^^
09/11/2011 15:53 F O R S E N B O Y S#3437
PHP Code:
quest icerun begin
    state start begin
        when 20083.chat
."Soll es los gehen?" begin
            say_title
("Wächter vom Ice Run:")
            
say("Okey; wollt ihr den Ice-Run wirklich starten?")
            
local s=select("Klar!","Nein; ich glaub das schaffen wir nicht.")
            if 
== 1 then
                say
("Okey; du hast es so gewollt.!")
                
d.spawn_mob(8036)
                
d.spawn_mob(8036)
            
end
            
elseif == 2 then
                say
("Ja; ich hab doch gleich gewusst ihr traut euch nicht.")
                
say("Wenn du es dir noch anders überlegst sag mir einfach bescheid.")
                return
             
end
        end
    end
en 
Versuch's mal.
09/11/2011 16:08 marvpaul#3438
Error. Is auch logisch wenn du das hinter den Mob Vnum´s wegnimmst. Sind ja die Kordinaten. Jetzt weiß er nicht mehr wo er hin spawnen soll. Aber wenn ich denk quest wie oben einfüg Spawnen die Mobs auch nicht. xD Aber war nen Versuch wert; danke.
09/11/2011 17:18 F O R S E N B O Y S#3439
Quote:
Originally Posted by marvpaul View Post
Error. Is auch logisch wenn du das hinter den Mob Vnum´s wegnimmst. Sind ja die Kordinaten. Jetzt weiß er nicht mehr wo er hin spawnen soll. Aber wenn ich denk quest wie oben einfüg Spawnen die Mobs auch nicht. xD Aber war nen Versuch wert; danke.
Woher soll die Quest denn wissen, welche Map gemeint ist? Vía GM-Befehl gibt man ja auch keine Koordinaten an.

Was für ein Error kommt denn?
09/11/2011 17:55 Sp0ngeb0b ist cool#3440
Hmm

möglichkeit eins wäre :
PHP Code:
quest icerun begin
    state start begin
        when 20083.chat
."Soll es los gehen?" begin
            say_title
("Wächter vom Ice Run:")
            
say("Okey; wollt ihr den Ice-Run wirklich starten?")
            
local s select("Klar!""Nein; ich glaub das schaffen wir nicht.")
            if 
== 1 then
                say
("Okey; du hast es so gewollt.!")
                
mob.spawn(8036pc.get_local_x(), pc.get_local_y(), 1)
                
mob.spawn(8036pc.get_local_x(), pc.get_local_y(), 1)
            elseif 
== 2 then
                say
("Ja; ich hab doch gleich gewusst ihr traut euch nicht.")
                
say("Wenn du es dir noch anders überlegst sag mir einfach bescheid.")
            
end
        end
    end
end 
dann spawnen die mobs allerdings direkt vor dem spieler...

oder man probiert es mal so :
PHP Code:
quest icerun begin
    state start begin
        when 20083.chat
."Soll es los gehen?" begin
            say_title
("Wächter vom Ice Run:")
            
say("Okey; wollt ihr den Ice-Run wirklich starten?")
            
local s select("Klar!""Nein; ich glaub das schaffen wir nicht.")
            if 
== 1 then
                say
("Okey; du hast es so gewollt.!")
                
mob.spawn(803612289)
                
mob.spawn(803612289)
            elseif 
== 2 then
                say
("Ja; ich hab doch gleich gewusst ihr traut euch nicht.")
                
say("Wenn du es dir noch anders überlegst sag mir einfach bescheid.")
            
end
        end
    end
end 
ich kann mir allerdings nich vorstellen, dass es geht aber man kanns ja mal testen :D
09/11/2011 19:04 ScarBoy#3441
Hey,
komme nicht weiter..
bei manchen wenn die lagerverwalter anklicken funktionierts bei manchen tut sich nichts...

Quote:
quest stash begin
state start begin
when warehouse_keeper.click begin
local l = game.get_safebox_level()
--syschat(l) -- for debug

if l == 0 then
say(locale.stash.greet1)

if pc.gold < 0 then
say(locale.stash.not_enough_money)
else
local s = select(locale.stash.pay_ok, locale.stash.pay_no)
if s == 1 then
--stash.setlevel(1)
game.set_safebox_level(1)
say(locale.stash.first_open)
else
say(locale.stash.dont_open)
end
end
elseif l == 1 then
say(locale.stash.greet2)

if pc.getqf("open_count") < 3 then
say(locale.stash.beginner_info)
pc.setqf("open_count",pc.getqf("open_count")+1)
end

local s = select(locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)

if s == 1 then
game.open_safebox()
elseif s == 2 then
--if pc.getqf("gold_bar_say_count") < 3 then
--say(locale.stash.gold_bar_beginner_info)
--pc.setqf("gold_bar_say_count",pc.getqf("gold_bar_s ay_count")+1)
--wait()
--end
npc.open_shop()
say("Die Minen sind inzwischen alle abgebaut worden.")
say("Es ist sehr schwer, Gold oder Silber zu finden.")
say("Solange keine neue Erzader entdeckt wird,")
say("gibt es kein Gold oder Silber.")
q.done()
elseif s == 3 then
game.open_mall()
end
elseif l == 2 then
say(locale.stash.greet3)

local f = pc.getqf("recommendation")
local s = 0

if f <= 1 then
s = select(locale.stash.enlarge, locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)
elseif f == 2 then
s = select(locale.stash.enlarge_2_no_mark, locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)
elseif f == 3 then
s = select(locale.stash.enlarge_2_have_mark, locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)
end

if s == 1 then
if f == 1 then
say(locale.stash.enlarge_2_again)
q.set_title(locale.stash.enlarge_2_title)
if pc.countitem(locale.stash.enlarge_2_item) < 1 then
pc.give_item2(locale.stash.enlarge_2_item)
end
elseif f == 2 then
say(locale.stash.enlarge_2_no_mark2)
pc.setqf("recommendation", 0)
q.done()
elseif f == 3 then
if pc.countitem(locale.stash.enlarge_2_mark_item) == 0 then
say(locale.stash.enlarge_2_have_mark2)
q.set_title(locale.stash.enlarge_2_title)
q.start()
pc.setqf("recommendation", 1)
else
say(locale.stash.enlarge_2_have_mark3)
game.set_safebox_level(3)
pc.removeitem(locale.stash.enlarge_2_mark_item)
q.done()
end
else
say(locale.stash.enlarge_2_msg1,pc.name,math.mod(p c.job,2)==0 and locale.man_postfix or locale.woman_postfix,locale.stash.enlarge_2_msg2)
if pc.countitem(locale.stash.enlarge_2_item)<1 then
pc.give_item2(locale.stash.enlarge_2_item)
end
pc.setqf("recommendation",1)
q.set_title(locale.stash.enlarge_2_title)
q.start()
end
elseif s == 2 then
game.open_safebox()
elseif s == 3 then
--npc.open_shop()
-- Lagerverwalter:
say("Die Minen sind inzwischen alle abgebaut worden.")
say("Es ist sehr schwer, Gold oder Silber zu finden.")
say("Solange keine neue Erzader entdeckt wird,")
say("gibt es kein Gold oder Silber.")
q.done()
elseif s == 4 then
game.open_mall()
end
elseif l == 3 then
say(locale.stash.greet4)
local s = select(locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)

if s == 1 then
game.open_safebox()
elseif s == 2 then
--npc.open_shop()
-- Lagerverwalter:
say("Die Minen sind inzwischen alle abgebaut worden.")
say("Es ist sehr schwer, Gold oder Silber zu finden.")
say("Solange keine neue Erzader entdeckt wird,")
say("gibt es kein Gold oder Silber.")
q.done()
elseif s == 3 then
game.open_mall()
end
--local s = select(locale.stash.enlarge, locale.stash.open_stash, locale.stash.open_mall, locale.stash.nomatter)
--if s == 1 then
-- say(locale.stash.enlarge_3_msg1)

-- local s = select(locale.stash.enlarge_try_ok, locale.stash.enlarge_try_no)
-- if s == 1 then
-- say(locale.stash.enlarge_try_ok_answer)
-- setstate("enlarge_3")
-- pc.setqf("3_left_time", 30*60)
-- loop_timer("enlarge_3_kill_esoteric",3)
-- pc.setqf("3_left_count",100)
-- q.set_title(locale.stash.enlarge_3_title)
-- q.set_counter_name(locale.stash.enlarge_3_counter)
-- q.set_counter_value(100)
-- q.set_clock_name(locale.stash.enlarge_3_timer)
-- q.set_clock_value(30 * 60)
-- q.start()
-- else
-- say(locale.stash.enlarge_no_need)
-- end
--elseif s == 2 then
-- game.open_safebox()
--end
elseif l >= 3 then
say(locale.stash.greet2)

local s = select(locale.stash.open_stash, locale.stash.buy_silver_and_gold_bar, locale.stash.open_mall, locale.stash.nomatter)

if s == 1 then
game.open_safebox()
elseif s == 2 then
--npc.open_shop()
-- Lagerverwalter:
say("Die Minen sind inzwischen alle abgebaut worden.")
say("Es ist sehr schwer, Gold oder Silber zu finden.")
say("Solange keine neue Erzader entdeckt wird,")
say("gibt es kein Gold oder Silber.")
q.done()
elseif s == 3 then
game.open_mall()
end
end
end

when oldwoman.chat.locale.stash.enlarge_2_recommendatio n with pc.getf("stash","recommendation") == 1 begin
say(locale.stash.enlarge_2_oldwoman_greet)
say(delay(400), ". . . [/DELAY]")

if pc.level < 25 then
-- ??? 25?? ??? ?????? ?? ???.
say(locale.stash.enlarge_2_oldwoman_reject)
pc.setqf("recommendation", 2)
q.set_title(locale.stash.enlarge_2_oldwoman_title1 )
else
say(locale.stash.enlarge_2_oldwoman_accept)
pc.setqf("recommendation", 3)
pc.give_item2(locale.stash.enlarge_2_mark_item)
q.set_title(locale.stash.enlarge_2_oldwoman_title2 )
end

pc.removeitem(locale.stash.enlarge_2_item)
end
end

state enlarge_stash1 begin
when info begin
setskin(SCROLL)
setbgimage("level_bg.tga")
addimage(20,12,special.levelup_quest[8][4])
setcolor(0,0,0)
say(locale.stash.enlarge_1_info1,item_name(pc.job< 3 and locale.stash.enlarge_item1 or locale.stash.enlarge_item2),locale.stash.enlarge_1 _info2)
if pc.get_map_index() > 0 and pc.get_map_index() <= table.getn(special.lvq_map) then
for j,i in {8,9,10,11,17} begin
table.foreachi(
special.lvq_map[pc.get_map_index()][i],
function (n,p) addmapsignal(p[1]*100, p[2]*100) end
)
end
setmapcenterposition(200, 0)
end
select(locale.confirm)
clearmapsignal()
setskin(NOWINDOW)
end



when kill begin
if npc.race >= 112 and npc.race <= 116 and -- ?????
(pc.weapon == 50 or pc.weapon == 5030) then
if math.random(5) == 1 then

syschat(locale.stash.enlarge_1_getone)
pc.give_item2(locale.stash.enlarge_1_item)
if pc.countitem(locale.stash.enlarge_1_item) == 30 then
q.set_counter_value(0)
chat(pc.name,locale.stash.enlarge_1_complete)
elseif pc.countitem(locale.stash.enlarge_1_item) < 30 then
q.set_counter_value(30 - pc.countitem(locale.stash.enlarge_1_item))
end
end
end
end

when enlarge_1_kill_bear.timer begin
setstate(enlarge_1_fail)
end

when login begin
if game.get_safebox_level() == 1 then
setstate(enlarge_1_fail)
else
setstate(start)
end
end
end

state enlarge_1_fail begin
when info begin
say(locale.stash.enlarge_1_fail_info)
end

when warehouse_keeper.click begin
say(locale.stash.enlarge_1_fail_ms)
q.done()
setstate("start")
end
end

state enlarge_3 begin
when info begin
end

when warehouse_keeper.click begin
say(locale.stash.greet2)
local s = select(locale.stash.enlarge_3_complete, locale.stash.open_stash, locale.stash.open_mall, locale.stash.nomatter)
if s == 1 then
-- ????? ???? ??
if pc.getqf("3_left_count")<=0 then
say(locale.stash.enlarge_3_success)
game.set_safebox_level(4)
setstate(start)
q.done()
cleartimer("enlarge_3_kill_esoteric")
else
say(locale.stash.enlarge_3_notyet)
end
elseif s == 2 then
game.open_safebox()
elseif s == 3 then
game.open_mall()
end
end

when kill begin
if npc.race >= 601 and npc.race <= 609 then-- ??????
local n = pc.getqf("3_left_count")-1
pc.setqf("3_left_count",n)
q.set_counter_name(locale.stash.enlarge_3_counter)
q.set_counter_value(n)
end
end

when enlarge_3_kill_esoteric.timer begin
local t = pc.getqf("3_left_time")
if t <= 0 then
setstate(enlarge_3_fail)
cleartimer("enlarge_3_kill_esoteric")
else
pc.setqf("3_left_time",t-3);
end
end

when login begin
local t = pc.getqf("3_left_time")
if t <= 0 then
setstate(enlarge_3_fail)
else
loop_timer("enlarge_3_kill_esoteric",3)

q.set_counter_name(locale.stash.enlarge_3_counter)
q.set_counter_value(pc.getqf("3_left_count"))
q.set_clock_name(locale.stash.enlarge_3_timer)
q.set_clock_value(t)
q.start()
end
end
end

state enlarge_3_fail begin
when warehouse_keeper.click begin
say(locale.stash.enlarge_1_fail_msg)
q.done()
setstate("start")
end
end
end
Bitte um schnelle antwort;)
Danke im Voraus
09/11/2011 20:55 .Karuzo#3442
Quote:
Originally Posted by spielmitmir View Post
Funktioniert leider nicht :/

Versuch´s mal mit dieser Quest:

09/11/2011 21:22 spielmitmir#3443
@Syran. Nun zeigt er mir ein Core dumped an in VB *_*
09/11/2011 21:28 .Karuzo#3444
Moment ich schau noma drüber

Versuch´s mal mit dieser Quest:

09/11/2011 21:36 spielmitmir#3445
Zwar zeigt er mir keinen Fehler in VB mehr an, aber die quest erscheint Ingame nicht.
09/11/2011 21:39 .Karuzo#3446
Was meinst du? Hast du dir neuen Char gemacht?
09/11/2011 21:40 spielmitmir#3447
Ja sicher :D. Aber wenn ich mir zum "ersten" mal einlogge, erscheint nichts. Keine quest, gar nichts.
09/11/2011 21:49 F O R S E N B O Y S#3448
PHP Code:
 elseif == 4 then
                    say_title
("Team-Status")
                    
say("GMs")
                    
say("")
                    if 
game.get_event_flag("[GM]xXxXXXx")== 1 then
                    say_reward
("[GM]xXxXXXx ist online")
                    
end
                    
else
                    
say("[GM]xXxXXXx ist offline")
                    
end
                    
if game.get_event_flag("[GM]DdddDDDDd")== 1 then
                    say_reward
("[GM]DdddDDDDd ist online")
                    else
                    
say("[GM]DdddDDDDd ist offline")
                    
say("")
                    
end 
Das ist halt ein Item, das benutzt wird. Und ich weiß nicht, wie ich es zum laufen bringe, dass ich das Ding drin hab und ZUSÄTZLICH die select-optionen.
Hilfe wär nett ;) Gibt auch etwas e*gold
09/11/2011 22:53 F4m0uZStYle#3449
was meinst du den jetzt genau? wo soll das select rein?und was soll das bringen?

verstehe den sinn grade nicht
09/12/2011 06:51 F O R S E N B O Y S#3450
das ist einfach nur ein Abschnitt meiner Quest....mehrere Optionen verfügbar und das ist halt eine davon..


... nur funktioniert sie nicht in dieser anlage