|
You last visited: Today at 12:17
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
11/11/2016, 19:49
|
#12436
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by Lauling
Guten Tag
Habe vorhin eine alte quest auf meine externen platte gefunden und wollte die mal zu testzwecken laufen lassen. irgendwie ist da was falsch und ich habe momentan wenig zeit um mir das anzugucken. Vielleicht weiss einer auf die schnelle wo fehler liegen.
besten dank
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
|
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end else say("Du bist noch nicht Level 75") return end end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
deine ends passten garnicht, kp ob sie so richtig sind, sollte aber compilen
|
|
|
11/12/2016, 04:31
|
#12437
|
elite*gold: 6
Join Date: Nov 2016
Posts: 232
Received Thanks: 27
|
Hi Liebe Leute, ^.^
Habe Folgendes Problem und zwar lässt sich bei mir der Warpring nicht anklicken... ( Type ist auf 18 ) In der Item_proto auch...
Hier mal die Quest obwohl ich nicht denke das der Fehler an der Liegt ^.^
Danke im Vorraus Quest befindet sich im Spoiler (v)>
quest warpring begin
state start begin
when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin
local warp = {--koord Pflicht, rest optional!
{--Map1
name = "Map 1",
{--Rotes Reich
name = "Rotes Reich",
koord = {474100, 955000},
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {63525, 166543},
},
{--Blaues Reich
name = "Blaues Reich",
koord = {960100, 268800},
},
},
{--Map2
name = "Map 2",
{--Rotes Reich
name = "Rotes Reich",
koord = {352200, 882200},
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {145900, 239800},
},
{--Blaues Reich
name = "Blaues Reich",
koord = {863700, 246300},
},
},
{--Handels Map
name = "Handelsmap",
{--Handelsmap
name = "Handelsmap",
koord = {912384594, 91246594},
},
},
{--Standart Maps
name = "Standart Maps",
{--Orktal Mitte
name = "Orktal",
koord = {333074, 747167},
},
{--Hwang-Tempel
name = "Tempel",
koord = {553600, 144100},
},
{--Wüste Mitte
name = "Wüste",
koord = {297300, 547900},
},
{--Eisland Mitte
name = "Eisland",
koord = {436900, 216100},
},
{--Feuerland Mitte
name = "Feuerland",
koord = {601300, 687900},
},
{--Dämonenturm
name = "Dämonenturm",
koord = {590406, 110717},
},
{--Schlangenfeld
name = "Schlangenfeld",
koord = {1059000, 726200},
},
{--Land der Riesen
name = "Land der Riesen",
koord = {828300, 763500},
},
{--Geisterwald
name = "Geisterwald",
koord = {288700, 5700},
},
{--Roter Wald
name = "Roter Wald",
koord = {1119323, 7952},
},
},
{--Spinnendungeons
name = "Spinnendungeons",
{--Spinnendungeons 1
if pc.get_level() >= 55 then
name = "SD1",
koord = {60000, 497000
end
},
{--Spinnendungeons 2
if pc.get_level() >= 75 then
name = "SD2",
koord = {703800, 462500},
end
},
{--Spinnendungeons 3
if pc.get_level() >= 85 then
name = "SD3",
koord = {97649, 571124},
end
},
{--Spinnendungeons 3
if pc.get_level() >= 105 then
name = "SD3 Boss",
koord = {69018, 609960},
end
},
},
{--Grotte der Verbannung
name = "Grotte der Verbannung",
{--Grotte 1
if pc.get_level() >= 75 then
name = "Grotte 1",
koord = {10000, 1207800},
end
},
{--Grotte 2
if pc.get_level() >= 85 then
name = "Grotte 2",
koord = {241800, 1275000},
end
},
{--Drachenraum
if pc.get_level() >= 105 then
name = "Drachenraum",
koord = {181473, 1220674},
end
},
},
{--Farmmaps
name = "Farmmaps",
{--Tempel der Ochao
if pc.get_level() >= 105 then
name = "Tempel der Ochao",
koord = {884800, 1447000},
end
},
{--Donnerberge
if pc.get_level() >= 125 then
name = "Donnerberge",
koord = {1134500, 1654600},
end
},
{--Nephritbucht
if pc.get_level() >= 150 then
name = "Nephritbucht",
koord = {1086900, 1655800},
end
},
},
{--Level Maps
name = "Level Maps",
{--Verwunschener Wald
if pc.get_level() >= 105 then
name = "Verwunschener Wald",
koord = {801800, 1499000},
end
},
{--Gautamakliff
if pc.get_level() >= 125 then
name = "Gautamakliff",
koord = {1226300, 1681100},
end
},
{--Rotdrachen-Festung
if pc.get_level() >= 125 then
name = "Rotdrachen-Festung",
koord = {614265, 706964},
end
},
{--Nemeres Warte
if pc.get_level() >= 125 then
name = "Nemeres Warte",
koord = {433025, 167605},
end
},
},
}
warpring.showwarps(warp)
end
function warp(tbl)
local level = pc.get_level()
if tbl.minlevel and level < tbl.minlevel then
say("Dein Level ist zu niedrig, um diese Map zu betreten.")
say("Minimal Level: "..tbl.minlevel)
select("Abbrechen")
return
elseif tbl.maxlevel and level > tbl.maxlevel then
say("Dein Level ist zu hoch, um diese Map zu betreten.")
say("Maximal Level: "..tbl.maxlevel)
select("Abbrechen")
return
end
while not pc.can_warp() do
say("Du kannst dich noch nicht teleportieren, da du in")
say("den letzten 10 Sekunden gehandelt hast.")
if select("Erneut versuchen", "Abbrechen") == 2 then return end
end
local warpneedstrings = warpring.get_warpneedstrings(tbl)
if table.getn(warpneedstrings) > 0 then
say("Um diese Map zu betreten benötigst du folgende")
say("Dinge:")
for _,v in ipairs(warpneedstrings) do
say(v)
end
say("")
say("Möchtest du trotzdem fortfahren?")
if select("Teleportieren", "Abbrechen") == 2 then return end
end
if not warpring.check_and_remove_warpneeds(tbl) then
say("Dir fehlt mindestens eins der benötigten Dinge.")
select("Abbrechen")
return
end
pc.warp(tbl.koord[1], tbl.koord[2])
end
function get_warpneedstrings(tbl)
local warpneeds = {}
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1]))
end
end
if tbl.goldneed and tbl.goldneed > 0 then
table.insert(warpneeds, "- "..tbl.goldneed.." Yang")
end
return warpneeds
end
function check_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
if pc.count_item(v[1]) < v[2] then
return false
end
end
end
if tbl.goldneed and tbl.goldneed > 0 then
if pc.get_gold() < tbl.goldneed then
return false
end
end
return true
end
function remove_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
pc.remove_item(v[1], v[2])
end
end
if tbl.goldneed and tbl.goldneed > 0 then
pc.change_gold(-tbl.goldneed)
end
end
function check_and_remove_warpneeds(tbl)
if not warpring.check_warpneeds(tbl) then
return false
end
warpring.remove_warpneeds(tbl)
return true
end
function get_warpnames(tbl)
local level = pc.get_level()
local names = {}
for _,v in ipairs(tbl) do
if v.minlevel and level < v.minlevel then
v.name = v.name.." (ab Lv. "..v.minlevel..")"
elseif v.maxlevel and level > v.maxlevel then
v.name = v.name.." (bis Lv. "..v.maxlevel..")"
end
table.insert(names, v.name)
end
return names
end
function showwarps(tbl)
local warpnames = warpring.get_warpnames(tbl)
local s = tbl[select3(warpnames)] or false
if not s then return end
if s.koord then
warpring.warp(s)
return
end
warpring.showwarps(s)
end
end
end
|
|
|
11/12/2016, 14:18
|
#12438
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by BassBox007
Hi Liebe Leute, ^.^
Habe Folgendes Problem und zwar lässt sich bei mir der Warpring nicht anklicken... ( Type ist auf 18 ) In der Item_proto auch...
Hier mal die Quest obwohl ich nicht denke das der Fehler an der Liegt ^.^
Danke im Vorraus Quest befindet sich im Spoiler (v)>
quest warpring begin
state start begin
when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin
local warp = {--koord Pflicht, rest optional!
{--Map1
name = "Map 1",
{--Rotes Reich
name = "Rotes Reich",
koord = {474100, 955000},
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {63525, 166543},
},
{--Blaues Reich
name = "Blaues Reich",
koord = {960100, 268800},
},
},
{--Map2
name = "Map 2",
{--Rotes Reich
name = "Rotes Reich",
koord = {352200, 882200},
},
{--Gelbes Reich
name = "Gelbes Reich",
koord = {145900, 239800},
},
{--Blaues Reich
name = "Blaues Reich",
koord = {863700, 246300},
},
},
{--Handels Map
name = "Handelsmap",
{--Handelsmap
name = "Handelsmap",
koord = {912384594, 91246594},
},
},
{--Standart Maps
name = "Standart Maps",
{--Orktal Mitte
name = "Orktal",
koord = {333074, 747167},
},
{--Hwang-Tempel
name = "Tempel",
koord = {553600, 144100},
},
{--Wüste Mitte
name = "Wüste",
koord = {297300, 547900},
},
{--Eisland Mitte
name = "Eisland",
koord = {436900, 216100},
},
{--Feuerland Mitte
name = "Feuerland",
koord = {601300, 687900},
},
{--Dämonenturm
name = "Dämonenturm",
koord = {590406, 110717},
},
{--Schlangenfeld
name = "Schlangenfeld",
koord = {1059000, 726200},
},
{--Land der Riesen
name = "Land der Riesen",
koord = {828300, 763500},
},
{--Geisterwald
name = "Geisterwald",
koord = {288700, 5700},
},
{--Roter Wald
name = "Roter Wald",
koord = {1119323, 7952},
},
},
{--Spinnendungeons
name = "Spinnendungeons",
{--Spinnendungeons 1
if pc.get_level() >= 55 then
name = "SD1",
koord = {60000, 497000
end
},
{--Spinnendungeons 2
if pc.get_level() >= 75 then
name = "SD2",
koord = {703800, 462500},
end
},
{--Spinnendungeons 3
if pc.get_level() >= 85 then
name = "SD3",
koord = {97649, 571124},
end
},
{--Spinnendungeons 3
if pc.get_level() >= 105 then
name = "SD3 Boss",
koord = {69018, 609960},
end
},
},
{--Grotte der Verbannung
name = "Grotte der Verbannung",
{--Grotte 1
if pc.get_level() >= 75 then
name = "Grotte 1",
koord = {10000, 1207800},
end
},
{--Grotte 2
if pc.get_level() >= 85 then
name = "Grotte 2",
koord = {241800, 1275000},
end
},
{--Drachenraum
if pc.get_level() >= 105 then
name = "Drachenraum",
koord = {181473, 1220674},
end
},
},
{--Farmmaps
name = "Farmmaps",
{--Tempel der Ochao
if pc.get_level() >= 105 then
name = "Tempel der Ochao",
koord = {884800, 1447000},
end
},
{--Donnerberge
if pc.get_level() >= 125 then
name = "Donnerberge",
koord = {1134500, 1654600},
end
},
{--Nephritbucht
if pc.get_level() >= 150 then
name = "Nephritbucht",
koord = {1086900, 1655800},
end
},
},
{--Level Maps
name = "Level Maps",
{--Verwunschener Wald
if pc.get_level() >= 105 then
name = "Verwunschener Wald",
koord = {801800, 1499000},
end
},
{--Gautamakliff
if pc.get_level() >= 125 then
name = "Gautamakliff",
koord = {1226300, 1681100},
end
},
{--Rotdrachen-Festung
if pc.get_level() >= 125 then
name = "Rotdrachen-Festung",
koord = {614265, 706964},
end
},
{--Nemeres Warte
if pc.get_level() >= 125 then
name = "Nemeres Warte",
koord = {433025, 167605},
end
},
},
}
warpring.showwarps(warp)
end
function warp(tbl)
local level = pc.get_level()
if tbl.minlevel and level < tbl.minlevel then
say("Dein Level ist zu niedrig, um diese Map zu betreten.")
say("Minimal Level: "..tbl.minlevel)
select("Abbrechen")
return
elseif tbl.maxlevel and level > tbl.maxlevel then
say("Dein Level ist zu hoch, um diese Map zu betreten.")
say("Maximal Level: "..tbl.maxlevel)
select("Abbrechen")
return
end
while not pc.can_warp() do
say("Du kannst dich noch nicht teleportieren, da du in")
say("den letzten 10 Sekunden gehandelt hast.")
if select("Erneut versuchen", "Abbrechen") == 2 then return end
end
local warpneedstrings = warpring.get_warpneedstrings(tbl)
if table.getn(warpneedstrings) > 0 then
say("Um diese Map zu betreten benötigst du folgende")
say("Dinge:")
for _,v in ipairs(warpneedstrings) do
say(v)
end
say("")
say("Möchtest du trotzdem fortfahren?")
if select("Teleportieren", "Abbrechen") == 2 then return end
end
if not warpring.check_and_remove_warpneeds(tbl) then
say("Dir fehlt mindestens eins der benötigten Dinge.")
select("Abbrechen")
return
end
pc.warp(tbl.koord[1], tbl.koord[2])
end
function get_warpneedstrings(tbl)
local warpneeds = {}
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1]))
end
end
if tbl.goldneed and tbl.goldneed > 0 then
table.insert(warpneeds, "- "..tbl.goldneed.." Yang")
end
return warpneeds
end
function check_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
if pc.count_item(v[1]) < v[2] then
return false
end
end
end
if tbl.goldneed and tbl.goldneed > 0 then
if pc.get_gold() < tbl.goldneed then
return false
end
end
return true
end
function remove_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
pc.remove_item(v[1], v[2])
end
end
if tbl.goldneed and tbl.goldneed > 0 then
pc.change_gold(-tbl.goldneed)
end
end
function check_and_remove_warpneeds(tbl)
if not warpring.check_warpneeds(tbl) then
return false
end
warpring.remove_warpneeds(tbl)
return true
end
function get_warpnames(tbl)
local level = pc.get_level()
local names = {}
for _,v in ipairs(tbl) do
if v.minlevel and level < v.minlevel then
v.name = v.name.." (ab Lv. "..v.minlevel..")"
elseif v.maxlevel and level > v.maxlevel then
v.name = v.name.." (bis Lv. "..v.maxlevel..")"
end
table.insert(names, v.name)
end
return names
end
function showwarps(tbl)
local warpnames = warpring.get_warpnames(tbl)
local s = tbl[select3(warpnames)] or false
if not s then return end
if s.koord then
warpring.warp(s)
return
end
warpring.showwarps(s)
end
end
end
|
PHP Code:
quest warpring begin state start begin when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "Map 1", {--Rotes Reich name = "Rotes Reich", koord = {474100, 955000}, }, {--Gelbes Reich name = "Gelbes Reich", koord = {63525, 166543}, }, {--Blaues Reich name = "Blaues Reich", koord = {960100, 268800}, }, }, {--Map2 name = "Map 2", {--Rotes Reich name = "Rotes Reich", koord = {352200, 882200}, }, {--Gelbes Reich name = "Gelbes Reich", koord = {145900, 239800}, }, {--Blaues Reich name = "Blaues Reich", koord = {863700, 246300}, }, }, {--Handels Map name = "Handelsmap", {--Handelsmap name = "Handelsmap", koord = {912384594, 91246594}, }, }, {--Standart Maps name = "Standart Maps", {--Orktal Mitte name = "Orktal", koord = {333074, 747167}, }, {--Hwang-Tempel name = "Tempel", koord = {553600, 144100}, }, {--Wüste Mitte name = "Wüste", koord = {297300, 547900}, }, {--Eisland Mitte name = "Eisland", koord = {436900, 216100}, }, {--Feuerland Mitte name = "Feuerland", koord = {601300, 687900}, }, {--Dämonenturm name = "Dämonenturm", koord = {590406, 110717}, }, {--Schlangenfeld name = "Schlangenfeld", koord = {1059000, 726200}, }, {--Land der Riesen name = "Land der Riesen", koord = {828300, 763500}, }, {--Geisterwald name = "Geisterwald", koord = {288700, 5700}, }, {--Roter Wald name = "Roter Wald", koord = {1119323, 7952}, }, }, {--Spinnendungeons name = "Spinnendungeons", {--Spinnendungeons 1 if pc.get_level() >= 55 then name = "SD1", koord = {60000, 497000}, end }, {--Spinnendungeons 2 if pc.get_level() >= 75 then name = "SD2", koord = {703800, 462500}, end }, {--Spinnendungeons 3 if pc.get_level() >= 85 then name = "SD3", koord = {97649, 571124}, end }, {--Spinnendungeons 3 if pc.get_level() >= 105 then name = "SD3 Boss", koord = {69018, 609960}, end }, }, {--Grotte der Verbannung name = "Grotte der Verbannung", {--Grotte 1 if pc.get_level() >= 75 then name = "Grotte 1", koord = {10000, 1207800}, end }, {--Grotte 2 if pc.get_level() >= 85 then name = "Grotte 2", koord = {241800, 1275000}, end }, {--Drachenraum if pc.get_level() >= 105 then name = "Drachenraum", koord = {181473, 1220674}, end }, }, {--Farmmaps name = "Farmmaps", {--Tempel der Ochao if pc.get_level() >= 105 then name = "Tempel der Ochao", koord = {884800, 1447000}, end }, {--Donnerberge if pc.get_level() >= 125 then name = "Donnerberge", koord = {1134500, 1654600}, end }, {--Nephritbucht if pc.get_level() >= 150 then name = "Nephritbucht", koord = {1086900, 1655800}, end }, }, {--Level Maps name = "Level Maps", {--Verwunschener Wald if pc.get_level() >= 105 then name = "Verwunschener Wald", koord = {801800, 1499000}, end }, {--Gautamakliff if pc.get_level() >= 125 then name = "Gautamakliff", koord = {1226300, 1681100}, end }, {--Rotdrachen-Festung if pc.get_level() >= 125 then name = "Rotdrachen-Festung", koord = {614265, 706964}, end }, {--Nemeres Warte if pc.get_level() >= 125 then name = "Nemeres Warte", koord = {433025, 167605}, end }, }, } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
|
|
|
11/15/2016, 23:14
|
#12439
|
elite*gold: 0
Join Date: Dec 2014
Posts: 14
Received Thanks: 5
|
Hallo Com ich hab eine sehr dringende Aufgabe für euch :3
Ich hab eine rassenbezogende MB Truhe aber sie verschwindet nach den verwenden nicht
ein echter Core Downer :/
Quest in Spoiler
quest Mbs begin
state start begin
when 53599.use begin
local anzahl = 5
if pc.job == 0 then
local r = number(1, 10)
if r == 1 then
pc.give_item(1,50401)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50402)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50403)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50404)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50405)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50416)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50417)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50418)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50419)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50420)
pc.remove_item(1,50512)
end
end
if pc.job == 1 then
local r = number(1, 10)
if r == 1 then
pc.give_item(1,50431)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50432)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50433)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50434)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50435)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50446)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50447)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50448)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50449)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50450)
pc.remove_item(1,50512)
end
end
if pc.job == 2 then
local r = number(1, 12)
if r == 1 then
pc.give_item(1,50461)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50462)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50463)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50464)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50465)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50466)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50476)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50478)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50479)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50480)
pc.remove_item(1,50512)
end
if r == 11 then
pc.give_item(1,50481)
pc.remove_item(1,50512)
end
if r == 12 then
pc.give_item(1,50477)
pc.remove_item(1,50512)
end
end
if pc.job == 3 then
local r = number(1, 12)
if r == 1 then
pc.give_item(1,50491)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50492)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50493)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50494)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50495)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50496)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50506)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50507)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50508)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50509)
pc.remove_item(1,50512)
end
if r == 11 then
pc.give_item(1,50510)
pc.remove_item(1,50512)
end
if r == 12 then
pc.give_item(1,50511)
pc.remove_item(1,50512)
end
end
end
end
end
|
|
|
11/16/2016, 11:17
|
#12440
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Du hast vnum und Anzahl vertauscht
|
|
|
11/16/2016, 23:06
|
#12441
|
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
|
Quote:
Originally Posted by InsaneFace
Hallo Com ich hab eine sehr dringende Aufgabe für euch :3
Ich hab eine rassenbezogende MB Truhe aber sie verschwindet nach den verwenden nicht
ein echter Core Downer :/
Quest in Spoiler
quest Mbs begin
state start begin
when 53599.use begin
local anzahl = 5
if pc.job == 0 then
local r = number(1, 10)
if r == 1 then
pc.give_item(1,50401)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50402)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50403)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50404)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50405)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50416)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50417)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50418)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50419)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50420)
pc.remove_item(1,50512)
end
end
if pc.job == 1 then
local r = number(1, 10)
if r == 1 then
pc.give_item(1,50431)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50432)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50433)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50434)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50435)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50446)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50447)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50448)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50449)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50450)
pc.remove_item(1,50512)
end
end
if pc.job == 2 then
local r = number(1, 12)
if r == 1 then
pc.give_item(1,50461)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50462)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50463)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50464)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50465)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50466)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50476)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50478)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50479)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50480)
pc.remove_item(1,50512)
end
if r == 11 then
pc.give_item(1,50481)
pc.remove_item(1,50512)
end
if r == 12 then
pc.give_item(1,50477)
pc.remove_item(1,50512)
end
end
if pc.job == 3 then
local r = number(1, 12)
if r == 1 then
pc.give_item(1,50491)
pc.remove_item(1,50512)
end
if r == 2 then
pc.give_item(1,50492)
pc.remove_item(1,50512)
end
if r == 3 then
pc.give_item(1,50493)
pc.remove_item(1,50512)
end
if r == 4 then
pc.give_item(1,50494)
pc.remove_item(1,50512)
end
if r == 5 then
pc.give_item(1,50495)
pc.remove_item(1,50512)
end
if r == 6 then
pc.give_item(1,50496)
pc.remove_item(1,50512)
end
if r == 7 then
pc.give_item(1,50506)
pc.remove_item(1,50512)
end
if r == 8 then
pc.give_item(1,50507)
pc.remove_item(1,50512)
end
if r == 9 then
pc.give_item(1,50508)
pc.remove_item(1,50512)
end
if r == 10 then
pc.give_item(1,50509)
pc.remove_item(1,50512)
end
if r == 11 then
pc.give_item(1,50510)
pc.remove_item(1,50512)
end
if r == 12 then
pc.give_item(1,50511)
pc.remove_item(1,50512)
end
end
end
end
end
|
PHP Code:
quest Mbs begin state start begin when 53599.use begin local b,a = number(1,2),{[0]={50400,50415,5},[1]={50430,50445,5},[2]={50460,50475,6},[3]={50490,50505,6}} pc.remove_item(item.get_vnum(),1) pc.give_item2((a[pc.get_job()][b]+(number(1,a[pc.get_job()][3])))) end end end
müsste auch so gehen
|
|
|
11/17/2016, 03:15
|
#12442
|
elite*gold: 0
Join Date: Dec 2014
Posts: 14
Received Thanks: 5
|
Ich hab noch eine Frage
Wen ich mein Userpanel öffne und wieder schließe bleibt die schrift stehen woran kann
das liegen ?
Danke nochmal Sponge für die Quest
|
|
|
11/17/2016, 09:46
|
#12443
|
elite*gold: 0
Join Date: Oct 2013
Posts: 151
Received Thanks: 7
|
Hey Com,
Ich will gerne dass das VIP-System nach 30 Tagen abläuft, aber kenne mich nicht mit lua aus.
Ich hoffe ihr helft mir
PHP Code:
-------------------------------------------- -- written by Kilroy. -- Benötigt Questlib Erweit. Mijago -------------------------------------------- quest vip_by_kilroy begin state start begin when 20011.take with item.get_vnum()== 35004 and string.find(pc.get_name(), "VIP]") != nil begin say("Sehr Gut, du konntest dich mit deinem") say("VIP-Ticket ausweisen, ich gewähre") say("dir somit Einblick in den VIP-Shop") wait() setskin(NOWINDOW) npc.open_shop(9003) -- natürlich Anpassen. syschat("VIP-Shop wurde geöffnet.") end when 20009.take with item.get_vnum()== 35004 and string.find(pc.get_name(), "VIP]") != nil begin say("Sehr Gut, du konntest dich mit deinem") say("VIP-Ticket ausweisen.") say("") say("Soll ich dich also zur VIP-Map bringen?") if select("Ja", "Nein")==2 then return end pc.warp( 402100, 673900) -- natürlich Anpassen. end when login with not npc.is_pc() and pc.getqf("first_vip")==0 begin if string.find(pc.get_name(), "VIP]") != nil then timer("login_vip", 2) end end when login_vip.timer begin say_title("VIP-Status") say("") say("Da diese Meldung erschienen ist, wurde der") say("VIP-Vorgang erfolgreich abgeschlossen.") say("") say("Dir stehen nun einige Features zu, die andere") say("Spieler nicht haben.") wait() say_title("VIP-Status") say("") say("Nun erhälst du erstmal dein VIP-Kit") say("und weitere Informationen.") say("") say("Wie du bestimmt bemerkt hast, schwebt") say("über dir ein VIP-Symbol, dieses kannst du") say("durch die Chateingabe von (vip) rufen.") say("") say("Du erhälst jetzt ein VIP-Ticket mit dem du") say_reward("- die VIP-Map betreten kannst.") say_reward("- den VIP-Shop einsehen kannst.") say("") say("Ziehe dafür das VIP-Ticket auf den jeweiligen") say("NPC. Das war erstmal, Viel Spaß noch!") pc.give_item2(35004, 1) pc.setqf("first_vip",1) end when 35002.use begin if string.find(pc.get_name(), "VIP]") == nil then say_title("Hallo "..pc.get_name().."!") say("Mit diesem Item kannst du den VIP Status aktivieren.") say("") say_title("Infos:") say("Nach erfolgreicher Nutzung wirst du gekickt!") say("Du hast dann einen 20 Minuten Bann, nach der ") say("den 20 Minuten ist der Vorgang abgeschlossen ") say("und dein Account ist wieder frei!") say("") say("") say("Möchtest du?") say(pc.get_name().." --------> (VIP)"..pc.get_name()) if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) if string.len(pc.get_name())<= 7 and not vip_by_kilroy.player_exists("[VIP]"..pc.get_name()) then say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice_all(pc.get_name().." ist nun ein VIP-Mitglied auf ....") mysql_query("UPDATE player.player SET name='[VIP]"..pc.get_name().."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..pc.get_name().."');") pc.remove_item(35002, 1) cmdchat("exit") else say_title(pc.get_name().."!") say("") say("Die Vorraussetzungen zwingen dich einen") say("neuen Namen zuwählen. Mögliche Gründe") say("sind ein zu langer Name oder dein") say("Name existiert mit VIP bereits.") say("") say_reward("Möchtest du ihn ändern um VIP zuwerden?") if select("Ja", "Nein")==2 then return end say_title("Name wechseln") say("Gib bitte deinen Wunschnamen ein:") say_reward("Beachte!") say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.") say_reward("Sonderzeichen sind nicht erlaubt.") local inp = input() if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then say_title("Name wechseln") say("") say("Dein neuer Name besitzt entweder mehr als 7,") say("weniger als 2 Buchstaben oder enthält ein") say("unzulässiges Zeichen.") return elseif vip_by_kilroy.player_exists("[VIP]"..inp) then say_title("Name wechseln") say("") say("Dieser Name existiert bereits,") say("versuch es mit einem neuen erneut!") return end say_title("Super!") say("Dein Name erfüllt alle Voraussetzungen.") say("") say_title("Letzter Check") say("Möchtest du wirklich mit dem Namen") say("(VIP)"..inp.." dein Vip-Status aktivieren?") if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35002) say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() notice_all(pc.get_name(), " heißt jetzt "..inp.." und ist nun ein VIP-Mitglied auf ....") mysql_query("UPDATE player.player SET name='[VIP]"..inp.."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='[VIP]"..inp.."');") pc.remove_item(35002, 1) cmdchat("exit") end else say_title("Hallo "..pc.get_name().."!") say("") say("Du hast dein VIP-Status schon aktiviert,") say("sollte dies nicht der Fall sein, kontaktiere") say("bitte einen Teamler.") say("") say("Viel Spaß weiterhin!") end end when 35003.use begin if string.find(pc.get_name(), "VIP]") != nil then say_title("Hallo "..pc.get_name().."!") say("Mit diesem Item kannst du den VIP Status") say("zurücksetzen..") say("") say_title("Infos:") say("Nach erfolgreicher Nutzung wirst du gekickt!") say("Du hast dann einen 20 Minuten Bann, nach der ") say("den 20 Minuten ist der Vorgang abgeschlossen ") say("und dein Account ist wieder frei!") say("") say("") say("VIP Status zurücksetzen?") say("(VIP)"..pc.get_name().."---->"..pc.get_name()) if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35003) spl = split(pc.get_name(), "VIP]") -- Split Name bei VIP] if not vip_by_kilroy.player_exists(spl[2]) then say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() mysql_query("UPDATE player.player SET name='"..spl[2].."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..spl[2].."');") item.remove() cmdchat("exit") else say_title("Dein Name!") say("Es scheint so als würde dein Name.") say("ohne das (VIP) bereits existieren,") say("das ist aber nicht schlimm, denn du kannst") say("ihn hier und jetzt ändern.") say("") say_reward("Möchtest du ihn ändern um VIP loszuwerden?") if select("Ja", "Nein")==2 then return end say_title("Name wechseln") say("Gib bitte deinen Wunschnamen ein:") say_reward("Beachte!") say_reward("Nicht mehr als 7 oder weniger als 2 Buchstaben.") say_reward("Sonderzeichen sind nicht erlaubt.") local inp = input() if vip_by_kilroy.vip_premise(inp, 7, 2, 1) then say_title("Name wechseln") say("") say("Dein neuer Name besitzt entweder mehr als 7,") say("weniger als 2 Buchstaben oder enthält ein") say("unzulässiges Zeichen.") return elseif not vip_by_kilroy.player_exists(inp) then say_title("Name wechseln") say("") say("Ich habe festgestellt das dein neuer Name bereits") say("existiert, versuch es mit einem neuen erneut!") return end say_title("Super!") say("Dein Name erfüllt alle Voraussetzungen.") say("") say_title("Letzter Check") say("Möchtest du wirklich mit dem Namen") say(inp.." dein Vip-Status zurücksetzen?") if select("Ja", "Nein")==2 then return end vip_by_kilroy.check_premise(35003) say_title("Erfolgreich!") say("") say_reward("Bereite dich auf einen Kick vor.") say_reward("") say_reward("Klicke auf 'Weiter' um fortzufahren.") wait() spl = split(pc.get_name(), "VIP]") mysql_query("UPDATE player.player SET name='"..inp.."' WHERE name='"..pc.get_name().."'") mysql_query("UPDATE account.account SET availDt = NOW() + INTERVAL 20 MINUTE WHERE id = (SELECT account_id FROM player.player WHERE name='"..inp.."');") item.remove() cmdchat("exit") end else say_title("Hallo "..pc.get_name().."!") say("Du hast deinen VIP-Status") say("noch garnicht aktiviert.") end end function player_exists(name) if tonumber(mysql_query("select count(*) from player.player where name = '"..name.."';")[1][1]) >= 1 then return true end end function vip_premise(name, maxi, mini, sonder) if sonder != 0 then if string.len(name) > maxi or name == "" or string.len(name) < mini then return true end else if string.len(name) > maxi or name == "" or string.len(name) < mini or string.find(name, "(%W)") ~= nil then return true end end end function check_premise(item) if pc.is_married() then say("Während du verheiratet bist kannst du") say("kein VIP werden.") return elseif pc.is_polymorphed() then say("Während du verwandelt bist kannst du") say("kein VIP werden.") return elseif not pc.can_warp() then say("Du hast vorkurzem gehandelt, so kannst du") say("kein VIP werden.") return elseif pc.has_guild() then say("Während du in einer Gilde bist kannst du") say("kein VIP werden.") return elseif party.is_party() then say("Während du in einer Gruppe bist kannst du") say("kein VIP werden.") return elseif pc.count_item(item) < 1 then say("Bugusern wird kein VIP entzogen!") return end end end end ----------------------------------------- -- written by Kilroy. -- Benötigt Questlib Erweit. Mijago ------------------------------------------
|
|
|
11/18/2016, 02:22
|
#12444
|
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,813
|
Quote:
Originally Posted by Rofelmau
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end else say("Du bist noch nicht Level 75") return end end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
deine ends passten garnicht, kp ob sie so richtig sind, sollte aber compilen
|
danke fürs durchchecken, geht jedoch immer noch nicht.
PHP Code:
WHEN : 20352.chat ("W▒stenschlacht") Event/desert_battle.quest:54:expecting 'state' Error occured on compile Event/desert_battle.quest
|
|
|
11/18/2016, 20:33
|
#12445
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by Lauling
danke fürs durchchecken, geht jedoch immer noch nicht.
PHP Code:
WHEN : 20352.chat ("W▒stenschlacht") Event/desert_battle.quest:54:expecting 'state' Error occured on compile Event/desert_battle.quest
|
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end else say("Du bist noch nicht Level 75") return end end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
|
|
|
11/18/2016, 23:52
|
#12446
|
elite*gold: 315
Join Date: Jun 2012
Posts: 5,158
Received Thanks: 4,813
|
Quote:
Originally Posted by Rofelmau
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end else say("Du bist noch nicht Level 75") return end end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == X and game.get_event_flag("turnieron") == 1 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("deserton", 2) end end when game.get_event_flag("deserton") == 2 begin notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end end end
|
und jetzt kommt:
PHP Code:
Event/desert_battle.quest:71:when doesn't have begin-end clause. (() Error occured on compile Event/desert_battle.quest
|
|
|
11/19/2016, 01:44
|
#12447
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by Lauling
und jetzt kommt:
PHP Code:
Event/desert_battle.quest:71:when doesn't have begin-end clause. (() Error occured on compile Event/desert_battle.quest
|
z. 71:
PHP Code:
when game.get_event_flag("deserton") == 2 begin
Ist kein gültiges Event
brauchst einen Auslöser wie login, kill, chat, click etc...
Aber um ehrlich zu sein: mach den code direkt in den when block davor.
Am Rande:
In Z. 98 solltest du hinter pc.get_level noch () machen.
Z 47: Das else bezieht sich meiner meinung nach auf das falsche if statement.
Mein Vorschlag:
PHP Code:
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end else say("Du bist noch nicht Level 75") return end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == 183 and game.get_event_flag("turnieron") == 1 and game.get_event_flag("spawned") == 0 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("spawned", 1) notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level()<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen") if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end
end end
|
|
|
11/19/2016, 02:21
|
#12448
|
elite*gold: 0
Join Date: Feb 2010
Posts: 124
Received Thanks: 40
|
Peace,
ich sitze seit ca. 4h an meiner ersten eigenen Quest.
Habe diese jetzt auch soweit fertig, jedoch habe ich beim compilieren nun folgenden Fehler relativ am Anfang :
Hier die Codestelle, wo der Fehler angeblich auftritt :
Habe schon sehr viel rumprobiert, aber bekomme immer den selben Fehler.
Würde mich sehr freuen, wenn mir jemand sagen könnte, woran es liegt.
LG
|
|
|
11/19/2016, 02:41
|
#12449
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by marcomatic0
Peace,
ich sitze seit ca. 4h an meiner ersten eigenen Quest.
Habe diese jetzt auch soweit fertig, jedoch habe ich beim compilieren nun folgenden Fehler relativ am Anfang :
Hier die Codestelle, wo der Fehler angeblich auftritt :
Habe schon sehr viel rumprobiert, aber bekomme immer den selben Fehler.
Würde mich sehr freuen, wenn mir jemand sagen könnte, woran es liegt.
LG
|
dürfte eher der nächste when block sein, der Probleme macht.
Desweiteren ist es einfacher dir zu helfen, wenn du den code hier in den Thread postest und nicht einfach nur screenshots machst
|
|
|
11/19/2016, 17:04
|
#12450
|
elite*gold: 0
Join Date: Jan 2014
Posts: 31
Received Thanks: 4
|
delete#
|
|
|
All times are GMT +2. The time now is 12:17.
|
|