|
You last visited: Today at 09:26
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/12/2015, 17:53
|
#11176
|
elite*gold: 0
Join Date: Feb 2015
Posts: 213
Received Thanks: 75
|
PHP Code:
quest pvp begin state start begin when login or levelup with pc.get_level() >= 75 and pc.getqf("level") == 75 begin say("Herzlichen Glückwunsch!") say("Du hast das Level 75 erreicht ,") say("Ab jetzt wirst du für das töten eines Spielers") say("aus dem anderen Reich belohnt!") say("") say("Hier die Bonis die du erhälst:") say_reward("50 Spieler getoetet = 10% Angriffsgeschwindigkeit") say_reward("100 Spieler getoetet = 10% TP-Regeneration") say_reward("200 Spieler getoetet = 5% Verteidigung gegen alle Rassen") say_reward("500 Spieler getoetet = 10% Verteidigung gegen alle Rassen") pc.setqf("level", 1) end when kill with npc.is_pc() begin if get_time() < pc.getqf("kill_time") then chat("Die 2 Minuten sind derzeit noch nicht vergangen") chat("Du erhielst keinen Punkt") return end chat("Du hast einen Punkt erhalten.") chat("Einen weiteren Punkt erhaelst du in erst 15 Sekunden.") chat("Derzeit besitz du "..pc.getqf("kill_punkte").." Punkt(e)") pc.setqf("kill_punkte", pc.getqf("kill_punkte")+1) pc.setqf("kill_time", get_time() + 5*3) if pc.getqf("kill_punkte") == 50 then affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60) say("Du hast soeben 50 Leute getoetet") say("Dafuer kriegst du 10% Angriffsgeschwindigkeit!") elseif pc.getqf("kill_punkte") == 100 then affect.add_collect(apply.HP_REGEN,10,60*60*24*365*60) say("Du hast soeben 100 Leute getoetet") say("Dafuer hast du 10% TP-Regeneration!") elseif pc.getqf("kill_punkte") == 200 then affect.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60) affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60) affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60) affect.add_collect(WARRIOR,5,60*60*24*365*60) say("Du hast soeben 200 Leute getoetet") say("Dafuer kriegst du 5% Verteidigung gegen alle Rassen!") elseif pc.getqf("kill_punkte") == 500 then affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60) affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60) affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60) affect.add_collect(WARRIOR,10,60*60*24*365*60) say("Du hast soeben 500 Leute getoetet") say("Dafuer kriegst du nochmal 10% Verteidigung gegen alle Rassen!") say("") say("Du hast jetzt durch die PvP-Quest folgende Bonis erhalten:") say("10% Angriffsgeschwindigkeit") say("10% TP-Regeneration") say("15% Verteidigung gegen alle Rassen") say("") say("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.") end end end end
Die Quest wird fehlerhaft in Putty angezeigt nach dem reloaden, weiß jemand weiter?
|
|
|
03/12/2015, 19:07
|
#11177
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,996
Received Thanks: 3,391
|
Quote:
Originally Posted by .Mosh36
PHP Code:
quest pvp begin
state start begin
when login or levelup with pc.get_level() >= 75 and pc.getqf("level") == 75 begin
say("Herzlichen Glückwunsch!")
say("Du hast das Level 75 erreicht ,")
say("Ab jetzt wirst du für das töten eines Spielers")
say("aus dem anderen Reich belohnt!")
say("")
say("Hier die Bonis die du erhälst:")
say_reward("50 Spieler getoetet = 10% Angriffsgeschwindigkeit")
say_reward("100 Spieler getoetet = 10% TP-Regeneration")
say_reward("200 Spieler getoetet = 5% Verteidigung gegen alle Rassen")
say_reward("500 Spieler getoetet = 10% Verteidigung gegen alle Rassen")
pc.setqf("level", 1)
end
when kill with npc.is_pc() begin
if get_time() < pc.getqf("kill_time") then
chat("Die 2 Minuten sind derzeit noch nicht vergangen")
chat("Du erhielst keinen Punkt")
return
end
chat("Du hast einen Punkt erhalten.")
chat("Einen weiteren Punkt erhaelst du in erst 15 Sekunden.")
chat("Derzeit besitz du "..pc.getqf("kill_punkte").." Punkt(e)")
pc.setqf("kill_punkte", pc.getqf("kill_punkte")+1)
pc.setqf("kill_time", get_time() + 5*3)
if pc.getqf("kill_punkte") == 50 then
affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)
say("Du hast soeben 50 Leute getoetet")
say("Dafuer kriegst du 10% Angriffsgeschwindigkeit!")
elseif pc.getqf("kill_punkte") == 100 then
affect.add_collect(apply.HP_REGEN,10,60*60*24*365*60)
say("Du hast soeben 100 Leute getoetet")
say("Dafuer hast du 10% TP-Regeneration!")
elseif pc.getqf("kill_punkte") == 200 then
affect.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60)
affect.add_collect(WARRIOR,5,60*60*24*365*60)
say("Du hast soeben 200 Leute getoetet")
say("Dafuer kriegst du 5% Verteidigung gegen alle Rassen!")
elseif pc.getqf("kill_punkte") == 500 then
affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
affect.add_collect(WARRIOR,10,60*60*24*365*60)
say("Du hast soeben 500 Leute getoetet")
say("Dafuer kriegst du nochmal 10% Verteidigung gegen alle Rassen!")
say("")
say("Du hast jetzt durch die PvP-Quest folgende Bonis erhalten:")
say("10% Angriffsgeschwindigkeit")
say("10% TP-Regeneration")
say("15% Verteidigung gegen alle Rassen")
say("")
say("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.")
end
end
end
end
Die Quest wird fehlerhaft in Putty angezeigt nach dem reloaden, weiß jemand weiter?
|
Die Quest dürfte in der Form durchaus durch den Quest-Compiler rennen, auf dem Screen aus deinem vorigen Thema lässt sich auch lediglich der gewöhnliche Output erkennen. Die Quest beinhaltet allerdings ein paar logische Fehler.
PHP Code:
quest pvp begin
state start begin
when login or levelup with pc.get_level() >= 75 begin
say("Herzlichen Glückwunsch!")
say("Du hast das Level 75 erreicht ,")
say("Ab jetzt wirst du für das töten eines Spielers")
say("aus dem anderen Reich belohnt!")
say("")
say("Hier die Bonis die du erhälst:")
say_reward("50 Spieler getoetet = 10% Angriffsgeschwindigkeit")
say_reward("100 Spieler getoetet = 10% TP-Regeneration")
say_reward("200 Spieler getoetet = 5% Verteidigung gegen alle Rassen")
say_reward("500 Spieler getoetet = 10% Verteidigung gegen alle Rassen")
set_state(pvp_recording)
end
end
state pvp_recording begin
when kill with npc.is_pc() begin
if get_time() < pc.getqf("kill_time") then
chat("Die 2 Minuten sind derzeit noch nicht vergangen")
chat("Du erhielst keinen Punkt")
return
end
chat("Du hast einen Punkt erhalten.")
chat("Einen weiteren Punkt erhaelst du in erst in 2 Minuten.")
chat("Derzeit besitz du "..pc.getqf("kill_punkte").." Punkt(e)")
pc.setqf("kill_punkte", pc.getqf("kill_punkte")+1)
pc.setqf("kill_time", get_time() + 60*2)
if pc.getqf("kill_punkte") == 50 then
affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)
say("Du hast soeben 50 Leute getoetet")
say("Dafuer kriegst du 10% Angriffsgeschwindigkeit!")
elseif pc.getqf("kill_punkte") == 100 then
affect.add_collect(apply.HP_REGEN,10,60*60*24*365*60)
say("Du hast soeben 100 Leute getoetet")
say("Dafuer hast du 10% TP-Regeneration!")
elseif pc.getqf("kill_punkte") == 200 then
affect.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_WARRIOR,5,60*60*24*365*60)
say("Du hast soeben 200 Leute getoetet")
say("Dafuer kriegst du 5% Verteidigung gegen alle Rassen!")
elseif pc.getqf("kill_punkte") == 500 then
affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_WARRIOR,10,60*60*24*365*60)
say("Du hast soeben 500 Leute getoetet")
say("Dafuer kriegst du nochmal 10% Verteidigung gegen alle Rassen!")
say("")
say("Du hast jetzt durch die PvP-Quest folgende Bonis erhalten:")
say("10% Angriffsgeschwindigkeit")
say("10% TP-Regeneration")
say("15% Verteidigung gegen alle Rassen")
say("")
say("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.")
end
end
end
end
lg
|
|
|
03/12/2015, 20:17
|
#11178
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
So würden die kills schon ab lv1 zählen
|
|
|
03/13/2015, 17:03
|
#11179
|
elite*gold: 0
Join Date: Feb 2015
Posts: 213
Received Thanks: 75
|
Die Quest funktioniert immernoch nicht ..
Das kommt jetzt in Putty
|
|
|
03/13/2015, 18:13
|
#11180
|
elite*gold: 0
Join Date: Sep 2009
Posts: 665
Received Thanks: 444
|
Quote:
Originally Posted by .Mosh36
Die Quest funktioniert immernoch nicht ..
Das kommt jetzt in Putty
|
Versuch' die Quest mal like this:
Code:
quest pvp begin
state start begin
when login or levelup with pc.get_level() >= 75 begin
set_state(q_pvp_run)
end
end
state q_pvp_run begin
when letter begin
send_letter("Level 75+ PvP-Quest")
end
when button or info begin
say_title("Du hast Level 75 erreicht!")
say("")
say("Von nun an wirst du für das töten von")
say("Spielern eines anderen Reiches belohnt.")
say("")
say("Dafür erhälst du folgende Attribute:")
say_reward("50 Spieler getoetet => 10% Angriffsgeschwindigkeit")
say_reward("100 Spieler getoetet => 10% TP-Regeneration")
say_reward("200 Spieler getoetet => 5% Verteidigung gegen alle Rassen")
say_reward("500 Spieler getoetet => 10% Verteidigung gegen alle Rassen")
end
when kill with npc.is_pc() and not npc_is_same_empire() begin
if get_time() < pc.getf("pvp", "kill_time") then chat("Die 15 Sekunden sind derzeit noch nicht vergangen, keinen Punkt erhalten.") return end
pc.setf("pvp", "kill_point", pc.getf("pvp", "kill_point") + 1)
chat("Du hast einen Kill-Punkt erhalten.")
chat("In 15 Sekunden kannst du den nächsten Punkt bekommen.")
chat("Derzeit besitz du %d Punkt(e)", pc.getf("pvp", "kill_point"))
pc.setf("pvp", "kill_time", get_time() + 15)
if pc.getf("pvp", "kill_point") == 50 then
affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)
say("Du hast soeben den 50. Spieler getötet")
say("Dafür erhälst du permanent +10% Angriffsgeschwindigkeit!")
elseif pc.getf("pvp", "kill_point") == 100 then
affect.add_collect(apply.HP_REGEN,10,60*60*24*365*60)
say("Du hast soeben den 100. Spieler getötet")
say("Dafür erhälst du permanent +10% TP-Regeneration!")
elseif pc.getf("pvp", "kill_point") == 200 then
affect.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60)
affect.add_collect(WARRIOR,5,60*60*24*365*60)
say("Du hast soeben den 200. Spieler getötet")
say("Dafür erhälst du permanent +5% Verteidigung gegen alle Rassen!")
elseif pc.getf("pvp", "kill_point") == 500 then
affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
affect.add_collect(WARRIOR,10,60*60*24*365*60)
say_title("Aufgabe Abgeschlossen!")
say("")
say("Du hast soeben den 500. Spieler getötet")
say("Dafür erhälst du permanent +10% Verteidigung gegen alle Rassen!")
say("")
say("Die Aufgabe wurde Abgeschlossen.")
say("Durch die Aufgabe hat dein Character permanent")
say("folgende Attribute erhalten:")
say_reward("10% Angriffsgeschwindigkeit")
say_reward("10% TP-Regeneration")
say_reward("15% Verteidigung gegen alle Rassen")
say("")
say_reward("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.")
wait()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
|
|
|
03/14/2015, 10:18
|
#11181
|
elite*gold: 0
Join Date: Feb 2015
Posts: 213
Received Thanks: 75
|
Jetzt kommt:
|
|
|
03/15/2015, 01:07
|
#11182
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,996
Received Thanks: 3,391
|
Quote:
Originally Posted by .Mosh36
Die Quest funktioniert immernoch nicht ..
Das kommt jetzt in Putty
|
Wie bereits erwähnt, ist dies der gewöhnliche Text, der während dem Kompilieren ausgegeben wird. Ich habe meine überarbeitete Version soeben durch den Compiler gejagt und keinerlei Fehler verzeichnen können. Dasselbe betrifft im Übrigen auch Dyshaxo's Quest, wobei du vermutlich nicht den kompletten Inhalt kopiert hast.
lg
|
|
|
03/15/2015, 16:08
|
#11183
|
elite*gold: 30
Join Date: Feb 2015
Posts: 362
Received Thanks: 58
|
So kleines problem ^^ ich möchte das folgende quest erscheint bei lvl 90 oder höher habe es eig so geschrieben das es schon gehen soll aber sie kommt nicht könnt ihr mal schauen
PHP Code:
quest user begin
state start begin
when level with pc.get_level() == 90 begin
send_letter("90er Map's")
end
when button or info begin
say("Du willst dich also Teleportieren?")
say("")
local j = select("Ja","Nein")
if j == 2 then
return
end
if j == 1 then
say_reward("Wo möchtest du hin:")
local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
if k == 5 then
return
end
if k == 1 then
pc.warp(11776, 16640)
end
if k == 2 then
pc.warp(11264, 15104)
end
if k == 3 then
pc.warp (11776, 16640)
if k == 4 then
pc.warp (10496, 15104)
end
end
end
end
end
end
|
|
|
03/15/2015, 16:40
|
#11184
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
When Level begin? Was soll das sein
|
|
|
03/15/2015, 16:40
|
#11185
|
elite*gold: 30
Join Date: Feb 2015
Posts: 362
Received Thanks: 58
|
Neu :
Hab grade paar sachen dran gemacht
PHP Code:
quest user begin state start begin when login or levelup with pc.get_level() >= 90 begin send_letter("90er Map's") end when button or info begin say("Du willst dich also Teleportieren?") say("") local j = select("Ja","Nein") if j == 2 then return end if j == 1 then say_reward("Wo möchtest du hin:") local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens") if k == 5 then return end if k == 1 then pc.warp(11776, 16640) end if k == 2 then pc.warp(11264, 15104) end if k == 3 then pc.warp (11776, 16640) if k == 4 then pc.warp (10496, 15104) end end end end end state __complete begin end end
reloaden geht immer noch aber quest immer noch nicht zu sehen
Quote:
Originally Posted by definitely not Sensenmann
When Level begin? Was soll das sein
|
sry war nicht extra bin etwas dicht ^^
|
|
|
03/15/2015, 16:46
|
#11186
|
elite*gold: 0
Join Date: Feb 2015
Posts: 156
Received Thanks: 73
|
Quote:
Originally Posted by SolWayne
Neu :
Hab grade paar sachen dran gemacht
PHP Code:
quest user begin state start begin when login or levelup with pc.get_level() >= 90 begin send_letter("90er Map's") end when button or info begin say("Du willst dich also Teleportieren?") say("") local j = select("Ja","Nein") if j == 2 then return end if j == 1 then say_reward("Wo möchtest du hin:") local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens") if k == 5 then return end if k == 1 then pc.warp(11776, 16640) end if k == 2 then pc.warp(11264, 15104) end if k == 3 then pc.warp (11776, 16640) if k == 4 then pc.warp (10496, 15104) end end end end end state __complete begin end end
reloaden geht immer noch aber quest immer noch nicht zu sehen
sry war nicht extra bin etwas dicht ^^
|
Code:
quest user begin
state start begin
when login or levelup with pc.get_level() >= 90 begin
send_letter("90er Map's")
end
when button or info begin
say("Du willst dich also Teleportieren?")
say("")
local j = select("Ja","Nein")
if j == 2 then
return
end
if j == 1 then
say_reward("Wo möchtest du hin:")
local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
if k == 5 then
return
end
elseif k == 1 then
pc.warp(11776, 16640)
end
elseif k == 2 then
pc.warp(11264, 15104)
end
elseif k == 3 then
pc.warp (11776, 16640)
end
elseif k == 4 then
pc.warp (10496, 15104)
end
end
end
setstate(__complete)
end
state __complete begin
end
end
btw du kannst alles viel kürzer schreiben.
|
|
|
03/15/2015, 16:53
|
#11187
|
elite*gold: 30
Join Date: Feb 2015
Posts: 362
Received Thanks: 58
|
Quote:
Originally Posted by [Kaito]
Code:
quest user begin
state start begin
when login or levelup with pc.get_level() >= 90 begin
send_letter("90er Map's")
end
when button or info begin
say("Du willst dich also Teleportieren?")
say("")
local j = select("Ja","Nein")
if j == 2 then
return
end
if j == 1 then
say_reward("Wo möchtest du hin:")
local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
if k == 5 then
return
end
elseif k == 1 then
pc.warp(11776, 16640)
end
elseif k == 2 then
pc.warp(11264, 15104)
end
elseif k == 3 then
pc.warp (11776, 16640)
end
elseif k == 4 then
pc.warp (10496, 15104)
end
end
end
setstate(__complete)
end
state __complete begin
end
end
btw du kannst alles viel kürzer schreiben.
|
hab deine reingemacht
PHP Code:
http://prntscr.com/6h3srs
|
|
|
03/15/2015, 17:02
|
#11188
|
elite*gold: 0
Join Date: Feb 2015
Posts: 156
Received Thanks: 73
|
Quote:
Originally Posted by SolWayne
hab deine reingemacht
PHP Code:
http://prntscr.com/6h3srs
|
Code:
quest neugeschriebenvonkaito begin
state start begin
when login or levelup with pc.get_level() >= 90 begin
send_letter("90er Maps")
end
when button or info begin
say_title("90er Maps")
say("")
say_reward("Du willst dich telepotieren?")
if select ("Ja","Nein") == 2 then return end
say_reward("Wo möchtest du hin:")
local f = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
if f == 5 then return
elseif f == 1 then
pc.warp(ka,ka)
elseif f == 2 then
pc.warp(ka,ka)
elseif f == 3 then
pc.warp(ka,ka)
elseif f == 4 then
pc.warp(ka,ka)
end
end
end
end
So müsste es gehen =)
|
|
|
03/15/2015, 17:08
|
#11189
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,996
Received Thanks: 3,391
|
Quote:
Originally Posted by SolWayne
hab deine reingemacht
PHP Code:
http://prntscr.com/6h3srs
|
Die Levelabfrage beim Button nicht vergessen.
PHP Code:
quest user begin state start begin when login or levelup with pc.get_level() >= 90 begin send_letter("90er Map's") end when button or info with pc.get_level() >= 90 begin say("Du willst dich also Teleportieren?") say("") if select("Ja","Nein") == 2 then return end say_reward("Wo möchtest du hin:") local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens") if k == 1 then pc.warp(11776, 16640) elseif k == 2 then pc.warp(11264, 15104) elseif k == 3 then pc.warp (11776, 16640) elseif k == 4 then pc.warp (10496, 15104) else return end end end end
lg
|
|
|
03/15/2015, 17:17
|
#11190
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Code:
quest user begin
state start begin
when login or levelup with pc.get_level() >= 90 begin
send_letter("90er Map's")
end
when button or info with pc.get_level() >= 90 begin
say("Du willst dich also Teleportieren?")
say("")
if select("Ja", "Nein") == 2 then return end
say_reward("Wo möchtest du hin:")
local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
if k == 5 then
return
elseif k == 1 then
pc.warp(11776, 16640)
elseif k == 2 then
pc.warp(11264, 15104)
elseif k == 3 then
pc.warp(11776, 16640)
elseif k == 4 then
pc.warp(10496, 15104)
end
end
end
end
|
|
|
All times are GMT +1. The time now is 09:29.
|
|