|
You last visited: Today at 21:48
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/28/2012, 19:55
|
#5251
|
elite*gold: 0
Join Date: Mar 2012
Posts: 4
Received Thanks: 2
|
Probier die mal
PHP Code:
quest neue_ruessi begin
state start begin
when enter begin
pc.setqf("metin",0)
pc.setqf("affenlord",0)
end
when login or levelup with pc.get_level() >= 90 begin
pc.setqf("stat",1)
send_letter("Die neue Rüstung")
end
when info or button begin
say_title("Neue Ruestungen")
say("Du möchtest also eine neue Ruestung haben..")
say("Ich kann dir eine besorgen, aber")
say("Du wirst viel fuer mich tun muessen.")
say("")
say("Als erstes toete 5 Metin Jeon-Un.")
end
when 8027.kill with pc.getqf("stat") == 1 begin
pc.setqf("metin",pc.getqf("metin")+1)
if pc.getqf("metin") >= 5 then
say_title("Gut!")
say("Jetzt musst du laufen...")
say("Gehe ins Experten AD und toete")
say("den Affen-Lord 5 mal!")
say("Bringe eine Goldene Siegerurkunde mit!")
pc.setqf("stat",2)
end
end
when 5163.kill with pc.getqf("stat") == 2 begin
pc.setqf("affenlord",pc.getqf("affenlord")+1)
if pc.getqf("affenlord") >= 5 and pc.count_item(50040) < 1 then
say_title("Super Arbeit!")
say("Du denkst, du hast es nun geschafft,")
say("nicht wahr?")
say("...")
say("Da muss ich dich leider enttaeuschen!")
say("Bringe mir noch eine")
say("Goldene Siegerurkunde!")
end
if pc.getqf("affenlord") >= 5 and pc.count_item(50040) >= 1 then
say_title("Wow!")
say("Du hast echt Talent.")
say("Nun muss ich dir wohl deine Belohnung geben..")
say("Aber vergiss nicht, diese Rüstung ist sehr")
say("wertvoll, also verschwende sie nicht!")
pc.give_item2(11299, 1)
pc.change_money(20000000)
notice_all(""..pc.get_name().." hat die neue Ruestung erhalten!")
set_state(fertig)
end
end
when leave begin
pc.delqf("metin")
pc.delqf("stat")
pc.delqf("affenlord")
end
end
state fertig begin
end
end
hoffe sie klappt, hab sie nur schnell hingekritzelt
Grüße, Mira
|
|
|
03/28/2012, 20:41
|
#5252
|
elite*gold: 0
Join Date: Mar 2012
Posts: 130
Received Thanks: 42
|
es kommt kein fehler, aber sobald ich genau 5 oder mehr als 5 von den steinen zerstört habe passiert nichts xD
|
|
|
03/28/2012, 22:01
|
#5253
|
elite*gold: 0
Join Date: Feb 2009
Posts: 108
Received Thanks: 0
|
|
|
|
03/28/2012, 23:33
|
#5254
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
|
Abend,
habe meine Ox-Quest etwas geändert.. alles funktioniert prima, bis auf diesen Teil hier
PHP Code:
when letter with pc.is_gm() and pc.get_map_index()==113 begin
send_letter("GM-Panel")
end
when button or info begin
say_title("OX Wettbewerb:")
say("Den GM-Panel rufen?")
local s=select("Ja", "Nein")
if s==2 then
send_letter("GM-Panel")
return
end
if pc.getqf("GM-Panel") == 0 then
command("m 20358")
pc.setqf("GM-Panel", 1)
else
say_title("OX Wettbewerb:")
say("Der GM-Panel wurde bereits gerufen.")
end
end
Wäre nett wenn sich das jmd. ansieht..
Wenn ich mich auf die Map porte sollte eig. die Quest erscheinen, tut sie aber nicht :/
Danke im voraus
|
|
|
03/29/2012, 00:53
|
#5255
|
elite*gold: 14
Join Date: Dec 2011
Posts: 728
Received Thanks: 646
|
PHP Code:
quest warptest begin state start begin when 70036.use begin local warptab = { --[[ Möglich: empire minlvl maxlvl minalign maxalign is_gm (true) eventflag ]] ["Reiche"] = { ["subs"] = { ["Map 1"] = { ["subs"] = { ["Shinsoo"] = {["x"] = 4096+646, ["y"] = 8960+585}, ["Chunjo"] = {["x"] = 0+635, ["y"] = 1024+640}, ["Jinno"] = {["x"] = 9216+382, ["y"] = 2048+643}, }, }, ["Map 2"] = { ["subs"] = { ["Shinsoo"] = {["x"] = 3072, ["y"] = 8192}, ["Chunjo"] = {["x"] = 1024+430, ["y"] = 2048+351}, ["Jinno"] = {["x"] = 8192, ["y"] = 2048}, }, }, ["Gildenmap#1"] = {["x"] = 1285, ["y"] = 10, ["empire"] = 1}, ["Gildenmap#2"] = {["x"] = 1795, ["y"] = 10, ["empire"] = 2}, ["Gildenmap#3"] = {["x"] = 2718, ["y"] = 130, ["empire"] = 3}, }, }, ["Standardmaps"] = { ["subs"] = { ["Burgschlacht#1"] = {["x"] = 9752, ["y"] = 1330, ["empire"] = 1}, ["Burgschlacht#2"] = {["x"] = 9772, ["y"] = 1850, ["empire"] = 2}, ["Burgschlacht#3"] = {["x"] = 9239, ["y"] = 1836, ["empire"] = 3}, ["Tal von Seungryong#1"] = {["x"] = 4021, ["y"] = 6739, ["empire"] = 1}, ["Tal von Seungryong#2"] = {["x"] = 2704, ["y"] = 7399, ["empire"] = 2}, ["Tal von Seungryong#3"] = {["x"] = 3213, ["y"] = 8080, ["empire"] = 3}, ["Wueste#1"] = {["x"] = 2718, ["y"] = 6272, ["empire"] = 1}, ["Wueste#2"] = {["x"] = 2219, ["y"] = 5027, ["empire"] = 2}, ["Wueste#3"] = {["x"] = 3440, ["y"] = 5025, ["empire"] = 3}, ["Berg Sohan#1"] = {["x"] = 4342, ["y"] = 2906, ["empire"] = 1}, ["Berg Sohan#2"] = {["x"] = 3752, ["y"] = 1749, ["empire"] = 2}, ["Berg Sohan#3"] = {["x"] = 4918, ["y"] = 1736, ["empire"] = 3}, }, }, ["Dungeons"] = { ["minlvl"] = 40, ["subs"] = { ["Doyyumhwaji#1"] = {["x"] = 5994, ["y"] = 7563, ["empire"] = 1}, ["Doyyumhwaji#2"] = {["x"] = 5978, ["y"] = 6222, ["empire"] = 2}, ["Doyyumhwaji#3"] = {["x"] = 7307, ["y"] = 6898, ["empire"] = 3}, ["Geisterwald"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 60}, ["Roter Wald"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 80}, ["Land der Riesen"] = {["x"] = 8451, ["y"] = 7459}, ["Daemonenturm"] = {["x"] = 5905, ["y"] = 1105, ["empire"] = 3}, ["Spinnendungeon"] = {["x"] = 600, ["y"] = 4960}, }, }, } -- Ab hier nichts mehr Ändern. local wp = {} -- Kategorien local function create_list(nm,index) table.foreach((index or warptab), function(i,l) local x = (nm or '')..'#/'..i --print(i,x) if l.subs ~= nil then create_list(x,l.subs) wp[x] = {["type"] = "kat"} else wp[x] = l wp[x]["type"] = "warp" wp[x]["kat"] = (nm or '') end end ) end --Erstelle Liste der vorhandenen Warps create_list() local function show_menu(id,kat) local index = id or 1 -- Funktionen START local function count(str,del) local out = 0 for i in string.gfind(str,del) do out = out+1 end return out end local function trim(str) str = string.gsub(str,'.-#/','',index) return str end -- Funktionen ENDE -- Erstellen der Warpliste f??elect2 local wl,co = { ["list"] = {}, ["data"] = {}, },1 table.sort(wp) table.foreach(wp, function(i,l) if count(i,'.-#/') == index then local function cc() -- Da es viele If's sind, nicht extra eingerückt if l.empire == nil or l.empire == pc.get_empire() then if l.maxlvl == nil or pc.get_level() <= l.maxlvl then if l.minlvl == nil or pc.get_level() >= l.minlvl then if l.minalign == nil or pc.get_real_alignment() >= l.minalign then if l.maxalign == nil or pc.get_real_alignment() <= l.maxalign then if l.eventflag == nil or game.get_event_flag(l.eventflag) == 1 then if l.is_gm == nil or pc.is_gm() == l.is_gm then if l.type == "kat" then local str = '> '..(string.gsub(trim(i),'#%d+',''))..' <' wl.list[co] = str wl.data[str] = l wl.data[str]["name"] = i else local str = (string.gsub(trim(i),'#%d+','')) wl.list[co] = str wl.data[str] = l end co = co+1 end -- gamemaster end -- eventflag end -- maxalign end -- minalign end -- minlvl end -- maxlvl end -- empire -- if Block ende end if index == 1 then cc() elseif kat ~= nil and string.sub(i,1,string.len(kat)) == kat then cc() end end end ) -- Ausgabe table.sort(wl.list) table.insert(wl.list,1,8) if index ~= 1 then table.insert(wl.list,'Zurück') end table.insert(wl.list,'Abbrechen') local sel = select2(wl.list) if sel == table.getn(wl.list) then return end if index ~= 1 and sel == table.getn(wl.list)-1 then local nextkat = function() local t,out = split(kat,'#/'),'' table.foreach(t, function(i,l) if i < table.getn(t) and i > 1 then out = out..'#/'..l end end ) return out end show_menu(index-1,nextkat()) return end if wl.data[wl.list[sel]]["type"] == "kat" then show_menu(index+1, wl.data[wl.list[sel]]["name"],kat or nil) return else pc.warp(wl.data[wl.list[sel]]["x"]*100,wl.data[wl.list[sel]]["y"]*100) end end show_menu() end end end
Abort trap (core dumped)
|
|
|
03/29/2012, 11:22
|
#5256
|
elite*gold: 6
Join Date: Jul 2011
Posts: 228
Received Thanks: 127
|
Quote:
Originally Posted by αη∂яєу *__[xllMethoXx]__*
PHP Code:
quest warptest begin
state start begin
when 70036.use begin
local warptab = {
--[[ Möglich:
empire
minlvl
maxlvl
minalign
maxalign
is_gm (true)
eventflag
]]
["Reiche"] = {
["subs"] = {
["Map 1"] = {
["subs"] = {
["Shinsoo"] = {["x"] = 4096+646, ["y"] = 8960+585},
["Chunjo"] = {["x"] = 0+635, ["y"] = 1024+640},
["Jinno"] = {["x"] = 9216+382, ["y"] = 2048+643},
},
},
["Map 2"] = {
["subs"] = {
["Shinsoo"] = {["x"] = 3072, ["y"] = 8192},
["Chunjo"] = {["x"] = 1024+430, ["y"] = 2048+351},
["Jinno"] = {["x"] = 8192, ["y"] = 2048},
},
},
["Gildenmap#1"] = {["x"] = 1285, ["y"] = 10, ["empire"] = 1},
["Gildenmap#2"] = {["x"] = 1795, ["y"] = 10, ["empire"] = 2},
["Gildenmap#3"] = {["x"] = 2718, ["y"] = 130, ["empire"] = 3},
},
},
["Standardmaps"] = {
["subs"] = {
["Burgschlacht#1"] = {["x"] = 9752, ["y"] = 1330, ["empire"] = 1},
["Burgschlacht#2"] = {["x"] = 9772, ["y"] = 1850, ["empire"] = 2},
["Burgschlacht#3"] = {["x"] = 9239, ["y"] = 1836, ["empire"] = 3},
["Tal von Seungryong#1"] = {["x"] = 4021, ["y"] = 6739, ["empire"] = 1},
["Tal von Seungryong#2"] = {["x"] = 2704, ["y"] = 7399, ["empire"] = 2},
["Tal von Seungryong#3"] = {["x"] = 3213, ["y"] = 8080, ["empire"] = 3},
["Wueste#1"] = {["x"] = 2718, ["y"] = 6272, ["empire"] = 1},
["Wueste#2"] = {["x"] = 2219, ["y"] = 5027, ["empire"] = 2},
["Wueste#3"] = {["x"] = 3440, ["y"] = 5025, ["empire"] = 3},
["Berg Sohan#1"] = {["x"] = 4342, ["y"] = 2906, ["empire"] = 1},
["Berg Sohan#2"] = {["x"] = 3752, ["y"] = 1749, ["empire"] = 2},
["Berg Sohan#3"] = {["x"] = 4918, ["y"] = 1736, ["empire"] = 3},
},
},
["Dungeons"] = {
["minlvl"] = 40,
["subs"] = {
["Doyyumhwaji#1"] = {["x"] = 5994, ["y"] = 7563, ["empire"] = 1},
["Doyyumhwaji#2"] = {["x"] = 5978, ["y"] = 6222, ["empire"] = 2},
["Doyyumhwaji#3"] = {["x"] = 7307, ["y"] = 6898, ["empire"] = 3},
["Geisterwald"] = {["x"] = 2887, ["y"] = 57, ["minlvl"] = 60},
["Roter Wald"] = {["x"] = 11199, ["y"] = 708, ["minlvl"] = 80},
["Land der Riesen"] = {["x"] = 8451, ["y"] = 7459},
["Daemonenturm"] = {["x"] = 5905, ["y"] = 1105, ["empire"] = 3},
["Spinnendungeon"] = {["x"] = 600, ["y"] = 4960},
},
},
}
-- Ab hier nichts mehr Ändern.
local wp = {}
-- Kategorien
local function create_list(nm,index)
table.foreach((index or warptab),
function(i,l)
local x = (nm or '')..'#/'..i
--print(i,x)
if l.subs ~= nil then
create_list(x,l.subs)
wp[x] = {["type"] = "kat"}
else
wp[x] = l
wp[x]["type"] = "warp"
wp[x]["kat"] = (nm or '')
end
end
)
end
--Erstelle Liste der vorhandenen Warps
create_list()
local function show_menu(id,kat)
local index = id or 1
-- Funktionen START
local function count(str,del)
local out = 0
for i in string.gfind(str,del) do
out = out+1
end
return out
end
local function trim(str)
str = string.gsub(str,'.-#/','',index)
return str
end
-- Funktionen ENDE
-- Erstellen der Warpliste f??elect2
local wl,co = {
["list"] = {},
["data"] = {},
},1
table.sort(wp)
table.foreach(wp,
function(i,l)
if count(i,'.-#/') == index then
local function cc()
-- Da es viele If's sind, nicht extra eingerückt
if l.empire == nil or l.empire == pc.get_empire() then
if l.maxlvl == nil or pc.get_level() <= l.maxlvl then
if l.minlvl == nil or pc.get_level() >= l.minlvl then
if l.minalign == nil or pc.get_real_alignment() >= l.minalign then
if l.maxalign == nil or pc.get_real_alignment() <= l.maxalign then
if l.eventflag == nil or game.get_event_flag(l.eventflag) == 1 then
if l.is_gm == nil or pc.is_gm() == l.is_gm then
if l.type == "kat" then
local str = '> '..(string.gsub(trim(i),'#%d+',''))..' <'
wl.list[co] = str
wl.data[str] = l
wl.data[str]["name"] = i
else
local str = (string.gsub(trim(i),'#%d+',''))
wl.list[co] = str
wl.data[str] = l
end
co = co+1
end -- gamemaster
end -- eventflag
end -- maxalign
end -- minalign
end -- minlvl
end -- maxlvl
end -- empire
-- if Block ende
end
if index == 1 then
cc()
elseif kat ~= nil and string.sub(i,1,string.len(kat)) == kat then
cc()
end
end
end
)
-- Ausgabe
table.sort(wl.list)
table.insert(wl.list,1,8)
if index ~= 1 then
table.insert(wl.list,'Zurück')
end
table.insert(wl.list,'Abbrechen')
local sel = select2(wl.list)
if sel == table.getn(wl.list) then return end
if index ~= 1 and sel == table.getn(wl.list)-1 then
local nextkat = function()
local t,out = split(kat,'#/'),''
table.foreach(t,
function(i,l)
if i < table.getn(t) and i > 1 then
out = out..'#/'..l
end
end
)
return out
end
show_menu(index-1,nextkat())
return
end
if wl.data[wl.list[sel]]["type"] == "kat" then
show_menu(index+1, wl.data[wl.list[sel]]["name"],kat or nil)
return
else
pc.warp(wl.data[wl.list[sel]]["x"]*100,wl.data[wl.list[sel]]["y"]*100)
end
end
show_menu()
end
end
end
Abort trap (core dumped)
|
Die Quest ist soweit clean du nächste mal ganze fehler meldung posten (;
trag das in deiner quest_function ein ...
Code:
cc
count
create_list
nextkat
select2
show_menu
split
string.gfind
string.gsub
string.sub
table.sort
trim
|
|
|
03/29/2012, 14:30
|
#5257
|
elite*gold: 0
Join Date: Mar 2010
Posts: 1,086
Received Thanks: 557
|
Quest funktioniert nicht
Problem gelöst...
|
|
|
03/29/2012, 14:44
|
#5258
|
elite*gold: 14
Join Date: Dec 2011
Posts: 728
Received Thanks: 646
|
Quote:
Die Quest ist soweit clean du nächste mal ganze fehler meldung posten (;
trag das in deiner quest_function ein ...
Code:
cc
count
create_list
nextkat
select2
show_menu
split
string.gfind
string.gsub
string.sub
table.sort
trim
|
Danke, ganz vergessen...^^
|
|
|
03/29/2012, 19:00
|
#5259
|
elite*gold: 20
Join Date: Nov 2009
Posts: 77
Received Thanks: 12
|
Hätte eine frage warum die quest nich startet laut Datenbank ist alles richtig bloß die startet nich wenn ich 39 bin hoffentlich kann mir jemand helfen
PHP Code:
----------------------------------
-- LvL 40 / Fluchsammlung
----------------------------------
quest fluchbuch begin
state start begin
when login or levelup with pc.level>39 begin
set_state(talk_to_disciple_lv40)
end
end
state talk_to_disciple_lv40 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Fluchbücher")
end
when button or info begin
say_title("Die Fluchbücher")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Fluchbücher" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Orkzähne")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Fluchbücher untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Die Bücher sind jedoch ziemlich alt,")
say("manchmal zerfallen sie einfach!")
say("")
set_state(collect_cursebook)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_cursebook begin
when letter begin
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Fluchsammlungen zu besorgen.")
say("Diese kannst du bei den Dunklen- und")
say("Hohen Peinigern erbeuten.")
say("")
say_item_vnum(30047)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 701.kill or 702.kill or 703.kill begin
if pc.count_item(30047)<15 then
local rand = number(1,1)
if rand<5 then pc.give_item2(30047, 1)
end
end
end
when 20084.chat."Fluchsammlungen" with pc.count_item(30047)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob deine probe in Ordnung ist ...")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time() + 0*0*0)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, diese Fluchsammlung ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_templekey)
end
else
say("Biologe:")
say("Es tut mir leid, die Fluchsammlung")
say("ist bei den Untersuchungen zerfallen.")
say("Bitte hol mir eine neue Fluchsammlung.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Fluchsammmlung später.")
end
end
end
state collect_templekey begin
when letter begin
send_letter("Tempelseelenstein")
end
when button or info begin
say_title("Tempelseelenstein")
say("")
say("Ihr habt alle 15 Fluchsammlungen abgegeben.")
say("Nun müsst ihr den Tempelseelenstein erbeuten.")
say("")
say_item_vnum(30221)
say("Ob dieser Stein tatsächlich Seelen")
say("der Tempelanhänger enthält?")
say("")
end
when 702.kill or 701.kill or 703.kill begin
if pc.count_item(30221)<1 then
local rand = number(1,1)
if rand<5 then pc.give_item2(30221, 1)
end
end
end
when 20084.chat."Tempelseelenstein" begin
if pc.count_item(30221)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempelseelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30221,1)
set_state(templekey_reward)
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state templekey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Fluchsammlungen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED, 5, 60*60*24*365*60)
end
end
end
|
|
|
03/29/2012, 19:56
|
#5260
|
elite*gold: 0
Join Date: Apr 2010
Posts: 323
Received Thanks: 23
|
ich möchte das sich die quest wiederholt
HTML Code:
----------------------------------------------------
--MAKE HERB LV4
--METIN2 Herb Quest
----------------------------------------------------
quest oster begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(30164)
if v != 0 then
target.vid("__TARGET__", v, "Oster Event")
end
send_letter("Oster Event")
end
when button or info begin
say_title("Oster Event")
say("")
say("Die Osterhase braucht deine Hilfe!")
say("Gehe zu ihr.")
say("")
end
when __TARGET__.target.click or
30164.chat."Ostereier Suchen" begin
target.delete("__TARGET__")
say("Osterhase:")
--- l
say("Oh!!! Du hilfst mir?")
say("Gut ...")
say("Ich bin übrigenz die Osterhase")
say("Ich male Eier bunt an für Ostern.")
say("Wenn du mir bei meiner Suche hilfst,")
say("werde ich dich Reich Belohnen")
wait()
say("Osterhase:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an Ein...")
say("Ich habe derzeit viel zu tun,")
say("es währe also nett wenn du mir hilfst...")
say("Sammel 5 Ostereier Suchen und ich werde dich Belohnen")
say("Du bekommst die Ein von Hungrigen Alpha-Wölfe")
say("Nun Geht, Ich wünsche euch viel Glück")
say("")
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 Kräuter")
end
when button or info begin
say_title("Ostereier Suchen")
--- l
say("")
say("Die Osterhase gab euch den Auftrag")
say("5 Ein zu sammeln!")
say("Sammelt sie von Zufall ")
say("und gebt sie der Osterhase.")
say("")
say_item_vnum(48091)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(48091)==0 then
say("Du hast keine!")
say("Du hast keine!")
say("Du sollst mir aber welche bringen :D")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 173.kill begin
if pc.count_item(48091)<5-pc.getqf("collect_count") then
pc.give_item2(48091, 1)
end
end
when 30164.chat."Ostereier" with pc.count_item(48091) >0 begin
say("Einen Moment ...")
--- l
say("Vielen Dank,")
say("lasst es mich schnell überprüfen")
say("ob dieses Ei in Ordnung ist ...")
say("")
pc.remove_item(48091, 1)
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")< 4 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Osterhase:")
say("Hervorragend dieses Ei ist in Ordnung")
say("Ihr habt bis jetzt ".." "..5-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Osterhase:")
say("Hervorragend du hast")
say("mir die 5 Stück gebracht...")
say("Dafür werde ich dich wie versprochen")
say("Belohnen :D")
say("")
say_reward("Du Bekommst meine Truhe und 500kk !")
say_reward("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
set_state(__complete)
pc.give_item2(48096)
say_reward("Osterhasen Truhe")
end
pc.change_money(500000000)
set_quest_state("levelup","run")
else
say("Osterhase:")
say("diesess Ei ist von schlechter Qualität!")
say("sie kann nicht verwendet werden")
say("bitte hole mir eine neue.")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
|
|
|
03/29/2012, 20:44
|
#5261
|
elite*gold: 0
Join Date: Jan 2010
Posts: 150
Received Thanks: 56
|
Wo liegt der fehler?
Wenn ich in die 2 ebene des Catacombs komme soll der timer laufen und eine ansage kommen.. doch nichts passiert..
HTML Code:
when 30101.take with item.vnum == 30311 begin
chat("Du wirst jetzt in die 2. Ebene gebracht.")
pc.remove_item("30311")
d.new_jump_all(209, 4632, 42082)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_unten.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
d.setf("Ebene", 2)
end
when login with pc.get_map_index() == 209 begin
if d.getf("Ebene") == 2 then
say("Ihr befindet euch jetzt in der 2. Ebene!")
say("Schlagt euch zum Schildkrötenfels durch!")
say("Ihr habt nur 10 minuten Zeit!")
timer("dc1", 600)
else
warp_all_to_village()
end
end
|
|
|
03/29/2012, 22:10
|
#5262
|
elite*gold: 6
Join Date: Jul 2011
Posts: 228
Received Thanks: 127
|
du hast nirgendwo definiert das sich ein dialog = quest window öffnet..
aber denke du hast es so gewollt (;
Code:
when 30101.take with item.vnum == 30311 begin
chat("Du wirst jetzt in die 2. Ebene gebracht.")
pc.remove_item("30311")
d.new_jump_all(209, 4632, 42082)
d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_unten.txt")
d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
d.spawn_mob(30103, 741, 221)
d.setf("Ebene", 2)
end
when login with pc.get_map_index() == 209 begin
if d.getf("Ebene") == 2 then
chat("Ihr befindet euch jetzt in der 2. Ebene!")
chat("Schlagt euch zum Schildkrötenfels durch!")
chat("Ihr habt nur 10 minuten Zeit!")
timer("dc1", 600)
end
when timer.dc1 begin
warp_all_to_village()
end
end
|
|
|
03/29/2012, 22:15
|
#5263
|
elite*gold: 0
Join Date: Apr 2010
Posts: 323
Received Thanks: 23
|
ein fehler und ich möchte das sich die quest automatisch wiederholt
PHP Code:
----------------------------------------------------
--MAKE HERB LV4
--METIN2 Herb Quest
----------------------------------------------------
quest oster begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(30164)
if v != 0 then
target.vid("__TARGET__", v, "Oster Event")
end
send_letter("Oster Event")
end
when button or info begin
say_title("Oster Event")
say("")
say("Die Osterhase braucht deine Hilfe!")
say("Gehe zu ihr.")
say("")
end
when __TARGET__.target.click or
30164.chat."Ostereier Suchen" begin
target.delete("__TARGET__")
say("Osterhase:")
--- l
say("Oh!!! Du hilfst mir?")
say("Gut ...")
say("Ich bin übrigenz die Osterhase")
say("Ich male Eier bunt an für Ostern.")
say("Wenn du mir bei meiner Suche hilfst,")
say("werde ich dich Reich Belohnen")
wait()
say("Osterhase:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an Ein...")
say("Ich habe derzeit viel zu tun,")
say("es währe also nett wenn du mir hilfst...")
say("Sammel 5 Ostereier Suchen und ich werde dich Belohnen")
say("Du bekommst die Ein von Hungrigen Alpha-Wölfe")
say("Nun Geht, Ich wünsche euch viel Glück")
say("")
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 Kräuter")
end
when button or info begin
say_title("Ostereier Suchen")
--- l
say("")
say("Die Osterhase gab euch den Auftrag")
say("5 Ein zu sammeln!")
say("Sammelt sie von Zufall ")
say("und gebt sie der Osterhase.")
say("")
say_item_vnum(48091)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(48091)==0 then
say("Du hast keine!")
say("Du hast keine!")
say("Du sollst mir aber welche bringen :D")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 173.kill begin
if pc.count_item(48091)<5-pc.getqf("collect_count") then
pc.give_item2(48091, 1)
end
end
when 30164.chat."Ostereier" with pc.count_item(48091) >0 begin
say("Einen Moment ...")
--- l
say("Vielen Dank,")
say("lasst es mich schnell überprüfen")
say("ob dieses Ei in Ordnung ist ...")
say("")
pc.remove_item(48091, 1)
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")< 4 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Osterhase:")
say("Hervorragend dieses Ei ist in Ordnung")
say("Ihr habt bis jetzt ".." "..5-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Osterhase:")
say("Hervorragend du hast")
say("mir die 5 Stück gebracht...")
say("Dafür werde ich dich wie versprochen")
say("Belohnen :D")
say("")
say_reward("Du Bekommst meine Truhe und 500kk !")
say_reward("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
set_state(__complete)
pc.give_item2(48096)
say_reward("Osterhasen Truhe")
end
pc.change_money(500000000)
set_quest_state("levelup","run")
else
say("Osterhase:")
say("diesess Ei ist von schlechter Qualität!")
say("sie kann nicht verwendet werden")
say("bitte hole mir eine neue.")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
end
end
state __complete begin
end
end
Code:
syntax error : [string "go_to_disciplepc . count_item ( 48091 ) > 0"]:44: <eof> expected near `else'
oster.quest:160:Abort trap (core dumped)
|
|
|
03/29/2012, 22:28
|
#5264
|
elite*gold: 6
Join Date: Jul 2011
Posts: 228
Received Thanks: 127
|
hier funktioniert (;
Code:
----------------------------------------------------
--MAKE HERB LV4
--METIN2 Herb Quest
----------------------------------------------------
quest oster begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(30164)
if v != 0 then
target.vid("__TARGET__", v, "Oster Event")
end
send_letter("Oster Event")
end
when button or info begin
say_title("Oster Event")
say("")
say("Die Osterhase braucht deine Hilfe!")
say("Gehe zu ihr.")
say("")
end
when __TARGET__.target.click or
30164.chat."Ostereier Suchen" begin
target.delete("__TARGET__")
say("Osterhase:")
---l
say("Oh!!! Du hilfst mir?")
say("Gut ...")
say("Ich bin übrigenz die Osterhase")
say("Ich male Eier bunt an für Ostern.")
say("Wenn du mir bei meiner Suche hilfst,")
say("werde ich dich Reich Belohnen")
wait()
say("Osterhase:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an Ein...")
say("Ich habe derzeit viel zu tun,")
say("es währe also nett wenn du mir hilfst...")
say("Sammel 5 Ostereier Suchen und ich werde dich Belohnen")
say("Du bekommst die Ein von Hungrigen Alpha-Wölfe")
say("Nun Geht, Ich wünsche euch viel Glück")
say("")
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 Kräuter")
end
when button or info begin
say_title("Ostereier Suchen")
--- l
say("")
say("Die Osterhase gab euch den Auftrag")
say("5 Ein zu sammeln!")
say("Sammelt sie von Zufall ")
say("und gebt sie der Osterhase.")
say("")
say_item_vnum(48091)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(48091)==0 then
say("Du hast keine!")
say("Du hast keine!")
say("Du sollst mir aber welche bringen :D")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 173.kill begin
if pc.count_item(48091)<5-pc.getqf("collect_count") then
pc.give_item2(48091, 1)
end
end
when 30164.chat."Ostereier" with pc.count_item(48091) >0 begin
say("Einen Moment ...")
--- l
say("Vielen Dank,")
say("lasst es mich schnell überprüfen")
say("ob dieses Ei in Ordnung ist ...")
say("")
pc.remove_item(48091, 1)
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")< 4 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Osterhase:")
say("Hervorragend dieses Ei ist in Ordnung")
say("Ihr habt bis jetzt ".." "..5-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Osterhase:")
say("Hervorragend du hast")
say("mir die 5 Stück gebracht...")
say("Dafür werde ich dich wie versprochen")
say("Belohnen :D")
say("")
say_reward("Du Bekommst meine Truhe und 500kk !")
say_reward("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
pc.give_item2(48096)
say_reward("Osterhasen Truhe")
end
pc.change_money(500000000)
set_quest_state("levelup","run")
else
say("Osterhase:")
say("diesess Ei ist von schlechter Qualität!")
say("sie kann nicht verwendet werden")
say("bitte hole mir eine neue.")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
end
end
end
|
|
|
03/29/2012, 23:02
|
#5265
|
elite*gold: 0
Join Date: Apr 2010
Posts: 323
Received Thanks: 23
|
Quote:
Originally Posted by .Cookie™
hier funktioniert (;
Code:
----------------------------------------------------
--MAKE HERB LV4
--METIN2 Herb Quest
----------------------------------------------------
quest oster begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(30164)
if v != 0 then
target.vid("__TARGET__", v, "Oster Event")
end
send_letter("Oster Event")
end
when button or info begin
say_title("Oster Event")
say("")
say("Die Osterhase braucht deine Hilfe!")
say("Gehe zu ihr.")
say("")
end
when __TARGET__.target.click or
30164.chat."Ostereier Suchen" begin
target.delete("__TARGET__")
say("Osterhase:")
---l
say("Oh!!! Du hilfst mir?")
say("Gut ...")
say("Ich bin übrigenz die Osterhase")
say("Ich male Eier bunt an für Ostern.")
say("Wenn du mir bei meiner Suche hilfst,")
say("werde ich dich Reich Belohnen")
wait()
say("Osterhase:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an Ein...")
say("Ich habe derzeit viel zu tun,")
say("es währe also nett wenn du mir hilfst...")
say("Sammel 5 Ostereier Suchen und ich werde dich Belohnen")
say("Du bekommst die Ein von Hungrigen Alpha-Wölfe")
say("Nun Geht, Ich wünsche euch viel Glück")
say("")
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 Kräuter")
end
when button or info begin
say_title("Ostereier Suchen")
--- l
say("")
say("Die Osterhase gab euch den Auftrag")
say("5 Ein zu sammeln!")
say("Sammelt sie von Zufall ")
say("und gebt sie der Osterhase.")
say("")
say_item_vnum(48091)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin --°g´bÃĤô
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(48091)==0 then
say("Du hast keine!")
say("Du hast keine!")
say("Du sollst mir aber welche bringen :D")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 173.kill begin
if pc.count_item(48091)<5-pc.getqf("collect_count") then
pc.give_item2(48091, 1)
end
end
when 30164.chat."Ostereier" with pc.count_item(48091) >0 begin
say("Einen Moment ...")
--- l
say("Vielen Dank,")
say("lasst es mich schnell überprüfen")
say("ob dieses Ei in Ordnung ist ...")
say("")
pc.remove_item(48091, 1)
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")< 4 then --5*Ó¥H¤U
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index) --¨ú±o¤@* +1
say("Osterhase:")
say("Hervorragend dieses Ei ist in Ordnung")
say("Ihr habt bis jetzt ".." "..5-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche!")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
say("Osterhase:")
say("Hervorragend du hast")
say("mir die 5 Stück gebracht...")
say("Dafür werde ich dich wie versprochen")
say("Belohnen :D")
say("")
say_reward("Du Bekommst meine Truhe und 500kk !")
say_reward("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
pc.give_item2(48096)
say_reward("Osterhasen Truhe")
end
pc.change_money(500000000)
set_quest_state("levelup","run")
else
say("Osterhase:")
say("diesess Ei ist von schlechter Qualität!")
say("sie kann nicht verwendet werden")
say("bitte hole mir eine neue.")
say("")
pc.setqf("drink_drug",0) --ÃĤôªì©l¤Æ
return
end
end
end
end
|
der fehler kommt
PHP Code:
WHEN : info
WHEN : target (__TARGET__.click) or
WHEN : 30164.chat ("Ostereier Suchen")
STATE : go_to_disciple
WHEN : letter
WHEN : button or
WHEN : info
WHEN : 71035.use
WHEN : 173.kill
WHEN : 30164.chat ("Ostereier")
with pc . count_item ( 48091 ) > 0
say ( "Einen Moment ..." )
say ( "Vielen Dank," )
say ( "lasst es mich schnell überprüfen" )
say ( "ob dieses Ei in Ordnung ist ..." )
say ( "" )
pc . remove_item ( 48091 , 1 )
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" ) < 4 then
local index = pc . getqf ( "collect_count" ) + 1
pc . setqf ( "collect_count" , index )
say ( "Osterhase:" )
say ( "Hervorragend dieses Ei ist in Ordnung" )
say ( "Ihr habt bis jetzt " .. " " .. 5 - pc . getqf ( "collect_count" ) .. " Abgegeben!" )
say ( "Bringt mir noch welche!" )
say ( "" )
pc . setqf ( "drink_drug" , 0 )
return
end
say ( "Osterhase:" )
say ( "Hervorragend du hast" )
say ( "mir die 5 Stück gebracht..." )
say ( "Dafür werde ich dich wie versprochen" )
say ( "Belohnen :D" )
say ( "" )
say_reward ( "Du Bekommst meine Truhe und 500kk !" )
say_reward ( "" )
pc . setqf ( "collect_count" , 0 )
pc . setqf ( "drink_drug" , 0 )
clear_letter ( )
pc . give_item2 ( 48096 )
say_reward ( "Osterhasen Truhe" )
end
pc . change_money ( 5e+08 )
set_quest_state ( "levelup" , "run" )
else
say ( "Osterhase:" )
say ( "diesess Ei ist von schlechter Qualität!" )
say ( "sie kann nicht verwendet werden" )
say ( "bitte hole mir eine neue." )
say ( "" )
pc . setqf ( "drink_drug" , 0 )
return
syntax error : [string "go_to_disciplepc . count_item ( 48091 ) > 0"]:43: <eof> expected near `else'
oster.quest:160:Abort trap (core dumped)
|
|
|
All times are GMT +1. The time now is 21:49.
|
|