Hi, Community
Als erstes: Wenn euch das was ich hier pub. mache gefällt könnt ihr mir gerne ein Thanks geben - Ich weiß, mit Thanks kann man sich nichts kaufen, aber so wird mir signalisiert, dass das jemanden interessiert.
Falls sich jemand wundert, wieso die OX-Wettbewerbs-Quest so lang und unperformant ist: Die Quest ist schon etwas älter, dh. ich war damals nicht so erfahren und deshalb ist das jetzt so - Hauptsache sie geht. Wenn sich jemand die Mühe machen will, um sie performanter zu machen darf er das gerne machen, aber bitte lasst das "Created by ProfiFighter." drine.
Als erstes gebe ich euch nun die Quest-Inhalte, woraus ihr ganz leicht Quest-Files machen könnt:
File: oxevent.quest
Extras: 1.) Die Datei "oxevent.quest" mit meiner neuen "oxevent.quest" ersetzen.
2.) Großes Edit beim ersten Beitrag. Bitte beachtet das: Als erstes solltet ihr ein Item mit der ID 1524, wo der Name des Items nicht relevant ist in der Item_Proto erstellt werden(Icon wird hier nicht benötigt, dh. es wird auf keine Clientmodifikation zurückgegriffen)(Es gibt genug Tutorials in EPvP zu diesem Thema).
Inhalt:
Code:
----------------------------------------------------
--Created by ProfiFighter.
----------------------------------------------------
quest oxevent_manager begin
state start begin
when 20011.chat."OX-Wettbewerb" begin
say_title(mob_name(20011)..":")
say("Hey - du da! Ja, genau du.[ENTER]"..
"Du schaust recht intelligent aus. Es gibt einen[ENTER]"..
"Wettbewerb, der heißt OX-Wettbewerb. Dort wird[ENTER]"..
"dein Wissen abgefragt. Wenn du gewinnst,[ENTER]"..
"bekommst du eine tolle Belohnung.[ENTER]")
wait()
say_title(mob_name(20011)..":")
if game.get_event_flag("oxevent_status") == 0 then
say("Wenn der Wettbewerb los geht, kann ich dich[ENTER]"..
"daran teilnehmen lassen, aber du kannst auch[ENTER]"..
"einfach nur zuschauen.[ENTER]"..
"Der Startzeitpunkt ist noch nicht festgelegt.[ENTER]"..
"Ich gebe dir Bescheid, also halte dich bereit.[ENTER]")
elseif game.get_event_flag("oxevent_status") == 1 then
say("Möchtest du auch dabei sein?[ENTER]")
local s = select(locale.yes, locale.no, "Zuschauen")
say_title(mob_name(20011)..":")
if s == 1 then
say("Okey, du wirst zum Wettbewerb telepotiert.[ENTER]")
wait()
pc.warp(896500, 24600)
elseif s == 2 then
say("Du willst also nicht dabei sein?[ENTER]"..
"Okey, ich lasse dich in ruhe, aber ich[ENTER]"..
"hoffe du kommst wieder.[ENTER]")
elseif s == 3 then
say("Du willst also nur zuschauen?[ENTER]"..
"Okey, du wirst zum OX-Wettbewerb telepotiert.[ENTER]")
wait()
pc.warp(896300, 28900)
end
else
say("Du kannst nicht mehr teilnehmen![ENTER]"..
"Nur noch den restlichen Verlauf des Events zugucken.[ENTER]")
local s = select("Zuschauen", "Schließen")
if s == 1 then
say_title(mob_name(20011)..":")
say("Du wirst zum Wettbewerb telepotiert.[ENTER]")
wait()
pc.warp(896300, 28900)
end
end
end
when 20358.chat."OX-Wettbewerb" with pc.is_gm() begin
if get_time() > pc.getqf("login_expiretime") then
say_title(mob_name(20354)..":")
say("Hallo, ".. pc.get_name()..",[ENTER]"..
"dein Teammitgliedautoritätlevel(TMAL) beträgt '".. pc.get_gm_level().."'.[ENTER]"..
"Worüber möchtest du dich nun einloggen?[ENTER]")
local s = select("Konto", "TMAL", "Schließen")
if s == 1 then
say_title(mob_name(20354)..":")
say("Hier kannst du den OX-Wettbewerb[ENTER]"..
"verwalten. Zunächst müssen sie sich[ENTER]"..
"noch als würdig erweisen.[ENTER]")
say_reward("Geben sie ihren Benutzernamen ein![ENTER]")
local login_username = input()
if login_username != "" then
say_title(mob_name(20354)..":")
say_reward("Geben sie das dazustehende[ENTER]"..
"Passwort ein![ENTER]")
local login_password = input()
if login_password != "" then
say_title(mob_name(20354)..":")
if login_username == "LOGIN_USERNAME" and login_password == "LOGIN_PASSWORD" then
say("Sessions für 30 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
pc.setqf("login_expiretime", get_time() + 1800)
pc.setqf("login_tmal", 2)
wait()
elseif login_username == "LOGIN_USERNAME" and login_password == "LOGIN_PASSWORD" then
say("Sessions für 15 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
pc.setqf("login_expiretime", get_time() + 900)
pc.setqf("login_tmal", 1)
wait()
else
say("Zugriff verweigert. Noch mal versuchen?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20354)..":")
say_reward("Geben sie ihren Benutzernamen ein![ENTER]")
local login_username = input()
if login_username != "" then
say_title(mob_name(20354)..":")
say_reward("Geben sie das dazustehende[ENTER]"..
"Passwort ein![ENTER]")
local login_password = input()
if login_password != "" then
say_title(mob_name(20354)..":")
if login_username == "LOGIN_USERNAME" and login_password == "LOGIN_PASSWORD" then
say("Sessions für 30 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
pc.setqf("login_expiretime", get_time() + 1800)
pc.setqf("login_tmal", 2)
wait()
elseif login_username == "LOGIN_USERNAME" and login_password == "LOGIN_PASSWORD" then
say("Sessions für 15 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
pc.setqf("login_expiretime", get_time() + 900)
pc.setqf("login_tmal", 1)
wait()
else
say("Zugriff verweigert. Bitte versuchen sie es[ENTER]"..
"später wieder.[ENTER]")
return;
end
else
return;
end
else
return;
end
elseif s == 2 then
return;
end
end
else
return;
end
else
return;
end
elseif s == 2 then
if pc.get_gm_level() == 5 then
pc.setqf("login_expiretime", get_time() + 1800)
pc.setqf("login_tmal", 2)
say_title(mob_name(20354)..":")
say("Sessions für 30 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
wait()
else
pc.setqf("login_expiretime", get_time() + 900)
pc.setqf("login_tmal", 1)
say_title(mob_name(20354)..":")
say("Sessions für 15 Minuten gespeichert. Sie werden[ENTER]"..
"nun direkt zum Hauptmenü weitergeleitet.[ENTER]")
wait()
end
elseif s == 3 then
return;
end
end
if game.get_event_flag("oxevent_maintenance5_status") == 0 then
local stat = oxevent.get_status()
say_title(mob_name(20358)..":")
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
say("Wie soll der OX-Wettbewerb laufen?[ENTER]")
if pc.getqf("login_tmal") == 1 then
local s = select("Manuell", "Schließen")
if s == 1 then
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
local s = select("Modus 1", "Erklärung", "Schließen")
if s == 1 then
say_title(mob_name(20358)..":")
local stat = oxevent.get_status()
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"automatisch läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance5_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif s == 2 then
say_title(mob_name(20358)..":")
say("Modus 1 = Normaler Modus.[ENTER]")
end
end
elseif pc.getqf("login_tmal") == 2 then
local s = select("Manuell", "Automatisch", "Schließen")
if s == 1 then
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
local s = select("Modus 1", "Erklärung", "Schließen")
if s == 1 then
say_title(mob_name(20358)..":")
local stat = oxevent.get_status()
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"automatisch läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance5_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif s == 2 then
say_title(mob_name(20358)..":")
say("Modus 1 = Normaler Modus.[ENTER]")
end
elseif s == 2 then
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
local s = select("Modus 1", "Modus 2", "Modus 3", "Erklärung", "Schließen")
if s == 1 then
say_title(mob_name(20358)..":")
local stat = oxevent.get_status()
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
game.set_event_flag("oxevent_item_vnum", 0)
game.set_event_flag("oxevent_item_count", 0)
game.set_event_flag("oxevent_money_count", 0)
say("Möchtest du angeben, was man[ENTER]"..
"gewinnen kann?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
s = 0
while s != 3 do
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
s = select("Item", "Money", "Weiter")
say_title(mob_name(20358)..":")
if s == 1 then
say("Bitte gib die Itemnummer in das Feld ein.[ENTER]")
local item_vnum = input()
say_title(mob_name(20358)..":")
say("Bitte gib die Itemanzahl in das Feld ein.[ENTER]")
local item_count = input()
game.set_event_flag("oxevent_item_vnum", item_vnum)
game.set_event_flag("oxevent_item_count", item_count)
elseif s == 2 then
say("Bitte gib die Moneyanzahl in das Feld ein.[ENTER]")
local money_count = input()
game.set_event_flag("oxevent_money_count", money_count)
end
end
end
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"automatisch läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance1_time", 5)
game.set_event_flag("oxevent_maintenance3_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
server_timer('oxevent4', 0, get_server_timer_arg())
server_timer('oxevent1', 60, get_server_timer_arg())
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif s == 2 then
say_title(mob_name(20358)..":")
local stat = oxevent.get_status()
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
game.set_event_flag("oxevent_item_vnum", 0)
game.set_event_flag("oxevent_item_count", 0)
game.set_event_flag("oxevent_money_count", 0)
say("Möchtest du angeben, was man[ENTER]"..
"gewinnen kann?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
s = 0
while s != 3 do
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
s = select("Item", "Money", "Weiter")
say_title(mob_name(20358)..":")
if s == 1 then
say("Bitte gib die Itemnummer in das Feld ein.[ENTER]")
local item_vnum = input()
say_title(mob_name(20358)..":")
say("Bitte gib die Itemanzahl in das Feld ein.[ENTER]")
local item_count = input()
game.set_event_flag("oxevent_item_vnum", item_vnum)
game.set_event_flag("oxevent_item_count", item_count)
elseif s == 2 then
say("Bitte gib die Moneyanzahl in das Feld ein.[ENTER]")
local money_count = input()
game.set_event_flag("oxevent_money_count", money_count)
end
end
end
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"automatisch läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_maintenance3_status", 1)
game.set_event_flag("oxevent_maintenance6_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
server_timer('oxevent4', 0, get_server_timer_arg())
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif s == 3 then
say_title(mob_name(20358)..":")
local stat = oxevent.get_status()
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
game.set_event_flag("oxevent_item_vnum", 0)
game.set_event_flag("oxevent_item_count", 0)
game.set_event_flag("oxevent_money_count", 0)
say("Möchtest du angeben, was man[ENTER]"..
"gewinnen kann?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
s = 0
while s != 3 do
say_title(mob_name(20358)..":")
say("Wählen sie bitte aus.[ENTER]")
s = select("Item", "Money", "Weiter")
say_title(mob_name(20358)..":")
if s == 1 then
say("Bitte gib die Itemnummer in das Feld ein.[ENTER]")
local item_vnum = input()
say_title(mob_name(20358)..":")
say("Bitte gib die Itemanzahl in das Feld ein.[ENTER]")
local item_count = input()
game.set_event_flag("oxevent_item_vnum", item_vnum)
game.set_event_flag("oxevent_item_count", item_count)
elseif s == 2 then
say("Bitte gib die Moneyanzahl in das Feld ein.[ENTER]")
local money_count = input()
game.set_event_flag("oxevent_money_count", money_count)
end
end
end
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"automatisch läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance1_time", 5)
game.set_event_flag("oxevent_maintenance4_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
server_timer('oxevent1', 60, get_server_timer_arg())
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif s == 4 then
say_title(mob_name(20358)..":")
say("Modus 1 = Vollständiger Modus:[ENTER]"..
"API-Zugang und Selbstmanager([ENTER]"..
"Starten(Selbst, nach Zeit), stoppen,[ENTER]"..
"und Gewinn verteilen).[ENTER]"..
"Modus 2 = Halbvollständiger Modus:[ENTER]"..
"API-Zugang und Selbstmanager([ENTER]"..
"Starten, stoppen,[ENTER]"..
"und Gewinn verteilen).[ENTER]"..
"Modus 3 = Vollständiger Modus:[ENTER]"..
"Selbstmanager([ENTER]"..
"Starten(Selbst), stoppen,[ENTER]"..
"und Gewinn verteilen).[ENTER]")
end
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
end
if game.get_event_flag("oxevent_maintenance5_status") == 1 then
local stat = oxevent.get_status()
say_title(mob_name(20358)..":")
if stat == 0 then
if game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance5_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
elseif stat == 1 then
local user_number_text = {"ist", "sind"}
local user_number_typ = 2
if oxevent.get_attender() == 1 then
user_number_typ = 1
end
say("Es "..user_number_text[user_number_typ].." "..oxevent.get_attender().." Spieler hier.[ENTER]"..
"Willst du den Zugang wirklich schließen?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
oxevent.close()
local user_number = oxevent.get_attender()
notice_all("Es sind "..user_number.." Spieler da. Der Zugang zum OX-Wettbewerb wurde geschlossen!")
say_title(mob_name(20358)..":")
say("Der Zugang wurde soeben geschlossen.[ENTER]")
end
elseif stat == 2 then
say("Was möchtest du machen?[ENTER]")
local s = select("Frage stellen", "Alle Spieler belohnen", "Wettbewerb beenden", "Schließen")
say_title(mob_name(20358)..":")
if s == 1 then
local v = oxevent.quiz(1, 30)
if v == 0 then
say("Der OX-Wettbewerb läuft zurzeit noch nicht.[ENTER]")
elseif v == 1 then
say("Die Frage wurde erfolgreich abgesendet.[ENTER]")
else
say("Es wird schon eine Frage gestellt.[ENTER]")
end
elseif s == 2 then
say("Bitte gib die Itemnummer in das Feld ein.[ENTER]")
local item_vnum = input()
say_title(mob_name(20358)..":")
say("Bitte gib die Itemanzahl in das Feld ein.[ENTER]")
local item_count = input()
oxevent.give_item(item_vnum, item_count)
say_title(mob_name(20358)..":")
say("Du hast "..oxevent.get_attender().." Spielern die Belohnung gegeben.[ENTER]")
elseif s == 3 then
if stat == 0 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then
say("Möchtest du, dass der OX-Wettbewerb[ENTER]"..
"läuft?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
local v = oxevent.open()
if v == 0 then
say("Der OX-Wettbewerb ist schon aktiviert. Beenden[ENTER]"..
"sie ihn bitte vorher.[ENTER]")
elseif v == 1 then
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance5_status", 1)
wait()
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde gestartet.[ENTER]")
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
else
say("Der OX-Wettbewerb konnte nicht ausgeführt werden.[ENTER]")
end
end
else
say("Der OX-Wettbewerb ist schon aktiviert. Soll er?[ENTER]"..
"beendet werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
say_title(mob_name(20358)..":")
say("Klicken sie bitte auf 'Weiter'.[ENTER]")
if game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
end
wait()
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance1_time", 0)
game.set_event_flag("oxevent_maintenance2_status", 0)
game.set_event_flag("oxevent_maintenance3_status", 0)
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
say_title(mob_name(20358)..":")
say("Der OX-Wettbewerb wurde ausgeschaltet.[ENTER]")
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
end
end
end
elseif stat == 3 then
say("Bitte warte einen Augenblick.[ENTER]")
else
say("Ein Fehler ist aufgetreten.[ENTER]")
end
end
end
when oxevent1.server_timer begin
clear_server_timer('oxevent1', get_server_timer_arg())
if game.get_event_flag("oxevent_running_status") == 1 then
local stat = oxevent.get_status()
if stat == 1 then
local min_user_number = 150
if oxevent.get_attender() >= min_user_number or game.get_event_flag("oxevent_maintenance1_time") == 0 and oxevent.get_attender() > 1 then
game.set_event_flag("oxevent_maintenance1_time", 0)
oxevent.close()
local user_number = oxevent.get_attender()
notice_all("Es sind "..user_number.." Spieler da. Der Zugang zum OX-Wettbewerb wurde geschlossen!")
server_timer('oxevent2', 5, get_server_timer_arg())
else
local close_time = game.get_event_flag("oxevent_maintenance1_time")
local close_time_typ = 2
local close_time_typ_text = {"Sekunden", "Minuten", "Stunden", "Tage", "Monate", "Jahre"}
if close_time == 0 then
min_user_number = 2
elseif close_time == 1 then
close_time_typ_text = {"Sekunde", "Minute", "Stunde", "Tag", "Monat", "Jahr"}
end
local rest_user_number = min_user_number - oxevent.get_attender()
if close_time != 0 then
game.set_event_flag("oxevent_maintenance1_time", close_time-1)
notice_all("Noch "..rest_user_number.." Spieler oder "..close_time.." "..close_time_typ_text[close_time_typ]..", falls mindestens 2 Spieler anwesend sind,")
notice_all("dann wird der Zugang zum OX-Wettbewerb geschlossen!")
else
notice_all("Noch "..rest_user_number.." Spieler, dann wird der Zugang zum OX-Wettbewerb geschlossen!")
end
server_timer('oxevent1', 60, get_server_timer_arg())
end
end
end
end
when oxevent2.server_timer begin
clear_server_timer('oxevent2', get_server_timer_arg())
if game.get_event_flag("oxevent_running_status") == 1 then
local stat = oxevent.get_status()
if stat == 2 then
if oxevent.get_attender() > 1 then
local v = oxevent.quiz(1, 30)
if v == 0 then
if oxevent.open() == 1 then
game.set_event_flag("oxevent_maintenance1_time", 0)
server_timer('oxevent1', 5, get_server_timer_arg())
else
notice_all("Technicher Fehler. Ein Teammitglied soll")
notice_all("sich um den OX-Wettbewerb kümmern!")
notice_all("Line 592: An error has happend!")
end
elseif v == 1 then
server_timer('oxevent2', 40, get_server_timer_arg())
else
server_timer('oxevent2', 40, get_server_timer_arg())
end
elseif oxevent.get_attender() == 1 then
oxevent.give_item(1524, 1)
notice_all("Der OX-Wettbewerb findet in 5 Sekunden sein Ende. Das Item, was gewonnen")
notice_all("wurde und der jeweilige Gewinner werden dann bekannt gegeben.")
server_timer('oxevent3', 5, get_server_timer_arg())
elseif oxevent.get_attender() == 0 then
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden,")
notice_all("weil kein Spieler gewonnen hat. Er wird nun")
notice_all("neugestartet.")
oxevent.end_event()
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
clear_server_timer('oxevent4', get_server_timer_arg())
game.set_event_flag("oxevent_running_status", 0)
game.set_event_flag("oxevent_maintenance2_status", 1)
server_timer('oxevent3', 30, get_server_timer_arg())
end
elseif stat == 3 then
server_timer('oxevent2', 5, get_server_timer_arg())
else
notice_all("Technicher Fehler. Ein Teammitglied soll")
notice_all("sich um den OX-Wettbewerb kümmern!")
notice_all("Line 622: An error has happend!")
end
end
end
when oxevent3.server_timer begin
clear_server_timer('oxevent3', get_server_timer_arg())
if game.get_event_flag("oxevent_running_status") == 0 then
if oxevent.open() == 1 then
game.set_event_flag("oxevent_running_status", 1)
game.set_event_flag("oxevent_maintenance1_time", 5)
game.set_event_flag("oxevent_maintenance2_status", 0)
notice_all("Der OX-Wettbewerb hat gerade angefangen!")
server_timer('oxevent1', 30, get_server_timer_arg())
else
notice_all("Technicher Fehler. Ein Teammitglied soll")
notice_all("sich um den OX-Wettbewerb kümmern!")
notice_all("Line 640: An error has happend!")
end
elseif game.get_event_flag("oxevent_running_status") == 1 then
oxevent.end_event()
game.set_event_flag("oxevent_running_status", 0)
clear_server_timer('oxevent1', get_server_timer_arg())
clear_server_timer('oxevent2', get_server_timer_arg())
clear_server_timer('oxevent3', get_server_timer_arg())
notice_all("Der OX-Wettbewerb hat gerade sein Ende gefunden!")
if game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 and game.get_event_flag("oxevent_maintenance6_status") == 0 then
game.set_event_flag("oxevent_maintenance2_status", 1)
local next_start_time = 24*60*60
notice_all("Der nächste OX-Wettbewerb fängt zur")
local global_time = get_global_time()
notice_all("Zeit an: "..string.format("%s", time_to_str(next_start_time + global_time)))
server_timer('oxevent3', next_start_time, get_server_timer_arg())
else
game.set_event_flag("oxevent_maintenance4_status", 0)
game.set_event_flag("oxevent_maintenance5_status", 0)
game.set_event_flag("oxevent_maintenance6_status", 0)
end
end
end
when oxevent4.server_timer begin
clear_server_timer('oxevent4', get_server_timer_arg())
if game.get_event_flag("oxevent_maintenance3_status") == 1 then
if game.get_event_flag("oxevent_website_status") == 1 then
server_timer('oxevent3', 0, get_server_timer_arg())
game.set_event_flag("oxevent_website_status", 0)
end
server_timer('oxevent4', 1, get_server_timer_arg())
end
end
when login with pc.countitem("1524") > 0 begin
timer("oxevent_price", 0)
end
when oxevent_price.timer begin
local item_vnum = game.get_event_flag("oxevent_item_vnum")
local item_count = game.get_event_flag("oxevent_item_count")
local money_count = game.get_event_flag("oxevent_money_count")
if item_vnum <= 0 and money_count <= 0 then
local r = number(1, 10)
local vnum_list = {
{
{11296, 11496, 11696, 11896},
{146, 1106, 156, 7146},
},
{15227, 15207, 15187, 15127, 27987, 27992, 27993, 27994, 50070, 50073, 50074, 50076, 50077, 50078, 50079, 50081, 50082},
{
{50095, 10},
{27987, 5},
{27987, 10},
{50512, 1},
{50512, 2},
},
{20000000, 35000000, 50000000},
}
if 1 == r then
say_title(item_name(1524)..":")
say("Möchtest du die Auswahl nur für deine[ENTER]"..
"Charakterklasse haben?[ENTER]")
local s = select(locale.yes, locale.no)
say_title(item_name(1524)..":")
say("Bitte wähle das Item aus, was du[ENTER]"..
"am liebsten haben willst.[ENTER]")
if s == 1 then
local job = pc.job + 1
local s = select(item_name(vnum_list[1][1][job]), item_name(vnum_list[1][2][job]), "Zufall")
if 1 == s then
item_vnum = vnum_list[1][1][job]
elseif 2 == s then
item_vnum = vnum_list[1][2][job]
elseif 3 == s then
local r = number(1, 2)
if 1 == r then
item_vnum = vnum_list[1][1][job]
elseif 2 == r then
item_vnum = vnum_list[1][2][job]
end
end
elseif s == 2 then
local s = select(item_name(vnum_list[1][1][1]), item_name(vnum_list[1][2][1]), item_name(vnum_list[1][1][2]), item_name(vnum_list[1][2][2]), "Weiter")
if 1 == s then
item_vnum = vnum_list[1][1][1]
elseif 2 == s then
item_vnum = vnum_list[1][2][1]
elseif 3 == s then
item_vnum = vnum_list[1][1][2]
elseif 4 == s then
item_vnum = vnum_list[1][2][2]
elseif 5 == s then
say_title(item_name(1524)..":")
say("Bitte wähle das Item aus, was du[ENTER]"..
"am liebsten haben willst.[ENTER]")
local s = select(item_name(vnum_list[1][1][3]), item_name(vnum_list[1][2][3]), item_name(vnum_list[1][1][4]), item_name(vnum_list[1][2][4]), "Zufall")
if 1 == s then
item_vnum = vnum_list[1][1][3]
elseif 2 == s then
item_vnum = vnum_list[1][2][3]
elseif 3 == s then
item_vnum = vnum_list[1][1][4]
elseif 4 == s then
item_vnum = vnum_list[1][2][4]
elseif 5 == s then
local r = number(1, 8)
if 1 == r then
item_vnum = vnum_list[1][1][1]
elseif 2 == r then
item_vnum = vnum_list[1][2][1]
elseif 3 == r then
item_vnum = vnum_list[1][1][2]
elseif 4 == r then
item_vnum = vnum_list[1][2][2]
elseif 5 == r then
item_vnum = vnum_list[1][1][3]
elseif 6 == r then
item_vnum = vnum_list[1][2][3]
elseif 7 == r then
item_vnum = vnum_list[1][1][4]
elseif 8 == r then
item_vnum = vnum_list[1][2][4]
end
end
end
end
else
local r = number(1, 3)
if 1 == r then
local r = number(1, 17)
item_vnum = vnum_list[2][r]
elseif 2 == r then
local r = number(1, 5)
item_vnum = vnum_list[3][r][1]
item_count = vnum_list[3][r][2]
elseif 3 == r then
local r = number(1, 3)
money_count = vnum_list[4][r]
end
end
end
say_title(item_name(1524)..":")
say("Du hast erhalten:")
pc.remove_item(1524)
if item_vnum > 0 then
if item_count > 1 then
say_item(item_count.." mal "..item_name(item_vnum), item_vnum, "")
pc.give_item2(item_vnum, item_count)
say("")
notice_all("Der Gewinner des OX-Wettbewerbs(".. pc.get_name() ..") hat")
notice_all(item_count.." mal "..item_name(item_vnum).." gewonnen!")
else
say_item(item_name(item_vnum), item_vnum, "")
pc.give_item2(item_vnum)
say("")
notice_all("Der Gewinner des OX-Wettbewerbs(".. pc.get_name() ..") hat")
notice_all(item_name(item_vnum).." gewonnen!")
end
end
if money_count > 0 then
say_item(money_count.." "..item_name(1), 1, "")
pc.change_money(money_count)
say("")
notice_all("Der Gewinner des OX-Wettbewerbs(".. pc.get_name() ..") hat")
notice_all(money_count.." "..item_name(1).." gewonnen!")
end
end
when 20358.chat."GM: OX-Wettbewerb zurücksetzen" with pc.is_gm() begin
say_title(mob_name(20354)..":")
say("Soll der Abbruch des OX-Wettbewerbs wirklich[ENTER]"..
"erzwungen werden?[ENTER]")
local s = select(locale.yes, locale.no)
if s == 1 then
oxevent.end_event_force()
say_title(mob_name(20354)..":")
say("Der OX-Wettbewerb wurde abgebrochen.[ENTER]")
end
end
end
end
Extras: 1.) In der "[locale]_list"-Datei "move_ring.quest" entfernen.
2.) In die "questlib.lua"-Datei "function say_item_name(vnum) say_title(item_name(vnum)..":") end" einfügen.
3.) In die "quest_functions"-Datei "say_item_name" einfügen.
Inhalt:
Code:
----------------------------------------------------
--Created by ProfiFighter.
----------------------------------------------------
quest multi_ring begin
state start begin
when 80009.use begin
say_item_name(80009)
say("Hi, I'm the multi ring. How can I help you?[ENTER]")
local s = 0
local select_close = 0
if pc.is_gm() then
select_close = 5
s = select("Teleport Me", "List Me", "Setting Up", "GM: OX-Wettbewerb", "Close You")
else
select_close = 4
s = select("Teleport Me", "List Me", "Setting Up", "Close You")
end
if s != select_close then
say_item_name(80009)
if s == 1 then
if pc.get_level() <= 10 then
say("Hm... With your current level you're too weak to[ENTER]"..
"travel through time and space. Abuse me back when[ENTER]"..
"you're higher than level 10.[ENTER]")
else
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
local empire = pc.get_empire()
local warp1 = empire
local warp2 = 1
local warp3 = 3
if empire == 1 then
warp2 = 2
elseif empire == 3 then
warp3 = 2
elseif empire != 2 then
warp2 = 2
end
local new_warp1 = pc.getqf("new_warp1")
local new_warp2 = pc.getqf("new_warp2")
local new_warp3 = pc.getqf("new_warp3")
if new_warp1 != 0 and new_warp2 != 0 and new_warp3 != 0 then
if new_warp1 != new_warp2 and new_warp1 != new_warp3 and new_warp2 != new_warp1 and new_warp2 != new_warp3 and new_warp3 != new_warp1 and new_warp3 != new_warp2 then
if new_warp1 != warp1 then
warp1 = new_warp1
end
if new_warp2 != warp2 then
warp2 = new_warp2
end
if new_warp3 != warp3 then
warp3 = new_warp3
end
end
else
if new_warp1 != 0 then
pc.setqf("new_warp1", 0)
end
if new_warp2 != 0 then
pc.setqf("new_warp2", 0)
end
if new_warp3 != 0 then
pc.setqf("new_warp3", 0)
end
end
local warp = {
{
{"Argos", 474300, 954800},
{"Netha", 63800, 166400},
{"London", 959900, 269200},
},
{
{"Maadi", 353100, 882900},
{"Aswan", 145500, 240000},
{"Cornith", 863900, 246000},
},
}
local warp_list = 1
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Other Locations", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 2
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Back", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 1
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Other Locations", "Close")
if s == 4 then
say_item_name(80009)
say("Pick a location, go wherever you want and press[ENTER]"..
"on top of him. Otherwise, if you go nowhere else[ENTER]"..
"press on top of 'Close'.[ENTER]")
warp_list = 2
s = select(warp[warp_list][warp1][1], warp[warp_list][warp2][1], warp[warp_list][warp3][1], "Close")
if s == 4 then
return
end
end
end
end
if s != 5 then
local warp_coordinate = 0
if s == 1 then
warp_coordinate = warp1
elseif s == 2 then
warp_coordinate = warp2
elseif s == 3 then
warp_coordinate = warp3
end
test_chat(warp[warp_list][warp_coordinate][2]..warp[warp_list][warp_coordinate][3])
say_item_name(80009)
say("I teleport you there.[ENTER]")
wait()
pc.warp(warp[warp_list][warp_coordinate][2], warp[warp_list][warp_coordinate][3])
end
end
elseif s == 2 then
say("Please choose what you want to see.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("The Events", "Close")
if s == 1 then
say_item_name(80009)
local oxevent_status = game.get_event_flag("oxevent_status")
local oxevent_status1 = 2
local oxevent_status2 = 1
if oxevent_status == 0 then
oxevent_status1 = 1
elseif oxevent_status == 1 then
oxevent_status2 = 2
else
oxevent_status2 = 3
end
local lotto_chance_of_winning = game.get_event_flag("lotto_chance_of_winning")
local lotto_status1 = 0
if lotto_chance_of_winning == 0 then
lotto_status1 = 1
else
lotto_status1 = 2
end
local status = {
{"Offline", "Online"},
{"None", "Play & Watch", "Watch"},
}
say("Here see you the status of the events.[ENTER]"..
"OX: "..status[1][oxevent_status1].." ("..status[2][oxevent_status2]..").[ENTER]"..
"Lotto: "..status[1][lotto_status1].." ("..lotto_chance_of_winning.."%).[ENTER]")
end
elseif s == 3 then
say("Please choose what you want to change.[ENTER]"..
"Otherwise, if you go nowhere else press[ENTER]"..
"on top of 'Close'.[ENTER]")
s = select("The Teleportation", "Close")
if s == 1 then
say_item_name(80009)
say("Please choose what you want to make[ENTER]"..
"by the teleportation. Otherwise, if you[ENTER]"..
"go nowhere else press on top of 'Close'.[ENTER]")
local new_warp1 = pc.getqf("new_warp1")
local new_warp2 = pc.getqf("new_warp2")
local new_warp3 = pc.getqf("new_warp3")
local mode1 = 0
if new_warp1 != 0 and new_warp2 != 0 and new_warp3 != 0 then
mode1 = 2
else
mode1 = 1
if new_warp1 != 0 then
pc.setqf("new_warp1", 0)
end
if new_warp2 != 0 then
pc.setqf("new_warp2", 0)
end
if new_warp3 != 0 then
pc.setqf("new_warp3", 0)
end
end
local mode = {"Set", "Reset"}
s = select(mode[mode1], "Close")
if s == 1 then
say_item_name(80009)
if mode1 == 1 then
say("Pick a location and press on top of him,[ENTER]"..
"which should be in first place. Otherwise,[ENTER]"..
"if you go nowhere else press on top of[ENTER]"..
"'Close'.[ENTER]")
local nation = {"Milgard Nation (Red)", "Listhmos Nation (Yellow)", "Dendera Nation (Blue)"}
s = select(nation[1], nation[2], nation[3], "Close")
if s != 4 then
say_item_name(80009)
say("Pick a location and press on top of him,[ENTER]"..
"which should be in second place. Otherwise,[ENTER]"..
"if you go nowhere else press on top of[ENTER]"..
"'Close'.[ENTER]")
local new_warp1 = s
local warp1 = 1
local warp2 = 3
if new_warp1 == 1 then
warp1 = 2
elseif new_warp1 == 3 then
warp2 = 2
end
s = select(nation[warp1], nation[warp2], "Close")
if s != 3 then
local new_warp2 = 0
if s == 1 then
new_warp2 = warp1
elseif s == 2 then
new_warp2 = warp2
end
local new_warp3 = 0
if new_warp1 == 1 then
if new_warp2 == 2 then
new_warp3 = 3
elseif new_warp2 == 3 then
new_warp3 = 2
end
elseif new_warp1 == 2 then
if new_warp2 == 1 then
new_warp3 = 3
elseif new_warp2 == 3 then
new_warp3 = 1
end
elseif new_warp1 == 3 then
if new_warp2 == 1 then
new_warp3 = 2
elseif new_warp2 == 2 then
new_warp3 = 1
end
end
say_item_name(80009)
say("First: "..nation[new_warp1]..".[ENTER]"..
"Second: "..nation[new_warp2]..".[ENTER]"..
"Third: "..nation[new_warp3]..".[ENTER]"..
"Is this right?[ENTER]")
s = select(locale.yes, locale.no)
if s == 1 then
say_item_name(80009)
say("Settings are applied.[ENTER]")
pc.setqf("new_warp1", new_warp1)
pc.setqf("new_warp2", new_warp2)
pc.setqf("new_warp3", new_warp3)
end
end
end
elseif mode1 == 2 then
say("The teleportation procedure has been reset to[ENTER]"..
"their default.[ENTER]")
if pc.getqf("new_warp1") != 0 then
pc.setqf("new_warp1", 0)
end
if pc.getqf("new_warp2") != 0 then
pc.setqf("new_warp2", 0)
end
if pc.getqf("new_warp3") != 0 then
pc.setqf("new_warp3", 0)
end
end
end
end
elseif s == 4 then
say("Was möchten Sie vom OX-Wettbewerb verwalten?[ENTER]"..
"Wählen Sie bitte was aus, andernfalls klicken[ENTER]"..
"Sie bitte auf 'Schließen'.[ENTER]")
s = select("Zugang", "Schließen")
if s == 1 then
say_item_name(80009)
if game.get_event_flag("oxevent_running_status") == 0 then
say("Der OX-Wettbewerb muss laufen, um diese Funktion[ENTER]"..
"nutzen zu können![ENTER]")
elseif game.get_event_flag("oxevent_running_status") == 1 then
say("Wann soll der Zugang geschlossen werden(in Min.)?[ENTER]")
local close_time = input()
if close_time != "" then
if game.get_event_flag("oxevent_running_status") == 0 then
say("Der OX-Wettbewerb muss laufen, um diese Funktion[ENTER]"..
"nutzen zu können![ENTER]")
return;
end
game.set_event_flag("oxevent_maintenance1_time", close_time)
say_title(mob_name(20358)..":")
say("In "..close_time.." Minuten wird der Zugang[ENTER]"..
"geschlossen.[ENTER]")
end
end
end
end
end
end
end
end
Hier ist noch ein Tut zum Einfügen von Quests:

Mit freundlichen Grüßen ProfiFighter.






