Hi Quester,
wie ist es mir möglich meine normale Lager-Quest:
mit dieser Bank Quest zu vereinen:
?
Mfg
wie ist es mir möglich meine normale Lager-Quest:
PHP Code:
-- ????? -> ??
-- ???+4 -> ???????
-- ????? -> ?????
quest stash begin
state start begin -- ???? ??? ??
when 9005.click begin
local l = game.get_safebox_level()
--syschat(l) -- for debug
if l == 0 then
say("Möchtest du ein Lager erstellen?")
if pc.gold < 500 then
say("Du hast leider nicht genug Yang (500 yang)")
else
local s = select("Ja", "Nein")
if s == 1 then
--stash.setlevel(1)
pc.changegold(-500)
game.set_safebox_level(1)
say("Um ein Lager zu erstellen must du 500 yang bezahlen!")
else
say("Ein immoment sehr niedriger Preis!")
end
end
elseif l == 1 then
say("Herzlich Willkommen!")
if pc.getqf("open_count") < 3 then
say("Herzlich Willkommen!")
pc.setqf("open_count",pc.getqf("open_count")+1)
end
local s = select("Lager", "Barren", "Itemshop Lager", "Schließen")
if s == 1 then
game.open_safebox()
elseif s == 2 then
-- ?? ?? ??? ?? ??,?? ????
if pc.getqf("gold_bar_say_count") < 3 then
pc.setqf("gold_bar_say_count",pc.getqf("gold_bar_say_count")+1)
wait()
end
npc.open_shop(15)
say("Hmmm....")
say("Unsere Goldvorräte sind sehr knapp...")
say("Doch trotzdem biete ich sie dir zu einem fairen Preis an!")
say("Ich hoffe das du auch mein Angebot nutzen wirst!!")
say("Nun gut...sieh dich um in meinem Laden!")
say("")
q.done()
elseif s == 3 then
game.open_mall()
end
elseif l == 2 then
say("Herzlich Willkommen [3]")
local f = pc.getqf("recommendation")
local s = 0
if f <= 1 then
s = select("Test", "Lager", "Barren", "Itemshop Lager", "Schließen")
elseif f == 2 then
s = select("Nicht Bezahlen!", "Lager", "Barren", "Itemshop Lager", "Schließen")
elseif f == 3 then
s = select("Bezahlen", "Lager", "Barren", "Itemshop Lager", "Schließen")
end
if s == 1 then
if f == 1 then
say("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("KEIN GELD")
pc.setqf("recommendation", 0)
q.done()
elseif f == 3 then
-- ??? ??? ?? ??
if pc.countitem(locale.stash.enlarge_2_mark_item) == 0 then
say("SIE HABEN YANG! 2")
q.set_title(locale.stash.enlarge_2_title)
q.start()
pc.setqf("recommendation", 1)
else
say("SIE HABEN YANG! 3")
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(pc.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(15)
-- ?? ??? ?? ?? ??
q.done()
elseif s == 4 then
game.open_mall()
end
elseif l == 3 then
say("Herzlich Willkommen!")
local s = select("Lager", "Barren", "Itemshop Lager", "Schließen")
if s == 1 then
game.open_safebox()
elseif s == 2 then
npc.open_shop(15)
-- ?? ??? ?? ?? ??
q.done()
elseif s == 3 then
game.open_mall()
end
--local s = select("TEST ENTLARGE 3", "Lager", "Itemshop Lager", "Schließen")
--if s == 1 then
-- say("Herein Spaziert in die gute Stube!")
-- local s = select("Ja", "Nein")
-- 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("Kein Gebrauch!")
-- end
--elseif s == 2 then
-- game.open_safebox()
--end
elseif l >= 3 then
say("Herzlich Willkommen")
local s = select("Lager", "Barren", "Itemshop Lager", "Schließen")
if s == 1 then
game.open_safebox()
elseif s == 2 then
npc.open_shop(15)
-- ?? ??? ?? ?? ??
q.done()
elseif s == 3 then
game.open_mall()
end
end
end
when oldwoman.chat.locale.stash.enlarge_2_recommendation 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 warehouse_keeper.click begin
say("Herzlich Willkommen bei mir!")
local s = select(locale.stash.enlarge_1_take_bear,"Lager", "Itemshop Lager", "Schließen");
if s == 1 then
-- ????? ???? ??
if pc.countitem(locale.stash.enlarge_1_item)>=30 then
say(locale.stash.enlarge_1_success)
pc.removeitem(locale.stash.enlarge_1_item,30)
game.set_safebox_level(2)
setstate(start)
q.done()
cleartimer("enlarge_1_kill_bear")
else
say(locale.stash.enlarge_1_notyet)
end
elseif s == 2 then
game.open_safebox()
elseif s == 3 then
game.open_mall()
end
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("Herzlich Willkommen, Abenteurer!")
local s = select(locale.stash.enlarge_3_complete, "Lager", "Itemshop Lager", "Schließen")
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
mit dieser Bank Quest zu vereinen:
PHP Code:
quest banker begin
state start begin
when 123456.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 maximal einen Betrag")
say("von 4.611.686.016.279.904.256 Yang")
say("aufbewahren.")
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
Mfg