Code:
quest offline_message begin
state start begin
when login begin
cmdchat("OFFLINE_MESSAGE index/"..q.getcurrentquestindex())
offline_message.player_has_offline_box(pc.get_player_id())
local messages, currentMessages = io.open("/usr/home/game/share/locale/germany/quest/OFFLINE_MESSAGE/"..pc.get_player_id()..".txt", "r"),{}
for line in messages:lines() do
if line=="0" then return end
table.insert(currentMessages, line)
end
for i=1, table.getn(currentMessages) do
cmdchat("OFFLINE_MESSAGE text/"..currentMessages[i])
end
offline_message.refresh_offline_box(pc.get_player_id())
end
when button begin
cmdchat("getinputbegin")
local MSG1 = input(cmdchat("OFFLINE_MESSAGE msg1/"))
local MSG2 = input(cmdchat("OFFLINE_MESSAGE msg2/"))
local MSG3 = input(cmdchat("OFFLINE_MESSAGE msg3/"))
cmdchat("getinputend")
local name = split(MSG1, "^")[1]
local playerid = mysql_query("SELECT id FROM player.player WHERE name = '"..name.."';").id
if playerid==nil then syschat("< Offline Message System > Diesen Spieler gibt es nicht.") return end
playerid = playerid[1]
offline_message.player_has_offline_box(playerid)
local messages, currentMessages = io.open("/usr/home/game/share/locale/germany/quest/OFFLINE_MESSAGE/"..playerid..".txt", "r"),{}
for line in messages:lines() do
if line!="0" then
table.insert(currentMessages, line)
end
end
MSG = (split(MSG1, "^")[2]..":$["..os.date("%d.%m.%y$%H:%M").."]:$"..MSG2..""..MSG3)
table.insert(currentMessages, MSG)
local newMessages = io.open("/usr/home/game/share/locale/germany/quest/OFFLINE_MESSAGE/"..playerid..".txt", "w+")
for i = 1, table.getn(currentMessages) do
newMessages:write(currentMessages[i].."\\n")
end
newMessages:close()
end
function player_has_offline_box(playerid)
local txt = io.open("/usr/home/game/share/locale/germany/quest/OFFLINE_MESSAGE/"..playerid..".txt", "r")
if txt == nil then
offline_message.refresh_offline_box(playerid)
end
end
function refresh_offline_box(playerid)
local txt = io.open("/usr/home/game/share/locale/germany/quest/OFFLINE_MESSAGE/"..playerid..".txt", "w+")
txt:write("0")
txt:close()
end
end
end