stoneage8.5/客户端lua文件/win/1024.lua
2020-06-23 15:27:59 +08:00

218 lines
5.3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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