wzq_jm = "7477124677881080183-22855"--界面id
wzq_jmjxh = "7477124677881080183-22855_"--界面加下划线
wzq_tc = "7477124677881080183-22855_262"--退出按钮id
wzq_hdlt1 = "7477124677881080183-22855_267"--互动聊天按钮 快点吧,我等的花都谢了!
wzq_hdlt2 = "7477124677881080183-22855_269"--互动聊天按钮 你太厉害了,容我想想!
wzq_hdlt3 = "7477124677881080183-22855_271"--互动聊天按钮 不要走,决战到天亮!
wzq_hdlt4 = "7477124677881080183-22855_273"--互动聊天按钮 小心,我要认真了!
wzq_djswbxs = "7477124677881080183-22855_266"--倒计时显示文本id
wzq_hztp = "8_1852352887_1740837643"--黑子图片
wzq_bztp = "8_1852352887_1740837635"--白子图片
wzq_kbtp = "8_1852352887_1734444546"--空白图片wzq_hdwjid = "互动玩家"--玩家变量 6 (互动玩家账号)
wzq_wjzsx = "结算分数"--数值变量 3
wzq_wjhbpd = "五子棋黑白"--数值变量 3 黑1白2wza_djszt = 50000000 --五子棋状态180秒
wzq_qpan = {--棋盘按钮
[1]={3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},
[2]={18,19,20,21,22,23,24,25,26,27,28,29,30,31,32},
[3]={33,34,35,36,37,38,39,40,41,42,43,44,45,46,47},
[4]={48,49,50,51,52,53,54,55,56,57,58,59,60,61,62},
[5]={63,64,65,66,67,68,69,70,71,72,73,74,75,76,77},
[6]={78,79,80,81,82,83,84,85,86,87,88,89,90,91,92},
[7]={93,94,95,96,97,98,99,100,101,102,103,104,105,106,107},
[8]={108,109,110,111,112,113,114,115,116,117,118,119,120,121,122},
[9]={123,124,125,126,127,128,129,130,131,132,133,134,135,136,137},
[10]={138,139,140,141,142,143,144,145,146,147,148,149,150,151,152},
[11]={153,154,155,156,157,158,159,160,161,162,163,164,165,166,167},
[12]={168,169,170,171,172,173,174,175,176,177,178,179,180,181,182},
[13]={183,184,185,186,187,188,189,190,191,192,193,194,195,196,197},
[14]={198,199,200,201,202,203,204,205,206,207,208,209,210,211,212},
[15]={213,214,215,216,217,218,219,220,221,222,223,224,225,226,227},
};wzq_wjczb = {};
--------------------------------------------------------------------------------
function wzq_wjdkjm(e)--玩家打开界面
local pid = e.eventobjid
wzq_dkjmcsh(pid)--界面初始化
if e.CustomUI == wzq_jm then
local result,value = VarLib2:getPlayerVarByName(pid,6,wzq_hdwjid)--获取私有变量 6
local result1,value1 = VarLib2:getPlayerVarByName(pid,3,wzq_wjhbpd)--获取私有变量是黑白 3
wzq_wjczb[pid] = {
[1]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[2]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[3]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[5]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[6]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[7]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[8]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[9]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[10]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[11]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[12]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[13]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
[16]=value,--对方id
[17]=0,--打断读秒 1打断
[18]=0,--出手判定(0不出手1出手)
[19]=0,--胜利判定(1胜利 2失败)
[20]=0,--快捷语cd 5秒
};
if value1 == 1 then
wzq_wjczb[pid][18]=1
Player:notifyGameInfo2Self(pid,"请落子!")
local code = Buff:addBuff(pid, wza_djszt, 1, 3600)--给予状态3600就是180秒
end
end
end
--------------------------------------------------------------------------------
function wzq_jmgb(e)--界面关闭
local pid = e.eventobjid
if e.CustomUI == wzq_jm then
local code = Buff:removeBuff(pid, wza_djszt)--给对象移除指定效果
local code1 = Buff:removeBuff(wzq_wjczb[pid][16], wza_djszt)--给对象移除指定效果
wzq_wjczb[pid][17] = 1
wzq_wjczb[wzq_wjczb[pid][16]][17] = 1
table.remove(wzq_wjczb,pid);--玩家
end
end
--------------------------------------------------------------------------------
function wzq_dkjmcsh(pid)--界面初始化
for i=1,15 do
for j=1,15 do
Customui:setTexture(pid, wzq_jm, wzq_jmjxh..wzq_qpan[i][j], wzq_kbtp)--设置玩家的图片元件的图案
end
end
end
--------------------------------------------------------------------------------
function wzq_wjxa(pid, dfpid, pai, lie)--下棋运行1自己2对方3排4列
if wzq_wjczb[pid][18] == 1 then
wzq_wjczb[pid][18]=0
local resultq,valueq = VarLib2:getPlayerVarByName(pid,3,wzq_wjhbpd)--获取私有变量 自己是什么棋子 3
if wzq_wjczb[pid][pai][lie] ==0 then
if valueq == 1 then --黑
Customui:setTexture(dfpid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], wzq_hztp)--设置玩家的图片元件的图案 黑
Customui:setTexture(pid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], wzq_hztp)--设置玩家的图片元件的图案 黑
local code = Customui:PlayElementAnim(dfpid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], 30003, 1, 2)wzq_wjczb[pid][pai][lie]=1
wzq_wjczb[dfpid][pai][lie]=1
wzq_sljc(pid, pai, lie, dfpid,1)--检测是否胜利 1自己2排3列4对方5是什么子(1黑2白)
wzq_wjczb[pid][17]=1
wzq_wjczb[dfpid][17]=0
threadpool:wait(0.1);
--local code1 = Buff:removeBuff(pid, wza_djszt)-- 给对象移除指定效果
local code = Buff:addBuff(dfpid, wza_djszt, 1, 3600)--给予状态
wzq_wjczb[dfpid][18]=1
elseif valueq == 2 then --白
Customui:setTexture(dfpid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], wzq_bztp)--设置玩家的图片元件的图案 白
Customui:setTexture(pid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], wzq_bztp)--设置玩家的图片元件的图案 白
local code = Customui:PlayElementAnim(dfpid, wzq_jm, wzq_jmjxh..wzq_qpan[pai][lie], 30003, 1, 2)wzq_wjczb[pid][pai][lie]=2
wzq_wjczb[dfpid][pai][lie]=2
wzq_sljc(pid, pai, lie, dfpid,2)--检测是否胜利 1自己2排3列4对方5是什么子(1黑2白)
wzq_wjczb[pid][17]=1
wzq_wjczb[dfpid][17]=0
threadpool:wait(0.1);
--local code1 = Buff:removeBuff(pid, wza_djszt)-- 给对象移除指定效果
local code = Buff:addBuff(dfpid, wza_djszt, 1, 3600)--给予状态
wzq_wjczb[dfpid][18]=1
end
else
Player:notifyGameInfo2Self(pid,"位置上有棋子!")
wzq_wjczb[pid][18]=1
end
else
Player:notifyGameInfo2Self(pid,"等待对方还没落子!")
end
end
--------------------------------------------------------------------------------
function wzq_sljc(pid, pai, lie, dfpid,hb)--检测是否胜利 1自己2排3列4对方5是什么子(1黑2白)
local zxp, zxl = pai + 4, lie - 4
local yxp, yxl = pai + 4, lie + 4
local sxsl = 0
local zysl = 0
local zxsl = 0
local yxsl = 0
for j=4,1,-1 do
if pai + j > 15 or lie - j < 0 then
zxp, zxl = pai + (j-1), lie - (j-1)
end
if pai + j > 15 or lie + j > 15 then
yxp, yxl = pai + (j-1), lie + (j-1)
end
end
threadpool:wait(0.0001);
for i=15, 1,-1 do
if wzq_wjczb[pid][i][lie] == hb then--从下往上
sxsl = sxsl + 1
if sxsl >= 5 then
wza_sljsjs(pid, dfpid)--胜利结算
return;
end
else
sxsl = 0
end
if wzq_wjczb[pid][pai][i] == hb then--从右往左
zysl = zysl + 1
if zysl >= 5 then
wza_sljsjs(pid, dfpid)--胜利结算
return;
end
else
zysl = 0
end
if wzq_wjczb[pid][zxp][zxl] == hb then--从左下往又上
zxsl = zxsl + 1
if zxsl >= 5 then
wza_sljsjs(pid, dfpid)--胜利结算
return;
end
else
zxsl = 0
end
if wzq_wjczb[pid][yxp][yxl] == hb then--从右下往左上
yxsl = yxsl + 1
if yxsl >= 5 then
wza_sljsjs(pid, dfpid)--胜利结算
return;
end
else
yxsl = 0
end
if zxp <= 1 or zxl >= 15 then
zxp, zxl = zxp, zxl
zxsl = 0
else
zxp, zxl = zxp - 1, zxl + 1
end
if yxp <= 1 or yxl <= 1 then
yxp, yxl = yxp, yxl
yxsl = 0
else
yxp, yxl = yxp - 1, yxl - 1
end
end
end
--------------------------------------------------------------------------------
function wza_sljsjs(pid, dfpid)--胜利结算
local result2,value = VarLib2:getPlayerVarByName(pid,3,wzq_wjzsx)--获取私有积分变量 3
local result3 = VarLib2:setPlayerVarByName(pid,3,wzq_wjzsx,value+1000)--设置私有数值
Player:notifyGameInfo2Self(dfpid,"你失败了!")
Player:notifyGameInfo2Self(pid,"胜利了,积分+1千!")
wzq_wjczb[pid][17] = 1
wzq_wjczb[dfpid][17] = 1
Player:hideUIView(pid,wzq_jm)--给玩家隐藏界面
Player:hideUIView(dfpid,wzq_jm)--给玩家隐藏界面
end
--------------------------------------------------------------------------------
function wza_kjycd(pid)--快捷语cd
for i=1,wzq_wjczb[pid][20] do
wzq_wjczb[pid][20] = wzq_wjczb[pid][20] - 1
threadpool:wait(1);
end
end
--------------------------------------------------------------------------------
function wzq_djan(e)--点击按钮
local pid = e.eventobjid
if e.CustomUI == wzq_jm then
local results,names=Player:getNickname(pid)--获取玩家昵称
if e.uielement == wzq_hdlt1 then
if wzq_wjczb[pid][20] <= 0 then
Chat:sendSystemMsg(names..":#G快点吧,我等的花都谢了!")
wzq_wjczb[pid][20] = 5
wza_kjycd(pid)--快捷语cd
else
Player:notifyGameInfo2Self(pid,"等待"..tostring(wzq_wjczb[pid][20]).."秒后可以使用!")
end
elseif e.uielement == wzq_hdlt2 then
if wzq_wjczb[pid][20] <= 0 then
Chat:sendSystemMsg(names..":#G你太厉害了,容我想想!!")
wzq_wjczb[pid][20] = 5
wza_kjycd(pid)--快捷语cd
else
Player:notifyGameInfo2Self(pid,"等待"..tostring(wzq_wjczb[pid][20]).."秒后可以使用!")
end
elseif e.uielement == wzq_hdlt3 then
if wzq_wjczb[pid][20] <= 0 then
Chat:sendSystemMsg(names..":#G不要走,决战到天亮!")
wzq_wjczb[pid][20] = 5
wza_kjycd(pid)--快捷语cd
else
Player:notifyGameInfo2Self(pid,"等待"..tostring(wzq_wjczb[pid][20]).."秒后可以使用!")
end
elseif e.uielement == wzq_hdlt4 then
if wzq_wjczb[pid][20] <= 0 then
Chat:sendSystemMsg(names..":#G小心,我要认真了!")
wzq_wjczb[pid][20] = 5
wza_kjycd(pid)--快捷语cd
else
Player:notifyGameInfo2Self(pid,"等待"..tostring(wzq_wjczb[pid][20]).."秒后可以使用!")
end
elseif e.uielement == wzq_tc then--退出
local hdwj = wzq_wjczb[pid][16]
local result2,value = VarLib2:getPlayerVarByName(hdwj,3,wzq_wjzsx)--获取私有积分变量 3
local result3 = VarLib2:setPlayerVarByName(hdwj,3,wzq_wjzsx,value+1000)--设置私有数值
Player:notifyGameInfo2Self(hdwj,"对方退出,你胜利了,积分+1千!")
Player:notifyGameInfo2Self(pid,"中途退出,判定失败!")
wzq_wjczb[pid][17] = 1
wzq_wjczb[hdwj][17] = 1
Player:hideUIView(pid,wzq_jm)--给玩家隐藏界面
Player:hideUIView(hdwj,wzq_jm)--给玩家隐藏界面
else
local hdwja = wzq_wjczb[pid][16]
for i = 1, 15 do
if e.uielement == wzq_jmjxh..wzq_qpan[i][1] then
wzq_wjxa(pid, hdwja, i, 1)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][2] then
wzq_wjxa(pid, hdwja, i, 2)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][3] then
wzq_wjxa(pid, hdwja, i, 3)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][4] then
wzq_wjxa(pid, hdwja, i, 4)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][5] then
wzq_wjxa(pid, hdwja, i, 5)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][6] then
wzq_wjxa(pid, hdwja, i, 6)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][7] then
wzq_wjxa(pid, hdwja, i, 7)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][8] then
wzq_wjxa(pid, hdwja, i, 8)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][9] then
wzq_wjxa(pid, hdwja, i, 9)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][10] then
wzq_wjxa(pid, hdwja, i, 10)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][11] then
wzq_wjxa(pid, hdwja, i, 11)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][12] then
wzq_wjxa(pid, hdwja, i, 12)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][13] then
wzq_wjxa(pid, hdwja, i, 13)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][14] then
wzq_wjxa(pid, hdwja, i, 14)--下棋运行1自己2对方3排4列
return;
elseif e.uielement == wzq_jmjxh..wzq_qpan[i][15] then
wzq_wjxa(pid, hdwja, i, 15)--下棋运行1自己2对方3排4列
return;
end
end
end
end
end
--------------------------------------------------------------------------------
function wza_wjhdzt(e)
local pid = e.eventobjid
if e.buffid == wza_djszt then
local dfpid = wzq_wjczb[pid][16]
for i = 1,181 do
local code ,num = Buff:getBuffLeftTime(pid, wza_djszt)--获取状态剩余时间
Customui:setText(pid, wzq_jm, wzq_djswbxs, tostring(math.ceil(num)))--1玩家id,2界面id,3元件id,4文本内容
Customui:setText(dfpid, wzq_jm, wzq_djswbxs, tostring(math.ceil(num)))--1玩家id,2界面id,3元件id,4文本内容
if wzq_wjczb[pid][17] == 1 then
local code1 = Buff:removeBuff(pid, wza_djszt)-- 给对象移除指定效果
return;
end
if math.ceil(num) == 1 then
local result2,value = VarLib2:getPlayerVarByName(dfpid,3,wzq_wjzsx)--获取私有积分变量 3
local result3 = VarLib2:setPlayerVarByName(dfpid,3,wzq_wjzsx,value+1000)--设置私有数值
Player:notifyGameInfo2Self(pid,"超时失败了!")
Player:notifyGameInfo2Self(dfpid,"胜利了,积分+1千!")
Player:hideUIView(pid,wzq_jm)--给玩家隐藏界面
Player:hideUIView(dfpid,wzq_jm)--给玩家隐藏界面
end
threadpool:wait(1);
end
end
end
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ScriptSupportEvent:registerEvent([=[UI.Show]=], wzq_wjdkjm)--界面被打开
ScriptSupportEvent:registerEvent([=[UI.Button.Click]=], wzq_djan)--点击按钮
ScriptSupportEvent:registerEvent([=[UI.Hide]=], wzq_jmgb)--界面被关闭
ScriptSupportEvent:registerEvent([=[Player.AddBuff]=], wza_wjhdzt)--玩家获得状态效果
--------------------------------------------------------------------------------