Funktionen (questlib.lua):
Funktionen (quest_functions):
Quest:
Die DB habe ich nicht, müsst ihr euch selbst machen.
#untested
PHP Code:
pid = pc.get_player_id()
function pc.set_auth(id, pw)
if string.len(id) > 12 or string.len(pw) > 12 then
syschat("Deine ID & dein Passwort dürfen max. 12 Zeichen haben!")
return
elseif string.len(id) < 3 or string.len(pw) < 3 then
syschat("Deine ID & dein Passwort müssen mind. 3 Zeichen lang sein!")
return
end
mysql_query("INSERT INTO player.auth VALUES ('"..pid.."','"..id.."','"..pw.."' ON DUPLICATE KEY UPDATE id='"..id.."', pw='"..pw.."' WHERE pid='"..pid.."';")
end
function pc.get_auth(id, pw)
local IDFromDB = mysql_query("SELECT id FROM player.auth WHERE pid='"..pid.."';")
local PWFromDB = mysql_query("SELECT pw FROM player.auth WHERE pid='"..pid.."';")
local RetID, RetPW = tonumber(IDFromDB), tonumber(PWFromDB)
if id == RetID and pw == RetPW then
return true
else
return false
end
end
PHP Code:
pc.set_auth
pc.get_auth
Quest:
PHP Code:
quest al_security begin
state start begin
function load_securityform()
if get_time() < pc.getqf("security_aluna2") then
return
end
say_title("Aluna2 - Securitycheck")
say("Bitte gebe deine Security-ID ein:")
local ID = input()
say_title("Aluna2 - Securitycheck")
say("Bitte gebe dein Security-PW ein:")
local PW = input()
end
when login with pc.getqf("securitysys") < 1 begin
say_title("Aluna2 - Securitysystem")
say_reward("Zu deiner Sicherheit wird auf Aluna2 alle 12h[ENTER]nach deinen Security-Daten gefragt.")
say("[ENTER]Bitte gebe deine Security-ID ein:")
local SecID = input()
say("[ENTER]Bitte gebe dein Security-PW ein:")
local SecPW = input()
syschat("Deine Security-ID ist: "..SecID)
syschat("Dein Security-PW ist: "..SecPW)
pc.set_auth(SecID, SecPW)
pc.setqf("securitysys", 1)
end
when login with pc.getqf("securitysys") == 1 begin
local hIntervall = 12
al_security.load_securityform()
if pc.get_auth(ID, PW) == false then
al_security.load_securityform()
else
pc.setqf("security_aluna2", get_time()+60*60*hIntervall)
return
end
end
when ITEMVNUM.use begin
say_title("Aluna2 - Securitysystem")
say_reward(" ~> Daten ändern")
say("[ENTER]Bitte gebe deine jetzige Security-ID ein:")
local OldID = input()
say_title("Aluna2 - Securitysystem")
say_reward(" ~> Daten ändern")
say("[ENTER]Bitte gebe dein jetziges Security-PW ein:")
local OldPW = input()
say_title("Aluna2 - Securitysystem")
say_reward(" ~> Daten ändern")
say_title("Bitte gebe nun deine neue Security-ID ein:")
local NewID = input()
say_title("Aluna2 - Securitysystem")
say_reward(" ~> Daten ändern")
say_title("Bitte gebe nun dein neues Security-PW ein:")
local NewPW = input()
if pc.get_auth(OldID, OldPW) == false then
return
end
pc.set_auth(NewID, NewPW)
end
end
end
#untested