218 lines
5.3 KiB
Lua
218 lines
5.3 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(strdata)
|
||
winW = 6
|
||
winH = 4
|
||
winX = (800 - winW*64)/4
|
||
winY = (600 - winH*48)/4
|
||
if addr ~= 0 then
|
||
sa.DeathAction(addr)
|
||
addr = 0
|
||
end
|
||
data()
|
||
vippoint = tonumber(strdata);
|
||
win.InitStrBuffer(winX + 180,winY + 180,6,0,1);
|
||
|
||
end
|
||
|
||
function CreateWinType()
|
||
if addr == 0 then
|
||
addr = sa.MakeWindowDisp(winX,winY,winW, winH, 0, 1)
|
||
end
|
||
sa.PlaySe(202, 320, 240)
|
||
return addr;
|
||
end
|
||
|
||
function ServerWindowType()
|
||
win.SetInputMsgNum()
|
||
|
||
sa.StockFontBuffer(winX + 230,winY + 80, 1, 10, "【发红包】", 0)
|
||
local id ;
|
||
local color={};
|
||
|
||
local posy = 0
|
||
|
||
sa.StockFontBuffer(winX + 100,winY + 100 + posy, 1, 0, "当前金币:", 0)
|
||
|
||
sa.StockFontBuffer(winX + 180,winY + 100 + posy, 1, 0,"".. vippoint, 0);
|
||
|
||
sa.StockFontBuffer(winX + 100,winY + 120 + posy, 1, 0, "对像模式:", 0);
|
||
|
||
|
||
if familymode == 0 then
|
||
color[1]=1;
|
||
color[2]=0;
|
||
color[3]=0;
|
||
elseif familymode == 1 then
|
||
color[1]=0;
|
||
color[2]=1;
|
||
color[3]=0;
|
||
elseif familymode == 2 then
|
||
color[1]=0;
|
||
color[2]=0;
|
||
color[3]=1;
|
||
end
|
||
|
||
id = sa.StockFontBuffer(winX + 180,winY + 120 + posy, 1, color[1], "家族", 2);
|
||
|
||
if win.getHitFontNo() == id then
|
||
win.ShowBottomLineString(0,"只有家族成员方可领取!");
|
||
if win.getMouseLeftCrick() > 0 then
|
||
familymode=0;
|
||
end
|
||
end
|
||
id = sa.StockFontBuffer(winX + 240,winY + 120 + posy, 1, color[2], "全服", 2);
|
||
if win.getHitFontNo() == id then
|
||
win.ShowBottomLineString(0,"全服玩家都可领取!");
|
||
if win.getMouseLeftCrick() > 0 then
|
||
familymode=1;
|
||
end
|
||
end
|
||
|
||
sa.StockFontBuffer(winX + 100,winY + 140 + posy, 1, 0, "领取方式:", 0);
|
||
|
||
if getmode == 0 then
|
||
color[1]=1;
|
||
color[2]=0;
|
||
else
|
||
color[1]=0;
|
||
color[2]=1;
|
||
end
|
||
|
||
id = sa.StockFontBuffer(winX + 180,winY + 140 + posy, 1, color[1], "拼手气", 2);
|
||
if win.getHitFontNo() == id then
|
||
win.ShowBottomLineString(0,"玩家领取的红包纯拼手气!");
|
||
if win.getMouseLeftCrick() > 0 then
|
||
getmode=0;
|
||
end
|
||
end
|
||
id = sa.StockFontBuffer(winX + 240,winY + 140 + posy, 1, color[2], "平均", 2);
|
||
if win.getHitFontNo() == id then
|
||
win.ShowBottomLineString(0,"玩家领取的红包每个都一样!");
|
||
if win.getMouseLeftCrick() > 0 then
|
||
getmode=1;
|
||
end
|
||
end
|
||
|
||
sa.StockFontBuffer(winX + 100,winY + 160 + posy, 1, 0, "红包个数:", 0);
|
||
|
||
id = sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0, " ", 2);
|
||
if win.getHitFontNo() == id then
|
||
if win.getMouseLeftCrick() > 0 then
|
||
win.InitStrBuffer(winX + 180,winY + 160,2,0,1);
|
||
win.GetKeyInputFocus();
|
||
Focus=1;
|
||
end
|
||
end
|
||
|
||
|
||
if Focus == -1 then
|
||
sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0,rednum , 2);
|
||
sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0,redValue, 0);
|
||
elseif Focus == 1 then
|
||
sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0,redValue, 0);
|
||
if string.len(win.GetInputMsg()) > 0 then
|
||
rednum = tonumber(win.GetInputMsg());
|
||
end
|
||
elseif Focus == 2 then
|
||
if string.len(win.GetInputMsg()) > 0 then
|
||
redValue = tonumber(win.GetInputMsg());
|
||
end
|
||
sa.StockFontBuffer(winX + 180,winY + 160 + posy, 1, 0,rednum , 2);
|
||
end
|
||
|
||
|
||
sa.StockFontBuffer(winX + 100,winY + 180 + posy, 1, 0, "总 金 额:", 0);
|
||
id = sa.StockFontBuffer(winX + 180,winY + 180 + posy, 1, 0, " ", 2);
|
||
if win.getHitFontNo() == id then
|
||
if win.getMouseLeftCrick() > 0 then
|
||
win.InitStrBuffer(winX + 180,winY + 180,6,0,1);
|
||
win.GetKeyInputFocus();
|
||
Focus=2;
|
||
end
|
||
end
|
||
if getmode==0 then
|
||
sa.StockFontBuffer(winX + 300,winY + 180 + posy, 1, 4, "当前为拼手气红包", 0);
|
||
else
|
||
sa.StockFontBuffer(winX + 300,winY + 180 + posy, 1, 4, "当前为平均红包", 0);
|
||
end
|
||
|
||
id = sa.StockFontBuffer( winX + 180 , winY + 210 + posy, 1, 4, "塞进红包", 2);
|
||
if win.getHitFontNo() == id then
|
||
if win.getMouseLeftCrick() > 0 then
|
||
if rednum > 0 then
|
||
if redValue > 0 and redValue >= rednum * 10 then
|
||
if redValue <= vippoint then
|
||
local token = familymode.."|"..getmode.."|"..rednum.."|"..redValue
|
||
lssproto.windows(win.getIndexWN(), win.getIdWN(),1,token);
|
||
win.CloseWindow()
|
||
else
|
||
sa.ShowMessage("您当前的金币不足!",4)
|
||
end
|
||
else
|
||
sa.ShowMessage("红包大小不能为0且大于或等于红包个数的10倍!",4)
|
||
end
|
||
else
|
||
sa.ShowMessage("红包个数不能为0!",4)
|
||
end
|
||
end
|
||
end
|
||
id = sa.StockFontBuffer(winX + 310,winY + 210 + posy, 1, 4, "关 闭", 2);
|
||
if win.getHitFontNo() == id then
|
||
if win.getMouseLeftCrick() > 0 then
|
||
win.CloseWindow()
|
||
end
|
||
end
|
||
win.StockFontBuffer2();
|
||
if win.DelWindow() == 1 then
|
||
sa.DeathAction(addr)
|
||
win.CloseFlg()
|
||
addr = 0;
|
||
sa.GetKeyInputFocus()
|
||
win.CloseWindow()
|
||
end
|
||
return addr;
|
||
end
|
||
|
||
|
||
function data()
|
||
addr=0;
|
||
familymode=0;
|
||
getmode=0;
|
||
rednum=0;
|
||
redValue=0;
|
||
Focus=-1;
|
||
end
|
||
|
||
|
||
function main()
|
||
data()
|
||
end
|