|
You last visited: Today at 10:08
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
08/05/2015, 18:27
|
#11836
|
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
|
Quote:
Originally Posted by Seחsi
Probiers mal so:
Code:
quest startersetoki begin
state start begin
when 70007.use begin
local colors = {
{name = "Rot", r = 255, g = 000, b = 000},
{name = "Gelb", r = 000, 000, 000},
}
local colornames = {}
for _,v in ipairs(colors) do
table.insert(colornames, v.name)
end
table.insert(colornames, "Abbrechen")
say_title("Das Rang-System")
say("Dein Rangname wurde erfolgreich erstellt.")
say_reward("Wähle deine Farbe aus.")
local color = colors[select_table(colornames)] or false
if not color then return end
startersetoki.inp_name(color)
end
function inp_name(color)
say_title("Das Rang-System")
say("Gewählte Farbe: "..color.name)
say("")
say_reward("Gib einen Namen für einen Rangnamen ein.")
say_reward("Es sind maximal 5 Zeichen erlaubt.")
local rankname = input()
if string.len(rankname) < 1 or string.len(rankname) > 5 then
say("Du darfst nur 5 Zeichen nutzen!")
startersetoki.inp_name(color)
return
end
mysql_query("UPDATE player.player SET prank = '"..rankname.."', color_r = "..color.r..", color_g = "..color.g..", color_b = "..color.b.." WHERE id = "..pc.get_player_id().." LIMIT 1;")
end
end
end
|
Hey, Irgendwie möchte sich die Quest nicht laden lassen.
Ich bekomme diesen Fehler:ipairs
|
|
|
08/05/2015, 18:33
|
#11837
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Prof.MindFreak
Hey, Irgendwie möchte sich die Quest nicht laden lassen.
Ich bekomme diesen Fehler:ipairs
|
schreib ipairs in die quest_functions
|
|
|
08/05/2015, 18:40
|
#11838
|
elite*gold: 0
Join Date: Jul 2009
Posts: 821
Received Thanks: 1,276
|
Hey hätte da me ein Problem mit meiner give_basic_weapon.quest, komm da grad ned drauf
Putty spuckt mir den Fehler aus :
syntax error : [string "test1"]:19: `}' expected (to close `{' at line 7) near `['
Error occured on compile give_basic_weapon.quest
PHP Code:
quest give_basic_weapon begin state start begin when login with pc.get_level() >= 1 begin set_state(test1) end end state test1 begin when letter begin send_letter("Willkommen!") end when button or info begin local items_give = { [27003] = 200, [27006] = 200, [39006] = 200, [27101] = 20, [27112] = 20, [14009] = 1, [13009] = 1, [15009] = 1, [16009] = 1, [17009] = 1, [50052] = 1 } local item_race = ({ ["Krieger"] = { [19] = 1, --Schwert+9 [3009] = 1, --Glefe+9 [11209] = 1, --Mönchsplatten Panzer+9 [12209] = 1 --Traditioneller Helm+9 }, ["Ninja"] = { [1009] = 1, --Dolch+9 [2009] = 1, --Bogen+9 [11409] = 1, --AzurAnzug+9 [8000] = 200, --Holzpfeile [12349] = 1 --Lederkapuze+9 } ["Sura"] = { [19] = 1, --Schwert+9 [11609] = 1, --Requiem-Plattenpanzer+9 [12489] = 1 --Blutiger Helm+9 }, ["Schamane"] = { [7009] = 1, --Fächer+9 [11809] = 1, --Purpurkleidung+9 [12629] = 1 -- Mönchshut+9 } })[({"Krieger", "Ninja", "Sura", "Schamane"})[pc.get_job()+1]] for vnum,count in pairs(items_give) do pc.give_item2(vnum, count) end for vnum,count in pairs(rasse_item) do pc.give_item2(vnum, count) end say_title("") say("") set_state(__COMPLETE__) end end state __COMPLETE__ begin end end
|
|
|
08/05/2015, 18:46
|
#11839
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
hinter dem ninja table ein komma
|
|
|
08/05/2015, 18:56
|
#11840
|
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
|
Quote:
Originally Posted by Seחsi
schreib ipairs in die quest_functions
|
Habe ich gemacht! Aber nach dem ich auf Okay klicke passiert nichts.
|
|
|
08/05/2015, 18:58
|
#11841
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Prof.MindFreak
Habe ich gemacht! Aber nach dem ich auf Okay klicke passiert nichts. 
|
eigentlich sollte da garkein ok sein
|
|
|
08/09/2015, 00:18
|
#11842
|
elite*gold: 0
Join Date: Jun 2014
Posts: 223
Received Thanks: 43
|
Quote:
Originally Posted by Seחsi
Probiers mal so:
Code:
quest startersetoki begin
state start begin
when 70007.use begin
local colors = {
{name = "Rot", r = 255, g = 000, b = 000},
{name = "Gelb", r = 000, 000, 000},
}
local colornames = {}
for _,v in ipairs(colors) do
table.insert(colornames, v.name)
end
table.insert(colornames, "Abbrechen")
say_title("Das Rang-System")
say("Dein Rangname wurde erfolgreich erstellt.")
say_reward("Wähle deine Farbe aus.")
local color = colors[select_table(colornames)] or false
if not color then return end
startersetoki.inp_name(color)
end
function inp_name(color)
say_title("Das Rang-System")
say("Gewählte Farbe: "..color.name)
say("")
say_reward("Gib einen Namen für einen Rangnamen ein.")
say_reward("Es sind maximal 5 Zeichen erlaubt.")
local rankname = input()
if string.len(rankname) < 1 or string.len(rankname) > 5 then
say("Du darfst nur 5 Zeichen nutzen!")
startersetoki.inp_name(color)
return
end
mysql_query("UPDATE player.player SET prank = '"..rankname.."', color_r = "..color.r..", color_g = "..color.g..", color_b = "..color.b.." WHERE id = "..pc.get_player_id().." LIMIT 1;")
end
end
end
|
Hey, könntest du noch eine Funktion einbauen wo man seinen Rangnamen zurücksetzen kann ?
Ich habe das Problem das ich einen Rangnamen setzen kann, aber wenn er schon gesetzt ist, dann kann man ihn nicht neu setzen.
|
|
|
08/11/2015, 15:29
|
#11843
|
elite*gold: 0
Join Date: Aug 2015
Posts: 147
Received Thanks: 31
|
Die Quest soll einen 250.000.000 Yang geben, wenn man das Item 80008 anklickt, leider kommt ein Fehler beim compilen.
PHP Code:
quest yang begin state start begin when 80008.use local vnum = item.get_vnum() local barren = { [80008] = {2500000000}, --Goldklumpen local give_yang = barren[vnum][1] local check_can_gold = pc.get_gold() + give_yang if tonumber(check_can_gold) >= tonumber(1999999999) then syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.") else syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.") pc.change_gold(give_yang) item.remove() end end end end
|
|
|
08/11/2015, 15:36
|
#11844
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Code:
quest yangbarren begin
state start begin
when 80008.use begin
local vnum = item.get_vnum()
local yang = ({
[80008] = 2500000000,--Goldklumpen
})[vnum] or 0
if pc.get_gold() + yang >= 2000000000 then
syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
return
end
pc.change_gold(yang)
pc.remove_item(vnum)
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..yang.." Yang.")
end
end
end
|
|
|
08/11/2015, 15:41
|
#11845
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by x3_wLanKabel
Die Quest soll einen 250.000.000 Yang geben, wenn man das Item 80008 anklickt, leider kommt ein Fehler beim compilen.
PHP Code:
quest yang begin
state start begin
when 80008.use
local vnum = item.get_vnum()
local barren = {
[80008] = {2500000000}, --Goldklumpen
local give_yang = barren[vnum][1]
local check_can_gold = pc.get_gold() + give_yang
if tonumber(check_can_gold) >= tonumber(1999999999) then
syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
else
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
pc.change_gold(give_yang)
item.remove()
end
end
end
end
|
Code:
quest yang begin
state start begin
when 80008.use begin
local vnum = item.get_vnum()
local barren = {
[80008] = {2500000000}
}--Goldklumpen
local give_yang = barren[vnum]
local check_can_gold = pc.get_gold() + give_yang
if check_can_gold >= 1999999999 then
syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
else
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
pc.change_gold(give_yang)
item.remove()
end
end
end
end
Quote:
Originally Posted by Seחsi
Code:
quest yangbarren begin
state start begin
when 80008.use
local vnum = item.get_vnum()
local yang = ({
[80008] = 2500000000,--Goldklumpen
})[vnum] or 0
if pc.get_gold() + yang >= 2000000000 then
syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
return
end
pc.change_gold(yang)
pc.remove_item(vnum)
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..yang.." Yang.")
end
end
end
|
hast oben das begin vergessen
|
|
|
08/11/2015, 15:52
|
#11846
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by KΛIƬӨ
Code:
quest yang begin
state start begin
when 80008.use begin
local vnum = item.get_vnum()
local barren = {
[80008] = {2500000000}
}--Goldklumpen
local give_yang = barren[vnum]
local check_can_gold = pc.get_gold() + give_yang
if check_can_gold >= 1999999999 then
syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
else
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
pc.change_gold(give_yang)
item.remove()
end
end
end
end
hast oben das begin vergessen
|
Und du das [1] nach barren[vnum] (weil das ein Table ist)
|
|
|
08/11/2015, 16:23
|
#11847
|
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
|
Quote:
Originally Posted by Seחsi
Und du das [1] nach barren[vnum] (weil das ein Table ist) 
|
Und du hast ein unnötiges Komma bei dem Table rangesetzt (weil da nix mehr danach kommt)
|
|
|
08/11/2015, 16:28
|
#11848
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by KΛIƬӨ
Und du hast ein unnötiges Komma bei dem Table rangesetzt (weil da nix mehr danach kommt) 
|
Mit Absicht, weil es zu viele Leute nicht verstehen wenn sie neue hinzufügen
|
|
|
08/12/2015, 11:25
|
#11849
|
elite*gold: 0
Join Date: Mar 2015
Posts: 24
Received Thanks: 2
|
huhu  hab ein problem mit der quest (werde weiterhin versuchen dran rumzuwerkeln|bin anfänger  ) :
PHP Code:
quest fischer begin
---------------------------------- -- LvL 30 / Karpfen ---------------------------------- state start begin when first.login or levelup with pc.level>29 begin set_state(fischerlabern1) end end state fischerlabern1 begin when letter begin local v = find_npc_by_vnum(9009) if v != 0 then target.vid("__TARGET__", v, "Fischer") end send_letter("Angeln") end when button or info begin say_title("Angeln") say("") say("Der Fischer verlangt nach dir.") say("Lauf zu ihm.") say("") say_reward("Geh zum Fischer") say("") end when __TARGET__.target.click or 9009.chat."Die Mandarinfische" begin target.delete("__TARGET__") say("Fischer:") say("") say("Hey junger Kämpfer.") say("Ich bin der Fischer hier im Dorf") say("und ich habe eine Aufgabe für dich!") say("Angle mir einen Mandarinfisch , denn meine") say("Frau hat Hunger darauf.") say("") wait() say("Fischer:") say("Natürlich belohne ich dich gut dafür!") say("Also los kauf bei mir die Angel") say("und fang an zu fischen!") say("Petri Heil!") say("") wait() end end when 9009.chat."Mandarinfisch" with pc.count_item(27804)>0 begin if get_time()>pc.getqf("duration") then say("Oh danke mein Freund.") say("Jetzt kann ich endlich meiner Frau") say("den Fisch geben!") say("") pc.remove_item("27804", 1) pc.setqf("duration",get_time()+0) wait() say("Fischer:") say("Mh ich habe hier nichts außer meiner Angel.") say("Geh zu meinem Neffen Fritz er wird dir") say("etwas geben.") say("") pc.setqf("collect_count",0) pc.setqf("duration",0) set_state(preis) end end end end end state preis begin when __TARGET__.target.click or 20014.chat."Belohnung vom Fischer" begin target.delete("__TARGET__") say_title("Fritz:") say("Danke ,dass du meinem Onkel geholfen hast") say("Hier eine seltene Truhe für dich.") say("") pc.give_item2(50033) end end end
|
|
|
08/12/2015, 11:30
|
#11850
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by OnkelHawk
hab ein problem mit der quest
|
das nenn' ich mal eine detaillierte Fehlerbeschreibung. Kannst du uns mehr Infos geben?
|
|
|
All times are GMT +1. The time now is 10:08.
|
|