verfx/kfsystem.lua

2133 lines
71 KiB
Lua
Raw Normal View History

2024-12-18 22:57:06 +08:00
local b2i = { [false] = 0, [true] = 1 }
local waittimesec = 3*60
local namesact = { [0] = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "Ⱥ<EFBFBD><EFBFBD><EFBFBD>", "<EFBFBD>ս<EFBFBD><EFBFBD>", "ɱ¾֤<EFBFBD><EFBFBD>", "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>","<EFBFBD>Ի͵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>", }
2024-12-23 01:17:14 +08:00
local tims = { [0] = { (14 * 60 + 0), (23 * 60 + 30) }
2024-12-20 22:02:16 +08:00
, { (16 * 60 + 30), (16 * 60 + 50) }--Ⱥ<><EFBFBD><EFBEBA>
, { (18 * 60 + 10), (18 * 60 + 25) }--<2D>ս<E1B1A6><D5BD>
,nil--, { (20 * 60 + 00), (20 * 60 + 10) }--ɱ¾֤<C2BE><D6A4>
, { (19 * 60 + 00), (19 * 60 + 20) }--<2D>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD> ÿ<>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>21:00:00
, { (19 * 60 + 00), (19 * 60 + 50) }--<2D><><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD> ÿ<>ܶ<EFBFBD><DCB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>21:00:00
, { (20 * 60 + 00), (20 * 60 + 50) }--<2D>Ի͵ķ<CDB5><C4B7><EFBFBD><EFBFBD><EFBFBD>Ժ
, { (19 * 60 + 00), (19 * 60 + 50) }--<2D><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD> <20><><EFBFBD><EFBFBD>21:00:00
2024-12-18 22:57:06 +08:00
}
2024-12-23 01:17:14 +08:00
local txcl = {[0]="14:00-23:30",
2024-12-20 22:02:16 +08:00
"ÿ<EFBFBD><EFBFBD>16:30-16:50",--Ⱥ<><EFBFBD><EFBEBA>
"ÿ<EFBFBD><EFBFBD>18:10-18:25",--<2D>ս<E1B1A6><D5BD>
2024-12-23 01:17:14 +08:00
"<EFBFBD>ر<EFBFBD>",--"ÿ<><C3BF>20:00-20:10",--ɱ¾֤<C2BE><D6A4>
2024-12-20 22:02:16 +08:00
"ÿ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>19:00-19:20",--<2D>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
"ÿ<EFBFBD>ܶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>19:00-19:50",--<2D><><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>
"ÿ<EFBFBD><EFBFBD>20:00-20:50",--<2D>Ի͵ķ<CDB5><C4B7><EFBFBD><EFBFBD><EFBFBD>Ժ
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>19:00-19:50"--<2D><><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
2024-12-18 22:57:06 +08:00
}
local boxeffid = 60584
-- local tims = { [0] = nil, nil,nil,nil,nil,nil,nil,{ (18 * 60 + 30), (18 * 60 + 50) }--Ⱥ<><EFBFBD><EFBEBA>
-- }
-- local tims = { [0] = nil, nil,{ (18 * 60 + 30), (18 * 60 + 50) }--Ⱥ<><EFBFBD><EFBEBA>
-- }
--@ff xdt306 130 208 @ff xdt246 192 178
local maps = { { "xdt306", 283, 283 }, { "xdt293", 26, 52 }, { "xdt292", 33, 35 },
{ "xdt294", 83, 90 }, { "kf3", 650, 300 }, { "xdt292", 33, 35 }, { "xdt316" }, { "xdt292", 33, 35 }, }
2024-12-23 01:17:14 +08:00
local avtime = {[0]=0, 60, 120, -20, 600, 600, 60*10, 600 }
2024-12-18 22:57:06 +08:00
local jfmaps ={[0]={},{ "xdt306" }, { "xdt293" }, { "xdt292" },
{ "xdt294","jddd"}, { "kf3", "kf0150" }, { "xdt297",
"xdt298",
"xdt299",
"xdt300",
"xdt301",
"xdt302",
"xdt303",
}, { "xdt316"}, { "xdt292" }, { "xdt292" }, { "xdt292" }}
local zypos = {{40,41}}
local zyname = {"<EFBFBD><EFBFBD>","<EFBFBD><EFBFBD>"}
local stpos = {{59,26},{16,55}}
local zystmen = {{45,144},{127,45}}
local oneguild = ""
local AllGuilds = {}
local castleguid = ""
local castleoldguid = ""
local dieflag = 0
local dieflag2 = 0
local jlitems = {
[0]= {""},
[1] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#98888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#18888888&<26><>ҳ#40#339&<26><><EFBFBD><EFBFBD>#40#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#78888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#15888888&<26><>ҳ#30#339&<26><><EFBFBD><EFBFBD>#30#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#58888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#12888888&<26><>ҳ#20#339&<26><><EFBFBD><EFBFBD>#20#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
},
[2] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#98888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#18888888&<26><>ҳ#40#339&<26><><EFBFBD><EFBFBD>#40#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#78888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#15888888&<26><>ҳ#30#339&<26><><EFBFBD><EFBFBD>#30#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
},
[3] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#98888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#18888888&<26><>ҳ#40#339&<26><><EFBFBD><EFBFBD>#40#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#78888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#15888888&<26><>ҳ#30#339&<26><><EFBFBD><EFBFBD>#30#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#58888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#12888888&<26><>ҳ#20#339&<26><><EFBFBD><EFBFBD>#20#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
},
[4] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#98888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#18888888&<26><>ҳ#40#339&<26><><EFBFBD><EFBFBD>#40#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
},
[5] = {
2024-12-23 01:17:14 +08:00
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#98888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#18888888&<26><>ҳ#40#339&<26><><EFBFBD><EFBFBD>#40#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#10#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#10#339",
2024-12-18 22:57:06 +08:00
},
[6] = {
2024-12-23 01:17:14 +08:00
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#10#339",
2024-12-18 22:57:06 +08:00
},
[7] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
}
,
[8] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
}
,
[9] = {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&<26><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>#38888&<26>󶨽<EFBFBD><F3B6A8BD><EFBFBD>#5888888&<26><>ҳ#10#339&<26><><EFBFBD><EFBFBD>#10#339&<26><><EFBFBD><EFBFBD>ѫ<EFBFBD><D1AB>#1#339",
}
}
release_print("-----<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>")
kuafusys = {
maps=tbl2json(jfmaps),
msgproc = {},
bmHour = 25,
roomopen=0,
diedrop=false,
sun=true,
kaimentime = 0,
actstate = {
},
curact = nil
}
2024-12-23 01:17:14 +08:00
local kuafusys = kuafusys
2024-12-18 22:57:06 +08:00
local recfile="QuestDiary/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ini"
function kuafusys.read(actor,k)
local ss = tostring(getconst(actor, "<$USERNAME>"))..math.floor(os.time()/86400)
return tonumber(readini(recfile, k, ss))
end
function kuafusys.write(actor,k, v)
local ss = tostring(getconst(actor, "<$USERNAME>"))..math.floor(os.time()/86400)
local old = kuafusys.read(actor,k)
writeini(recfile, k, ss, v)
jhxbbgame.log(actor,getbaseinfo(actor, 1), getbaseinfo(actor, 2), ss,".write=>",k, v,old)
end
function kuafusys_setzy(actor,zy)
zy = zy or {z=0}
jhxbbgame.log(actor,"setcamp:",zy.z,getbaseinfo(actor,1),getbaseinfo(actor,2))
setcamp(actor, zy.z or 0)
jhxbbgame.topui.upzy(actor,zy.z or 0)
end
function kuafusys.setzy(actor,zy)
setcamp(actor, zy)
jhxbbgame.bfcall(actor,"kuafusys_setzy",{z=zy})
jhxbbgame.log(actor,"kuafusys.setzy:",zy)
end
function kuafusys_regohome(actor,zy)
local ca = kuafusys.curact
jhxbbgame.IncHP(actor, 0.999)
jhxbbgame.log(actor,"<EFBFBD><EFBFBD>Ӫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:",zy,getbaseinfo(actor,1),getbaseinfo(actor,2))
if ca and ca.i == 4 and ca.runing == 1 then
local spd = kuafusys.getdataEx(actor, ca.i)
local x,y = getbaseinfo(actor,4),getbaseinfo(actor,5)
if spd.pd.zy > 0 then
local ax,ay = stpos[spd.pd.zy][1],stpos[spd.pd.zy][2]
if not kuafusys.InRange(ax,ay,x,y) then
kuafusys.JoinMap(actor,maps[ca.i],spd,spd.pd.zy)
return
end
end
end
mapmove(actor, "xdt246", 192, 178, 5)
end
function kuafusys.gohome(actor,re)
re = re or 0
kuafusys.setzy(actor,0)
jhxbbgame.IncHP(actor, 0.999)
jhxbbgame.log(actor,"kuafusys.gohome:",re)
if re == 1 then
jhxbbgame.kfcall(actor,"kuafusys_regohome",{re=1})
else
mapmove(actor, "xdt246", 192, 178, 5)
end
kuafusys.NColor(actor, 255)
jhxbbgame.TimeMsg(actor,"",0)
jhxbbgame.take(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
jhxbbgame.bfcall(actor,"___xiamaauto",{u=1})
kuafusys.clearbxeff(actor)
kuafusys.RetAttackMode(actor)
end
function kuafusys.init(i)
i = tonumber(i)
jhxbbgame.log("kuafusys.init:", i)
local t = tims[i]
local s = {joineds={},playdatas={},ranks={},runing=0}
s.i = i
s.actname = namesact[i]
if t then
s.bgtime = t[1] * 60
s.edtime = t[2] * 60
local sun = jhxbbgame.daysun()
if s.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
if ((sun ==1) or (sun ==3) or (sun ==5)) then
elseif ((sun ==6)) then
s.bgtime = s.bgtime + 2*86400
s.edtime = s.edtime + 2*86400
else
s.bgtime = s.bgtime + 86400
s.edtime = s.edtime + 86400
end
elseif s.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if ((sun ==2) or (sun ==4) or (sun ==6)) then
elseif ((sun ==7)) then
s.bgtime = s.bgtime + 3*86400
s.edtime = s.edtime + 3*86400
else
s.bgtime = s.bgtime + 86400
s.edtime = s.edtime + 86400
end
elseif s.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>" then
if ((sun ==7)) then
else
local dc = 7-sun
s.bgtime = s.bgtime + dc*86400
s.edtime = s.edtime + dc*86400
end
end
-- s.bgtime = jhxbbgame.nowsec()+20
-- s.edtime = s.bgtime + 3 * 60
else
s.bgtime = 0
s.edtime = 0
end
kuafusys.actstate[i] = s
return kuafusys.actstate[i]
end
--release_print("kuafusys:", tbl2json(kuafusys.actstate))
function kuafusys_pubmsg(actor,cfg)
sendmovemsg(actor, 1, 249, 0, 150, 1, cfg.t)
end
function kuafusys.pubmsg(ca,smsg)
jhxbbgame.log(nil,"-------kf.pubmsg",ca.actname..smsg)
jhxbbgame.bfcall("0","kuafusys_pubmsg",{t="<" .. ca.actname .. "/FCOLOR=250>{"..smsg.."/FCOLOR=253}"})
end
function kuafusys.connected()
return checkkuafuserver() or checkkuafuconnect()
end
function kuafusys.primsg(actor, ca,smsg)
local caname = (ca and ca.actname) or "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
jhxbbgame.log(actor,"-------kf.primsg",caname,smsg)
--jhxbbgame.sendmsg(actor, ca.actname..":"..smsg)
jhxbbgame.HintEff(actor, caname..":"..smsg,"00FF00")
end
function kuafusys.nonerun(actor)
end
function kuafusys.run(actor)
--kuafusys._run(actor)
end
function kuafusys.paopush(actor)
jhxbbgame.log(actor,"------------kuafusys.paopush")
jhxbbgame.kfcall(actor, "kuafusys_paopush")
end
function kuafusys_paopush(actor)
local ca = kuafusys.curact
if ca and ca.actname == "Ⱥ<EFBFBD><EFBFBD><EFBFBD>" and ca.runing == 1 then
local lv = kuafusys.RecRank(actor, ca)
if lv > 0 then
end
else
--kuafusys.give(actor,getbaseinfo(actor, 2),"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10&Ԫ<><D4AA>#98888","Ⱥ<><EFBFBD><EFBEBA>")
jhxbbgame.log(actor,"------------kuafusys.paopush.ʧ<>ܻ<DCBB><EEB6AF>Ч",
tbl2json(ca))
jhxbbgame.sendmsg(actor, "ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD>Ч!")
end
end
function kuafusys.give(actor,uid,itm,tile)
kuafusys.sendkfmail(actor,uid,itm,tile,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
function kuafusys_mail(actor,a)
jhxbbgame.log(actor,"------------.kuafusys_mail.",tbl2json(a))
if a and a.t and a.u then
2024-12-23 01:17:14 +08:00
--local aactor = getplayerbyid(a.u)
--if aactor then
2024-12-18 22:57:06 +08:00
sendmail(a.u, 1, a.t, a.tt, a.i)
2024-12-23 01:17:14 +08:00
--end
2024-12-18 22:57:06 +08:00
end
end
function kuafusys.sendkfmail(actor,uid,itm,tile,t2)
jhxbbgame.bfcall(actor,"kuafusys_mail",{u=uid,i=itm,t=tile,tt=t2})
end
function clearkfgate()
delmapgate("G1","xdt306")
delmapeffect(131313)
delmapgate("G3","xdt294")
delmapgate("G31","xdt294")
end
function kuafusys.begact(sysact,ca)
jhxbbgame.log(nil,"------------kuafusys.begact",ca.actname)
ca.ranks = ca.ranks or {}
kuafusys.pking = kuafusys.pknone
kuafusys.endguildWar(sysact)
if ca.actname == "Ⱥ<EFBFBD><EFBFBD><EFBFBD>" then
kuafusys.run = kuafusys._run
--local x,y =275,279
local x,y =273,273
--mapeffect(131313, "xdt306", x, y, 490, 15, 0)
-- jhxbbgame.MapPlayRun(maps[1][1], function (actor)
-- sendcentermsg(actor,180,251,"<22><>ʣ<EFBFBD><CAA3>%d<><64><EFBFBD><EFBFBD><EEB6AF>ʼ.",0,180)
-- --sendmapmsg(maps[1][1],tbl2json({Msg=ca.actname.."<22><EFBFBD><EEB6AF><EFBFBD><EFBFBD>!",FColor=255,BColor=155,Type=1,Time=3}))
-- end)
local t = waittimesec - (jhxbbgame.nowsec()- ca.bgtime)
if t > 3 then
kuafusys.kaimentime = os.time()+t
addmapgate("G1","xdt306",273,273,6,"xdt306",282,282,2000000)
else
kuafusys.kaimentime = 0
end
elseif ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
if getmoncount("xdt293",-1,true)<1 then
genmon("xdt293", 26, 52, "<EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD>з",5,1,255)
end
kuafusys.act2playupid = kuafusys.act2playupid or ""
kuafusys.act2monkillplayid = kuafusys.act2monkillplayid or ""
kuafusys.bxx = kuafusys.bxx or 17
kuafusys.bxy = kuafusys.bxy or 56
elseif ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
local function initzy()
return {pw=0,plays={},ptjf={0,0,0,0,0}, jf=0}
end
ca.zydata = ca.zydata or {initzy(),initzy()}
ca.jdzt= ca.jdzt or {0,0,0,0,0}
-- addmapgate("G3","xdt294",zystmen[1][1],zystmen[1][2],5,"xdt294",36,153,2000000)
-- addmapgate("G31","xdt294",zystmen[2][1],zystmen[2][2],5,"xdt294",136,36,2000000)
local t = 60 - (jhxbbgame.nowsec()- ca.bgtime)
if t > 3 then
kuafusys.kaimentime = os.time()+t
else
kuafusys.kaimentime = 0
end
--genmon("xdt293", 26, 52, "<22><><EFBFBD>ؾ<EFBFBD>з",5,1,255)
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if getmoncount("kf3",1001,true)<1 then
genmon("kf3", 624, 278, "LeftWall",0,1,255)
end
if getmoncount("kf3",1002,true)<1 then
genmon("kf3", 627, 278, "CenterWall",0,1,255)
end
if getmoncount("kf3",1003,true)<1 then
genmon("kf3", 634, 271, "RightWall",0,1,255)
end
castleguid = castleguid or ""
elseif ca.actname == "<EFBFBD>Ի͵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ" then
--kuafusys.pking = kuafusys._pkingfx
--genmon("xdt296", 35, 34, "<22><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>",0,1,254)
if getmoncount("xdt297",-1,true)<1 then
genmon("xdt297", 26, 25, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt298",-1,true)<1 then
genmon("xdt298", 25, 26, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĩɱ<EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt299",-1,true)<1 then
genmon("xdt299", 25, 26, "ʱ<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt300",-1,true)<1 then
genmon("xdt300", 26, 27, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԧ<EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt301",-1,true)<1 then
genmon("xdt301", 26, 26, "а<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt302",-1,true)<1 then
genmon("xdt302", 26, 26, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",0,1,254)end
if getmoncount("xdt303",-1,true)<1 then
genmon("xdt303", 25, 25, "<EFBFBD>־<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",0,1,254)
end
ca.mon = 1
--genmon("xdt304", 29, 22, "CenterWall",0,1,255)
--genmon("kf3", 634, 271, "RightWall",0,1,255)
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>" then
kuafusys.pking = kuafusys._pking
kuafusys.makenpc(0)
local ps = kuafusys.makenpc(1)
end
end
function kuafusys.pknone(actor)
end
function kuafusys._pking(actor)
if isplayer(actor) then
SetVarInt(actor, "U023", 1)
jhxbbgame.topui.hidebar(actor)
end
end
function kuafusys._pkingfx(tag,actor,dam)
local ca = kuafusys.curact
if ismon(tag) and checkkuafuserver() and ca and ca.runing and ca.actname == "<EFBFBD>Ի͵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ" then
local spd = kuafusys.getdataEx(actor, ca.i)
if spd and spd.pd.jf < 3*10000 then
spd.pd.jf = spd.pd.jf + 1
jhxbbgame.log(actor,tag,"------------kuafusys.delnpc",dam)
if spd.pd.jf > 300 then
kuafusys.dcjoin(actor,ca,spd,"<EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>Ծ!!")
end
end
end
end
function kuafusys.dcjoin(actor,ca,spd,s)
kuafusys.primsg(actor, ca,s)
spd.pd.mapjoin = 1
ca.joineds[#ca.joineds + 1] = { getbaseinfo(actor, 2), getbaseinfo(actor, 1),getbaseinfo(actor, 36) }
end
local keys = {"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"}
kuafusys.pking = kuafusys.pknone
function kuafusys_delnpc(actor,a)
a = a or {}
local id = a[1]
local key = keys[a[2]]
jhxbbgame.log(actor,id,"------------kuafusys.delnpc",
key)
delnpc(key..id,"xdt316")
delnpc(id,"xdt316")
end
local caijicfg = {}
function kfcaijiok(actor)
local id = VarInt(actor, "U023")
if id >= 1118*8 then
local cfg = caijicfg[id]
if cfg and cfg[2] then
if cfg[0] == 1 then
jhxbbgame.sendmsg(actor, "<EFBFBD>ɼ<EFBFBD>ʧ<EFBFBD><EFBFBD>!!!")
return
end
cfg[0] = cfg[0] or 1
caijicfg[id] = cfg
local key = cfg[2]
--jhxbbgame.kfcall(actor, "kuafusys_delnpc", tbl2json({id, key}))
jhxbbgame.log(actor,id,"------------kuafusys.kfcaijiok",
key)
if key == 1 then
gives(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#188","kfcaijiok")
elseif key == 2 then
gives(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#88","kfcaijiok")
elseif key == 3 then
gives(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#58","kfcaijiok")
elseif key == 4 then
gives(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#10","kfcaijiok")
end
kuafusys_delnpc(actor,{id, key})
return
else
jhxbbgame.sendmsg(actor, "<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>!!")
end
cfg[0] = 0
caijicfg[id] = cfg
else
jhxbbgame.sendmsg(actor, "<EFBFBD>ɼ<EFBFBD>ʧ<EFBFBD><EFBFBD>!")
SetVarInt(actor, "U023", 0)
jhxbbgame.log(actor,id,"------------kuafusys.kfcaijiok",
id)
end
end
function npcxy(npc_id)
local npc = getnpcbyindex(npc_id)
return getbaseinfo(npc,4),getbaseinfo(npc,5)
end
function kuafusys.clickcaiji(actor, npcid)
local time= caijicfg[npcid]
if time and time[1] then
local x,y = getbaseinfo(actor,4),getbaseinfo(actor,5)
local nx,ny = npcxy(npcid)
local absx = math.abs(nx - x)
local absy = math.abs(ny - y)
if (absx <= 2) and (absy <= 2) then
else
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫Զ<EFBFBD><EFBFBD>!!!")
return
end
SetVarInt(actor, "U023", npcid)
--jhxbbgame.sendmsg(actor, npcid.."<22>ɼ<EFBFBD>:"..keys[time[2]]..","..time[3]..","..time[4])
showprogressbardlg(actor, time[1], "@kfcaijiok", "<EFBFBD><EFBFBD><EFBFBD>ڲɼ<EFBFBD>,<2C><><EFBFBD><EFBFBD>%d%.....", 1,
nil)
else
jhxbbgame.sendmsg(actor, "<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>!")
jhxbbgame.log(actor,npcid,"------------kuafusys.clickcaiji",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
kuafusys_delnpc(actor,{npcid, tostring(time[2])})
end
end
--{id,key, x,y}
local npccfg = {{1,60,1097,151},
{2,40,1094,249}, {3,20,1093,254}, {35,10,1098,255}, }
function kuafusys_makenpc(actor,a)
local id, key,x,y= a[1],a[2],a[3],a[4]
local value = npccfg[key]
local npcInfo = {
["Idx"] = id, -- <20>Զ<EFBFBD><D4B6><EFBFBD>NPC<50><43>Idx<64><78>NPC<50><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B4AB>Idxֵ
["npcname"] = keys[key]..id, -- NPC<50><43><EFBFBD><EFBFBD>
["appr"] = value[3], -- NPC<50><43><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
["color"] = value[4], -- NPC<50><43><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
["limit"] = 60*60, -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>) <20><><EFBFBD><EFBFBD>64_24.05.23<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
caijicfg[id]={value[2],key, x,y}
createnpc("xdt316",x,y,tbl2json(npcInfo))
end
function kuafusys.makenpc(a)
local id = 1118*8
jhxbbgame.log(nil,"------------kuafusys.makenpc,")
local dmp = {}
for key, value in pairs(npccfg) do
-- genmon("xdt316", 25, 25, key,66,value[1],254)
for i = 1, value[1], 1 do
local npcInfo = {
["Idx"] = id, -- <20>Զ<EFBFBD><D4B6><EFBFBD>NPC<50><43>Idx<64><78>NPC<50><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B4AB>Idxֵ
["npcname"] = keys[key]..id, -- NPC<50><43><EFBFBD><EFBFBD>
["appr"] = value[3], -- NPC<50><43><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
["color"] = value[4], -- NPC<50><43><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
["limit"] = 60*60, -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>) <20><><EFBFBD><EFBFBD>64_24.05.23<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
--genmon("xdt316", 25, 25, key,66,value[1],254)
local function mk(x,y)
local ret = nil
ret = createnpc("xdt316",x,y,tbl2json(npcInfo))
jhxbbgame.log(nil,id,"------------kuafusys.createnpc",
ret,keys[key]..id,x,y)
caijicfg[id]={value[2],key, x,y}
jhxbbgame.bfcall("0","kuafusys_makenpc",{id,key, x,y})
id = id + 1
end
if a == 0 then
kuafusys_delnpc(nil,{id, key})
else
for i = 1, 100, 1 do
local x,y = math.random(1,30)+math.random(1,30),math.random(1,30)+math.random(1,30)
if gridattr("xdt316",x ,y,1)
and not dmp[x.."_"..y] then
dmp[x.."_"..y] = true
mk(x,y)
break
end
end
end
end
end
if a == 0 then
jhxbbgame.log(nil,"------------kuafusys.delnpc",
#caijicfg)
caijicfg ={}
else
return caijicfg
end
end
function kuafusys.endact(sysact,ca)
local xbb = jhxbbgame
local itemg = jlitems[ca.i]
local avid = #itemg
xbb.log(nil,"------------kuafusys.endact",
ca.actname,#ca.ranks,#ca.joineds,
kuafusys.act2playupid,kuafusys.act2monkillplayid)
2024-12-20 18:32:40 +08:00
kuafusys.run = kuafusys.nonerun
2024-12-18 22:57:06 +08:00
xbb.log(nil,"------------kuafusys.endactjoineds",tbl2json(ca.joineds))
local jfok = {}
local jfnotok = {}
local jfabs = math.abs(avtime[ca.i])
for uid, lpd in pairs(ca.playdatas) do
local jf = lpd.jf or 0
if (jf >= jfabs) and (jfabs > 0) then
jfok[uid]=lpd
elseif (jfabs > 0) then
jfnotok[uid]=lpd
end
end
xbb.log(nil,ca.actname,"------------kuafusys.endactjfok",tbl2json(jfok))
xbb.log(nil,ca.actname,"------------kuafusys.endactjfnotok",tbl2json(jfnotok))
xbb.log(nil,ca.actname,"------------kuafusys.endactplaydatas",tbl2json(ca.playdatas))
local sendpass = {}
local function giv(r, info,mc)
local uid = info[1]
if uid and uid ~= "" and not sendpass[uid] then
local aa = itemg[r]
local actor = getplayerbyid(uid)
if aa and aa ~= "" then
sendpass[uid] = true
if not mc then
mc = "<EFBFBD><EFBFBD>" .. r .. "<EFBFBD><EFBFBD>"
if r > 3 then
mc = "<EFBFBD><EFBFBD>ο"
else
--kuafusys.note(ca,"<22><>ϲ["..info[2].."]<5D><><EFBFBD>õ<EFBFBD>"..r.."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
end
jhxbbgame.log(actor,"------------kf.endact<63><74><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>",info[2] or "",uid,ca.actname,mc,aa)
kuafusys.give("0",uid,aa,ca.actname .. mc .. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
end
end
if ca.actname == "Ⱥ<EFBFBD><EFBFBD><EFBFBD>" then
kuafusys.run = kuafusys.nonerun
xbb.MapPlayRun(jfmaps[ca.i],function (actor,m)
xbb.bfcall(actor,"___xiamaauto",{u=1})
end)
elseif ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
local actor = getplayerbyid(kuafusys.act2playupid)
if actor then
kuafusys.give("0",kuafusys.act2playupid,itemg[1],ca.actname .. "<EFBFBD>۷<EFBFBD><EFBFBD>")
sendpass[kuafusys.act2playupid] = true
kuafusys.clearbxeff(actor)
2024-12-20 18:32:40 +08:00
kuafusys.pubmsg(ca, "<EFBFBD><EFBFBD>ϲ"..tostring(getbaseinfo(actor, 1)).."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ƺŽ<EFBFBD><EFBFBD><EFBFBD>!")
deprivetitle(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>")
2024-12-18 22:57:06 +08:00
confertitle(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>", 1)
2024-12-20 18:32:40 +08:00
xbb.bfcall(actor,"kuafusys_bxtop",{u=1})
2024-12-18 22:57:06 +08:00
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ƺŽ<EFBFBD><EFBFBD><EFBFBD>")
end
local actor = getplayerbyid(kuafusys.act2monkillplayid)
if actor and (not sendpass[kuafusys.act2monkillplayid]) then
kuafusys.give("0",kuafusys.act2monkillplayid,itemg[2],ca.actname .. "<EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
sendpass[kuafusys.act2monkillplayid] = true
end
for key, value in pairs(ca.joineds) do
local uid = value[1]
if not sendpass[uid] then
kuafusys.give("0",uid,itemg[3],ca.actname .. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
sendpass[uid] = true
end
end
xbb.MapPlayRun(nil,function (actor,m)
xbb.dbgout(actor, "<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>!")
xbb.take(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end)
kuafusys.act2monkillplayidold = kuafusys.act2monkillplayid
kuafusys.act2playupidold = kuafusys.act2playupid
kuafusys.act2monkillplayid = ""
kuafusys.act2playupid = ""
elseif ca.actname == "ɱ¾֤<EFBFBD><EFBFBD>" then
ca.ranks = {}
ca.joineds = {}
for key, value in pairs(ca.playdatas) do
if value.jf >= 20 then
local rd = { key, value.name, value.jf}
ca.ranks[#ca.ranks + 1] = rd
ca.joineds[#ca.joineds + 1] = rd
end
end
table.sort(ca.ranks,function (a, b)
return a[3] > b[3]
end)
xbb.MapPlayRun(nil,function (actor,m)
kuafusys.setzy(actor,0)
xbb.SetDefColor(actor)
end)
elseif ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
local zyjf = {{jf=ca.zydata[1].jf,pw=ca.zydata[1].pw},{jf=ca.zydata[2].jf,pw=ca.zydata[2].pw}}
local win = 0
local lost = {}
if zyjf[1].jf == zyjf[2].jf then
if zyjf[1].pw > zyjf[2].pw then
win = 1
else
win = 2
end
elseif zyjf[1].jf > zyjf[2].jf then
win = 1
end
if win == 1 then
lost = {2}
else
win =2
lost = {1}
end
ca.ranks = {}
ca.joineds = {}
for _, z in pairs(lost) do
local zyd = ca.zydata[z]
for uid, value in pairs(zyd.plays) do
local spd = kuafusys.getUiddataEx(uid,ca.i)
if spd and spd.pd.mapjoin == 1 then
giv(2, {uid}, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
else
local actor = getplayerbyid(uid)
if actor then
kuafusys.primsg(actor, ca,"δ<EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>Ծ<EFBFBD>޷<EFBFBD><EFBFBD>콱!")
end
end
end
end
local max = 0
local top = nil
for _, z in pairs({1,2}) do
local zyd = ca.zydata[z]
for uid, value in pairs(zyd.plays) do
--giv(2, {uid}, "<22><><EFBFBD><EFBFBD>")
local spd = kuafusys.getUiddataEx(uid,ca.i)
if spd and (spd.pd.jfkill or 0> max) then
top = uid
end
end
end
local cc = ""
if top then
local actor = getplayerbyid(top)
if actor then
cc = "!"
kuafusys.pubmsg(ca, "<EFBFBD><EFBFBD>ϲ"..tostring(getbaseinfo(actor, 1)).."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ƺŽ<EFBFBD><EFBFBD><EFBFBD>!")
2024-12-20 18:32:40 +08:00
deprivetitle(actor, "<EFBFBD>ݵ<EFBFBD><EFBFBD>ƺ<EFBFBD>")
2024-12-18 22:57:06 +08:00
confertitle(actor, "<EFBFBD>ݵ<EFBFBD><EFBFBD>ƺ<EFBFBD>", 1)
2024-12-20 18:32:40 +08:00
xbb.bfcall(actor,"kuafusys_jdtop",{j=1})
2024-12-18 22:57:06 +08:00
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ƺŽ<EFBFBD><EFBFBD><EFBFBD>")
end
end
if win > 0 then
kuafusys.pubmsg(ca, "<EFBFBD><EFBFBD>ϲ"..zyname[win].."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۷<EFBFBD><EFBFBD>!"..cc)
xbb.log("","<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:Win"..zyname[win])
local zyd = ca.zydata[win]
for uid, value in pairs(zyd.plays) do
giv(1, {uid}, "<EFBFBD>۷<EFBFBD>")
end
end
xbb.MapPlayRun(nil,function (actor,m)
kuafusys.setzy(actor,0)
xbb.SetDefColor(actor)
end)
ca.zydata = nil
ca.jdzt= nil
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
kuafusys.endguildWar(sysact)
for key, value in pairs(ca.joineds) do
if value[3] == castleguid then
giv(1, value, "<EFBFBD>۷<EFBFBD>")
end
end
castleoldguid = castleguid
castleguid = ""
avid = 2
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>" then
kuafusys.pking = kuafusys.pknone
kuafusys.makenpc(0)
avid = 1
end
ca.ranks[#ca.ranks + 1] = { "", "" }
ca.ranks[#ca.ranks + 1] = { "", "" }
ca.ranks[#ca.ranks + 1] = { "", "" }
giv(1, ca.ranks[1])
giv(2, ca.ranks[2])
giv(3, ca.ranks[3])
if itemg[avid] then
for key, value in pairs(ca.joineds) do
giv(avid, value,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
end
for uid, value in pairs(jfnotok) do
if sendpass[uid] then
else
kuafusys.sendkfmail("0",uid,"",ca.actname,ca.actname .. "δ<EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>Ծ!<21><><EFBFBD>Ļ<EFBFBD>Ծ<EFBFBD><D4BE><EFBFBD><EFBFBD>:"..(value.jf))
end
end
for key, m in pairs(jfmaps[ca.i] or {}) do
sendmapmsg(m,tbl2json({Msg=ca.actname.." <20><EFBFBD><EEB6AF><EFBFBD><EFBFBD>!",FColor=255,BColor=155,Type=1,Time=3}))
movemapplay(sysact,m,"xdt246", 192, 178, 3)
end
ca.joineds = {}
ca.ranks = {}
end
function kuafusys_bxtop(actor,cfg)
2024-12-20 18:32:40 +08:00
deprivetitle(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>")
2024-12-18 22:57:06 +08:00
confertitle(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>", 1)
jhxbbgame.log(actor, getbaseinfo(actor,1),":<3A><><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>")
end
function kuafusys_jdtop(actor,cfg)
2024-12-20 18:32:40 +08:00
deprivetitle(actor, "<EFBFBD>ݵ<EFBFBD><EFBFBD>ƺ<EFBFBD>")
2024-12-18 22:57:06 +08:00
confertitle(actor, "<EFBFBD>ݵ<EFBFBD><EFBFBD>ƺ<EFBFBD>", 1)
jhxbbgame.log(actor, getbaseinfo(actor,1),":<3A>ݵ<EFBFBD><DDB5>ƺ<EFBFBD>")
end
function kuafusys_end(actor,cfg)
jhxbbgame.log(actor,"*kuafusys_end:"..1)
kuafusys.changedMap(actor,"*kfend")
end
function kuafusys.kend(actor)
kuafusys.clearbxeff(actor,boxeffid)
jhxbbgame.take(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
--setattackmode(actor,-1,666)
kuafusys.RetAttackMode(actor)
local cc = {zy=0}
kuafusys_ncmod(actor, cc)
jhxbbgame.log(actor,"*kend:"..1)
SetVarInt(actor, "U020", 0)
jhxbbgame.kfcall(actor, "kuafusys_end",
tbl2json({uid=getbaseinfo(actor, 2)}),true)
end
function kuafusys.InRange(ax,ay,x2,y2)
local x = math.abs(ax-x2)
local y = math.abs(ay-y2)
local dis = x*x + ((y*y)*1.1)
dis=dis^0.5
return dis <= 4.518
end
function kuafusys.getjd(x,y)
for key, value in pairs(zypos) do
if kuafusys.InRange(x,y,value[1],value[2]) then
return key
end
end
return -1
end
function kuafusys.jdjfAdd(ca,zy,x,y,v)
local key = kuafusys.getjd(x,y)
if key >= 1 then
local cur = ca.zydata[zy].ptjf[key] +v
ca.zydata[zy].ptjf[key] = cur
ca.zydata[zy].jf = ca.zydata[zy].jf + v
jhxbbgame.log("","jdjfAdd:",zy,x,y,v,cur)
-- if cur >= 300 and ca.jdzt[key] == 0 then
-- ca.jdzt[key] = zy
-- kuafusys.pubmsg(ca,zyname[zy].."<22><><EFBFBD><EFBFBD>Ӫ,<2C>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ݵ<EFBFBD>!")
-- else
local zdpos = zypos[key]
for uid, actor in pairs(ca.zydata[zy].plays) do
if isnotnull(actor) then
local ax = getbaseinfo(actor, 4)-zdpos[1]
local ay = getbaseinfo(actor, 5)-zdpos[2]
if (math.abs(ax)<= 10) and (math.abs(ay)<= 10) then
kuafusys.jdclick(actor, key)
end
end
end
--end
return cur
end
return -1
end
function kuafusys.jdclick(actor, id)
local ca = kuafusys.curact
if checkkuafuserver() and ca and ca.runing == 1 and ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
local v1,v2 = ca.zydata[1].jf,ca.zydata[2].jf
v1,v2 = math.floor(v1),math.floor(v2)
if ca.jdzt[id] == 0 then
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ǰ<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"..zyname[1].."<EFBFBD><EFBFBD>="..v1..","..zyname[2].."<EFBFBD><EFBFBD>="..v2)
else
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ǰ<EFBFBD>ݵ<EFBFBD><EFBFBD>ѱ<EFBFBD>"..zyname[ca.jdzt[id]].."ռ<EFBFBD><EFBFBD>!")
end
end
end
function kuafusys.die(actor,killer)
local ca = kuafusys.curact
if checkkuafuserver() then
local isplay = isplayer(killer)
local t2 = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" .. getbaseinfo(actor, 45)
if isplay then
t2=t2.. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" .. getbaseinfo(killer, 1) .. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ"
else
t2=t2.. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" .. getbaseinfo(killer, 1) .. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ"
end
kuafusys.sendkfmail(actor,getbaseinfo(actor, 2),nil,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",t2)
if kuafusys.diedrop and jhxbbgame.GetRate(10) then
dieflag2 = os.time()
dieflag = dieflag2
callscriptex(actor,
"HumanDropUseItem",
"-1","S0")
dieflag = 0
jhxbbgame.log(actor, "*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>::"..VarStr(actor,"S0"))
if jhxbbgame.GetRate(1000) then
dieflag = os.time()
callscriptex(actor,
"HumanDropUseItem",
"-1","S0")
dieflag = 0
jhxbbgame.log(actor, "*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2::"..VarStr(actor,"S0"))
end
end
if ca and ca.runing
and isplayer(actor) then
jhxbbgame.log(actor, "*-----kuafusys.die "..ca.actname)
if ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
kuafusys.changedMap(actor,"*die")
elseif not isplayer(killer) then
elseif ca.actname == "ɱ¾֤<EFBFBD><EFBFBD>" then
local spd = kuafusys.getdataEx(actor, ca.i)
if spd.pd.join == 1 then
spd.pd.jf = spd.pd.jf + 1
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1,<2C><>ǰ:"..spd.pd.jf)
end
spd = kuafusys.getdataEx(killer, ca.i)
if spd.pd.join == 1 then
spd.pd.jf = spd.pd.jf + 3
kuafusys.primsg(killer, ca,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+3,<2C><>ǰ:"..spd.pd.jf)
end
elseif ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
local spdk = kuafusys.getdataEx(killer, ca.i)
local spd2 = kuafusys.getdataEx(actor, ca.i)
if spdk == nil or spdk == nil then
jhxbbgame.log(actor, "*<2A>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣!",actor)
elseif spdk.pd.zy ~= 0 and spd2.pd.zy ~= spdk.pd.zy then
local x,y = getbaseinfo(actor,4),getbaseinfo(actor,5)
local z = kuafusys.getjd(x,y)
if z >= 0 then
ca.zydata[z].jf = ca.zydata[z].jf +1
spdk.pd.jfkill = (spdk.pd.jfkill or 0) + 1
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"..spdk.pd.jfkill..",<2C><><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>:"..ca.zydata[z].jf)
end
-- local v1 = kuafusys.jdjfAdd(ca,spdk.pd.zy,x,y,3)
-- if v1 > 0 then
-- kuafusys.jdclick(actor, spdk.pd.zy)
-- end
end
end
end
end
end
function kuafusys.LockAttackMode(actor,m)
jhxbbgame.log(actor, "*LockAttackMode",m)
callscriptex(actor, "SetHumAttackMode",tostring(m), "3600")
end
function kuafusys.RetAttackMode(actor, chk)
if not chk or (chk == getattackmode(actor)) then
local old = VarInt(actor,"U024")
jhxbbgame.log(actor, "*RetAttackMode",old)
callscriptex(actor, "SetHumAttackMode",tostring(old), "0")
changeattackmode(actor,old)
end
end
function kuafusys.changedMap(actor,mapid)
mapid = mapid or ""
kuafusys.pking(actor)
local ca = kuafusys.curact
if checkkuafuserver() then
if ((jfmaps[4][1] ~= mapid) and (jfmaps[4][2] ~= mapid)) and getcamp(actor)>0 then
kuafusys_ncmod(actor, {zy=0})
kuafusys.RetAttackMode(actor,8)
end
if mapid ~= maps[2][1] then
kuafusys.clearbxeff(actor)
jhxbbgame.log(actor,"changedMap:"..mapid)
if kuafusys.act2playupid == getbaseinfo(actor, 2) then
kuafusys.changeitemplay(nil)
end
end
end
end
function kuafusys.pickup(actor, item)
if checkkuafuserver() then
jhxbbgame.log(actor, "*kuafusys.pickup.= ")
local itmname = getiteminfo(actor, item, 7)
if itmname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
kuafusys.changeitemplay(actor)
end
end
end
function kuafusys.clearbxeff(actor)
jhxbbgame.showeff(actor, boxeffid, 1, 20,80)
clearplayeffect(actor, boxeffid)
end
function kuafusys.changeitemplay(actor)
local ca = kuafusys.curact
if checkkuafuserver() and ca and ca.runing then
jhxbbgame.log(actor or "nil", "*-----kuafusys.changeitemplay ",ca.actname,kuafusys.act2playupid)
if ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
local old = nil
if kuafusys.act2playupid ~= "" then
old = getplayerbyid(kuafusys.act2playupid)
if old then
kuafusys.clearbxeff(old)
jhxbbgame.take(old,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
jhxbbgame.dbgout(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
end
end
if actor and isplayer(actor) then
kuafusys.act2playupid = getbaseinfo(actor, 2)
kuafusys.pubmsg(ca, getbaseinfo(actor, 1).."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
jhxbbgame.showeff(actor, boxeffid, 999999, 20,80)
jhxbbgame.take(actor,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
jhxbbgame.ChatMsg(actor, "<EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
SetVarInt(actor, "U020", 1)
return
elseif old then
kuafusys.act2playupid = ""
kuafusys.clearbxeff(old)
SetVarInt(old, "U020", 0)
jhxbbgame.ChatMsg(old, "ʧȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
jhxbbgame.take(old,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
kuafusys.dropbx(kuafusys.bxx,kuafusys.bxy,1,18)
end
end
--jhxbbgame.log(actor, "kuafusys.changeitemplay.= ",kuafusys.act2playupid,"new.",getbaseinfo(actor, 2))
end
function kuafusys.dropbx(x,y,r,aa)
if getmoncount("xdt293",-1,true)<1 then
local oo = false
jhxbbgame.MapPlayRun({maps[2][1]}, function(o)
if getiteminfo(nil,o,7) == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
oo = true
end
end,8)
jhxbbgame.dbgout(nil,"kuafusys.dropbx:",aa,oo)
if not oo then
clearitemmap(maps[2][1],0,0,999,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
throwitem("0",maps[2][1],x,y,r,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
1,99999999,1,true,false,false,1,false)
end
end
end
function beforeroute(actor,dm,dx,dy)
jhxbbgame.log(actor,"beforeroute",dm,dx,dy,type(dx),getbaseinfo(actor, 36))
local ret = true
--kf3 630,274 -> kf0150 22,26
local ca = kuafusys.curact
if checkkuafuserver() then
if ca and ca.runing then
if kuafusys.kaimentime > 0 and kuafusys.kaimen(actor) <=0 then
kuafusys.pubmsg(ca,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
ret = false
end
if dm == "kf0150" and dx == 22 and dy == 26 then
ret = castleguid == getbaseinfo(actor, 36)
end
end
end
return ret
end
function kuafusys.kaimen(actor)
local a = kuafusys.kaimentime - os.time()
if a > 0 then
--jhxbbgame.sendmsg(actor, a.."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6AF>ʼ.")
return a
elseif kuafusys.kaimentime ~= 0 then
kuafusys.kaimentime = 0
clearkfgate()
return 0
end
return a
end
function bfdropbodyitem(actor,a)
jhxbbgame.log(actor,"bfdropbodyitem.",tbl2json(a))
if a and a.i then
takew(actor,a.i,1,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
end
function kuafusys.drop(actor, dropItem,itemName,m)
if itemName == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" and kuafusys.act2playupid == getbaseinfo(actor, 2) then
jhxbbgame.log(actor, "*kuafusys.drop1.= ",itemName,m)
kuafusys.changeitemplay(nil)
end
if (checkkuafuserver() and m == 1) then
if (checkitemstate(dropItem,1) or checkitemstate(dropItem,5)) then
jhxbbgame.log(actor, "*kuafusys.drop1.<2E><>ֹ= ",itemName,m)
return false
end
if dieflag == dieflag2 then
jhxbbgame.bfcall(actor,"bfdropbodyitem",{i=itemName})
end
end
end
function kuafusys.killmon(actor, mon,monName)
if checkkuafu(actor) and checkkuafuserver() then
jhxbbgame.log(actor,"*kfkillmon",monName)
local ca = kuafusys.curact
if ca and ca.runing then
if ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
if "<EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD>з" == monName then--һ<><D2BB>½-<2D><><EFBFBD>ö<EFBFBD>
kuafusys.act2monkillplayid = getbaseinfo(actor, 2)
end
end
end
end
end
function kuafusys.RecRank(actor, ca)
local ret = -1
if ca.actname == "Ⱥ<EFBFBD><EFBFBD><EFBFBD>" then
local mapid = getbaseinfo(actor, 3)
--jhxbbgame.log(actor, "*RecRank<6E><6B>mapid",mapid,tbl2json(ca))
if mapid == maps[1][1] and ca and ca.runing == 1 then
local x = getbaseinfo(actor, 4)
local y = getbaseinfo(actor, 5)
local absx = math.abs(x - 128)
local absy = math.abs(y - 213)
if (absx <= 10) and (absy <= 10) then
local info = { getbaseinfo(actor, 2), getbaseinfo(actor, 1) }
local spd = kuafusys.getdataEx(actor, ca.i)
if spd.pd.join ~= 1 then
jhxbbgame.sendmsg(actor, "δ<EFBFBD>μӻ!"..tostring(spd.pd))
return ret
end
for key, value in pairs(ca.ranks) do
if info[1] == value[1] then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..key.."]<5D><>!")
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..key.."]<5D><>!")
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..key.."]<5D><>!")
kuafusys.gohome(actor)
return key
end
end
local i = #ca.ranks + 1
ret = i
ca.ranks[i] = info
jhxbbgame.log(actor, "*<2A>ܿ<EFBFBD><DCBF><EFBFBD><EFBFBD><EFBFBD>" .. i)
if i <= 3 then
kuafusys.pubmsg(ca,"<EFBFBD><EFBFBD>ϲ["..info[2].."]<5D><><EFBFBD>õ<EFBFBD>"..i.."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..i.."]<5D><>!")
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..i.."]<5D><>!")
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>["..i.."]<5D><>!")
end
else
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>̫Զ<EFBFBD><EFBFBD>!")
end
else
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
end
end
return ret
end
local cd = os.time()
function kuafusys._run(actor)
local mapid = getbaseinfo(actor, 3)
local ca = kuafusys.curact
if mapid == maps[1][1] and ca and ca.runing == 1 then
--128 213
--jhxbbgame.log(actor,"*<2A>ܿ<EFBFBD>1111<31><31><EFBFBD><EFBFBD>"..mapid)
local x = getbaseinfo(actor, 4)
local y = getbaseinfo(actor, 5)
if jhxbbgame.GetRate(5000) then
local curtime = os.time()
if curtime > cd then
cd = curtime + 3
--local eff = {{1,470},{7,527,5000},{10,511},{5,458}}
local eff = { { 12, 470 }, { 13, 527 } }
local e = eff[math.random(#eff)]
local plays = {actor}--getobjectinmap(mapid, x, y, 8, 1)
for key, value in pairs(plays) do
--if jhxbbgame.GetRate(6500) then
--jhxbbgame.mapSelfeff(value, e[2])
makeposion(value, e[1], 3)
--end
end
end
end
end
end
local optmode = -1
function kuafusys_opact(actor,op)
local ca = kuafusys.curact
local cab = kuafusys.actstate[op[1]]
local opmode = op[2]
jhxbbgame.log(actor, "kuafusys_opact:", op[1],op[2])
if ca and opmode < 10 then
if ca.runing == 1 and ca.i ~= 0 then
jhxbbgame.log(actor, "-------kuafusys_opact:Close.", ca.actname)
ca.edtime = jhxbbgame.nowsec()-1
kuafusys.doClose(actor,ca)
end
end
optmode = op[1]
if cab and opmode < 10 then
if cab.runing == 1 and cab.i ~= 0 and ca ~= cab then
cab.edtime = jhxbbgame.nowsec()-1
kuafusys.doClose(actor,cab)
end
if opmode >= 1 then
cab.bgtime = jhxbbgame.nowsec()-1
if opmode == 1 then
cab.edtime = cab.bgtime + 50 * 60
else
cab.edtime = cab.bgtime + 3 * 60
end
kuafusys.doOpen(actor,cab)
kuafusys.pubmsg(cab,"<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>ʼ!")
end
return
end
if opmode == 11 then
optmode = -1
elseif opmode == 12 then
kuafusys.diedrop =false
elseif opmode == 13 then
kuafusys.diedrop =true
elseif opmode == 15 then
kuafusys.sun = false
elseif opmode == 16 then
kuafusys.sun = true
elseif opmode == 20 then
kuafusys.roomopen = 0
elseif opmode == 21 then
kuafusys.roomopen = 1
elseif opmode == 17 then
savekfdata("{}")
readkfdata()
end
jhxbbgame.log(actor, "kuafusys.opact:17 ", opmode,kuafusys.roomopen,kuafusys.sun,kuafusys.diedrop)
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "..opmode.." ok "..kuafusys.roomopen)
end
function kuafusys.opact(actor,id, p2)
jhxbbgame.log(actor, "kuafusys.opact:", id,p2)
jhxbbgame.kfcall(actor, "kuafusys_opact", tbl2json({id, p2}))
end
function kuafusys.doOpen(sysact,ca)
ca.runing = 1
ca.ranks={}
jhxbbgame.log(sysact, ca.actname, ".<2E><>ʼ")
kuafusys.pubmsg(ca,"<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μӻ<EFBFBD><EFBFBD>")
if kuafusys.curact then
end
kuafusys.curact = ca
kuafusys.begact(sysact,ca)
end
function kuafusys.doClose(sysact,ca)
ca.runing = 0
jhxbbgame.log(sysact, ca.actname, ".<2E><><EFBFBD><EFBFBD>")
kuafusys.pubmsg(ca,"<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
kuafusys.endact(sysact,ca)
if kuafusys.curact and kuafusys.curact.actname == ca.actname then
kuafusys.curact = nil
end
end
local sed = ""
local runtime = 5*1000
local runtimey = 0
local runed = false
local readday = 0
local tt = 0
function jhxbbgame_kfact(sysact)
local curtime = jhxbbgame.nowsec() or 0
--delmapgate("G1","xdt306")
grobaldelaygoto(runtime, "jhxbbgame_kfact")
if checkkuafuserver() then
local d = math.floor(os.time()/86400)
if readday ~= d then
readday = d
jhxbbgame.log("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>11<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
savekfdata("{}")
readkfdata()
end
if not runed then
readkfdata()
jhxbbgame.log("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>11<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
runed = true
if curtime > runtimey then
jhxbbgame.MapPlayRun(nil, function (actor, m)
if jhxbbgame.CInt(actor,"<$PKPOINT>") >= 300 then
mapmove(actor, "0", "131", "137", 3)
kuafusys.primsg(actor,kuafusys.actstate[0], "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
if kuafusys.actstate[0] and (kuafusys.actstate[0].runing ~= 1) and (getgmlevel(actor)<=0) then
kuafusys.primsg(actor,kuafusys.actstate[0],"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>س<EFBFBD>!")
mapmove(actor, "0", "131", "137", 3)
end
end)
runtimey = runtimey + 60
end
else
2024-12-20 22:02:16 +08:00
tims = { [0] = tims[0]}
2024-12-18 22:57:06 +08:00
runtime = 10*1000
if checkkuafuconnect() then
if not runed then
jhxbbgame.log("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>=><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
end
runed = true
runtime = 5*1000
elseif runed then
jhxbbgame.log("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
if kuafusys.curact and kuafusys.curact.runing == 1 then
kuafusys.endact(sysact, kuafusys.curact)
kuafusys.curact = nil
end
runed = false
end
end
--jhxbbgame.log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6AF>ʱ<EFBFBD><CAB1>+++++++++++++++++",kuafusys.cont)
--release_print("jhxbbgame_kfact..",curtime)
kuafusys.cont = kuafusys.connected()
runtime = 0
if kuafusys.cont then
for key, value in pairs(tims) do
key = tonumber(key)
local ca = kuafusys.actstate[key] or kuafusys.init(key)
if ca then
local timein = (curtime > ca.bgtime) and (curtime < ca.edtime)
ca.i = key
if ca.i == 11111 then
release_print("jhxbbgame_kfact..",curtime,timein,ca.runing,tbl2json(ca))
end
if optmode < 0 or optmode == key then
if timein and ca.runing ~= 1 then
local sun = jhxbbgame.daysun()
while true do
if kuafusys.sun then
if ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
if ((sun ==1) or (sun ==3) or (sun ==5)) then
else
break
end
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if ((sun ==2) or (sun ==4) or (sun ==6)) then
else
break
end
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>" then
if ((sun ==7)) then
else
break
end
end
end
kuafusys.doOpen(sysact,ca)
break
end
end
if not timein and ca.runing == 1 then
kuafusys.doClose(sysact,ca)
end
end
if ca.runing == 1 then
local actmap = jfmaps[ca.i]
--release_print(ca.i.."jhxbbgame_kfact..",tbl2json(mm or {}))
local zyaddok = {{0,0,0,0,0},{0,0,0,0,0}}
if (kuafusys.kaimentime > 0)
and ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
runtime = 1*1000
if kuafusys.kaimen(nil) <= 0 then
kuafusys.pubmsg(ca,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
jhxbbgame.MapPlayRun({"jddd"}, function (actor, m)
local spd = kuafusys.getdataEx(actor, ca.i)
if spd.pd.zy > 0 then
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>ʼ!")
kuafusys.JoinMap(actor,maps[ca.i],spd,spd.pd.zy)
else
jhxbbgame.log(actor,"<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=><3E><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",spd.pd.zy,spd.pd.name,spd.pd.join, spd.pd.mapjoin)
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>!")
kuafusys.gohome(actor)
end
end)
end
else runtime = 5*1000
end
if true then
local guilds={}
local guildnoe = ""
jhxbbgame.MapPlayRun(actmap, function (actor, m)
local spd = kuafusys.getdataEx(actor, ca.i)
--callscriptex(actor, "CHANGEPKPOINT", "=", "0")
if ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
runtime = 5*1000
if spd.pd.zy > 0 then
local x,y=getbaseinfo(actor,4),getbaseinfo(actor,5)
local id = kuafusys.getjd(x,y)
if id >= 0 then
spd.pd.jfkill = (spd.pd.jfkill or 0)+1
ca.zydata[spd.pd.zy].jf = ca.zydata[spd.pd.zy].jf + 1
kuafusys.primsg(actor, ca,"<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"..spd.pd.jfkill..",<2C><><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>:"..ca.zydata[spd.pd.zy].jf)
end
-- if id > 0 and zyaddok[spd.pd.zy][id] == 0 then
-- zyaddok[spd.pd.zy][id] = 1
-- kuafusys.jdjfAdd(ca,spd.pd.zy,x,y,0.416)
-- end
end
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if not getbaseinfo(actor, 0) and (m == "kf0150") then
guildnoe = getbaseinfo(actor, 36)
guilds[guildnoe] = 1
end
runtime = 1*1000
elseif ca.i == 6 then
runtime = 1*1000
elseif ca.i == 7 then
runtime = 1*1000
end
if (spd.pd.join == 1) then
if (ca.i ~= 3) and kuafusys.kaimentime <= 0 then
spd.pd.jf = spd.pd.jf + math.floor(runtime/1000)
if (avtime[ca.i] > 0) and (spd.pd.mapjoin == 0) and (ca.i ~= 3) then
if spd.pd.jf >= avtime[ca.i] then
kuafusys.dcjoin(actor,ca,spd,"<EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>Ծ!")
end
end
end
else
kuafusys.primsg(actor, ca,"δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ,<2C>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>س<EFBFBD>!")
kuafusys.gohome(actor)
end
end)
--<2D><>ͼ<EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if jhxbbgame.len(guilds) == 1 and guildnoe ~= "" and guildnoe ~= castleguid then
castleguid = guildnoe
kuafusys.pubmsg(ca,castleguid.."<EFBFBD>ɹ<EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>˻ʹ<EFBFBD>!")
end
elseif ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
local actor = getplayerbyid(kuafusys.act2playupid)
if kuafusys.act2playupid ~="" and actor
and getbaseinfo(actor,3) == maps[2][1] then
jhxbbgame.showeff(actor, boxeffid , 999999, 20,80)
kuafusys.bxx,kuafusys.bxy=getbaseinfo(actor, 4),getbaseinfo(actor, 5)
else
kuafusys.dropbx(17,56,3,111)
end
end
end
end
end
kuafusys.actstate[key] = ca
end
end
if runtime < 1000 then
if (kuafusys.curact == nil) or (kuafusys.curact.runing ~= 1) then
runtime = 1*1000
else
runtime = 5*1000
end
end
local vv = tbl2json(kuafusys.actstate)
if checkkuafuserver() and sed ~= vv then
sed = vv
savekfdata(vv)
end
end
function savekfdata(d)
local jo = {acts=json2tbl(d)}
local w = io.open("/wlua/kfdata25.txt", "w+")
if w then
local tx = ""
pcall(function (...)
jo.readday = readday
jo.oneguild = oneguild
jo.AllGuilds = AllGuilds
jo.castleguid = castleguid
jo.castleoldguid = castleoldguid
jo.act2playupid = kuafusys.act2playupid
jo.act2monkillplayid = kuafusys.act2monkillplayid
jo.bxx = kuafusys.bxx
jo.bxy = kuafusys.bxy
tx = tbl2json(jo)
end)
--release_print("/wlua/kfdata.txt write -----------",tx)
w:write(tx)
w:close()
end
end
function readkfdata()
local r = io.open("/wlua/kfdata25.txt", "r")
kuafusys.actstate = {}
if not r then
release_print("/wlua/kfdata.txt read fail-----------")
savekfdata("{}")
else
local ret = r:read("*all")
r:close()
release_print("/wlua/kfdata.txt read -----------",md5str(ret),ret)
if (ret) and (ret ~= "") then
jhxbbgame.s2f("/wlua/kfdatar.txt", ret)
local read = json2tbl(ret) or {}
for key, value in pairs(read.acts or {}) do
kuafusys.actstate[tonumber(key)] = value
value.runing = 0
end
readday = read.readday
oneguild = read.oneguild
AllGuilds = read.AllGuilds
castleguid = read.castleguid
castleoldguid = read.castleoldguid
kuafusys.act2playupid = read.act2playupid
kuafusys.act2monkillplayid = read.act2monkillplayid
kuafusys.act2playupidold = read.act2playupidold
kuafusys.act2monkillplayidold = read.act2monkillplayidold
kuafusys.bxx = read.bxx
kuafusys.bxy = read.bxy
end
end
end
local dd = ""
function kuafusys_login(actor, cfg)
if cfg.i == 0 then
dd = ""
elseif cfg.i == 1 then
dd = dd .. cfg.d
elseif cfg.i == 2 then
dd = dd .. cfg.d
local lcfg = json2tbl(dd)
jhxbbgame.log(actor, "-----222-kuafusys_login====>", #dd)
setvarval(actor, lcfg)
--confertitle(actor, jhxbbgame.titleName.kbzl,1)
login(actor)
end
end
function kflogined(actor)
local cfg = getvarval(actor)
local scfg = tbl2json(cfg)
jhxbbgame.log(actor, "-----222-sent.kflogined",#scfg)
local a = #scfg
jhxbbgame.kfcall(actor, "kuafusys_login",tbl2json({i=0}))
local ii = 1
for i = 1, math.floor(a/118), 1 do
local cc = scfg:sub(ii,ii+118-1)
ii = ii+118
jhxbbgame.kfcall(actor, "kuafusys_login",tbl2json({i=1,d=cc}))
end
local cc = scfg:sub(ii,math.min(ii+118,a))
jhxbbgame.kfcall(actor, "kuafusys_login",tbl2json({i=2,d=cc}))
zbcfg.reload(actor,0xff,-1)
end
function kuafusys.click(actor, ui, btn,bt2)
jhxbbgame.log(actor, "kuafusys.click()"..kuafusys.roomopen, ui, btn, bt2)
local spd = kuafusys.getdataEx(actor, ui)
local curtime = jhxbbgame.nowsec()
if ui == 0 then
if not checkkuafuconnect() then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
if jhxbbgame.CInt(actor,"<$PKPOINT>") >= 300 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
if kuafusys.roomopen ~= 1 then
if ((not checktitle(actor, jhxbbgame.titleName.kbzl))
or (getbaseinfo(actor, 39) < 5)) and (not jhxbbgame.IsWQ(actor)) then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
local c1,c2,c3 = (curtime >= spd.s.edtime) , (curtime <= spd.s.bgtime), (spd.s.runing ~= 1)
if c1 or c2 or c3 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>ʼ!")
jhxbbgame.log(actor, "*<2A><EFBFBD><EEB6AF>δ<EFBFBD><CEB4>ʼ!",c1,c2,c3)
return
end
end
SetVarInt(actor,"U024",getattackmode(actor))
kuafusys.gohome(actor)
--jhxbbgame.topui.hide(actor)
--mapmove(actor, "xdt246", 192,179,3)
elseif ui >= 1 and ui <= 8 then
if getgmlevel(actor)> 5 then
-- kuafusys.endguildWar(actor)
-- setcamp(actor, 1)
--kuafusys.endguildWar(actor)
--kuafusys.NColor(actor, 47)
aaa = aaa or 12366666
aaa = aaa + 1
--setcamp(actor, aaa)
jhxbbgame.log(actor, "*<2A><><EFBFBD><EFBFBD>:",checktitle(actor, jhxbbgame.titleName.kbzl) )
end
--<2D><><EFBFBD><EFBFBD>
if (btn == 1) then
if (spd.pd.join == 1) then
jhxbbgame.sendmsg(actor, "<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"..tostring(spd.pd))
return
end
if ((tonumber(getconst(actor, "<$HOUR>")) >= kuafusys.bmHour)) then
jhxbbgame.sendmsg(actor, "<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹʱ<EFBFBD><EFBFBD>!")
return
end
if not takes(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#1000000",0) then
jhxbbgame.sendmsg(actor, "û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>!")
return
end
if (curtime >= spd.s.edtime) then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
spd.pd.join = 1
local lcfg = kuafusys.getdata(actor, ui)
jhxbbgame.hfsv.Incjd(actor, 6, 1)
kuafusys.primsg(actor,spd.s,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!")
jhxbbgame.refUI(actor, namesact[ui], lcfg)
kuafusys.write(actor,ui,1)
elseif (btn == 2) then
--<2D>
if (spd.pd.join ~= 1) then
jhxbbgame.sendmsg(actor, "ʧ<EFBFBD><EFBFBD><><CEB4><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7>μ<EFBFBD>!!")
return
end
if (curtime <= spd.s.bgtime) or spd.s.runing ~= 1 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD>ʼ!")
return
end
if (curtime >= spd.s.edtime) then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
return
end
-- if jhxbbgame.CInt(actor, "<$HUMAN(<28><><EFBFBD><EFBFBD><EFB4A9>)>") <= 0 then
-- jhxbbgame.sendmsg(actor, "<22><>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
-- return
-- end
local m = maps[ui]
--jhxbbgame.log(actor,"*mapmove",tbl2json(m))
if getconst(actor, "<$MAP>") == m[1] then
return
end
IncVar(actor, "u32", 1 * (2 ^ ui))
kuafusys.JoinMap(actor, m, spd,bt2)
end
end
end
function kuafusys.nextcen(actor, c,pass)
local ca = kuafusys.curact
if checkkuafuserver() then
if ca and ca.runing and ca.actname == "<EFBFBD>Ի͵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ" then
local mc = getmoncount("xdt"..(296+ca.mon),-1,true)
jhxbbgame.log(actor, "*"..(296+ca.mon)..".info!"..mc)
if (not pass) and c >= ca.mon and mc > 0 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD>!")
return
end
if ca.mon <= c and mc == 0 then
jhxbbgame.log(actor,ca.mon..".<2E>Ի͵ķ<CDB5><C4B7><EFBFBD><EFBFBD><EFBFBD>Ժ.<2E><>ͼ<EFBFBD>޹<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>!")
ca.mon= ca.mon + 1
end
if 296+ca.mon == 304 then
2024-12-23 01:17:14 +08:00
local spd = kuafusys.getdataEx(actor, ca.i)
if spd.pd.mapjoin == 0 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD>Ծ,<2C>سǺ<D8B3><C7BA>޷<EFBFBD><DEB7>ٽ<EFBFBD><D9BD><EFBFBD><EFBFBD><EFBFBD><EEB6AF>ͼ!")
else
kuafusys.gohome(actor)
end
2024-12-18 22:57:06 +08:00
else
map(actor, "xdt"..(296+ca.mon))
end
end
end
end
function kuafusys.NColor(actor, acl)
--jhxbbgame.bfcall(actor,"kuafusys_ncmod",{cl=acl})
kuafusys_ncmod(actor, {cl=acl})
end
function kuafusys_ncmod(actor, pd)
jhxbbgame.log(actor, "ncmod:",pd.cl)
if pd.cl then
callscriptex(actor, "changenamecolor", tostring(pd.cl))
elseif (pd.zy == 0) then
jhxbbgame.SetDefColor(actor)
elseif (pd.zy == 1) then
callscriptex(actor, "changenamecolor", tostring(249))
else
callscriptex(actor, "changenamecolor", tostring(252))
end
end
function kuafusys.JoinMap(actor, m, spd,bt2)
local ca = spd.s
local name = getbaseinfo(actor, 1)
--jhxbbgame.log(actor, "JoinMap:",ca.actname)
local mid,x,y = m[1], m[2], m[3]
if ca.actname == "<EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
local pwall = ca.zydata[1].pw+ca.zydata[2].pw+1
local apw = getbaseinfo(actor, 20)
if spd.pd.zy == 0 then
if ca.zydata[1].pw/pwall > 0.5 then
spd.pd.zy = 2
else
spd.pd.zy = 1
end
ca.zydata[spd.pd.zy].pw = ca.zydata[spd.pd.zy].pw + apw
end
ca.zydata[spd.pd.zy].plays[getbaseinfo(actor, 2)] = actor
mid = jfmaps[4][1]
if kuafusys.kaimentime > 0 then
mid = jfmaps[4][2]
end
x,y = stpos[spd.pd.zy][1], stpos[spd.pd.zy][2]
kuafusys.setzy(actor, spd.pd.zy)
jhxbbgame.bfcall(actor,"kuafusys_ncmod",{zy=spd.pd.zy})
kuafusys_ncmod(actor, {zy=spd.pd.zy})
kuafusys.LockAttackMode(actor,8)
if tonumber(bt2) ~= 1 then
--kuafusys.primsg(actor,ca,name.."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6AF>ͼ,<2C><>ǰ<EFBFBD><C7B0>Ӫ"..zyname[spd.pd.zy])
jhxbbgame.log(actor, "*JoinMap:",spd.pd.zy, apw,pwall,getcamp(actor))
end
kuafusys.primsg(actor,ca,name.."<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ,<2C><>ǰ<EFBFBD><C7B0>Ӫ"..zyname[spd.pd.zy])
local a = kuafusys.kaimentime - os.time()
if a > 0 then
jhxbbgame.TimeMsg(actor,"<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD><EEB6AF>ʼ.",a)
end
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD>Ϳ<EFBFBD>" then
if bt2 == "ɳ<EFBFBD>ֿ<EFBFBD>" then
x,y = 641, 247
elseif bt2 == "<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>" then
x,y = 671, 281
elseif bt2 == "ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
x,y = 678, 336
elseif bt2 == "<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD>" then
x,y = 684, 292
elseif bt2 == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" then
x,y = 632, 320
end
if not kuafusys.addg(actor) then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>!")
return
end
kuafusys.LockAttackMode(actor,5)
kuafusys.guildWar(actor,1)
elseif ca.actname == "<EFBFBD>Ի͵ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ" then
kuafusys.nextcen(actor, 0, true)
return
elseif ca.actname == "ɱ¾֤<EFBFBD><EFBFBD>" then
kuafusys.LockAttackMode(actor,0)
elseif ca.actname == "<EFBFBD>ս<EFBFBD><EFBFBD>" then
kuafusys.LockAttackMode(actor,5)
elseif ca.actname == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>" then
local a = ca.edtime - jhxbbgame.nowsec()
if a < 60*5 then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD>!")
return
end
elseif ca.actname == "Ⱥ<EFBFBD><EFBFBD><EFBFBD>" then
local a = kuafusys.kaimentime - os.time()
if a > 0 then
jhxbbgame.TimeMsg(actor,"<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD>%d<><64><EFBFBD><EFBFBD><EEB6AF>ʼ.",a)
end
jhxbbgame.bfcall(actor,"___shangmaauto",{u=1,i=1,t=1})
--delskill(actor, 27)
end
if m[2] then
mapmove(actor, mid, x,y, 3)
else
map(actor, mid)
end
if ca.actname == "ɱ¾֤<EFBFBD><EFBFBD>" then
kuafusys.NColor(actor, 251)
end
-- local endt = ca.edtime-jhxbbgame.nowsec()
-- if ca.i == 1 and VarInt(actor,"J10"..ca.i) == 0 then
-- sendcentermsg(actor,180,251,"<22>ȴ<EFBFBD>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6AF>ʼ.",0,endt)
-- SetVarInt(actor,"J10"..ca.i,1)
-- end
--sendcentermsg(actor,180,251,ca.actname.."<22><>ʣ<EFBFBD><CAA3>%d<><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6AF><EFBFBD><EFBFBD>.",0,endt)
end
function kuafusys.addg(actor)
local g = getbaseinfo(actor, 36)
if (not g) or (g == "") then
return false
end
if oneguild == "" then
oneguild = g
end
AllGuilds[g] = 1
return true
end
function kuafusys.endguildWar(actor)
AllGuilds = {}
kuafusys.guildWar(actor,0)
end
function kuafusys.guildWar(actor,t)
if AllGuilds == nil or #AllGuilds == 0 then
AllGuilds = {}
oneguild = ""
jhxbbgame.MapPlayRun(nil, function (a)
kuafusys.addg(a)
end)
end
end
function kuafusys.getdata(actor, ui)
ui = ui or 0
if ui < 0 then
local lcfg = {}
if ui == -1 then
lcfg.cnts = {VarInt(actor,"U021")}
for i = 2, 8, 1 do
lcfg.cnts[i] = VarInt(actor,"J0"..(20+i))
end
elseif ui == -2 then
lcfg.lv = VarInt(actor,"U022")
end
return lcfg
end
local cur = jhxbbgame.nowsec()
local spd = kuafusys.getdataEx(actor, ui)
local lcfg = {jf=0}
if spd then
if cur >= spd.s.edtime then
lcfg.bgtime = (86400 - cur) + spd.s.bgtime
else
if cur >= spd.s.bgtime then
lcfg.bgtime = 0
else
lcfg.bgtime = spd.s.bgtime-cur
end
end
lcfg.join = spd.pd.join
lcfg.jf = spd.pd.jf
lcfg.zy = spd.pd.zy
lcfg.mon = spd.s.mon
lcfg.tx = txcl[spd.s.i]
if ui == 0 then
lcfg.cont = kuafusys.cont
end
if spd.pd.zy > 0 and spd.s.zydata then
lcfg.jf = math.floor(spd.s.zydata[spd.pd.zy].jf)
end
end
--jhxbbgame.log(actor, ui .. ".kuafusys.getdata::", tbl2json(lcfg))
return lcfg
end
function kuafusys.getdataEx(actor, ui)
local ret = kuafusys.getUiddataEx(getbaseinfo(actor, 2), ui)
if ret then
ret.pd.name = getbaseinfo(actor, 1)
return ret
end
end
function kuafusys.getUiddataEx(uid, ui)
ui = ui or 0
local ls = kuafusys.actstate[ui]
if ls then
local lpd = ls.playdatas[uid]
if lpd == nil then
local aname= ""
local actor = getplayerbyid(uid)
if actor then
aname=getbaseinfo(actor, 1)
end
lpd = {name = aname,join = kuafusys.read(actor,ui), jf = 0,mapjoin=0,zy=0 }
ls.playdatas[uid] = lpd
end
kuafusys.actstate[ui] = ls
return { s = ls, pd = lpd }
end
end
function kuafusys_openui(actor, ui)
local cj = ui[2] or 0
ui = ui[1]
release_print("-----kuafusys_openui=>",ui)
if cj == 1 then
kuafusys.clickcaiji(actor, ui)
return
end
if ui >100000 then
kuafusys.jdclick(actor, ui - 100000)
return
end
local npcid = 691+ui --706-712
local snpcid = tonumber(npcid)
if ui >= 15 then
ui = ui -14
kuafusys.nextcen(actor, ui)
else
sendluamsg(actor, 31118, npcid, 0, 0,
tbl2json({ fn = namesact[ui], cfg = kuafusys.getdata(actor,ui), code = jhxbbgame.ui[namesact[ui]], npcid = npcid }))
end
end
function kuafusys.openui(actor, ui,cj)
cj = cj or 0
jhxbbgame.kfcall(actor, "kuafusys_openui", tbl2json({ui,cj}))
end
function kuafusys_click(actor,a)
kuafusys.click(actor, a[1], a[2], a[3])
end
kuafusys.msgproc[1381] = function(actor, msgid, n1, n2, n3, sMsg)
if n1 == 0 then
kuafusys.click(actor, n1, n2)
elseif n1 == 1118 then
if n2 >= 1 and n2 <= 8 then
local cntsmax ={1,1,5,10,10,10,10,10}
local cfg = kuafusys.getdata(actor, -1)
if cfg.cnts[n2] >= cntsmax[n2] then
jhxbbgame.sendmsg(actor, "<EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>þ<EFBFBD>!")
return
end
local need= {
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#20",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#5",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#2",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#1",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#1",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#1",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#1",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#1",
}
local giv={
"<EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#1#339",
"<EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#1#339",
"<EFBFBD><EFBFBD>Դ֮<EFBFBD><EFBFBD>#1#339",
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#1#339",
"<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>Դ#1#339",
"Զ<EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD>#1#339",
"<EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD>ʯ#1#339",
"̫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʯ#1#339",
}
if not takes(actor,need[n2],"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>") then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>!")
else
gives(actor,giv[n2],"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>")
if n2 == 1 then
IncVar(actor,"U021")
else
IncVar(actor,"J0"..(20+n2))
end
cfg = kuafusys.getdata(actor, -1)
jhxbbgame.refUI(actor, "npc704", cfg)
end
elseif n2 == 1118 then
local curlv = VarInt(actor,"U022")
if curlv >= 10 then
jhxbbgame.sendmsg(actor, "<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!")
--SetVarInt(actor,"U022",0)
return
end
local need= {
10, 1000, 1000,
30 ,2000,2000,
60 ,3000,3000,
100 ,4000,4000,
200 ,5000,5000,
300 ,6000,6000,
350 ,7000,7000,
400 ,8000,8000,
450 ,9000,9000,
500 ,10000,10000,
}
local sneed = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѫ<EFBFBD><EFBFBD>#"..need[curlv*3+1]
sneed = sneed.."&<26><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>#"..need[curlv*3+2]
sneed = sneed.."&<26><><EFBFBD><EFBFBD>ʯ#"..need[curlv*3+3]
if not takes(actor,sneed,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") then
jhxbbgame.sendmsg(actor, "<EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>!")
else
IncVar(actor,"U022")
local til = {
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.1",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.2",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.3",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.4",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.5",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.6",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.7",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.8",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.9",
"ս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҫLV.MAX",
}
curlv= curlv+1
--<2D>ͼ<EFBFBD>
for k,v in pairs(til) do
deprivetitle(actor, v)
end
confertitle(actor, til[curlv])
jhxbbgame.refUI(actor, "npc705", kuafusys.getdata(actor, -2))
end
end
else
jhxbbgame.kfcall(actor, "kuafusys_click", tbl2json({n1, n2, sMsg}))
end
--jhxbbgame.openUI(actor, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", lcfg,"kf00")
end
--genmon("kf3", 672, 278, "MainDoor",0,1,255)
for key, value in pairs(zypos) do
delmapeffect(1118+key)
mapeffect(1118+key, "xdt294", value[1], value[2], 70250, -1, 0)
end
-- killmapmon("xdt293",0,0,99999,"*",0,1)
-- killmapmon("xdt246",0,0,99999,"*",0,1)
-- genmon("xdt293", 26, 52, "һ<><D2BB>½-<2D><><EFBFBD>ö<EFBFBD>",5,1,255)
-- genmon("xdt246", 185, 169, "һ<><D2BB>½-<2D><><EFBFBD>ö<EFBFBD>",5,1,255)
-- --genmon("xdt246", 185, 169, "ʯĹ<CAAF><C4B9><EFBFBD><EFBFBD>6",1,1,255)
-- throwitem("0",maps[2][1],26, 52,2,"<22><><EFBFBD><EFBFBD><E6B1A6>",1,0,1,true,false,false,1,false)
clearkfgate()
grobalcleardelaygoto("jhxbbgame_kfact")
grobaldelaygoto(100, "jhxbbgame_kfact")
return kuafusys