|
You last visited: Today at 14:24
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/10/2014, 22:59
|
#9826
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by Simplex2™
Hallo Epvp,
was ist an dieser Quest falsch...
wenn ich sie hochlade kommt ein fehler...
PHP Code:
quest rangpunkte begin
state start begin
when 20094.chat."Rang" begin
say_title("Rangpunkte")
say("Ich biete dir die Möglichkeit, deine Rangpunkte")
say("zu erhöhen.")
say("Du kannst jeden Rang annehmen und")
say("jederzeit ändern.")
say("")
local s=select("Ritterlich", "Edel", "Gut", "Freundlich", "Abbrechen")
if s==1 then
pc.change_alignment(-40000)
pc.change_alignment(40000)
say("Dein Rang wurde auf Ritterlich gestellt.")
end
elseif s==2 then
pc.change_alignment(-40000)
pc.change_alignment(28000)
say("Dein Rang wurde auf Edel gestellt.")
end
elseif s==3 then
pc.change_alignment(-40000)
pc.change_alignment(24000)
say("Dein Rang wurde auf Gut gestellt.")
end
elseif s==4 then
pc.change_alignment(-40000)
pc.change_alignment(21000)
say("Dein Rang wurde auf Freundlich gestellt.")
end
elseif s==5 then
return
end
end
end
end
|
gibt 2 möglichkeitenen
1.
PHP Code:
quest rangpunkte begin
state start begin
when 20094.chat."Rang" begin
say_title("Rangpunkte")
say("Ich biete dir die Möglichkeit, deine Rangpunkte")
say("zu erhöhen.")
say("Du kannst jeden Rang annehmen und")
say("jederzeit ändern.")
say("")
local s=select("Ritterlich", "Edel", "Gut", "Freundlich", "Abbrechen")
if s==1 then
pc.change_alignment(-40000)
pc.change_alignment(40000)
say("Dein Rang wurde auf Ritterlich gestellt.")
end
if s==2 then
pc.change_alignment(-40000)
pc.change_alignment(28000)
say("Dein Rang wurde auf Edel gestellt.")
end
if s==3 then
pc.change_alignment(-40000)
pc.change_alignment(24000)
say("Dein Rang wurde auf Gut gestellt.")
end
if s==4 then
pc.change_alignment(-40000)
pc.change_alignment(21000)
say("Dein Rang wurde auf Freundlich gestellt.")
end
if s==5 then
return
end
end
end
end
oder 2.
PHP Code:
quest rangpunkte begin
state start begin
when 20094.chat."Rang" begin
say_title("Rangpunkte")
say("Ich biete dir die Möglichkeit, deine Rangpunkte")
say("zu erhöhen.")
say("Du kannst jeden Rang annehmen und")
say("jederzeit ändern.")
say("")
local s=select("Ritterlich", "Edel", "Gut", "Freundlich", "Abbrechen")
if s==1 then
pc.change_alignment(-40000)
pc.change_alignment(40000)
say("Dein Rang wurde auf Ritterlich gestellt.")
elseif s==2 then
pc.change_alignment(-40000)
pc.change_alignment(28000)
say("Dein Rang wurde auf Edel gestellt.")
elseif s==3 then
pc.change_alignment(-40000)
pc.change_alignment(24000)
say("Dein Rang wurde auf Gut gestellt.")
elseif s==4 then
pc.change_alignment(-40000)
pc.change_alignment(21000)
say("Dein Rang wurde auf Freundlich gestellt.")
elseif s==5 then
return
end
end
end
end
in 1 habe ich aus deinen elseif's if's gemacht und in 2 die end's entfernt
|
|
|
03/11/2014, 17:06
|
#9827
|
elite*gold: 0
Join Date: Jan 2014
Posts: 64
Received Thanks: 6
|
quest devildown begin
state start begin
when 20092.chat."Farmmap" begin
if pc . get_level ( ) < 1 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 105 bist!")
else
say_title("Wächter:")
say("")
say("Sollte ein PvP-Event stattfinden, wird dies hier ausgetragen. ")
say("")
say_reward("Soll ich dich in die PVP-Arena teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
pc.warp(844800, 844800)
else
return
end
end
end
end
end
Kann mir hier jemand einbauen, dass wenn Rotes, Gelbes und Blaues Reich ist auf verschiedene Koordinaten teleportiert wird?
|
|
|
03/11/2014, 21:20
|
#9828
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Musst nur noch die orte wo man hingeportet werden sollen anpassen
PHP Code:
quest devildown begin
state start begin
when 20092.chat."Farmmap" begin
if pc . get_level ( ) < 1 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 105 bist!")
else
say_title("Wächter:")
say("")
say("Sollte ein PvP-Event stattfinden, wird dies hier ausgetragen. ")
say("")
say_reward("Soll ich dich in die PVP-Arena teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
local empire = pc.get_empire()
if empire==1 then --Rot
pc.warp(844800, 844800)
elseif empire==2 then --Gelb
pc.warp(844800, 844800)
elseif empire==3 then --Blau
pc.warp(844800, 844800)
end
else
return
end
end
end
end
end
|
|
|
03/12/2014, 01:54
|
#9829
|
elite*gold: 1
Join Date: Jun 2013
Posts: 79
Received Thanks: 19
|
Hey Leute,
hab mich mal an ne kleine quest ran gesetzt ...
ging eigeltlich alles super aber als ich sie ausprobierte ...
kam folgender fehler : jedes mal wenn ich jemanden
töte wird die quest 2x ausgeführt...
Hier mal die quest
EDIT: Hat Sich erledigt .. trotzdem danke
|
|
|
03/12/2014, 15:06
|
#9830
|
elite*gold: 150
Join Date: Jan 2014
Posts: 11,338
Received Thanks: 3,780
|
Der Regenbogenstein findet die M Skills nicht.
PHP Code:
quest registone begin state start begin function BuildPerfectMasterSkillList(job, group) GRAND_MASTER_SKILL_LEVEL = 20 PERFECT_MASTER_SKILL_LEVEL = 30
local skill_list = special.active_skill_list[job+1][group] local ret_vnum_list = {} local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list, function(i, skill_vnum) local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level)) if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum) local name=locale.GM_SKILL_NAME_DICT[skill_vnum] if name == nil then name=skill_vnum end table.insert(ret_name_list, name) end end) return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list} end when 50512.use begin local count = pc.count_item(50512) pc.setqf("regen_count", count) if pc.get_skill_group() == 0 then say("Du hast noch keine Fertigkeiten.") say("Versuche es später erneut.") return end local result = regenbogenstein.BuildPerfectMasterSkillList(pc.get_job(), pc.get_skill_group()) local vnum_list = result[1] local name_list = result[2] if table.getn(vnum_list) == 0 then say("Du hast keine Meister-Fertigkeiten.") return end local menu_list = {} table.foreach(name_list, function(i, name) table.insert(menu_list, name) end) table.insert(menu_list, "Abbrechen") local s=select_table(menu_list) if table.getn(menu_list) == s then return end local skill_name=name_list[s] local skill_vnum=vnum_list[s] say("Möchtest du "..skill_name.." wirklich auf G skillen?") local wahl = select("Ja", "Nein") if wahl == 1 then if pc.count_item(50512) == pc.getqf("regen_count") then pc.set_skill_level(skill_vnum, 30) say(skill_name.." wurde auf Perfekten Meister gesetzt.") else say("Buguser bekommen keine G-Skills ! ") end elseif wahl == 2 then return end pc.remove_item(50512, 1) end end end
|
|
|
03/12/2014, 19:37
|
#9831
|
elite*gold: 0
Join Date: Dec 2010
Posts: 200
Received Thanks: 24
|
DB-Update
Hallo zusammen,
habe mal wieder eine Frage zum schreiben auf die Datenbank
und zwar bin ich gerade dabei ein Banksystem über die Datenbank laufen zulassen.
Die Tabelle wird in der Datenbank generiert. Nur wie mache ich dies nun am schlausten mit dem Update da er ja "nur" die Angabe des Spielers updaten soll (also dazu zählen bzw. abziehen)
Code:
mysql_query("UPDATE quest.bankgold SET Bankgold_1 = '"..?+bankyang.."' WHERE ID ='"..pc.get_player_id().." ")
zur Erklärung:
quest.bankgold -> die tabelle (denke ich war klar)
SET Bankgold_1 -> hier soll das Update passieren
? -> hier weis ich leider nicht was rein gehört
bankyang -> ist der Wert der vom Spieler angegeben wurde und dazugezählt bzw abgezogen werden soll
WHERE ID -> bei welcher Spieler ID das ganze passieren soll (denke ich war auch klar)
Vielen dank schon einmal für eure Hilfe
Grüß Blacky
|
|
|
03/13/2014, 17:55
|
#9832
|
elite*gold: 0
Join Date: Apr 2012
Posts: 234
Received Thanks: 9
|
Automatischer Umhang
Wenn ich da das Zeitintervall ändere macht er das aber nicht ingame es dauert immer gleich lange bis er die mobs pullt.
PHP Code:
quest mob_pull begin
state start begin
when login with pc.getqf("pull")==1 begin
pc.setqf("pull", 0)
end
when 70038.use begin --Hier kann das Item geändert werden
if pc.getqf("pull")==0 then
chat("Automatischer Umhang aktiviert")
loop_timer("pull_it", 5) -- Hier kann das Zeitintervall geändert werden
pc.setqf("pull", 1)
elseif pc.getqf("pull")==1 then
chat("Automatischer Umhang deaktiviert")
cleartimer("pull_it")
pc.setqf("pull", 0)
end
end
when pull_it.timer with pc.getqf("pull")==1 begin
if pc.get_hp()/pc.get_max_hp() >= 0.5 then
pc.aggregate_monster()
end
end
end
end
erkennt jemand da den Fehler warum er nicht anch 5 Sekunden die mobs pullt sondern erst nach gefühlten 20?
|
|
|
03/13/2014, 19:55
|
#9833
|
elite*gold: 0
Join Date: Dec 2010
Posts: 200
Received Thanks: 24
|
Quote:
Originally Posted by SkyWodka
Wenn ich da das Zeitintervall ändere macht er das aber nicht ingame es dauert immer gleich lange bis er die mobs pullt.
PHP Code:
quest mob_pull begin state start begin when login with pc.getqf("pull")==1 begin pc.setqf("pull", 0) end when 70038.use begin --Hier kann das Item geändert werden if pc.getqf("pull")==0 then chat("Automatischer Umhang aktiviert") loop_timer("pull_it", 5) -- Hier kann das Zeitintervall geändert werden pc.setqf("pull", 1) elseif pc.getqf("pull")==1 then chat("Automatischer Umhang deaktiviert") cleartimer("pull_it") pc.setqf("pull", 0) end end when pull_it.timer with pc.getqf("pull")==1 begin if pc.get_hp()/pc.get_max_hp() >= 0.5 then pc.aggregate_monster() end end end end
erkennt jemand da den Fehler warum er nicht anch 5 Sekunden die mobs pullt sondern erst nach gefühlten 20?
|
Ich habe zwar diese Quest noch nicht aus probiert, aber kann es eventuell an deiner TP liegen?
weil in der folgenden Zeile
PHP Code:
if pc.get_hp()/pc.get_max_hp() >= 0.5 then
Edit: versuch mal den Wert auf 0.1 bzw 0 zu setzen oder die Zeile raus zu nehmen
berechnet er ja deine TP und wenn deine aktuelle TP durch deine maximale TP geringer wie 0,5 beträgt passiert nichts.
das würde mir jetzt spontan bei deinem problem einfallen
Gruß Blacky
|
|
|
03/13/2014, 21:18
|
#9834
|
elite*gold: 1
Join Date: Dec 2013
Posts: 3,467
Received Thanks: 720
|
Kann mal bitte jemand die Quest auf Fehler Prüfen ...
Diese Fehlermeldung kommt: expecting 'when' or 'function'
give_basic_weapon.quest:56:Error occured on compile give_basic_weapon.quest
Code:
quest give_basic_weapon begin
state start begin
when login begin
if pc.get_job() == 0 then
pc.give_item2(19)
pc.give_item2(11209)
pc.give_item2(12209)
if pc.get_job() == 1 then
pc.give_item2(1009)
pc.give_item2(11409)
pc.give_item2(12349)
elseif pc.get_job() == 2 then
pc.give_item2(19)
pc.give_item2(11609)
pc.give_item2(12489)
elseif pc.get_job() == 3 then
pc.give_item2(7009)
pc.give_item2(11809)
pc.give_item2(12629)
end
pc.give_item2(50053)
pc.give_item2(27003, 200)
pc.give_item2(27006, 200)
pc.give_item2(72702)
pc.give_item2(71050, 200)
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
horse . advance ( )
pc.give_item2(70038, 200)
pc.give_item2(13009)
pc.give_item2(14009)
pc.give_item2(15009)
pc.give_item2(16009)
pc.give_item2(17009)
set_state(weiter)
end
end
state weiter begin
when letter begin
send_letter("Willkommen auf Cibera2!")
end
when button or info begin
say_title("Willkommen auf Cibera2")
say("Max Lv.: 110")
say("Max. Rüstung: Epische-Rüstungen")
say("Max. Waffe: Bei Krieger/Ninja/Sura - Himmelsschwert")
say("Angenehmes Leveln und Farmen")
say("Perfekte Dropps")
say("Angenehmes Design")
say("Und vieles mehr!")
set_state(ende)
end
end
state ende begin
end
end
|
|
|
03/13/2014, 21:52
|
#9835
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
mach aus
PHP Code:
if pc.get_job() == 1 then
mal
PHP Code:
elseif pc.get_job() == 1 then
|
|
|
03/14/2014, 02:02
|
#9836
|
elite*gold: 0
Join Date: Jan 2014
Posts: 64
Received Thanks: 6
|
Quote:
Originally Posted by Rofelmau
Musst nur noch die orte wo man hingeportet werden sollen anpassen
PHP Code:
quest devildown begin
state start begin
when 20092.chat."Farmmap" begin
if pc . get_level ( ) < 1 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 105 bist!")
else
say_title("Wächter:")
say("")
say("Sollte ein PvP-Event stattfinden, wird dies hier ausgetragen. ")
say("")
say_reward("Soll ich dich in die PVP-Arena teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
local empire = pc.get_empire()
if empire==1 then --Rot
pc.warp(844800, 844800)
elseif empire==2 then --Gelb
pc.warp(844800, 844800)
elseif empire==3 then --Blau
pc.warp(844800, 844800)
end
else
return
end
end
end
end
end
|
funktioniert leider nicht..
|
|
|
03/14/2014, 08:33
|
#9837
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by [SA]Hiz
funktioniert leider nicht..
|
ûnd mit welcher fehlermeldung?
|
|
|
03/14/2014, 15:19
|
#9838
|
elite*gold: 0
Join Date: Jan 2010
Posts: 416
Received Thanks: 95
|
#request!
Quote:
Quest:
When Player1 get Level 99, update account.account set levelorder 1
When Player2 get Level 99, update account.account set levelorder 2
When Player3 get Level 99, update account.account set levelorder 3
|
|
|
|
03/15/2014, 11:31
|
#9839
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by [SA]Hiz
funktioniert leider nicht..
|
kann daran liegen das deine map vlt nicht drauf ausgelegt ist, dass man an verschiedene stellen geportet werden kann
kann dir aber nicht erklären wie das geht, kann nur quests schreiben^^ aber bei der town.txt im map folder in filezilla sind z.B für die map 1 imemr mehrere cordis angegeben
|
|
|
03/15/2014, 12:41
|
#9840
|
elite*gold: 0
Join Date: Dec 2012
Posts: 9,395
Received Thanks: 2,738
|
Ist die Quest so richtig?
PHP Code:
qquest willkommen begin state start begin when login with pc.getqf("firstlogin") == 0 begin notice_all("Wir begrüßen "..pc.get_name().." auf Servername") setbgimage('level_bg.tga') say_title(" Willkommen auf Servername, "..pc.get_name().." .") say(" Viel Spaß auf Servername") say("") say(" Dein Servername Team.") chat("--Chatnachricht--, kannste aber auch weg machen!") pc.setqf("firstlogin", 1) end when 50187.use begin if pc . job == 0 then pc . give_item2 ( "19" , 1 ) pc . give_item2 ( "3009" , 1 ) pc . give_item2 ( "11209" , 1 ) pc . give_item2 ( "12209" , 1 ) pc . give_item2 ( "13009" , 1 ) pc . give_item2 ( "17009" , 1 ) pc . give_item2 ( "14009" , 1 ) pc . give_item2 ( "15009" , 1 ) pc . give_item2 ( "16009" , 1 ) pc . give_item2 ( "50053" , 1 ) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27006, 200) --Blauer Trank(G) pc.give_item2(27112, 200) --Grüner Trank(G) pc.give_item2(27115, 200) --Violetter Trank(G) horse.set_level(21) pc.set_skill_level(131,59) pc.set_skill_level(137,59) pc.set_skill_level(138,59) pc.set_skill_level(139,59) elseif pc . job == 1 then pc . give_item2 ( "1009" , 1 ) pc . give_item2 ( "2009" , 1 ) pc . give_item2 ( "8009" , 200 ) pc . give_item2 ( "11409" , 1 ) pc . give_item2 ( "12349" , 1 ) pc . give_item2 ( "13009" , 1 ) pc . give_item2 ( "17009" , 1 ) pc . give_item2 ( "14009" , 1 ) pc . give_item2 ( "15009" , 1 ) pc . give_item2 ( "16009" , 1 ) pc . give_item2 ( "50053" , 1 ) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27006, 200) --Blauer Trank(G) pc.give_item2(27112, 200) --Grüner Trank(G) pc.give_item2(27115, 200) --Violetter Trank(G) horse.set_level(21) pc.set_skill_level(131,59) pc.set_skill_level(137,59) pc.set_skill_level(138,59) pc.set_skill_level(139,59) pc.set_skill_level(140,59 elseif pc . job == 2 then pc . give_item2 ( "19" , 1 ) pc . give_item2 ( "12489" , 1 ) pc . give_item2 ( "11609" , 1 ) pc . give_item2 ( "13009" , 1 ) pc . give_item2 ( "17009" , 1 ) pc . give_item2 ( "14009" , 1 ) pc . give_item2 ( "15009" , 1 ) pc . give_item2 ( "16009" , 1 ) pc . give_item2 ( "50053" , 1 ) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27006, 200) --Blauer Trank(G) pc.give_item2(27112, 200) --Grüner Trank(G) pc.give_item2(27115, 200) --Violetter Trank(G) horse.set_level(21) pc.set_skill_level(131,59) pc.set_skill_level(137,59) pc.set_skill_level(138,59) pc.set_skill_level(139,59) elseif pc . job == 3 then pc . give_item2 ( "7009" , 1 ) pc . give_item2 ( "12629" , 1 ) pc . give_item2 ( "11809" , 1 ) pc . give_item2 ( "13009" , 1 ) pc . give_item2 ( "17009" , 1 ) pc . give_item2 ( "14009" , 1 ) pc . give_item2 ( "15009" , 1 ) pc . give_item2 ( "16009" , 1 ) pc . give_item2 ( "50053" , 1 ) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27003, 200) --Roter Trank(G) pc.give_item2(27006, 200) --Blauer Trank(G) pc.give_item2(27112, 200) --Grüner Trank(G) pc.give_item2(27115, 200) --Violetter Trank(G) horse.set_level(21) pc.set_skill_level(131,59) pc.set_skill_level(137,59) pc.set_skill_level(138,59) pc.set_skill_level(139,59) end end end
|
|
|
All times are GMT +1. The time now is 14:25.
|
|