|
You last visited: Today at 06:07
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
06/02/2013, 18:37
|
#8191
|
elite*gold: 0
Join Date: May 2013
Posts: 43
Received Thanks: 9
|
Quote:
Originally Posted by Zryyy
glaube müsste so gehen, wenn nicht dann bei "vnum, 0" die vnum von dem siegels eintragen
|
lol
wieso klaust du aus meiner quest?
und es wird nicht funktionieren xD
€: @CR3AT1V3
so müsste es gehen
PHP Code:
quest buffs begin state start begin when 71135.use begin if pc.getqf("buff1_active") == 0 then pc.setqf("buff1_active", 1) cmdchat("buff1") affect.add_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.add_collect(apply.ATT_SPEED, 20, 604800) affect.add_collect(apply.CAST_SPEED, 20, 604800) affect.add_collect(apply.ATT_GRADE_BONUS, 30, 604800) affect.add_collect(apply.MAX_HP, 10, 604800) affect.add_collect(apply.MAX_MP, 10, 604800) elseif pc.getqf("buff1_active") == 1 pc.setqf("buff1_active", 0) affect.remove_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.remove_collect(apply.ATT_SPEED, 20, 604800) affect.remove_collect(apply.CAST_SPEED, 20, 604800) affect.remove_collect(apply.ATT_GRADE_BONUS, 30, 604800) affect.remove_collect(apply.MAX_HP, 10, 604800) affect.remove_collect(apply.MAX_MP, 10, 604800) end end when 71136.use begin if pc.getqf("buff1_active") == 0 then pc.setqf("buff2_active", 1) cmdchat("buff2") affect.add_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.add_collect(apply.ATT_SPEED, 20, 604800) affect.add_collect(apply.CAST_SPEED, 20, 604800) affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 604800) affect.add_collect(apply.MAX_HP, 10, 604800) affect.add_collect(apply.MAX_MP, 10, 604800) elseif pc.getqf("buff1_active") == 1 pc.setqf("buff2_active", 0) affect.remove_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.remove_collect(apply.ATT_SPEED, 20, 604800) affect.remove_collect(apply.CAST_SPEED, 20, 604800) affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 604800) affect.remove_collect(apply.MAX_HP, 10, 604800) affect.remove_collect(apply.MAX_MP, 10, 604800) end end when 71143.use begin cmdchat("buff3") end when 71145.use begin cmdchat("buff4") end when 71148.use begin cmdchat("buff5") end when 71149.use begin cmdchat("buff6") end end end
ansonsten in der db die bonis einstellen
|
|
|
06/02/2013, 21:29
|
#8192
|
elite*gold: 105
Join Date: Apr 2011
Posts: 123
Received Thanks: 22
|
@Astro. Sry aber da muss irgendwo ein fehler sein er compiliert die quest nicht...
|
|
|
06/02/2013, 21:35
|
#8193
|
elite*gold: 1000
Join Date: Mar 2009
Posts: 1,408
Received Thanks: 1,006
|
Probiers mal so
PHP Code:
quest buffs begin state start begin when 71135.use begin if pc.getqf("buff1_active") == 0 then pc.setqf("buff1_active", 1) cmdchat("buff1") affect.add_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.add_collect(apply.ATT_SPEED, 20, 604800) affect.add_collect(apply.CAST_SPEED, 20, 604800) affect.add_collect(apply.ATT_GRADE_BONUS, 30, 604800) affect.add_collect(apply.MAX_HP, 10, 604800) affect.add_collect(apply.MAX_MP, 10, 604800) elseif pc.getqf("buff1_active") == 1 then pc.setqf("buff1_active", 0) affect.remove_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.remove_collect(apply.ATT_SPEED, 20, 604800) affect.remove_collect(apply.CAST_SPEED, 20, 604800) affect.remove_collect(apply.ATT_GRADE_BONUS, 30, 604800) affect.remove_collect(apply.MAX_HP, 10, 604800) affect.remove_collect(apply.MAX_MP, 10, 604800) end end when 71136.use begin if pc.getqf("buff1_active") == 0 then pc.setqf("buff2_active", 1) cmdchat("buff2") affect.add_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.add_collect(apply.ATT_SPEED, 20, 604800) affect.add_collect(apply.CAST_SPEED, 20, 604800) affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 604800) affect.add_collect(apply.MAX_HP, 10, 604800) affect.add_collect(apply.MAX_MP, 10, 604800) elseif pc.getqf("buff1_active") == 1 then pc.setqf("buff2_active", 0) affect.remove_collect(apply.GOLD_DOUBLE_BONUS, 50, 604800) affect.remove_collect(apply.ATT_SPEED, 20, 604800) affect.remove_collect(apply.CAST_SPEED, 20, 604800) affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 604800) affect.remove_collect(apply.MAX_HP, 10, 604800) affect.remove_collect(apply.MAX_MP, 10, 604800) end end when 71143.use begin cmdchat("buff3") end when 71145.use begin cmdchat("buff4") end when 71148.use begin cmdchat("buff5") end when 71149.use begin cmdchat("buff6") end end end
(auch bei elseif sollte ein "then" stehen  )
|
|
|
06/02/2013, 21:39
|
#8194
|
elite*gold: 105
Join Date: Apr 2011
Posts: 123
Received Thanks: 22
|
Danke dir, hat geklappt. Hätt' ich auch drauf kommen können
|
|
|
06/02/2013, 22:22
|
#8195
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,219
Received Thanks: 278
|
PHP Code:
quest Seon_Pyeongs_Forschung2 begin
state start begin
when login or levelup with pc.get_level() >=94 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Seon-Pyeongs Forschung2")
end
when button or info begin
say_title("Seon-Pyeongs Forschung2")
say("")
say("Seon-Pyeongs sucht dich.")
say("Er wird in manchen Kreisen auch ")
say("OT-Sura genannt")
end
when __TARGET__.target.click or
20091.chat."Forschung2" begin
target.delete("__TARGET__")
say("Seon-Pyeong:")
--- l
say("Hallo "..pc.get_name()..",")
say("Ich brauche deine Hilfe")
say("um meine Forschung fortzuführen.")
say("Du musst mir 20")
say("Juwel der Weisheit bringen")
say("")
say("")
set_state(go_to_disciple)
end
end
state go_to_disciple begin
when letter begin
send_letter("Auftrag von Seon-Pyeong")
end
when button or info begin
say_title("Quest")
--- l
say("")
say("Seon-Pyeong gab euch den Auftrag")
say("20 Juwel der Weisheit zu sammeln!")
say("Das Item bekommt ihr von Setaou-Bogenschützen und Setaou-Kommandanten.")
say("Viel Glueck!")
say("")
say_item_vnum(30252)
say_reward(" Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
say("")
end
when 2412.kill or 2414.kill begin
if pc.count_item(30252)<20-pc.getqf("collect_count") then
pc.give_item2(30252, 1)
end
end
when 20091.chat."Forschung(2)" with pc.count_item(30252) >0 begin
pc.remove_item(30252, 1)
if pc.getqf("collect_count")< 19 then
local index = pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say("Seon-Pyeong:")
say("Perfekt! Das Item ist in Ordnung")
say("Du hast bis jetzt ".." "..20-pc.getqf("collect_count").. " abgegeben!")
say("Bring mir die restlichen!")
say("")
return
end
say("Seon-Pyeong:")
say("Yuhu! Du hast mir")
say("alle gebracht!")
say("Jetzt musst du mir nur noch einen Seelenstein des Drachen bringen!")
say("Du kriegst ihn vom General Huashin oder Beran-Setaou!")
set_state(drachenstein)
end
end
state drachenstein begin
when letter begin
send_letter("Auftrag von Seon-Pyeong")
end
when button or info begin
say_title("Quest")
--- l
say("")
say("Seon-Pyeong gab euch den Auftrag")
say("Einen Seelenstein des Drachen zu holen!")
say("Das Item bekommt ihr von General Huashin oder Beran-Setaou.")
say("Viel Glueck!")
say("")
say_item_vnum(30254)
say("")
end
when 2493.kill or 2494.kill begin
if pc.count_item(30254)<1-pc.getqf("collect_count") then
pc.give_item2(30254, 1)
end
end
when 20091.chat."Forschung(2)" with pc.count_item(30254) >0 begin
pc.remove_item(30254, 1)
say("Seon-Pyeong:")
say("Yuhu! Du hast mir")
say("alles gebracht!")
say("Jetzt musst du mir nur noch einen Seelenstein des Drachen bringen!")
say("Du kriegst ihn vom General Huashin oder Beran-Setaou!")
say("Welche Belohnung möchtest du?")
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
if s == 3 then
say_reward("Du erhälst 60 Angriffswert.")
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
end
if s == 2 then
say_reward("Du erhälst 140 Verteidigung.")
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
end
if s == 1 then
say_reward("Du erhälst 1100 TP.")
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
end
clear_letter()
return
end
end
end
PHP Code:
quest Seon_Pyeongs_Forschung begin
state start begin
when login or levelup with pc.get_level() >=92 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20091)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Seon-Pyeongs Forschung")
end
when button or info begin
say_title("Seon-Pyeongs Forschung")
say("")
say("Seon-Pyeong sucht dich.")
say("Er wird in manchen Kreisen auch ")
say("OT-Sura genannt")
end
when __TARGET__.target.click or
20091.chat."Quest" begin
target.delete("__TARGET__")
say("Seon-Pyeong:")
--- l
say("Hallo "..pc.get_name()..",")
say("Ich brauche deine Hilfe")
say("um meine Forschung fortzuführen.")
say("Du musst mir 10")
say("Juwel der Missgunst bringen")
say("")
say("")
set_state(go_to_disciple)
end
end
state go_to_disciple begin
when letter begin
send_letter("Auftrag von Seon-Pyeong")
end
when button or info begin
say_title("Quest")
--- l
say("")
say("Seon-Pyeong gab euch den Auftrag")
say("10 Juwel der Missgunst zu sammeln!")
say("Das Item bekommt ihr von Unterwelt-Eisgolem und Unterwelt-Eismann.")
say("Viel Glueck!")
say("")
say_item_vnum(30251)
say_reward(" Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
say("")
end
when 1137.kill or 1135.kill begin
if pc.count_item(30251)<10-pc.getqf("collect_count") then
pc.give_item2(30251, 1)
end
end
when 20091.chat."Forschung(1)" with pc.count_item(30251) >0 begin
say("Einen Moment!")
--- l
say("Ich werde das Item")
say("schnell mal ueberpruefen.")
say("Hoffentlich klappt alles!")
say("")
pc.remove_item(30251, 1)
wait()
if pc.getqf("collect_count")< 9 then
local index = pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say("Seon-Pyeong:")
say("Perfekt! Das Item ist in Ordnung")
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
say("Bring mir die restlichen!")
say("")
return
end
say("Seon-Pyeong:")
say("Yuhu! Du hast mir")
say("alles gebracht!")
say("Dafür werde ich dich wie versprochen belohnen!")
wait()
say("Welche Belohnung möchtest du?")
local s = select ("1100 TP", "140 Verteidigung", "60 Angriffswert")
if s == 3 then
say_reward("Du erhälst 60 Angriffswert.")
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
end
if s == 2 then
say_reward("Du erhälst 140 Verteidigung.")
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
end
if s == 1 then
say_reward("Du erhälst 1100 TP.")
affect.add_collect(apply.TP_GRADE_Bonus,1100,60*60*24*365*60)
end
clear_letter()
return
end
end
end
1.Die Belohnung kann man so oft man will abholen.
2. Es gibt keien Wertde Als belohnung also z.b keine tp wenn man es auswählt
3. Möchte haben dass die mobs es zu 0.10% droppen.
4.25/75 Abgabe.
Danke
|
|
|
06/03/2013, 03:54
|
#8196
|
elite*gold: 0
Join Date: Jul 2009
Posts: 228
Received Thanks: 2
|
Hoffe ihr könnt mir an der quest helfen
Hab ein Problemm mit meiner Zombie Run quest wenn ich bis zombie bin und denn gedownt habe werd ich eine ebene runter gestufft und wenn ich es getötet habe bin ich wieder beim Zombie King kann einer mir helfen sobald man denn Zombie gekillt hat das man auto matisch ganz runter geportet wird ? die quest ist die hier
PHP Code:
quest deviltower2_zone begin
state start begin
when login begin
if pc.get_map_index() == 214 then
if pc.get_x() < 55555+88 or pc.get_y() < 55555+577 or pc.get_x() > 55555+236 or pc.get_y() > 55555+737 then
pc.warp((5376+362)*100, (512+478+4)*100, 65)
end
pc.set_warp_location(65, 5376+362, 512+478+4)
elseif pc.get_map_index() >= 2140000 and pc.get_map_index() <= 2150000 then
pc.set_warp_location(65, 5376+362, 512+478+4)
end
end
when 2091.chat."In den Zombieturm" begin
if pc.get_level() < 120 then
say_title("Der Zombieturm Turm")
say("Dein Level ist zu niedrig.")
say("Du musst min. Level 120 sein,")
say("um den Turm zubetreten!")
return
else
say_title("Der Zombieturm")
say("Du kennst sicherlich den Dämonenturm..")
say("Dieser Turm ähnelt diesen Turm zwar von außen...")
say("Jedoch von innen...")
say("Im inneren sind viel stärkere Monster..")
wait()
say_title("Der Zombieturm")
say("Sie Trachten dir noch deinem Leben,")
say("nur starke Krieger können sich gegen")
say("diese Monster behaupten.")
say("")
say_reward("Bist du bereit den Turm zubetreten?")
local s = select("Hinnein!","Nein, ich habe Angst.")
if s == 1 then
pc.warp(5555500,5555500)
end
end
end
when 8037.kill begin
d.setf("dt2kill",1)
timer("dt2metin", 5)
end
when dt2metin.timer begin
d.clear_regen()
d.new_jump_all(214, 5555500+126,5555500+384)
d.new_jump_all(214, 55555+126,55555+384)
d.clear_regen()
d.regen_file("data/dungeon/deviltower2_2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), 55555+134,55555+147, "data/dungeon/deviltower3_2_regen.txt")
end
when 8023.kill with pc.in_dungeon() begin
timer("spinne",10)
end
when spinne.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+369,55555+629)
d.regen_file("data/dungeon/deviltower4_2_regen.txt")
end
when 8028.kill with pc.in_dungeon() begin
d.notice("Du hast den Metin zerstört!")
d.notice("Du hast nun 15min Zeit,")
d.notice("die 7 Metins zu töten!")
timer("sensicount", 60*15)
d.kill_all()
d.kill_all()
d.spawn_mob(8030,368,629)
d.spawn_mob(8030,419,630)
d.spawn_mob(8030,428,653)
d.spawn_mob(8030,422,679)
d.spawn_mob(8030,395,689)
d.spawn_mob(8030,369,679)
d.spawn_mob(8030,361,658)
d.spawn_mob(20360,371,658)
d.setf("steinebene4",7)
end
when 8030.kill with pc.in_dungeon() begin
game.drop_item(90007,1)
end
when 20360.take with item.vnum == 90007 begin
item.remove()
d.setf("steinebene4", d.getf("steinebene4") - 1)
d.notice("Du hast ein Siegel abgegeben!")
local steine123 = d.getf("steinebene4");
d.notice("Es fehlen noch "..steine123.." Steine!")
if d.getf("steinebene4") <= 0 then
npc.purge()
d.notice("Du hast diese Ebene geschafft!")
timer("ebene5",10)
d.kill_all()
end
end
when ebene5.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+369,55555+401)
d.regen_file("data/dungeon/deviltower5_2_regen.txt")
d.spawn_mob(2307,395,416)
end
when 2307.kill with pc.in_dungeon() begin
timer("baum123",10)
end
when baum123.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+374,55555+167)
d.regen_file("data/dungeon/deviltower6_2_regen.txt")
d.spawn_mob(8032,391,217)
end
when 8032.kill with pc.in_dungeon() begin
d.spawn_mob(2596,381,207)
end
when 2597.kill with pc.in_dungeon() begin
timer("drache123",10)
end
when drache123.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+642,55555+639)
d.regen_file("data/dungeon/deviltower7_2_regen.txt")
d.notice("Hier musst so solange Mobbs töten,")
d.notice("bis du eine Nachricht bekommst.")
end
when 2603.kill with pc.in_dungeon() begin
local n = number(1,101)
if n == 100 then
d.notice("Du hast das richtige Monster getötet!")
d.notice("Du wird geportet!")
d.kill_all()
d.clear_regen()
d.jump_all(55555+602,55555+404)
d.regen_file("data/dungeon/deviltower8_2_regen.txt")
d.spawn_mob(2597,607,434)
end
if n <= 10 then
d.spawn_mob(2603,625,680)
end
if n >= 11 and n <=20 then
d.spawn_mob(2603,632,679)
end
if n >= 21 and n <=30 then
d.spawn_mob(2603,626,673)
end
if n >= 31 and n <=40 then
d.spawn_mob(2603,585,647)
end
if n >= 41 and n <=50 then
d.spawn_mob(2603,632,634)
end
if n >= 51 and n <=60 then
d.spawn_mob(2603,629,669)
end
if n >= 61 and n <=70 then
d.spawn_mob(2603,630,653)
end
if n >= 71 and n <=80 then
d.spawn_mob(2603,628,637)
end
if n >= 81 and n <=90 then
d.spawn_mob(2603,611,635)
end
if n >= 91 and n <=99 then
d.spawn_mob(2603,618,637)
end
end
when 25970.kill with pc.in_dungeon() begin
timer("goout",300)
d.kill_all()
d.kill_all()
d.notice("Du hast den König getötet.")
end
when goout.timer begin
d.kill_all()
pc.warp((5376+362)*100, (512+478+4)*100, 65)
end
end
end
|
|
|
06/03/2013, 04:26
|
#8197
|
elite*gold: 10
Join Date: May 2012
Posts: 4,490
Received Thanks: 623
|
Gibt es irgendein Ausgabe-Befehl, welches den NPC im Quest zeigt?
Sowie bei den Items mit " say_item_vnum()" für NPCs?
Er soll nur den NPC zeigen, mehr nicht 
Gibt es bestimmt nicht, gibt es aber 'ne Möglichkeit sowas zu machen?
|
|
|
06/03/2013, 04:48
|
#8198
|
elite*gold: 0
Join Date: Jul 2009
Posts: 228
Received Thanks: 2
|
meinen sie mich ?
|
|
|
06/03/2013, 07:47
|
#8199
|
elite*gold: 0
Join Date: May 2013
Posts: 104
Received Thanks: 18
|
Der Fehler :
Code:
if pc . get_level ( ) = > 28 and pc . get_job ( ) == 3 then end
syntax error : [string "startpc . get_level ( ) = > 28 and pc . get_job ( ) == 3"]:1: `then' expected near `='
dasquest.quest:3:Error occured on compile dasquest.quest
€: hab einfach das hier genommen : when levelup with (pc.get_level() == 28 and pc.get_job() == 3) begin
und es hat funz.
|
|
|
06/03/2013, 13:21
|
#8200
|
elite*gold: 34
Join Date: May 2013
Posts: 75
Received Thanks: 86
|
@ killerrex11
PHP Code:
quest deviltower2_zone begin
state start begin
when login begin
if pc.get_map_index() == 214 then
if pc.get_x() < 55555+88 or pc.get_y() < 55555+577 or pc.get_x() > 55555+236 or pc.get_y() > 55555+737 then
pc.warp((5376+362)*100, (512+478+4)*100, 65)
end
pc.set_warp_location(65, 5376+362, 512+478+4)
elseif pc.get_map_index() >= 2140000 and pc.get_map_index() <= 2150000 then
pc.set_warp_location(65, 5376+362, 512+478+4)
end
end
when 2091.chat."In den Zombieturm" begin
if pc.get_level() < 120 then
say_title("Der Zombieturm Turm")
say("Dein Level ist zu niedrig.")
say("Du musst min. Level 120 sein,")
say("um den Turm zubetreten!")
return
else
say_title("Der Zombieturm")
say("Du kennst sicherlich den Dämonenturm..")
say("Dieser Turm ähnelt diesen Turm zwar von außen...")
say("Jedoch von innen...")
say("Im inneren sind viel stärkere Monster..")
wait()
say_title("Der Zombieturm")
say("Sie Trachten dir noch deinem Leben,")
say("nur starke Krieger können sich gegen")
say("diese Monster behaupten.")
say("")
say_reward("Bist du bereit den Turm zubetreten?")
local s = select("Hinnein!","Nein, ich habe Angst.")
if s == 1 then
pc.warp(5555500,5555500)
end
end
end
when 8037.kill begin
d.setf("dt2kill",1)
timer("dt2metin", 5)
end
when dt2metin.timer begin
d.clear_regen()
d.new_jump_all(214, 5555500+126,5555500+384)
d.new_jump_all(214, 55555+126,55555+384)
d.clear_regen()
d.regen_file("data/dungeon/deviltower2_2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), 55555+134,55555+147, "data/dungeon/deviltower3_2_regen.txt")
end
when 8023.kill with pc.in_dungeon() begin
timer("spinne",10)
end
when spinne.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+369,55555+629)
d.regen_file("data/dungeon/deviltower4_2_regen.txt")
end
when 8028.kill with pc.in_dungeon() begin
d.notice("Du hast den Metin zerstört!")
d.notice("Du hast nun 15min Zeit,")
d.notice("die 7 Metins zu töten!")
timer("sensicount", 60*15)
d.kill_all()
d.kill_all()
d.spawn_mob(8030,368,629)
d.spawn_mob(8030,419,630)
d.spawn_mob(8030,428,653)
d.spawn_mob(8030,422,679)
d.spawn_mob(8030,395,689)
d.spawn_mob(8030,369,679)
d.spawn_mob(8030,361,658)
d.spawn_mob(20360,371,658)
d.setf("steinebene4",7)
end
when 8030.kill with pc.in_dungeon() begin
game.drop_item(90007,1)
end
when 20360.take with item.vnum == 90007 begin
item.remove()
d.setf("steinebene4", d.getf("steinebene4") - 1)
d.notice("Du hast ein Siegel abgegeben!")
local steine123 = d.getf("steinebene4");
d.notice("Es fehlen noch "..steine123.." Steine!")
if d.getf("steinebene4") <= 0 then
npc.purge()
d.notice("Du hast diese Ebene geschafft!")
timer("ebene5",10)
d.kill_all()
end
end
when ebene5.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+369,55555+401)
d.regen_file("data/dungeon/deviltower5_2_regen.txt")
d.spawn_mob(2307,395,416)
end
when 2307.kill with pc.in_dungeon() begin
timer("baum123",10)
end
when baum123.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+374,55555+167)
d.regen_file("data/dungeon/deviltower6_2_regen.txt")
d.spawn_mob(8032,391,217)
end
when 8032.kill with pc.in_dungeon() begin
d.spawn_mob(2596,381,207)
end
when 2597.kill with pc.in_dungeon() begin
timer("drache123",10)
end
when drache123.timer begin
d.kill_all()
d.clear_regen()
d.jump_all(55555+642,55555+639)
d.regen_file("data/dungeon/deviltower7_2_regen.txt")
d.notice("Hier musst so solange Mobbs töten,")
d.notice("bis du eine Nachricht bekommst.")
end
when 2603.kill with pc.in_dungeon() begin
local n = number(1,101)
if n == 100 then
d.notice("Du hast das richtige Monster getötet!")
d.notice("Du wird geportet!")
d.kill_all()
d.clear_regen()
d.jump_all(55555+602,55555+404)
d.regen_file("data/dungeon/deviltower8_2_regen.txt")
d.spawn_mob(2597,607,434)
end
if n <= 10 then
d.spawn_mob(2603,625,680)
end
if n >= 11 and n <=20 then
d.spawn_mob(2603,632,679)
end
if n >= 21 and n <=30 then
d.spawn_mob(2603,626,673)
end
if n >= 31 and n <=40 then
d.spawn_mob(2603,585,647)
end
if n >= 41 and n <=50 then
d.spawn_mob(2603,632,634)
end
if n >= 51 and n <=60 then
d.spawn_mob(2603,629,669)
end
if n >= 61 and n <=70 then
d.spawn_mob(2603,630,653)
end
if n >= 71 and n <=80 then
d.spawn_mob(2603,628,637)
end
if n >= 81 and n <=90 then
d.spawn_mob(2603,611,635)
end
if n >= 91 and n <=99 then
d.spawn_mob(2603,618,637)
end
end
when 25970.kill with pc.in_dungeon() begin
timer("goout",300)
d.kill_all()
d.kill_all()
d.notice("Du hast den König getötet.")
end
when goout.timer begin
d.kill_all()
d.exit_all()
end
end
end
|
|
|
06/03/2013, 15:31
|
#8201
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
Quote:
Originally Posted by LEL0UCH'
Gibt es irgendein Ausgabe-Befehl, welches den NPC im Quest zeigt?
Sowie bei den Items mit " say_item_vnum()" für NPCs?
Er soll nur den NPC zeigen, mehr nicht 
Gibt es bestimmt nicht, gibt es aber 'ne Möglichkeit sowas zu machen?
|
Klar man könnte sowas machen, nur muss sich ein Bild des NPC im Clienten befinden, dann einfach:
Code:
addimage(x, y, "pfad/zum/bild/im/client")
Damit kannst du das Bild frei verschieben.
Edit: Zweite möglichkeit du fügst ein 2 Slot Item einfach ein, was als Icon ein Bild vom Npc hat jedoch finde ich die erste Variante besser und flexibler.
Gruß
Fear
|
|
|
06/03/2013, 20:48
|
#8202
|
elite*gold: 0
Join Date: Jun 2009
Posts: 326
Received Thanks: 80
|
Code:
quest schloss_knacken begin
state start begin
when login or levelup with pc.get_level() == 1 begin
chat("Du kannst bald die Kunst des Schloss Knacken's erlernen.")
chat("Gehe später zur Stadt zu Yonah und verbessere deine Künste.")
game.set_event_flag("diebeswerk", 0)
end
when 20005.chat."Diebeswerk erlernen" with pc.get_level() >= 45 begin
say_title("Meisterdieb:")
say("")
say(""..pc.get_name()..", hallo!")
say("Ich bin der meistbekannteste Dieb dieser")
say("Region und einer der besten.")
say("Immer wieder kommen Fremde zu mir und")
say("Fragen mich ob ich ihnen die")
say("Kunst des Diebstahls beibringen kann.")
say("Doch viele sind es nicht würdig, du dennoch")
say("scheinst ein vernünftiger Typ zu sein der zu")
say("wissen scheint wie man diese Kunst der Diebe")
say("richtig nutzt.")
say("")
wait()
say_title("Meisterdieb:")
say("")
say("Bist du daran Interessiert,")
say("die Kunst des Diebstahls zu erlernen?")
say("Es kostet dich nur 10.000.000 Yang!")
say("")
local dieb_wahl = select("Ja gerne!","Nein, lieber nicht!")
if dieb_wahl == 2 then
return
end
if game.get_event_flag("diebeswerk") == 0 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Super, ich lehre dich in der Kunst!")
say("Mein einziges wissen was ich dir verleihen kann")
say("liegt darinn wie man verschlossene truhen")
say("knacken kann.")
say("es gibt verschiedene schlößer, eins härter als")
say("das andere also d.h. es funktioniert auch nicht")
say("jedes mal denn es gibt auch Schlößer die schon")
say("veraltet sind und eventüll zerstört werden können.")
say("")
wait("")
say_title("Meisterdieb:")
say("")
say("Nun gut, das Hauptwissen besteht darin das du einen")
say("spitzen und dünnen Gegenstand bei dir hast.")
say("Diese spitzen Gegenstände dienen dazu das Loch des")
say("Schloßes zu knacken. Mit dieser Erfahrung solltest")
say("du schonmal leichte Schlößer knacken können.")
say("Komm zu mir zurück wenn du bereit bist noch mehr zu")
say("lernen von mir, Ich helfe dir dabei gerne.")
say("")
game.set_event_flag("diebeswerk", 1)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber Ich habe Frau und Kind die Ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 1 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Hervorragend!")
say("Nun die nächste Kunst des Knackens für Schlößer")
say("ist ziemlich schlicht aber erfüllt dennoch seinen")
say("Sinn und zweck der Sache.")
say("")
say("Versuche mit dem spitzen Gegenstand am Schloss")
say("den Raster zu erwischen es gibt davon 2 Varianten,")
say("Variante 1 ist das der Raster sich oben im Loch des")
say("Schloßes befindet, Variante 2 befindet sich unten im")
say("Loch des Schloßes.")
say("")
say("Das wars auch schon erstmal, du bist nun erfahrener")
say("als zuvor komm zurück falls ich dir wieder helfen kann.")
say("")
game.set_event_flag("diebeswerk", 2)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber ich habe Frau und Kind die ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 2 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Kluge wahl.")
say("Nun diesmal gibt es sehr wenig dazu zu sagen,")
say("Es gibt Schlößer die 2 Raster besitzen dazu benötigst")
say("du einfach 2 spitze und dünne Gegenstände dazu.")
say("")
game.set_event_flag("diebeswerk", 3)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber Ich habe Frau und Kind die Ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 3 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Sehr nobel von dir, danke!")
say("Nun zum wissen der Kunst, es gibt schwierigere")
say("Schlößer die nicht so einfach zum knacken sind,")
say("meistens hilft es aber einfach mal etwas an dem")
say("Schloß rumzufummeln und den spitzen Gegenstand")
say("hin und her zu bewegen.")
say("")
game.set_event_flag("diebeswerk", 4)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber Ich habe Frau und Kind die Ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 4 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Kommen wir direkt zur Sache bald habe Ich mein")
say("gesammtes Wissen dir übermittelt.)
say("Ich bin froh einen Schüler wie dich zu haben!")
say("")
say("Wenn du alle 3 vorherigen Schritte miteinander")
say("kombinierst, öffnen sich oft selbst die schwersten")
say("Schlößer die kaum zu knacken sind.")
say("")
game.set_event_flag("diebeswerk", 5)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber ich habe Frau und Kind die ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 5 then
if pc.get_gold() >= 10000000 then
say_title("Meisterdieb:")
say("")
say("Unglaublich du bist spitze!")
say("")
say("Nun ... das was Ich dir nun jetzt")
say("erklären werde wird mein letztes mal sein")
say("dann hast du mein komplettes wissen über die")
say("Kunst des Diebstahls erlernt.")
say("")
say("Diesmal geht es darum wie mein ein veraltetes")
say("Schloß das leicht zerbrechlich ist trotzdem")
say("unversehrt öffnen kann.")
say("Sehr oft hilft es wenn du das Schloß zürst")
say("mit ein wenig Öl beschmierst dies ist ziemlich")
say("nützlich wenn es darum geht sie mit höchster")
say("vorsicht zu öffnen.")
say("")
wait("")
say_title("Meisterdieb:")
say("")
say(""..pc.get_name().." nun habe ich dir mein komplettes")
say("Wissen über diese Kunst beigebracht ...")
say("leider kann selbst Ich dir jetzt nicht mehr erlernen.")
say("Du weißt nun das nötigste, Ich wünsche dir viel Erfolg")
say("und Glück beim knacken der Truhen und, beachte immer")
say("meine Tipps die ich dir gegeben habe dann kann so gut")
say("wie nichts mehr schief laufen!")
say("")
game.set_event_flag("diebeswerk", 6)
pc.set_gold(-10000000)
elseif pc.get_gold() <= 9999999 then
say_title("Meisterdieb:")
say("")
say("Tut mir leid du hast zu wenig Yang dabei!")
say("Ich würde dich gerne Kostenlos unterrichten,")
say("aber Ich habe Frau und Kind die Ich versorgen muss.")
say("")
end
elseif game.get_event_flag("diebeswerk") == 6 then
say_title("Meisterdieb:")
say("")
say("Entschuldige, "..pc.get_name().."!")
say("Aber ich habe dir bereits mein gesammtes Wissen")
say("übergeben die Ich besitze über diese Kunst.")
say("Tut mir leid.")
say("")
end
end
when 20005.chat."Diebeswerk Stufe" with pc.get_level() >= 1 begin
if game.get_event_flag("diebeswerk") == 0 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 0")
say("")
elseif game.get_event_flag("diebeswerk") == 1 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 1")
say("")
elseif game.get_event_flag("diebeswerk") == 2 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 2")
say("")
elseif game.get_event_flag("diebeswerk") == 3 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 3")
say("")
elseif game.get_event_flag("diebeswerk") == 4 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 4")
say("")
elseif game.get_event_flag("diebeswerk") == 5 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 5")
say("")
elseif game.get_event_flag("diebeswerk") == 6 then
say_title("Meisterdieb")
say("")
say("Deine Geschicklichkeitsstufe beträgt: 6")
say("Du hast bereits die Maximale Stufe erreicht!")
say("")
end
end
end
end
Code:
Error occured on compile schloss_knacken.quest
Kein anderer Fehler :/
|
|
|
06/03/2013, 22:05
|
#8203
|
elite*gold: 0
Join Date: May 2013
Posts: 104
Received Thanks: 18
|
error
Code:
WHEN : 70007.use
with pc . get_level ( ) >= 85
assertion failure : nested==0
warpspe.quest:29:Error occured on compile warpspe.quest
quest
Code:
quest warp begin
state start begin
when 70007.use with pc.get_level() >= 85 begin
if pc.countitem("70007")>=1 then
end
say_title("Drachenbucht")
say("Bist du wirklich bereit für diese Reise?")
say("Viele Kämpfer haben es nicht geschaft.")
say("Willst du deine Stärke beweisen?")
local warp = select("Ja","Nein")
if warp == 1 then
pc.warp(1024000, 1664000)
if warp == 2 then
return
end
if pc.get_level() <= 85 then
say_title("Ring:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für die Reise durch Zeit und Raum.")
say("Komm wieder, wenn du höher als Level 85 bist.")
return
end
end
end
end
|
|
|
06/03/2013, 22:28
|
#8204
|
elite*gold: 34
Join Date: May 2013
Posts: 75
Received Thanks: 86
|
@ Zryyy
PHP Code:
quest warp begin state start begin when 70007.use with pc.countitem("70007") >= 1 begin if pc.get_level() >= 85 then say_title("Drachenbucht") say("Bist du wirklich bereit für diese Reise?") say("Viele Kämpfer haben es nicht geschaft.") say("Willst du deine Stärke beweisen?") local warp = select("Ja","Nein") if warp == 1 then pc.warp(1024000, 1664000) elseif warp == 2 then return end elseif pc.get_level() <= 85 then say_title("Ring:") say("Hm… Mit deinem derzeitigen Level bist du noch") say("zu schwach für die Reise durch Zeit und Raum.") say("Komm wieder, wenn du höher als Level 85 bist.") return end end end end
|
|
|
06/03/2013, 23:18
|
#8205
|
elite*gold: 80
Join Date: Mar 2013
Posts: 266
Received Thanks: 32
|
PHP Code:
quest truhen_zero begin state start begin when login begin pc.give_item2(50187) set_state(truhen) end end state truhen begin when 50187.use begin local item_vnum = 186 --Giftschwert+6 if pc.get_job() == 1 then item_vnum = 1136 --Teufelsflügel Chakram+6 elseif pc.get_job() == 2 then item_vnum = 186 --Giftschwert+6 elseif pc.get_job() == 3 then item_vnum = 5126 --Orchideenglocke+6 end pc.give_item2(item_vnum) --lvl 75er waffe je nach rasse pc.give_item2(27992, 2) --Weiße Perle pc.give_item2(27993, 2 --Blaue Perle pc.give_item2(27994, 2) --Blutrote Perle pc.give_item2(27115, 200) --Violetter Trank (G) pc.give_item2(27112, 200) --Grüner Trank (G) pc.give_item2(72702, 1) --Windschuhe+ pc.give_item2(50512, 1) --Regenbogenstein pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet end when 50195.use with pc.get_level() >= 80 begin pc.give_item2(27992, 3) --Weiße Perle pc.give_item2(27993, 3) --Blaue Perle pc.give_item2(27994, 3) --Blutrote Perle pc.remove_item(50195, 1) --Meistertruhe III verschwindet end when 50196.use with pc.get_level() >= 90 begin pc.give_item2(27992, 4) --Weiße Perle pc.give_item2(27993, 4) --Blaue Perle pc.give_item2(27994, 4) --Blutrote Perle pc.give_item2(30319, 3) --Schrumpfkopf pc.remove_item(50196, 1) --Großmeistertruhe verschwindet end end end
Was ist falsch???
[IMG]  [/IMG]
|
|
|
All times are GMT +1. The time now is 06:08.
|
|