PHP Code:
--------------------------------------------
-- written by Kilroy.
-- Benötigt Questlib Erweit. Mijago
--------------------------------------------
quest vip_by_kilroy begin
state start begin
when 9010.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( 9477800,9484700) -- 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("Hiermit kannst du zur VIP Map.")
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 Kiyoshi2")
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(string.format("%s ----> %s", pc.get_name(), string.sub(pc.get_name(), string.len("(VIP) "))))
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
------------------------------------------
bekomme diesen fehler
SYSERR: May 5 19:35:09 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:3439: invalid pattern capture
SYSERR: May 5 19:35:09 :: WriteRunningStateToSyserr: LUA_ERROR: quest vip_by_kilroy.start click
SYSERR: May 5 19:36:08 :: RunState: LUA_ERROR: locale/germany/quest/questlib.lua:3439: invalid pattern capture
SYSERR: May 5 19:36:08 :: WriteRunningStateToSyserr: LUA_ERROR: quest vip_by_kilroy.start click