|
You last visited: Today at 19:50
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/19/2010, 15:29
|
#31
|
elite*gold: 0
Join Date: May 2010
Posts: 221
Received Thanks: 65
|
Quote:
Originally Posted by Payla$ici
@ Jumpstyle31:
- in Bearbeitung
@ .BasH^#:
- einmal bitte einen FreeBSD Fehler Screenshot
|
hab kein FrreeBSD fehler nur dt ist verbuggt
ich hab zwar ein backup aber ich will doch lieber meine bearbeitete quest nehmen
|
|
|
07/19/2010, 16:58
|
#32
|
elite*gold: 0
Join Date: May 2010
Posts: 1,026
Received Thanks: 235
|
----------------------------------
-- Regenbogenstein Quest by bjoern.ebert17
-- (c) by DarkSide 2010
----------------------------------
quest regenbogen begin
state start begin
when 50512.use begin
say_title("Regenbogenstein:")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
--Körper
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Mentalo
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Bogen")
if s==1 then
--Nahkampf
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Fernkampf
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
--Magie
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Waffe
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen")
if s==1 then
--Heil
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
if s==2 then
--Drachen
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
say("Deine Skills sind auf Perfekter Meister")
end
end
end
end
end
item . remove ( )
Ich würd gern das nach dem benutzen das Item weg ist, aber mit item . remove ( )
funktioniert des Item nimma
|
|
|
07/19/2010, 17:12
|
#33
|
elite*gold: 2
Join Date: Jun 2009
Posts: 645
Received Thanks: 151
|
Würde mich wundern wenn er nach den ganzen 'end' Befehlen überhaupt noch was an nimmt. Würde item.remove(50512) nach jedem
"say("Deine Skills sind auf Perfekter Meister")" setzen^^
|
|
|
07/25/2010, 21:36
|
#34
|
elite*gold: 0
Join Date: Apr 2009
Posts: 492
Received Thanks: 109
|
hi,
hab eig. ne sehr simple quest geschrieben, die mich in der seelengrotte2 von einem ort zum anderen bringen soll. (innerhalb der seelengrotte2)
Code:
quest shops begin
state start begin
when 20083.chat."Ausrüstung" begin
say_title("Alter Schamane")
say("")
say("Ich könnte dir meine")
say("Ausrüstung verkaufen.")
say("Willst du sie?")
local s = select("Ja", "Nein")
if s == 1 then
npc.open_shop(19)
else
return
end
end
when 20083.chat."Himmlischer Drache" begin
say_title("Alter Schamane")
say("")
say("Einmal habe ich auf meiner Forschung einen Drachen")
say("gesehen. Ich kann dich zu ihm bringen, wenn du mir ein")
say("Amulett aus der Grotte bringst.")
say("")
if pc.count_item(30180) >= 1 and pc.level >= 90 then
local s=select("Amullet übergeben", "Amulett behalten")
if s==1 then
pc.remove_item(30180,1)
pc.warp_local(171 , 181)
else
return
end
else
say_reward("Das Amulett erhältst du wenn du die Zin-Monster in dieser Etage oder die Eishexe in der ersten Etage tötest.")
end
end
end
end
wenn ich ihn anklicke und auf "Amulett übergeben" gehe passiert aber einfach nichts.
Ich weiß nicht ob es eine Questfunktion gibt die innerhalb einer map portet, aber pc.warp_local() klingt für mich am logischsten
lg
|
|
|
08/03/2010, 15:23
|
#35
|
elite*gold: 0
Join Date: Jul 2010
Posts: 2
Received Thanks: 3
|
Dachte da helfen Leute?
|
|
|
08/03/2010, 15:51
|
#36
|
elite*gold: 0
Join Date: Aug 2009
Posts: 297
Received Thanks: 26
|
Quote:
Originally Posted by 4LPH4!
Code:
quest himmelwarp begin
state start begin
when 70007.use with pc.get_level() >= 60 begin
pc.warp(15000,1500)
end -- end when use item
end -- end state start
end -- end quest himmelwarp
Wenn ich dann auf den Warpring draufklick tut sich nichts.
Was is daran falsch?
|
Dein Item hat in der Datenbank wahrscheinlich nicht den type 18 einfach in datenbank dem item den typ 18 geben dann sollte es gehen
|
|
|
08/03/2010, 17:21
|
#37
|
elite*gold: 0
Join Date: Mar 2010
Posts: 1,533
Received Thanks: 810
|
Quote:
Originally Posted by 4LPH4!
Und das geht wie?^^
|
In der item_proto die Spalte "type" suchen und die Zahl bei deinem Item auf 18 ändern.
|
|
|
08/03/2010, 17:35
|
#38
|
elite*gold: 626
Join Date: Aug 2009
Posts: 7,149
Received Thanks: 2,942
|
Quote:
Navicat öffnen player->item_proto dort die value suchen und bei type 18 eingeben.
|
|
|
08/15/2010, 17:06
|
#39
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,296
Received Thanks: 5,092
|
Quote:
Originally Posted by Consti1234
hi,
hab eig. ne sehr simple quest geschrieben, die mich in der seelengrotte2 von einem ort zum anderen bringen soll. (innerhalb der seelengrotte2)
Code:
quest shops begin
state start begin
when 20083.chat."Ausrüstung" begin
say_title("Alter Schamane")
say("")
say("Ich könnte dir meine")
say("Ausrüstung verkaufen.")
say("Willst du sie?")
local s = select("Ja", "Nein")
if s == 1 then
npc.open_shop(19)
else
return
end
end
when 20083.chat."Himmlischer Drache" begin
say_title("Alter Schamane")
say("")
say("Einmal habe ich auf meiner Forschung einen Drachen")
say("gesehen. Ich kann dich zu ihm bringen, wenn du mir ein")
say("Amulett aus der Grotte bringst.")
say("")
if pc.count_item(30180) >= 1 and pc.level >= 90 then
local s=select("Amullet übergeben", "Amulett behalten")
if s==1 then
pc.remove_item(30180,1)
pc.warp_local(171 , 181)
else
return
end
else
say_reward("Das Amulett erhältst du wenn du die Zin-Monster in dieser Etage oder die Eishexe in der ersten Etage tötest.")
end
end
end
end
wenn ich ihn anklicke und auf "Amulett übergeben" gehe passiert aber einfach nichts.
Ich weiß nicht ob es eine Questfunktion gibt die innerhalb einer map portet, aber pc.warp_local() klingt für mich am logischsten
lg
|
@ Consti1234: Benutz doch einfach die Funktion "PC.WARP", der teleportiert ihn zwar in einer Zwischensequenz, den Ladebildschirm aber es ist der gleiche Sinn.
------------------------------------------------------------------------------
Quote:
Originally Posted by .BasH^#
deviltower_zone
PHP Code:
quest deviltower_zone begin state start begin when login begin if pc.get_map_index() == 66 then -- Nicht in einer Etage, die wieder nach drau¡¼n . -- Layer Range -- 1F 88 577 236 737 -- 2F 91 343 238 504 -- 3F 104 107 248 269 if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then pc.warp((5376+532)*100, (512+596+4)*100, 65) end pc.set_warp_location(65, 5376+532, 512+596+4) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5376+532, 512+596+4) end end when deviltower_man.chat.locale.deviltower_man_chat begin if pc.get_level() < 40 then say(locale.deviltower_man_say_you_cant) else say(locale.deviltower_man_say) local s = select(locale.deviltower_enter,locale.deviltower_no_enter) if s == 1 then -- warp into! pc.warp(216500,727000) end end end when devil_stone1.kill begin timer("devil_stone1_1", 6) end when devil_stone1_1.timer begin local mapto7= pc.count_item(30302) -- Ich weiß nicht, das wahre Tilgung der die Existenz der Seele des Turms pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Beseitigung des unbekannten weiß nicht, ob es sich um ein Feld pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/deviltower2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt") end --when devil_stone2.kill begin --d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2]) --end when devil_stone3.kill begin --d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2]) --d.set_exit_all_at_eliminate(6) --d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100) --d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4) d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt") d.check_eliminated() --d.exit_all() end function get_4floor_stone_pos() local positions = { {368, 629}, {419, 630}, {428, 653}, {422, 679}, {395, 689}, {369, 679}, {361, 658}, } for i = 1, 6 do local j = number(i, 7) if i != j then local t = positions[i]; positions[i] = positions[j]; positions[j] = t; end end --for i = 1, 7 do -- positions[i][1] = positions[i][1] * 100 -- positions[i][2] = positions[i][2] * 100 -- end return positions end when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) -- Reproduzieren eine große Anzahl von Monstern und Herstellung von wahr und falsch Steine Steine --d.regen_file("data/dungeon/deviltower4_regen.txt") local positions = deviltower_zone.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2])) end chat(positions[7][1], positions[7][2]) local vid = d.spawn_mob(8017, positions[7][1], positions[7][2]) chat(vid) d.set_unique("real", vid) server_loop_timer('devil_stone4_update', 10, pc.get_map_index()) server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Du befindest dich am Siegeltor im 3.Stock. Hier"); d.notice("warten mehrere Steine darauf, dich zu verwirren."); d.notice("Doch nur einer von ihnen ist der richtige"); d.notice("Metinstein. Du musst ihn innerhalb von 15 Minuten"); d.notice("zerstören, oder du vermagst das Tor nicht mehr zu"); d.notice("passieren.") end
when devil_stone4_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 10 Minuten!") server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg()) end end
when devil_stone4_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 5 Minuten!") server_timer('devil_stone4_fail', 5*60, get_server_timer_arg()) end end
when devil_stone4_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Die Zeit ist abgelaufen") d.exit_all() clear_server_timer('devil_stone4_update', get_server_timer_arg()) end end
when devil_stone4_update.server_timer begin if d.select(get_server_timer_arg()) then if not d.is_unique_dead("real") then for i = 1, 6 do if d.getf("fakedead" .. i) == 0 then if d.unique_get_hp_perc("fake" .. i) < 50 then d.purge_unique("fake" .. i) d.setf("fakedead" .. i, 1) d.notice("Ein Falscher Metinstein verschwindet."); end end end else --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") server_timer("devil_stone4_end", 5, get_server_timer_arg()) d.notice("Du hast ausgezeichnetes Hörvermögen und einen"); d.notice("guten Instinkt bewiesen und den echten Metinstein") d.notice("zerstört!") d.notice("Du wirst gleich in den 4.Stock gelangen.") clear_server_timer('devil_stone4_fail1', get_server_timer_arg()) clear_server_timer('devil_stone4_fail2', get_server_timer_arg()) clear_server_timer('devil_stone4_fail', get_server_timer_arg()) end else server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg()) end end
when devil_stone4_stop_timer.server_timer begin clear_server_timer('devil_stone4_update', get_server_timer_arg()) end
when devil_stone4_end.server_timer begin if d.select(get_server_timer_arg()) then d.setf("level", 5) d.setf("stone_count", 5) d.notice("Du befindest dich am Sigeletor im 4.Stock") d.notice("Um in die nächste Ebene zu gelangen, musst du die") d.notice("fünf Alten Siegel öffnen. Der Weg dorthin ist") d.notice("jedoch voller Kreaturen, die nach deinem Leben") d.notice("trachten. Einige von ihnen besitzen einen") d.notice("Schlüssel. Besorge genug Schlüsselsteine, um") d.notice("alle fünf Alten Siegel zu öffnen und in den 5.") d.notice("Stock zu gelangen. Vorsicht: du hast Dafür nur 20") d.notice("Minuten Zeit!") d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg()) clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- 5. Stock, weiter zu reproduzieren d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- 5. Stock, Seal Stone Reproduktion d.spawn_mob(20073, 421, 452) d.spawn_mob(20073, 380, 460) d.spawn_mob(20073, 428, 414) d.spawn_mob(20073, 398, 392) d.spawn_mob(20073, 359, 426) end end when devil_stone5_fail1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 15 Minuten.") server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 10 Minuten.") server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Noch 5 Minuten.") server_timer('devil_stone5_fail', 5*60, get_server_timer_arg()) end end
when devil_stone5_fail.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Die Zeit ist abgelaufen.") d.exit_all() end end
--when devil_stone4.kill begin --d.setf("level", 5) --d.setf("stone_count", 4) --d.clear_regen() --d.regen_file("data/dungeon/deviltower5_regen.txt") --d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2]) --end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 --if is_test_server() then --KILL_COUNT_FOR_DROP_KEY = 1 --end local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then -- Falling Tasten game.drop_item(50084, 1) d.setf("count", 0) end end when devil_stone5.take with item.vnum == 50084 begin npc.purge() item.remove() d.setf("stone_count", d.getf("stone_count") - 1) if d.getf("stone_count") <= 0 then d.setf("level", 6) d.clear_regen() d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Du hast das Siegel des Schlüsselsteins geöffnet") d.notice("und kannst nun in den 5.Stock gelangen.") d.notice("Hier hält sich auch der Dämonenkönig auf.") d.notice("Vernichte alle Kreaturen, auf die du dort") d.notice("triffst.") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('devil_stone5_fail1', get_server_timer_arg()) clear_server_timer('devil_stone5_fail2', get_server_timer_arg()) clear_server_timer('devil_stone5_fail3', get_server_timer_arg()) clear_server_timer('devil_stone5_fail', get_server_timer_arg()) else d.notice("Du hast das Siegel geöffnet! Es bleiben noch"..d.getf("stone_count")..) end end
when devil_stone6.kill begin -- Geschickt, um eine Karte, wo die Verfeinerung St. -- Ansonsten ¡¼fnen Sie ein neues Lian Sheng --d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2]) d.kill_all() -- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4) d.check_eliminated() local reward_alchemist = {20074, 20075, 20076} d.spawn_mob(reward_alchemist[number(1,3)], 425, 216); d.setqf("can_refine", 1) end
-------------------------------------- -- 7 D kommt man aus dem Zugriff vor dem 8. Stock --------------------------------------
when 20074.chat."Die Oberen Stockwerke" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20074).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20075).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Mit Bezug auf den oberen Turm .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin say(""..mob_name(20076).."") say("Möchtet ihr Weiter herrauf") say("und euer können weiterhin unter Beweiss stellen?") say("Ich jedenfalls bleibe hier") say("") wait() if pc.level >=75 then say("Ihr seid zumindest gross genug.") say("Doch seid ihr auch Tapfer genug?") say("Es gibt nur eine möglichkeit das festzustellen.") timer("devil_jump_7", 6) return end say("Ihr seid leider noch nicht ") say("gross genug um weiter aufzusteigen") say("Übt noch ein wenig und kommt dann wieder.") say("Viel Glück auf eurer Reise.") say("") wait() pc.warp(590500, 110500) return end
when devil_jump_7.timer begin d.clear_regen()
d.spawn_mob(8018, 639, 658) d.spawn_mob(8018, 611, 637) d.spawn_mob(8018, 596, 674) d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638) end when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local cont = d.getf("7_stone_kill") + 1 d.setf("7_stone_kill", cont)
if cont >= 4 then d.setf("7_stone_kill", 0) d.set_regen_file("data/dungeon/deviltower7_regen.txt") end end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin game.drop_item(30300, 1) end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then -- Fall wahr Karte game.drop_item(30302, 1) d.clear_regen() else -- Fall wahr Karte game.drop_item(30301, 1) end end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin -- An der 8th Floor say("Sucht die Karte der Zin Grotte. Viel Glück.") pc.remove_item("30302", 1) timer("devil_jump_8", 6) d.clear_regen() end -------------------------------------------- -- Von 8 F vor der Ankunft geben Sie die 9 F -------------------------------------------- when devil_jump_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/deviltower8_regen.txt") d.spawn_mob(20366, 640, 460) local _count= pc.count_item(30302)-- True Tilgung Dead Turm pc.remove_item(30302,_count) end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin local pct1 = number(1, 5) if pct1 == 1 then local pct2 = number(1, 10) if pct2 == 1 then -- Fall wahre Schl¡¼sel game.drop_item(30304, 1) else -- Keys fiel game.drop_item(30303, 1) end else return end end
when 20366.take with item.vnum == 30304 begin -- 9 F-Zeichen aufgehoben npc.purge() item.remove() timer("devil_jump_9", 6) end
--------------------------------------------- -- 9 F ein Ende, indem Sie --------------------------------------------- when devil_jump_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/deviltower9_regen.txt") end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.kill_all() timer("devil_end_jump", 60) end
when devil_end_jump.timer begin d.exit_all() end end end
ich weiß nicht was da los ist
hab nur bisschen übersetzt und ie quest auch richtig
hochgeladen aber nun ist der wächter verbuggt kann den nicht anklicken
|
@ .BasH^#: Du hast wahrscheinlich die "QUESTNPC.QUEST" und die "QUESTNPC.TXT" gelöscht, füge ein Backup wieder ein und alles klappt dann wieder.
|
|
|
08/15/2010, 17:42
|
#40
|
elite*gold: 1
Join Date: Jul 2008
Posts: 1,638
Received Thanks: 352
|
Regenbogen Quest
Problem:
Es sollte 'eig' von G den Skill auf P zihn
die Sache is die er tut's schon ab M1
( villt sorgar ab 1 nicht teste'd )
PHP Code:
quest regenbogensteinv1 begin state start begin when 50512.use begin say_title ( "Regenbogenstein" ) say ( "Hiermit kannst du eine" ) say ( "Fertigkeit perfektionieren." ) say ( "" ) wait ( ) say_title ( "Regenbogenstein" ) local result = BuildSkillList(pc.get_job(), pc.get_skill_group()) local vnum_list = result[1] local name_list = result[2] if table.getn(vnum_list) < 2 then say("Es gibt keine Fertigkeiten!") say("") return end say("Welche Fertigkeit willst du auf P bringen?") say("") local i = select_table(name_list) if table.getn(name_list) == i then return end local name = name_list[i] local vnum = vnum_list[i] say_title("Regenbogenstein:") say_reward("Dieser Stein ermöglicht es dir,") say_reward("deine Fertigkeit auf P zu bringen!") say(string.format("%s auf Perfekten Meister?", name)) say("") local s = select("Ja", "Nein") if 2 == s then return end if 1 == s then say_title("Regenbogenstein:") say("Einmal benutzt, ist dies nicht mehr Rückgängig zu machen.") say("Trotzdem benutzen?") say("") local c = select("Ja", "Nein") if 2 == c then return end if 1 == c then pc.set_skill_level((vnum) ,59) say_reward("Deine Fertigkeit wurde auf P gesetzt.") say_reward("Viel Spaß weiterhin auf Servername.") pc.removeitem("50512", 1) end end end end end
|
|
|
08/15/2010, 18:06
|
#41
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,296
Received Thanks: 5,092
|
Quote:
Originally Posted by nnaajjeedd
Problem:
Es sollte 'eig' von G den Skill auf P zihn
die Sache is die er tut's schon ab M1
( villt sorgar ab 1 nicht teste'd )
PHP Code:
quest regenbogensteinv1 begin state start begin when 50512.use begin say_title ( "Regenbogenstein" ) say ( "Hiermit kannst du eine" ) say ( "Fertigkeit perfektionieren." ) say ( "" ) wait ( ) say_title ( "Regenbogenstein" ) local result = BuildSkillList(pc.get_job(), pc.get_skill_group()) local vnum_list = result[1] local name_list = result[2] if table.getn(vnum_list) < 2 then say("Es gibt keine Fertigkeiten!") say("") return end say("Welche Fertigkeit willst du auf P bringen?") say("") local i = select_table(name_list) if table.getn(name_list) == i then return end local name = name_list[i] local vnum = vnum_list[i] say_title("Regenbogenstein:") say_reward("Dieser Stein ermöglicht es dir,") say_reward("deine Fertigkeit auf P zu bringen!") say(string.format("%s auf Perfekten Meister?", name)) say("") local s = select("Ja", "Nein") if 2 == s then return end if 1 == s then say_title("Regenbogenstein:") say("Einmal benutzt, ist dies nicht mehr Rückgängig zu machen.") say("Trotzdem benutzen?") say("") local c = select("Ja", "Nein") if 2 == c then return end if 1 == c then pc.set_skill_level((vnum) ,59) say_reward("Deine Fertigkeit wurde auf P gesetzt.") say_reward("Viel Spaß weiterhin auf Servername.") pc.removeitem("50512", 1) end end end end end
|
@ nnaajjeedd: Füg eine Abfrage in deine Quest hinzu, damit er prüft ob der jenige einen "G-Skill" hat. Wir sind hier nicht im Questamt sondern in der Questkontrolle.
|
|
|
08/15/2010, 18:13
|
#42
|
elite*gold: 1
Join Date: Jul 2008
Posts: 1,638
Received Thanks: 352
|
Ehm .. okay hab ne bessere Idee mach du's x'D
or sag mir "wo" ich dieses "hier text rein" einfüge :S
|
|
|
08/15/2010, 20:35
|
#43
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,296
Received Thanks: 5,092
|
Du machst es einfach dort, wo er seinen Skill auswählt, checkt er als Zwischensequenz schnell ob dieser Skill auf G1 oder höher ist (?) = einfach eine "Gleichung" machen, der das abfragt, wie, ist bei "LOLKID2009's" Thread gut beschrieben. Dazu machst du eine "ELSE" Funktion, das bestimmt, was im Dialog stehen soll, wenn er kein G1 oder höher hat, dann machst du halt unterm "ELSE" paar Sätze dazu, dass die Skillerfahrung zu gering ist und beendest es mit einem "RETURN".
|
|
|
08/15/2010, 20:40
|
#44
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1,001
Received Thanks: 579
|
Quote:
Originally Posted by .Namenslos
Code:
quest m begin
state start begin
when 70095.use begin
say("Dieses Ticket!!")
say("Es ist sehr selten ..es bringt einen laut der Beschreibung!")
say("in die 2.Ebene des Spinnendungeons!")
say("Willst du wirklich dorthin?")
local s = select("Ja!", "..Nein")
if 1 == s then
pc.warp(705000, 465000)
end
end
end
end
Mhh :s Funkt nich
|
quest m begin
state start begin
when 70095.use begin
say("Dieses Ticket!!")
say("Es ist sehr selten ..es bringt einen laut der Beschreibung!")
say("in die 2.Ebene des Spinnendungeons!")
say("Willst du wirklich dorthin?")
local s = select("Ja!", "..Nein")
if s == 2 then
return
end
if s == 1 then
pc.warp(705000, 465000)
end
end
end
end
>>Du hast die Funktion für Button 2 vergessen!
Quote:
Originally Posted by mentalfight
hier:
Code:
quest tal_von_ascari begin
state start begin
when login or levelup with pc.level >90 begin
set_state(tal_von_ascari)
end
end
state tal_von_ascari begin
when 20092.chat."Zugang zum Tal von Ascari" begin
say(""..mob_name(20092)..":")
say("")
say("Sei gegruesst Kämpfer!")
say("Seit kurzem habe ich den Schlüssel")
say("zum beruechtigten Tal von Ascari")
say("Dort im verborgenden leben die")
say("letzten Seelen der Krieger,")
say("die im schrecklichen Kampf um das Land")
say("ihr Leben liessen. Sie sind extrem stark und")
say("durch und durch mit Hass, Und ihr Boss!! Ohhh...")
say("Ich kann dich hinbringen aber sei gewahnt...")
local a= select("Auf nach Ascari!","Ich hab zuviel Angst...")
if 1==a then
say(""..mob_name(20092)..":")
say("")
say("Na schoen du hast es so gewollt...")
say("Ich hoffe ich sehen dich wieder...")
wait()
pc.warp(80100,100)
elseif 2==a then
say(""..mob_name(20092)..":")
say("")
say("Ok")
say("Ist auch besser so...")
end
end
end
end
Problem:
Wenn ich mich damit warpe sehe ich kuz die Map, dann gehts nach Map1...
PS: per /warp 80100 100 komme ich hin...
|
es darf nicht heißen "if 1==a" es muss heißen "if a==1" ...
Quote:
Originally Posted by 4LPH4!
Code:
quest himmelwarp begin
state start begin
when 70007.use with pc.get_level() >= 60 begin
pc.warp(15000,1500)
end -- end when use item
end -- end state start
end -- end quest himmelwarp
Wenn ich dann auf den Warpring draufklick tut sich nichts.
Was is daran falsch?
|
state start begin
when 70007.use with pc.get_level() >= 60 begin
pc.warp(15000,1500)
end -- end when use item
end -- end state start
end -- end quest himmelwarp
Probier's mal am Anfang mit "pc.level >=60"
|
|
|
08/16/2010, 02:33
|
#45
|
elite*gold: 99
Join Date: Aug 2009
Posts: 4,296
Received Thanks: 5,092
|
Quote:
Originally Posted by 4LPH4!
Code:
quest himmelwarp begin
state start begin
when 70007.use with pc.get_level() >= 60 begin
pc.warp(15000,1500)
end -- end when use item
end -- end state start
end -- end quest himmelwarp
Wenn ich dann auf den Warpring draufklick tut sich nichts.
Was is daran falsch?
|
@ 4LPH4!: Das "Type" vom Item in der Datenbank auf 18 stellen.
|
|
|
All times are GMT +2. The time now is 19:50.
|
|