140 lines
4.4 KiB
Lua
140 lines
4.4 KiB
Lua
|
||
function getIntPart(x)
|
||
if x <= 0 then
|
||
return math.ceil(x);
|
||
end
|
||
|
||
if math.ceil(x) == x then
|
||
x = math.ceil(x);
|
||
else
|
||
x = math.ceil(x) - 1;
|
||
end
|
||
return x;
|
||
end
|
||
|
||
function lua_string_split(str, split_char)
|
||
local sub_str_tab = {};
|
||
while (true) do
|
||
local pos = string.find(str, split_char);
|
||
if (not pos) then
|
||
sub_str_tab[#sub_str_tab + 1] = str;
|
||
break;
|
||
end
|
||
local sub_str = string.sub(str, 1, pos - 1);
|
||
sub_str_tab[#sub_str_tab + 1] = sub_str;
|
||
str = string.sub(str, pos + 1, #str);
|
||
end
|
||
|
||
return sub_str_tab;
|
||
end
|
||
|
||
function WindowInit(data)
|
||
winW = 9
|
||
winH = 6
|
||
winX = (800 - winW*64)/2
|
||
winY = (600 - winH*48)/2
|
||
msgWNLen = (winW*64-48)/7
|
||
totalMsgLine = (winH*48-56)/20;
|
||
win.InitWindow(winW, winH, msgWNLen, data)
|
||
nowtime = os.time()
|
||
if addr ~= 0 then
|
||
sa.DeathAction(addr)
|
||
addr = 0
|
||
end
|
||
btnCnt = 0
|
||
for i = 1, 6 do
|
||
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
|
||
btnCnt = btnCnt + 1
|
||
end
|
||
end
|
||
|
||
end
|
||
|
||
function CreateWinType()
|
||
if addr == 0 then
|
||
-- addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
|
||
addr = sa.MakeWindowDisp(45,100,winW, winH, 0, 1)
|
||
end
|
||
|
||
sa.PlaySe(202, 320, 240)
|
||
return addr
|
||
end
|
||
|
||
function ServerWindowType()
|
||
if string.len(win.getMessageData(0)) > 0 then
|
||
sa.StockFontBuffer(winX + winW*64 / 2 - string.len(win.getMessageData(0)) * 4,winY + 20, 1, 4, "『" .. win.getMessageData(0) .. "』", 0)
|
||
end
|
||
sa.StockFontBuffer(winX + 20,winY + 40, 1, 10, "“庄 园” “守庄家族” “下书家族” “族战时间” “族战状态”", 0)
|
||
for i = 1, 10 do
|
||
if string.len(win.getMessageData(i)) > 0 then
|
||
str = lua_string_split(win.getMessageData(i), "|")
|
||
|
||
sa.StockFontBuffer(winX + 32,winY + 40 + i * 20, 1, 11, fmpoint[i], 0)
|
||
|
||
if tonumber(str[1]) == 7 or tonumber(str[1]) == 8 or tonumber(str[1]) == 10 then
|
||
local fmnamelen = string.len(str[4])-1
|
||
if fmnamelen > 0 then
|
||
sa.StockFontBuffer(winX + 160 - fmnamelen * 4,winY + 40 + i * 20, 1, 2, str[4], 0)
|
||
end
|
||
local fmnamelen = string.len(str[3])-1
|
||
if fmnamelen > 0 then
|
||
sa.StockFontBuffer(winX + 295 - fmnamelen * 4,winY + 40 + i * 20, 1, 2, str[3], 0)
|
||
end
|
||
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
|
||
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("%3sVS%s", str[5], str[5]), 0)
|
||
elseif tonumber(str[1]) == 9 then
|
||
sa.StockFontBuffer(winX + 160 - 6,winY + 40 + i * 20, 1, 2, "无", 0)
|
||
sa.StockFontBuffer(winX + 295 - 6,winY + 40 + i * 20, 1, 2, "无", 0)
|
||
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
|
||
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("截止休战期", str[5], str[5]), 0)
|
||
elseif tonumber(str[1]) == 15 then
|
||
sa.StockFontBuffer(winX + 160 - 6,winY + 40 + i * 20, 1, 2, "无", 0)
|
||
sa.StockFontBuffer(winX + 295 - 6,winY + 40 + i * 20, 1, 2, "无", 0)
|
||
sa.StockFontBuffer(winX + 365,winY + 40 + i * 20, 1, 1, os.date("%m月%d日 %H:%M", tonumber(str[2])), 0)
|
||
sa.StockFontBuffer(winX + 480,winY + 40 + i * 20, 1, 0, string.format("截止下书期", str[5], str[5]), 0)
|
||
else
|
||
sa.StockFontBuffer(winX + 124,winY + 40 + i * 20, 1, 7, " 无挑战排程 无挑战排程 无挑战排程 无挑战排程", 0)
|
||
end
|
||
end
|
||
end
|
||
if btnCnt > 0 then
|
||
local cnt = 0
|
||
for i = 1, 6 do
|
||
if sa.SaD1AndD2(win.getButtonTypeWN(),sa.LeftShift(1, i-1)) > 0 then
|
||
cnt = cnt + 1
|
||
local id = sa.StockFontBuffer(winX + cnt * winW*64 / (btnCnt + 1) - 12,winY + winH*48 - 25,1, 4, button[i], 2)
|
||
if win.getMouseLeftCrick() > 0 then
|
||
if win.getHitFontNo() == id then
|
||
lssproto.windows(win.getIndexWN(), win.getIdWN(), sa.LeftShift(1, i-1), "")
|
||
win.CloseWindow()
|
||
break
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
if win.DelWindow() == 1 then
|
||
sa.DeathAction(addr)
|
||
win.CloseFlg()
|
||
addr = 0
|
||
win.CloseWindow()
|
||
end
|
||
return addr
|
||
end
|
||
|
||
function data()
|
||
button = {" 确定 ", " 取消 ", " 确定 ", " 取消 ", "上一页", "下一页"}
|
||
btnCnt = 0
|
||
addr = 0
|
||
winW = 0
|
||
winH = 0
|
||
winX = 0
|
||
winY = 0
|
||
fmpoint = {"萨姆吉尔", "玛丽娜丝", "加 加", "卡鲁它那", "伊 甸 园", "塔 尔 塔", "尼 克 斯", "弗 烈 顿", "亚 依 欧", "瑞尔亚斯"}
|
||
end
|
||
|
||
function main()
|
||
data()
|
||
end
|