|
You last visited: Today at 09:48
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
04/06/2012, 08:57
|
#5356
|
elite*gold: 0
Join Date: Jun 2010
Posts: 243
Received Thanks: 17
|
kann mal jemand hier schauen und ggf helfen ?
|
|
|
04/06/2012, 12:51
|
#5357
|
elite*gold: 0
Join Date: Jun 2010
Posts: 352
Received Thanks: 39
|
Quote:
Originally Posted by acme256
Ich denke mal das hat was damit zu tun, das der Seeli teilweise mit der questlib.lua arbeitet?
|
Mhhh..... Wie sollte ich denn die quest dann schreiben? Oder welche quest als vorlage nehmen-.-
|
|
|
04/06/2012, 14:54
|
#5358
|
elite*gold: LOCKED
Join Date: Apr 2012
Posts: 89
Received Thanks: 12
|
Ich habe ein Error in meiner Quest und möchte deshalb Fragen, was der Fehler hier sein könnte.
PHP Code:
quest Anfang begin state start begin when login or levelup with pc.get_level() >= 1 begin set_state(go) end end state go begin when letter begin local v = find_npc_by_vnum(9003) if v != 0 then target.vid("__TARGET__", v, "Quest") end send_letter("Der Anfang") end when button or info begin say_title("Der Anfang") say("") say("Willkommen Neuling auf Lasorie3") say("Um dein Equitment zu erhalten, begebe") say("dich zur Gemischtwarenhändlerin.") end when 9003.click begin say_title("Der Anfang") say("") say("Hallo "..pc.get_name()..",") say("Tut mir leid. Ich besitze leider das Equitment noch nicht. Frage doch den Schmied.") say("Er hat seid kurzen neue Waren von dem Rüstungshändler bekommen.") clear_letter() set_state(go_smith) end end state go_smith begin when letter begin local v = find_npc_by_vnum(20016) if v != 0 then target.vid("__TARGET__", v, "Quest") end send_letter("Der Anfang") end when button or info begin say_title("Der Anfang) say("") say("Begebe dich zum Schmied!") end when 20016.chat."Der Anfang" begin target.delete("__TARGET__") say_title("Der Anfang") say("") say("Hallo "..pc.get_name()..",") say("Du möchtes also ein Equitment für den Anfang?") say("Ich habe zufällig eine Ausrüstung für dich.Du kannst Sie haben.") if pc.job == 0 then pc.give_item2(19, 1) pc.give_item2(70038,100) pc.give_item2(11209,1) pc.give_item2(12209,1) pc.give_item2(13009,1) elseif pc.job == 1 then pc.give_item2(1009, 1) pc.give_item2(70038,100) pc.give_item2(11409,1) pc.give_item2(12349,1) pc.give_item2(13009,1) elseif pc.job == 2 then pc.give_item2(19, 1) pc.give_item2(70038,100) pc.give_item2(11609,1) pc.give_item2(12489,1) pc.give_item2(13009,1) elseif pc.job == 3 then pc.give_item2(7009, 1) pc.give_item2(70038,100) pc.give_item2(11809,1) pc.give_item2(12629,1) pc.give_item2(13009,1 end say("Viel Glück bei deiner Reise!") clear_letter() set_state(ende) end end state ende begin end end
|
|
|
04/06/2012, 16:19
|
#5359
|
elite*gold: 142
Join Date: Jan 2009
Posts: 486
Received Thanks: 128
|
du hast einmal " vergessen.
PHP Code:
quest Anfang begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(go)
end
end
state go begin
when letter begin
local v = find_npc_by_vnum(9003)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Der Anfang")
end
when button or info begin
say_title("Der Anfang")
say("")
say("Willkommen Neuling auf Lasorie3")
say("Um dein Equitment zu erhalten, begebe")
say("dich zur Gemischtwarenhändlerin.")
end
when 9003.click begin
say_title("Der Anfang")
say("")
say("Hallo "..pc.get_name()..",")
say("Tut mir leid. Ich besitze leider das Equitment noch nicht. Frage doch den Schmied.")
say("Er hat seid kurzen neue Waren von dem Rüstungshändler bekommen.")
clear_letter()
set_state(go_smith)
end
end
state go_smith begin
when letter begin
local v = find_npc_by_vnum(20016)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Der Anfang")
end
when button or info begin
say_title("Der Anfang")
say("")
say("Begebe dich zum Schmied!")
end
when 20016.chat."Der Anfang" begin
target.delete("__TARGET__")
say_title("Der Anfang")
say("")
say("Hallo "..pc.get_name()..",")
say("Du möchtes also ein Equitment für den Anfang?")
say("Ich habe zufällig eine Ausrüstung für dich.Du kannst Sie haben.")
if pc.job == 0 then
pc.give_item2(19, 1)
pc.give_item2(70038,100)
pc.give_item2(11209,1)
pc.give_item2(12209,1)
pc.give_item2(13009,1)
elseif pc.job == 1 then
pc.give_item2(1009, 1)
pc.give_item2(70038,100)
pc.give_item2(11409,1)
pc.give_item2(12349,1)
pc.give_item2(13009,1)
elseif pc.job == 2 then
pc.give_item2(19, 1)
pc.give_item2(70038,100)
pc.give_item2(11609,1)
pc.give_item2(12489,1)
pc.give_item2(13009,1)
elseif pc.job == 3 then
pc.give_item2(7009, 1)
pc.give_item2(70038,100)
pc.give_item2(11809,1)
pc.give_item2(12629,1)
pc.give_item2(13009,1
end
say("Viel Glück bei deiner Reise!")
clear_letter()
set_state(ende)
end
end
state ende begin
end
end
|
|
|
04/06/2012, 17:06
|
#5360
|
elite*gold: LOCKED
Join Date: Apr 2012
Posts: 89
Received Thanks: 12
|
Quote:
Originally Posted by Retrograd
du hast einmal " vergessen.
PHP Code:
quest Anfang begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(go)
end
end
state go begin
when letter begin
local v = find_npc_by_vnum(9003)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Der Anfang")
end
when button or info begin
say_title("Der Anfang")
say("")
say("Willkommen Neuling auf Lasorie3")
say("Um dein Equitment zu erhalten, begebe")
say("dich zur Gemischtwarenhändlerin.")
end
when 9003.click begin
say_title("Der Anfang")
say("")
say("Hallo "..pc.get_name()..",")
say("Tut mir leid. Ich besitze leider das Equitment noch nicht. Frage doch den Schmied.")
say("Er hat seid kurzen neue Waren von dem Rüstungshändler bekommen.")
clear_letter()
set_state(go_smith)
end
end
state go_smith begin
when letter begin
local v = find_npc_by_vnum(20016)
if v != 0 then
target.vid("__TARGET__", v, "Quest")
end
send_letter("Der Anfang")
end
when button or info begin
say_title("Der Anfang")
say("")
say("Begebe dich zum Schmied!")
end
when 20016.chat."Der Anfang" begin
target.delete("__TARGET__")
say_title("Der Anfang")
say("")
say("Hallo "..pc.get_name()..",")
say("Du möchtes also ein Equitment für den Anfang?")
say("Ich habe zufällig eine Ausrüstung für dich.Du kannst Sie haben.")
if pc.job == 0 then
pc.give_item2(19, 1)
pc.give_item2(70038,100)
pc.give_item2(11209,1)
pc.give_item2(12209,1)
pc.give_item2(13009,1)
elseif pc.job == 1 then
pc.give_item2(1009, 1)
pc.give_item2(70038,100)
pc.give_item2(11409,1)
pc.give_item2(12349,1)
pc.give_item2(13009,1)
elseif pc.job == 2 then
pc.give_item2(19, 1)
pc.give_item2(70038,100)
pc.give_item2(11609,1)
pc.give_item2(12489,1)
pc.give_item2(13009,1)
elseif pc.job == 3 then
pc.give_item2(7009, 1)
pc.give_item2(70038,100)
pc.give_item2(11809,1)
pc.give_item2(12629,1)
pc.give_item2(13009,1
end
say("Viel Glück bei deiner Reise!")
clear_letter()
set_state(ende)
end
end
state ende begin
end
end
|
So jetzt noch ein Fehler in der Quest und zwar: syntax error : [string "go_smith"] :31: ')' expected (to close '(' at line 30) near 'end'
|
|
|
04/06/2012, 18:00
|
#5361
|
elite*gold: 0
Join Date: Dec 2009
Posts: 105
Received Thanks: 30
|
Quote:
Originally Posted by lυхor
So jetzt noch ein Fehler in der Quest und zwar: syntax error : [string "go_smith"] :31: ')' expected (to close '(' at line 30) near 'end'
|
hast am ende auch ne ")" vergessen schau mal deine ganze Quest nach solchen Fehlern durch
|
|
|
04/06/2012, 18:44
|
#5362
|
elite*gold: 122
Join Date: Jan 2009
Posts: 479
Received Thanks: 87
|
PHP Code:
quest anti_exp begin
state start begin
when exp.timer with pc.get_exp()>1000 begin
pc.give_exp2(-pc.get_exp())
end
when 31003.use begin
if pc.getqf("exp_block")==0 then
pc.setqf("exp_block", 1)
loop_timer("exp", 5)
else
pc.setqf("exp_block", 0)
cleartimer("exp")
end
end
end
end
Problem:
Wenn ich das Item anziehe, bekomme ich keine Exp mehr. Ist ja auch richtig. Doch wenn ich es wieder ausziehe, bekomme ich immer noch keine EXP mehr.
Wenn ich relogge, muss ich es immer neu aktivieren.
|
|
|
04/06/2012, 18:53
|
#5363
|
elite*gold: 142
Join Date: Jan 2009
Posts: 486
Received Thanks: 128
|
Kann man in einer Quest zu viele wait() drin haben?
|
|
|
04/06/2012, 19:06
|
#5364
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,297
Received Thanks: 1,295
|
Quote:
Originally Posted by Retrograd
Kann man in einer Quest zu viele wait() drin haben?
|
Nein eig. nicht da nur den Spielern vllt auf die nerver gehen wird.
|
|
|
04/06/2012, 19:08
|
#5365
|
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
|
Quote:
Originally Posted by acme256
PHP Code:
quest azraels_truhe begin
state start begin
when 50080.use begin
local item =
{
{ 27112, 5 },
{ 27115, 5 },
{ 140, 1 },
{ 150, 1 },
{ 160, 1 },
{ 180, 1 },
{ 3130, 1 },
{ 3140, 1 },
{ 3150, 1 },
{ 3160, 1 },
{ 1100, 1 },
{ 1110, 1 },
{ 1130, 1 },
{ 11286, 1 },
{ 11286, 1 },
{ 11286, 1 },
{ 11286, 1 },
{ 11294, 1 },
{ 11294, 1 },
{ 11294, 1 },
{ 11294, 1 },
{ 5120, 1 },
{ 5090, 1 },
{ 5100, 1 },
{ 7140, 1 },
{ 7130, 1 },
{ 30190, 5 },
{ 71094, 5 },
{ 72001, 1 },
{ 72002, 1 },
{ 72003, 1 },
{ 72004, 1 },
{ 72005, 1 },
{ 72006, 1 },
{ 72022, 1 },
{ 72023, 1 },
{ 72024, 1 },
{ 71132, 1 },
{ 30193, 5 },
{ 30195, 5 },
{ 30178, 5 },
{ 71107, 1 },
{ 30319, 3 },
{ 71004, 10 },
{ 27992, 1 },
{ 27993, 1 },
{ 27994, 1 },
{ 27998, 1 },
{ 27987, 5 },
{ 27987, 15 },
{ 50523, 1 },
{ 50524, 1 },
{ 27003, 50 },
{ 27006, 50 },
{ 50513, 1 },
{ 50514, 1 },
{ 71018, 50 },
{ 71020, 25 },
{ 71021, 1 },
{ 25040, 1 },
{ 25041, 1 },
{ 71032, 1 },
{ 70024, 5 },
{ 71044, 3 },
{ 71045, 3 },
{ 71101, 1 },
{ 30021, 4 },
{ 30064, 4 },
{ 71101, 1 },
{ 72037, 1 },
{ 72038, 1 },
{ 72031, 1 },
{ 72032, 1 },
{ 72034, 1 },
{ 72035, 1 },
{ 72040, 1 },
{ 72041, 1 },
}
for a = 1, 76 do
local b = number(a, 77)
if a != b then
local c = item[a];
item[a] = item[b];
item[b] = c;
end
end
pc.give_item2(item[a][1], item[a][2])
end
end
end
Server : Kein Fehler
Problem : Aus der Truhe kommt kein Item raus (das die Truhe nicht verschwindet ist im Moment unwichtig)
|
Ohne Quest wäre das viel einfacher..
Wie man das macht bitte in der SuFu suchen.
|
|
|
04/06/2012, 19:20
|
#5366
|
elite*gold: 0
Join Date: Aug 2011
Posts: 336
Received Thanks: 37
|
PHP Code:
quest rubintruhe begin state start begin when 50132.use with pc.count_item(50150) >=1 begin local n = number(1, 4) if n == 1 then pc.give_item2(41012, 1) elseif n == 2 then pc.give_item2(41022,1) elseif n == 3 then pc.give_item2(41023, 1) elseif n == 4 then pc.give_item2(41042, 1) pc.remove_item(50132, 1) pc.remove_item(50150, 1) end when 50132.use with pc.count_item(50150) <=0 begin chat("Dir fehlt der richtige Schlüssel.") end end end
die core dumped pls help
|
|
|
04/06/2012, 19:26
|
#5367
|
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
|
Quote:
Originally Posted by DarkNessWorld2
PHP Code:
quest rubintruhe begin
state start begin
when 50132.use with pc.count_item(50150) >=1 begin
local n = number(1, 4)
if n == 1 then
pc.give_item2(41012, 1)
elseif n == 2 then
pc.give_item2(41022,1)
elseif n == 3 then
pc.give_item2(41023, 1)
elseif n == 4 then
pc.give_item2(41042, 1)
pc.remove_item(50132, 1)
pc.remove_item(50150, 1)
end
when 50132.use with pc.count_item(50150) <=0 begin
chat("Dir fehlt der richtige Schlüssel.")
end
end
end
die core dumped pls help
|
Hier fehlt ein Endif...
|
|
|
04/06/2012, 19:28
|
#5368
|
elite*gold: 0
Join Date: Aug 2011
Posts: 336
Received Thanks: 37
|
wo ich blicke da grade net duch
|
|
|
04/06/2012, 19:31
|
#5369
|
elite*gold: 0
Join Date: Jun 2009
Posts: 184
Received Thanks: 270
|
Quote:
Originally Posted by DarkNessWorld2
PHP Code:
quest rubintruhe begin
state start begin
when 50132.use with pc.count_item(50150) >=1 begin
local n = number(1, 4)
if n == 1 then
pc.give_item2(41012, 1)
elseif n == 2 then
pc.give_item2(41022,1)
elseif n == 3 then
pc.give_item2(41023, 1)
elseif n == 4 then
pc.give_item2(41042, 1)
pc.remove_item(50132, 1)
pc.remove_item(50150, 1)
end
when 50132.use with pc.count_item(50150) <=0 begin
chat("Dir fehlt der richtige Schlüssel.")
end
end
end
die core dumped pls help
|
So müsste es richtig sein.
PHP Code:
quest rubintruhe begin
state start begin
when 50132.use with pc.count_item(50150) >=1 begin
local n = number(1, 4)
if n == 1 then
pc.give_item2(41012, 1)
elseif n == 2 then
pc.give_item2(41022,1)
elseif n == 3 then
pc.give_item2(41023, 1)
elseif n == 4 then
pc.give_item2(41042, 1)
end
pc.remove_item(50132, 1)
pc.remove_item(50150, 1)
end
when 50132.use with pc.count_item(50150) <=0 begin
chat("Dir fehlt der richtige Schlüssel.")
end
end
end
|
|
|
04/06/2012, 19:47
|
#5370
|
elite*gold: 122
Join Date: Jan 2009
Posts: 479
Received Thanks: 87
|
PHP Code:
quest frisuren_shop begin
state start begin
when 20090.chat."Sie sind ein Friseur?" with pc.job == 0 begin
say(" ")
say(" ")
say(" ")
say(" ")
say(" ")
local s = select ("Ja", "Nein")
if s == 2 then
return
else
npc.open_shop(1)
end
end
when 20090.chat."Frisuren Kauf" with pc.job == 1 begin
say("1")
say("2")
say("3")
say("4")
local s = select ("Ja", "Nein")
if s == 2 then
return
else
npc.open_shop(1)
end
end
when 20090.chat."Frisuren Kauf" with pc.job == 2 begin
say("1")
say("2")
say("3")
say("4")
local s = select ("Ja", "Nein")
if s == 2 then
return
else
npc.open_shop(1)
end
end
when 20090.chat."Frisuren Kauf" with pc.job == 3 begin
say("1")
say("2")
say("3")
say("4")
local s = select ("Ja", "Nein")
if s == 2 then
return
else
npc.open_shop(1)
end
end
end
end
Problem:
Nachdem man was aus dem Shop gekauft hat, passiert nichts.
|
|
|
All times are GMT +1. The time now is 09:48.
|
|