|
You last visited: Today at 23:56
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
11/22/2015, 23:45
|
#11986
|
elite*gold: 0
Join Date: Oct 2015
Posts: 36
Received Thanks: 3
|
Suche eine Regenbogenstein Quest, die aus einem M Skill einen P Skill macht.
Nicht alles soll P sondern nur das was M ist soll auswählbar sein, damit es P wird.
Dann suche ich noch eine PvP Quest, man sollte Bonis bekommen für bestimmte Kills.
- 25 Kills = 1000 TP
- 50 Kills = 10 Halbmenschen
- 75 Kills = 15% Schaden
Diese Quest sollte jedoch nicht angezeigt werden, sie sollte nur beim Erreichen der Kills in den Chat des Spielers posten "Du hast soeben das Achievment Tod für Javura freigeschaltet, du erhälst folgenden Boni : "
|
|
|
11/24/2015, 14:08
|
#11987
|
elite*gold: 0
Join Date: May 2012
Posts: 300
Received Thanks: 34
|
Ja meine lieben Lua experten
ich bin selber ein ziemlicher noob im punkto lua und hab hier eine kleine quest
beim einfügen von der quest kommt dieser fehler
QUEST : questquest
questquest.quest:1:quest doesn't have begin-end clause. (-)
Error occured on compile questquest.quest
nu frage ich mich was das soll D:
bitte nicht einfach verbessern sondern den fehler sagen
und dann wie ich den verbessere muss es ja lernen.
hier die quest
Code:
quest questquest begin
state start begin
when login or levelup with pc.level >= 1 begin
set_state(information)
end
end
state information begin
when 20355.chat."Test" begin
say_title("Test")
say("")
say("")
say("")
say_reward("Töte Wildhunde!")
say_reward("")
say_reward("jo belohnung klar ne")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 50)
q.set_counter("Wildhund", 50)
end
when kill with npc.get_race() == 101 begin
local count = pc.getqf("state") - 50
if count <= 50 then
pc.setqf("state", count)
q.set_counter("Wildhund", count)
end
if count == 0 then
say_title("Test")
say("")
say("")
say("")
say("")
say_reward("da nimm das")
pc.give_item2("19", 1)
pc.get_money(2000000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
end
end
state __COMPLETE__ begin
end
end
|
|
|
11/24/2015, 15:10
|
#11988
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,207
Received Thanks: 303
|
Quote:
Originally Posted by abcdosentee
Ja meine lieben Lua experten
ich bin selber ein ziemlicher noob im punkto lua und hab hier eine kleine quest
beim einfügen von der quest kommt dieser fehler
QUEST : questquest
questquest.quest:1:quest doesn't have begin-end clause. (-)
Error occured on compile questquest.quest
nu frage ich mich was das soll D:
bitte nicht einfach verbessern sondern den fehler sagen
und dann wie ich den verbessere muss es ja lernen.
hier die quest
Code:
quest questquest begin
state start begin
when login or levelup with pc.level >= 1 begin
set_state(information)
end
end
state information begin
when 20355.chat."Test" begin
say_title("Test")
say("")
say("")
say("")
say_reward("Töte Wildhunde!")
say_reward("")
say_reward("jo belohnung klar ne")
say_reward("")
say_reward("")
say("")
pc.setqf("state", 50)
q.set_counter("Wildhund", 50)
end
when kill with npc.get_race() == 101 begin
local count = pc.getqf("state") - 50
if count <= 50 then
pc.setqf("state", count)
q.set_counter("Wildhund", count)
end
if count == 0 then
say_title("Test")
say("")
say("")
say("")
say("")
say_reward("da nimm das")
pc.give_item2("19", 1)
pc.get_money(2000000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
end
end
state __COMPLETE__ begin
end
end
|
Ich glaube da sind 2 "end" zu viel
|
|
|
11/24/2015, 16:39
|
#11989
|
elite*gold: 0
Join Date: May 2012
Posts: 300
Received Thanks: 34
|
Quote:
Originally Posted by DasPrinzip.
Ich glaube da sind 2 "end" zu viel
|
Danke für die anwort weißt du den auch wo genau?
|
|
|
11/24/2015, 17:06
|
#11990
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,207
Received Thanks: 303
|
Quote:
Originally Posted by abcdosentee
Danke für die anwort weißt du den auch wo genau?
|
Ich denke die 2 vor dem "state __COMPLETE__ begin"
|
|
|
11/24/2015, 17:08
|
#11991
|
elite*gold: 537
Join Date: Mar 2015
Posts: 1,041
Received Thanks: 126
|
Hallo!
Habe den folgenden quest
Code:
quest test_quest begin
state start begin
when login with pc.getqf("dialog_erou")==1 begin
end
when 31260.use with pc.getqf("dialog_erou")==0 begin
say_title("TEXT")
say("TEXT") --// Pui tu aici textul tau ;)
say("TEXT")
say("TEXT")
say("TEXT")
local alege = select("TEXT", "TEXT")
if alege == 2 then
return
elseif alege == 1 then
say_title("TEXT")
local hero_name = input()
if string.len(hero_name) < 4 then
say_title("TEXT")
say("TEXT")
say("TEXT")
return
elseif string.len(hero_name) > 12 then
say_title("TEXT")
say("TEXT")
say("TEXT")
return
end
when 31260.use with pc.getqf("dialog_erou")==1 begin
say_title("TEXT")
say("TEXT")
return
end
end
Fehler: qc in malloc()
|
|
|
11/24/2015, 17:08
|
#11992
|
elite*gold: 0
Join Date: May 2012
Posts: 300
Received Thanks: 34
|
Quote:
Originally Posted by DasPrinzip.
Ich denke die 2 vor dem "state __COMPLETE__ begin"
quest questquest begin state start begin when login or levelup with pc.level >= 1 begin set_state(information) end end state information begin when 20355.chat."Test" begin say_title("Test") say("") say("") say("") say_reward("Töte Wildhunde!") say_reward("") say_reward("jo belohnung klar ne") say_reward("") say_reward("") say("") pc.setqf("state", 50) q.set_counter("Wildhund", 50) end when kill with npc.get_race() == 101 begin local count = pc.getqf("state") - 50 if count <= 50 then pc.setqf("state", count) q.set_counter("Wildhund", count) end if count == 0 then say_title("Test") say("") say("") say("") say("") say_reward("da nimm das") pc.give_item2("19", 1) pc.get_money(2000000) clear_letter() set_state(__COMPLETE__) end end end end end state __COMPLETE__ begin end end
|
Die beiden habe ich bereits mal entfernt gehabt ging trdz nicht
gleicher fehler
|
|
|
11/24/2015, 17:12
|
#11993
|
elite*gold: 727
Join Date: Feb 2012
Posts: 1,207
Received Thanks: 303
|
Quote:
Originally Posted by abcdosentee
Die beiden habe ich bereits mal entfernt gehabt ging trdz nicht
gleicher fehler
|
Versuche es mal nur mit dem letzten end vor dem state __COMPLETE__ begin
Bzw habs grad mal in Editor gehaun, da passt das mit den Ends ^^
|
|
|
11/24/2015, 19:53
|
#11994
|
elite*gold: 0
Join Date: Jul 2012
Posts: 5,520
Received Thanks: 1,350
|
Könnte mir mal jemand bitte diese Quests verbessern sie gehen nicht.
Code:
quest OXEvent_Fix begin
state start begin
when login begin
if pc.get_map_index() == 113 then
loop_timer("ox_check2", 1)
pc.setqf("index", pc.get_map_index())
else
cleartimer("ox_check2")
pc.setqf("index", pc.get_map_index())
end
end
when ox_check2.timer begin
if pc.getqf("index") != 113 then
cleartimer("ox_check")
else
if pc.is_mount() == true then
pc.unmount()
notice("Du kannst beim OX-Wettbewerb kein Mount benutzen.")
end
if true == horse.is_summon() then
horse.unsummon()
end
end
end
end
end
Code:
quest PvPTunier_Fix begin
state start begin
when login begin
if pc.get_map_index() == 26 then
loop_timer("pvp_check2", 1)
pc.setqf("index", pc.get_map_index())
else
cleartimer("pvp_check2")
pc.setqf("index", pc.get_map_index())
end
end
when pvp_check2.timer begin
if pc.getqf("index") != 26 then
cleartimer("pvp_check")
else
if pc.is_mount() == true then
pc.unmount()
notice("Du kannst beim PvP-Tunier kein Mount benutzen.")
end
if true == horse.is_summon() then
horse.unsummon()
end
end
end
end
end
|
|
|
11/24/2015, 20:53
|
#11995
|
elite*gold: 0
Join Date: May 2012
Posts: 300
Received Thanks: 34
|
Quote:
Originally Posted by DasPrinzip.
Versuche es mal nur mit dem letzten end vor dem state __COMPLETE__ begin
Bzw habs grad mal in Editor gehaun, da passt das mit den Ends ^^
|
Nep fehler bleibt
|
|
|
11/24/2015, 20:57
|
#11996
|
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
|
Quote:
Originally Posted by Yoarashi
Hallo!
Habe den folgenden quest
Code:
quest test_quest begin
state start begin
when login with pc.getqf("dialog_erou")==1 begin
end
when 31260.use with pc.getqf("dialog_erou")==0 begin
say_title("TEXT")
say("TEXT") --// Pui tu aici textul tau ;)
say("TEXT")
say("TEXT")
say("TEXT")
local alege = select("TEXT", "TEXT")
if alege == 2 then
return
elseif alege == 1 then
say_title("TEXT")
local hero_name = input()
if string.len(hero_name) < 4 then
say_title("TEXT")
say("TEXT")
say("TEXT")
return
elseif string.len(hero_name) > 12 then
say_title("TEXT")
say("TEXT")
say("TEXT")
return
end
when 31260.use with pc.getqf("dialog_erou")==1 begin
say_title("TEXT")
say("TEXT")
return
end
end
Fehler: qc in malloc()
|
Müsste so gehen:
PHP Code:
quest test_quest begin state start begin when login with pc.getqf("dialog_erou")==1 begin return end when 31260.use with pc.getqf("dialog_erou")==0 begin say_title("TEXT") say("TEXT") --// Pui tu aici textul tau ;) say("TEXT") say("TEXT") say("TEXT") local alege = select("TEXT", "TEXT") if alege == 2 then return elseif alege == 1 then say_title("TEXT") local hero_name = input() if string.len(hero_name) < 4 then say_title("TEXT") say("TEXT") say("TEXT") return elseif string.len(hero_name) > 12 then say_title("TEXT") say("TEXT") say("TEXT") return end end when 31260.use with pc.getqf("dialog_erou")==1 begin say_title("TEXT") say("TEXT") return end end end
Quote:
Originally Posted by Red Firestar
Könnte mir mal jemand bitte diese Quests verbessern sie gehen nicht.
Code:
quest OXEvent_Fix begin
state start begin
when login begin
if pc.get_map_index() == 113 then
loop_timer("ox_check2", 1)
pc.setqf("index", pc.get_map_index())
else
cleartimer("ox_check2")
pc.setqf("index", pc.get_map_index())
end
end
when ox_check2.timer begin
if pc.getqf("index") != 113 then
cleartimer("ox_check")
else
if pc.is_mount() == true then
pc.unmount()
notice("Du kannst beim OX-Wettbewerb kein Mount benutzen.")
end
if true == horse.is_summon() then
horse.unsummon()
end
end
end
end
end
Code:
quest PvPTunier_Fix begin
state start begin
when login begin
if pc.get_map_index() == 26 then
loop_timer("pvp_check2", 1)
pc.setqf("index", pc.get_map_index())
else
cleartimer("pvp_check2")
pc.setqf("index", pc.get_map_index())
end
end
when pvp_check2.timer begin
if pc.getqf("index") != 26 then
cleartimer("pvp_check")
else
if pc.is_mount() == true then
pc.unmount()
notice("Du kannst beim PvP-Tunier kein Mount benutzen.")
end
if true == horse.is_summon() then
horse.unsummon()
end
end
end
end
end
|
Hast bei beiden den gleichen Fehler gemacht. Die Stelle wird kommentiert für die zweite Quest sein. Die Erste kannst Du dann nach dem gleichen Prinzip korrigieren.
PHP Code:
state start begin when login begin if pc.get_map_index() == 26 then loop_timer("pvp_check2", 1) pc.setqf("index", pc.get_map_index()) else cleartimer("pvp_check2") pc.setqf("index", pc.get_map_index()) end end when pvp_check2.timer begin if pc.getqf("index") != 26 then cleartimer("pvp_check") else if pc.is_mount() == true then pc.unmount() notice("Du kannst beim PvP-Tunier kein Mount benutzen.") end if horse.is_summon() == true then -- hier liegt der Fehler horse.unsummon() end end end end end
MfG
|
|
|
11/25/2015, 10:50
|
#11997
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Habe folgendes Problem... ich möchte die Quest hier einfügen, aber irgendwie will er es nicht machen. In Putty kommt auch kein # so dass ich eine neue Eingabe machen könnte. Er schließt den make Befehl einfach nicht ab.
PHP Code:
quest daily_login begin state start begin when login begin if pc.get_level() >= 80 then set_state(information) end end end --[[ Information ]] state information begin when letter begin send_letter("Tägliche Login Belohnung") end when info or button begin say_title("Tägliche Login Belohnung") local TODAY = tonumber(os.date("%d")) local MONTH = tonumber(os.date("%m")) local MY_PACK = pc.getqf("saved_day") local SAFTY = pc.getqf("saved_login") local SAFTY_MONTH = pc.getqf("saved_month") local REST = TODAY - MY_PACK local STAGEONE = {146, 147, 148, 149, 186, 188, 189} local STAGETWO = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGETHREE = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGEFOUR = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGEFIVE = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGESIX = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local ITEMS if REST == 1 then pc.setqf("saved_day", TODAY) pc.setqf("saved_month", MONTH) pc.setqf("saved_login", pc.getqf("saved_login")+1) say("Du loggst dich zum "..pc.getqf("saved_login").." mal hinter einander ein.") if SAFTY < 11 then ITEMS = STAGEONE[number(1, table.getn(STAGEONE))] elseif SAFTY > 10 and SAFTY < 21 then ITEMS = STAGETWO[number(1, table.getn(STAGETWO))] elseif SAFTY > 20 and SAFTY < 31 then ITEMS = STAGETHREE[number(1, table.getn(STAGETHREE))] elseif SAFTY > 30 and SAFTY < 41 then ITEMS = STAGEFOUR[number(1, table.getn(STAGEFOUR))] elseif SAFTY > 40 and SAFTY < 51 then ITEMS = STAGEFIVE[number(1, table.getn(STAGEFIVE))] elseif SAFTY > 50 then ITEMS = STAGESIX[number(1, table.getn(STAGESIX))] pc.give_item2(ITEMS, 1) end say(""Dein tägliches Present ist heute: "..item_name(ITEMS).."!"") say("pro. Tag einmal auzuführen!") end end end end
Bin noch ein richtiger Anfänger was das questen angeht...
Wäre echt cool wenn mir jemand helfen könnte
Kind Regards
IzeBreakzz
|
|
|
11/25/2015, 12:53
|
#11998
|
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
|
Quote:
Originally Posted by IzeBreakzz
Habe folgendes Problem... ich möchte die Quest hier einfügen, aber irgendwie will er es nicht machen. In Putty kommt auch kein # so dass ich eine neue Eingabe machen könnte. Er schließt den make Befehl einfach nicht ab.
PHP Code:
quest daily_login begin state start begin when login begin if pc.get_level() >= 80 then set_state(information) end end end --[[ Information ]] state information begin when letter begin send_letter("Tägliche Login Belohnung") end when info or button begin say_title("Tägliche Login Belohnung") local TODAY = tonumber(os.date("%d")) local MONTH = tonumber(os.date("%m")) local MY_PACK = pc.getqf("saved_day") local SAFTY = pc.getqf("saved_login") local SAFTY_MONTH = pc.getqf("saved_month") local REST = TODAY - MY_PACK local STAGEONE = {146, 147, 148, 149, 186, 188, 189} local STAGETWO = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGETHREE = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGEFOUR = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGEFIVE = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local STAGESIX = {50035, 50036, 50031, 50025, 50024, 50031, 50032} local ITEMS if REST == 1 then pc.setqf("saved_day", TODAY) pc.setqf("saved_month", MONTH) pc.setqf("saved_login", pc.getqf("saved_login")+1) say("Du loggst dich zum "..pc.getqf("saved_login").." mal hinter einander ein.") if SAFTY < 11 then ITEMS = STAGEONE[number(1, table.getn(STAGEONE))] elseif SAFTY > 10 and SAFTY < 21 then ITEMS = STAGETWO[number(1, table.getn(STAGETWO))] elseif SAFTY > 20 and SAFTY < 31 then ITEMS = STAGETHREE[number(1, table.getn(STAGETHREE))] elseif SAFTY > 30 and SAFTY < 41 then ITEMS = STAGEFOUR[number(1, table.getn(STAGEFOUR))] elseif SAFTY > 40 and SAFTY < 51 then ITEMS = STAGEFIVE[number(1, table.getn(STAGEFIVE))] elseif SAFTY > 50 then ITEMS = STAGESIX[number(1, table.getn(STAGESIX))] pc.give_item2(ITEMS, 1) end say("Dein tägliches Present ist heute: " ..item_name(ITEMS).."!") say("pro. Tag einmal auzuführen!") end end end end
Bin noch ein richtiger Anfänger was das questen angeht...
Wäre echt cool wenn mir jemand helfen könnte
Kind Regards
IzeBreakzz
|
Sollte das Problem beheben.
|
|
|
11/25/2015, 13:09
|
#11999
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by DerForenLeser
Sollte das Problem beheben.
|
Was sollte das Problem beheben ? Hast nicht eingefügt.. oder ich bin zu blöd Soll auch vorkommen
|
|
|
11/25/2015, 13:19
|
#12000
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Du musst entweder:
oder
schreiben.
|
|
|
All times are GMT +2. The time now is 23:57.
|
|