2024-12-23 01:17:14 +08:00
|
|
|
|
local zbcfg = zbcfg
|
2024-12-26 00:24:17 +08:00
|
|
|
|
|
|
|
|
|
|
local monmp =
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
[2675]= 1,-- <09><><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2676]= 500,--|3#10#45|3#12#45 Ȥζ<C8A4><CEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>
|
|
|
|
|
|
[2677]= 500,--|3#10#45|3#12#45 <09><EFBFBD><DFBC>ڳ<EFBFBD>
|
|
|
|
|
|
[2678]= 500,--|3#10#45|3#12#45 <09><><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>
|
|
|
|
|
|
[2679]= 1,-- <09>Ͳ<EFBFBD>ͯ<EFBFBD><CDAF>
|
|
|
|
|
|
[2680]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2681]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2682]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2683]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2684]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2685]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>)
|
|
|
|
|
|
[2686]= 6,-- <09>ػ<EFBFBD><D8BB><EFBFBD>
|
|
|
|
|
|
[2687]= 9,-- <09><><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2688]= 8,-- Ӱ<><D3B0>ħ<EFBFBD><C4A7>
|
|
|
|
|
|
[2689]= 8,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ
|
|
|
|
|
|
[2690]= 8,-- <09><><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7>
|
|
|
|
|
|
[2691]= 8,-- Ѫ<><D1AA><EFBFBD><EFBFBD>ħ
|
|
|
|
|
|
[2692]= 8,-- <09>籩ħѻ
|
|
|
|
|
|
[2693]= 8,-- <09><><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7>
|
|
|
|
|
|
[2694]= 8,-- <09><>Ԩħ<D4A8><C4A7>
|
|
|
|
|
|
[2695]= 7,-- <09><><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2696]= 8,-- <09><><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2697]= 1,-- <09><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>
|
|
|
|
|
|
[2699]= 99,-- <09><><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
|
|
|
|
|
|
[2700]= 99,-- <09><><EFBFBD><EFBFBD>Ĩɱ<C4A8><C9B1>
|
|
|
|
|
|
[2701]= 99,-- ʱ<><CAB1>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2702]= 99,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԧ<EFBFBD><D4A6>
|
|
|
|
|
|
[2703]= 99,-- а<><D0B0><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD>
|
|
|
|
|
|
[2704]= 99,-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2705]= 99,-- <09>־<EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
[2706]= 99,-- <09><><EFBFBD>ؾ<EFBFBD>з
|
|
|
|
|
|
[2707]= 99,-- <09>»<EFBFBD>
|
|
|
|
|
|
[2708]= 99,-- Ұ<><D2B0>
|
|
|
|
|
|
[2709]= 99,-- <09><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2024-12-18 22:57:06 +08:00
|
|
|
|
function takeonex(actor, -- object <09><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|
|
|
|
|
item, --object <09><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
|
|
|
|
|
|
where, --integer <09><>/<2F><>λ<EFBFBD><CEBB>
|
|
|
|
|
|
itemName, --string <09><>Ʒ<EFBFBD><C6B7>
|
|
|
|
|
|
makeindex --integer
|
|
|
|
|
|
)
|
2024-12-20 18:32:40 +08:00
|
|
|
|
local idx = tonumber(zbcfg.idx(actor, item))
|
2024-12-18 22:57:06 +08:00
|
|
|
|
jhxbbgame.log(actor,"take.onex = ", itemName, where,idx)
|
|
|
|
|
|
if takeonex6 then
|
|
|
|
|
|
takeonex6(actor, item, where, itemName, makeindex)
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.reload(actor,999,-idx)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function takeoffex(actor, -- object <09><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|
|
|
|
|
item, --object <09><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>
|
|
|
|
|
|
where, --integer <09><>/<2F><>λ<EFBFBD><CEBB>
|
|
|
|
|
|
itemName, --string <09><>Ʒ<EFBFBD><C6B7>
|
|
|
|
|
|
makeindex --integer
|
|
|
|
|
|
)
|
|
|
|
|
|
local idx = zbcfg.idx(actor, item)
|
|
|
|
|
|
|
|
|
|
|
|
zbcfg.reload(actor,13,idx)
|
|
|
|
|
|
|
2024-12-20 18:32:40 +08:00
|
|
|
|
jhxbbgame.log(actor,"take.offex = ", itemName, where, idx)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function delayequipchg(actor, tp, offidx)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-20 18:32:40 +08:00
|
|
|
|
tp = oldtoint(tp) or VarInt(actor,"N$reload_tp")
|
|
|
|
|
|
offidx = VarInt(actor,"N$reload_offidx")
|
|
|
|
|
|
SetVarStr(actor,"N$reload_offidx",0)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--jhxbbgame.log(actor, ".delayequipchg.init = ")
|
|
|
|
|
|
makebodyitemindexs(actor, nil, 1+tp*100, offidx)
|
|
|
|
|
|
end
|
|
|
|
|
|
function zbcfg.reload(actor,tp,offidx)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-20 18:32:40 +08:00
|
|
|
|
--jhxbbgame.log(actor,"zbcfg.reload = ", tp, offidx)
|
|
|
|
|
|
|
2024-12-18 22:57:06 +08:00
|
|
|
|
tp = tp or 666
|
|
|
|
|
|
offidx = offidx or 0
|
2024-12-20 18:32:40 +08:00
|
|
|
|
SetVarStr(actor,"N$reload_tp",tp)
|
|
|
|
|
|
if offidx > 0 then
|
|
|
|
|
|
SetVarStr(actor,"N$reload_offidx",offidx)
|
|
|
|
|
|
end
|
|
|
|
|
|
--delayequipchg(actor,tp,offidx)
|
|
|
|
|
|
jhxbbgame.delayone(actor, 588, "delayequipchg")
|
2024-12-18 22:57:06 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bodyitem_index = {}
|
|
|
|
|
|
local oldpkpoint = {}
|
|
|
|
|
|
function pkpointchanged(actor, pkv)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
pkv = pkv or 0
|
|
|
|
|
|
-- local old = oldpkpoint[actor] or 0
|
|
|
|
|
|
-- if old ~= pkv and pkv > old then
|
|
|
|
|
|
-- --jhxbbgame.SetPKFlag(actor, 1)
|
|
|
|
|
|
-- end
|
|
|
|
|
|
-- oldpkpoint[actor] = pkv
|
|
|
|
|
|
zbcfg.checkpkzb(actor, { pkv = pkv, timecur = jhxbbgame.ticksec(), zb = 111 })
|
|
|
|
|
|
end
|
|
|
|
|
|
function zbcfg.NowRecalcAbil(actor)
|
|
|
|
|
|
if not checkkuafuserver() then
|
|
|
|
|
|
callscript(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>TXTִ<EFBFBD><EFBFBD>", "@<40>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>")
|
|
|
|
|
|
recalcabilitys(actor)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.initex(actor, items)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local cnt = 0
|
|
|
|
|
|
local vdata = { timecur = jhxbbgame.ticksec() }
|
|
|
|
|
|
for key, value in pairs(items) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
if value and value(actor, vdata) then
|
|
|
|
|
|
jhxbbgame.log(actor, key, ".<2E><>ʼ<EFBFBD><CABC> = ")
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
return cnt
|
|
|
|
|
|
end
|
|
|
|
|
|
function zbcfg.init(actor, items)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local cnt = 0
|
|
|
|
|
|
local zlcnt = 0
|
|
|
|
|
|
local kkv = 0
|
|
|
|
|
|
local kk = {[1]=55555, [2]=33333, [3]=44444, [4]=66666}
|
|
|
|
|
|
for key, value in pairs({ zbcfg.idxs[1], zbcfg.idxs[2], zbcfg.idxs[4], zbcfg.idxs[5]}) do
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, value) then
|
|
|
|
|
|
zlcnt = zlcnt + 1
|
|
|
|
|
|
kkv = kkv + kk[key]
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetVarInt(actor, "N$<24><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>", kkv)
|
|
|
|
|
|
|
|
|
|
|
|
-- <20>Ĵ<EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ԣ<EFBFBD>
|
|
|
|
|
|
SetVarInt(actor, "U018", 0)
|
|
|
|
|
|
--jhxbbgame.log(actor, ".zbcfg.init = ",jhxbbgame.any2str(items))
|
|
|
|
|
|
--throughhum(actor, 0, 99999999, 0)
|
|
|
|
|
|
|
|
|
|
|
|
addattlist(actor, "ר<EFBFBD><EFBFBD>", "=","",0)
|
|
|
|
|
|
delattlist(actor, "ר<EFBFBD><EFBFBD>")
|
|
|
|
|
|
addattlist(actor, "ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ֮ŭ", "=","",0)
|
|
|
|
|
|
delattlist(actor, "ר<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ֮ŭ")
|
|
|
|
|
|
|
|
|
|
|
|
setflagstatus(actor, 103, 0)
|
|
|
|
|
|
zbcfg.NowRecalcAbil(actor)
|
|
|
|
|
|
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[16]) then
|
|
|
|
|
|
--ȼ<>յ<EFBFBD>ͼ<EFBFBD><CDBC> "<22><><EFBFBD>걬<EFBFBD><EAB1AC><EFBFBD><EFBFBD>ȴʱ<C8B4><CAB1>-30<33><30><EFBFBD><EFBFBD><EFBFBD>걬<EFBFBD><EAB1AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>+15<31><35>
|
|
|
|
|
|
SetVarInt(actor, "U025", 30)
|
|
|
|
|
|
SetVarInt(actor, "U026", 15)
|
|
|
|
|
|
else
|
|
|
|
|
|
SetVarInt(actor, "U025", 0)
|
|
|
|
|
|
SetVarInt(actor, "U026", 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
local cdkt = 0
|
|
|
|
|
|
local cdzr = 0
|
|
|
|
|
|
local qgv = 0
|
|
|
|
|
|
local attr = 0
|
|
|
|
|
|
local qgadd = 0
|
|
|
|
|
|
--local hasmag = getskillinfo(actor,1002,1)~=nil
|
|
|
|
|
|
if zlcnt >= 2 then
|
|
|
|
|
|
--2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --<2D>Թ<EFBFBD><D4B9>и<EFBFBD>2W
|
|
|
|
|
|
qgv = 20000
|
|
|
|
|
|
jhxbbgame.log(actor, "*2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E>и<EFBFBD>+++20000")
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[18]) then
|
|
|
|
|
|
--<2D><><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6>ȴʱ<C8B4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20%<25><>
|
|
|
|
|
|
cdkt = 6*0.2
|
|
|
|
|
|
cdzr = 6*0.2
|
|
|
|
|
|
end
|
|
|
|
|
|
setskilldeccd(actor, "<EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD><EFBFBD><EFBFBD>", "=", cdzr)
|
|
|
|
|
|
setskilldeccd(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն", "=", cdkt)
|
|
|
|
|
|
|
|
|
|
|
|
if zlcnt >= 3 then
|
|
|
|
|
|
--3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>նɱ<D5B6>䵱ǰѪ<C7B0><D1AA><EFBFBD><EFBFBD>5%<25><>
|
|
|
|
|
|
--SetVarInt(actor, "U018", 5)
|
|
|
|
|
|
qgadd = qgadd + 10
|
|
|
|
|
|
addattlist(actor, "ר<EFBFBD><EFBFBD>",
|
|
|
|
|
|
"+", "3#1#10000", 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
if zlcnt >= 4 then
|
|
|
|
|
|
--4<><34><EFBFBD>ף<EFBFBD><D7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><DCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A1B1A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<CDB7><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>CD180<38>롣
|
|
|
|
|
|
if getskilllevel(actor, 1002) <= 0 then
|
|
|
|
|
|
addskill(actor, 1002, 3)
|
|
|
|
|
|
local cur = jhxbbgame.ticksec()
|
|
|
|
|
|
if cur >= VarInt(actor, "U019") then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "U019", 3)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
else
|
|
|
|
|
|
delskill(actor, 1002)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local kcnt = math.min(VarInt(actor, "U011"), 50)
|
|
|
|
|
|
if (kcnt > 0) and zbcfg.GetBodyItem(actor, zbcfg.idxs[19]) then
|
|
|
|
|
|
--<2D><>ˮ<EFBFBD><CBAE>ʯ
|
|
|
|
|
|
local abil = "3#4#" .. (kcnt * 10)
|
|
|
|
|
|
.. "|3#1#" .. (kcnt * 100)
|
|
|
|
|
|
jhxbbgame.log(actor, "*<2A><>ˮ<EFBFBD><CBAE>ʯ.+++"..kcnt,abil)
|
|
|
|
|
|
addattlist(actor, "ר<EFBFBD><EFBFBD>",
|
|
|
|
|
|
"+", abil, 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
if getflagstatus(actor, 102) == 1 then
|
|
|
|
|
|
jhxbbgame.log(actor, "*ĥ<><C4A5>.<2E>и<EFBFBD>+++5000")
|
|
|
|
|
|
qgv = qgv + 5000
|
|
|
|
|
|
end
|
|
|
|
|
|
qgadd = qgadd + tonumber(getconst(actor, "<$ATTR[222]>"))
|
|
|
|
|
|
|
|
|
|
|
|
local rmb = querymoney(actor, 16) + querymoney(actor, 17)
|
|
|
|
|
|
if rmb > 0 and zbcfg.GetBodyItem(actor, zbcfg.idxs[17]) then
|
|
|
|
|
|
rmb = math.min(rmb,50000) * 2
|
|
|
|
|
|
qgv = qgv + rmb
|
|
|
|
|
|
jhxbbgame.log(actor, "*<2A><><EFBFBD><EFBFBD>.<2E>и<EFBFBD>+++ "..rmb)
|
|
|
|
|
|
end
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[3],1,true) then
|
|
|
|
|
|
jhxbbgame.GMLog(actor,"*103 <20>ϼ<EFBFBD>")
|
|
|
|
|
|
setflagstatus(actor, 103, 1)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if qgadd > 0 then
|
|
|
|
|
|
attr = tonumber(getconst(actor, "<$ATTR[74]>"))
|
|
|
|
|
|
--jhxbbgame.log(actor, "*222.<2E>и<EFBFBD>+++% ",attr,qgv,qgadd)
|
|
|
|
|
|
|
|
|
|
|
|
qgv = qgv + math.floor((attr + qgv) * (qgadd / 100))
|
|
|
|
|
|
end
|
|
|
|
|
|
if qgv > 0 then
|
|
|
|
|
|
--jhxbbgame.log(actor, "*.<2E>и<EFBFBD>+++ ",qgv)
|
|
|
|
|
|
addattlist(actor, "ר<EFBFBD><EFBFBD>", "=", "3#74#"..qgv, 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
local kf = false--checkkuafu(actor)
|
|
|
|
|
|
if not kf then
|
|
|
|
|
|
zbcfg.initex(actor,items)
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.NowRecalcAbil(actor)
|
|
|
|
|
|
|
|
|
|
|
|
-- jhxbbgame.log(actor, zbcfg.idxs[17],
|
|
|
|
|
|
-- zbcfg.GetBodyItem(actor, zbcfg.idxs[17]),rmb,
|
|
|
|
|
|
-- "--------------װ<><D7B0>.init = "
|
|
|
|
|
|
-- , qgv,attr,qgadd,
|
|
|
|
|
|
-- cnt, jhxbbgame.len(items),cdkt,cdzr)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.uninit(actor, idx,itemName)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--delayequipchg(actor,222)
|
|
|
|
|
|
local vdata = { timecur = jhxbbgame.ticksec() }
|
|
|
|
|
|
local value = zbcfg.zbx[idx]
|
|
|
|
|
|
--local xh = ""
|
|
|
|
|
|
if value then
|
|
|
|
|
|
--xh = xh .. "," .. idx
|
|
|
|
|
|
vdata.zb = idx
|
|
|
|
|
|
value(actor, vdata)
|
|
|
|
|
|
-- if then
|
|
|
|
|
|
-- xh = xh .. "=1"
|
|
|
|
|
|
-- end
|
|
|
|
|
|
end
|
|
|
|
|
|
--zbcfg.reload(actor)
|
|
|
|
|
|
jhxbbgame.log(actor, "װ<EFBFBD><EFBFBD>.ж<><D0B6> = "
|
|
|
|
|
|
, idx,itemName)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.GetBodyItem(actor, i, cnt,log)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
cnt = cnt or 1
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local uid = actor--getbaseinfo(actor, 2)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local Itma = bodyitem_index[uid]
|
|
|
|
|
|
if not Itma then
|
|
|
|
|
|
zbcfg.reload(actor,555)
|
|
|
|
|
|
return false
|
|
|
|
|
|
-- makebodyitemindexs(actor, false,200000+i)
|
|
|
|
|
|
-- Itma = bodyitem_index[uid] or {}
|
|
|
|
|
|
end
|
|
|
|
|
|
local Itm = Itma[11] or {}
|
|
|
|
|
|
local ret = (Itm["i"..i] or 0) >= cnt
|
|
|
|
|
|
-- if log then
|
|
|
|
|
|
-- jhxbbgame.GMLog(actor,"*BodyItem",Itm["i"..i],i,"end")
|
|
|
|
|
|
-- end
|
|
|
|
|
|
return ret,"i"..i,Itm["i"..i]
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--[[
|
|
|
|
|
|
{[92]=44
|
|
|
|
|
|
,[84]=27,[75]=20,[91]=43,[86]=28,[88]=29,[90]=42,[83]=26}
|
|
|
|
|
|
]]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zbcfg.eqpos = {77,111,74,108,112,101,105,109,79
|
|
|
|
|
|
,75,106,110,107,78,9,
|
|
|
|
|
|
44,27,20,43,28,29,42,26,100,80,103,102,71,104
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.cdpass(actor, vdata, mode, tp)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local cfg = zbcfg.CD[vdata.zb]
|
|
|
|
|
|
local cd = (cfg and (cfg[1])) or 0
|
|
|
|
|
|
--release_print("cdpass.cd = ", cd,tbl2json(cfg))
|
|
|
|
|
|
if cd > 0 then
|
|
|
|
|
|
local savedcd = VarInt(actor, cfg[2])
|
|
|
|
|
|
local otime = os.time()
|
|
|
|
|
|
if otime > savedcd then
|
|
|
|
|
|
--release_print("cdpass = ", vdata.zb, mode, cd, cfg[2])
|
|
|
|
|
|
--SetVarInt(actor, cfg[2], vdata.timecur + cd)
|
|
|
|
|
|
return true
|
|
|
|
|
|
else
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
return true
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.cdupdate(actor, vdata, mode)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local cfg = zbcfg.CD[vdata.zb];
|
|
|
|
|
|
local cd = (cfg and cfg[1]) or 0
|
|
|
|
|
|
if cd > 0 then
|
|
|
|
|
|
local ncd = os.time() + cd
|
|
|
|
|
|
--jhxbbgame.log(actor, "cdupdate.cd = ", vdata.zb, ncd, tbl2json(cfg))
|
|
|
|
|
|
SetVarInt(actor, cfg[2], ncd)
|
|
|
|
|
|
return cd
|
|
|
|
|
|
end
|
|
|
|
|
|
return 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.die(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local vdata = {
|
|
|
|
|
|
timecur = jhxbbgame.ticksec(),
|
|
|
|
|
|
max_hp = getbaseinfo(actor, 10),
|
|
|
|
|
|
selfx = getbaseinfo(actor, 4),
|
|
|
|
|
|
selfy = getbaseinfo(actor, 5)
|
|
|
|
|
|
}
|
|
|
|
|
|
SetVarInt(actor, "U011", 0)
|
|
|
|
|
|
jhxbbgame.log(actor, jhxbbgame.len(zbcfg.zbd), ".die = 666")
|
|
|
|
|
|
SetVarInt(actor, "N$<24><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>", vdata.timecur)
|
|
|
|
|
|
svautoplay.die(actor)
|
|
|
|
|
|
for key, value in pairs(zbcfg.zbd) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
vdata.died = true
|
|
|
|
|
|
if value
|
|
|
|
|
|
and zbcfg.GetBodyItem(actor, vdata.zb, 1)
|
|
|
|
|
|
and zbcfg.cdpass(actor, vdata, 2)
|
|
|
|
|
|
and value(actor, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 1)
|
|
|
|
|
|
release_print(key, ".die = ")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.Realive(actor,m)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local vdata = {
|
|
|
|
|
|
timecur = jhxbbgame.ticksec(),
|
|
|
|
|
|
max_hp = getbaseinfo(actor, 10),
|
|
|
|
|
|
hp = getbaseinfo(actor, 9),
|
|
|
|
|
|
hiter = getplayerbyid(VarStr(actor, "S$<24><>ɱ<EFBFBD><C9B1>id"))
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.HideUI(actor, "fuhuotanchuang")
|
|
|
|
|
|
local rethp = jhxbbgame.IncHP(actor, vdata.max_hp)
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.log(actor,getbaseinfo(actor,1), ".Realive = ",m,vdata.hp,rethp,vdata.hiter,VarStr(actor, "S$<24><>ɱ<EFBFBD><C9B1>id"))
|
|
|
|
|
|
|
|
|
|
|
|
SetVarStr(actor, "S$<24><>ɱ<EFBFBD><C9B1>id", "")
|
|
|
|
|
|
for key, value in pairs(zbcfg.zbr) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
if value
|
|
|
|
|
|
and zbcfg.cdpass(actor, vdata, 2)
|
|
|
|
|
|
and zbcfg.GetBodyItem(actor, vdata.zb, 1)
|
|
|
|
|
|
and value(actor, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 1)
|
|
|
|
|
|
jhxbbgame.log(actor, key, ".<2E><><EFBFBD><EFBFBD> = ")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
zbcfg.ResetVarAtLogin = { "D99" }
|
|
|
|
|
|
function zbcfg.login(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
svautoplay.die(actor)
|
|
|
|
|
|
jhxbbgame.log(actor,"x"..getbaseinfo(actor, 2),getconst(actor, "<$USERACCOUNT>"),getbaseinfo(actor, 1), "zbcfg.login---------------")
|
|
|
|
|
|
zbcfg.reload(actor,333, -1)
|
|
|
|
|
|
--<2D><><EFBFBD>аԵ<D0B0>
|
|
|
|
|
|
if jhxbbgame.timeSecAt(actor, "U10",os.time())
|
|
|
|
|
|
or VarInt(actor, "U10") < 1 then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "U10", 300,os.time())
|
|
|
|
|
|
end
|
|
|
|
|
|
setontimer(actor, 18, 1, 0, 1)
|
|
|
|
|
|
SetVarInt(actor, "D99", jhxbbgame.ticksec() + 1001118)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function sendability(actor, bb)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
-- if false and getgmlevel(actor) > 1 then
|
|
|
|
|
|
-- jhxbbgame.log(actor,
|
|
|
|
|
|
-- "sendability:ר<><D7A8>=",
|
|
|
|
|
|
-- getattlist(actor, "ר<><D7A8>")
|
|
|
|
|
|
-- ,getconst(actor, "<$ATTR[74]>")
|
|
|
|
|
|
-- ,getconst(actor, "<$ATTR[222]>")
|
|
|
|
|
|
-- --,tbl2json(attrtab(actor))
|
|
|
|
|
|
|
|
|
|
|
|
-- )--)
|
|
|
|
|
|
-- end
|
|
|
|
|
|
sendability6(actor)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function kflogin(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
jhxbbgame.bfcall(actor, "kflogined", {})
|
|
|
|
|
|
release_print(actor, ".kflogin **= ")
|
|
|
|
|
|
--login(actor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- makebodyitemindexs(actor)
|
|
|
|
|
|
-- zbcfg.login(actor)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function kuafuend(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
SetVarInt(actor,"N$kftime", os.time())
|
|
|
|
|
|
kuafusys.kend(actor)
|
|
|
|
|
|
jhxbbgame.ShowTopBtn(actor)
|
|
|
|
|
|
zbcfg.reload(actor,333, -1)
|
|
|
|
|
|
release_print(actor, ".kuafuend = ")
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function bfsyscall19(actor, arg1, arg2)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local role_name = getbaseinfo(actor, 1)
|
|
|
|
|
|
release_print("<EFBFBD>յ<EFBFBD>֪ͨ", role_name, arg1, arg2)
|
|
|
|
|
|
local cfg = json2tbl(arg1) or {15,0}
|
|
|
|
|
|
delaygoto(actor, 888, "makebodyitemindexs,r,"..(cfg[1] or 16)..","..(cfg[2] or 0))
|
|
|
|
|
|
--makebodyitemindexs(actor,nil,cfg[1] or 16,cfg[2] or 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function makebodyitemindexs(actor, r, tp, offidx)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
offidx = tonumber(offidx) or 0
|
|
|
|
|
|
tp = tonumber(tp) or 17
|
|
|
|
|
|
if checkkuafu(actor) and not checkkuafuserver() then
|
|
|
|
|
|
--release_print("<22><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>QF")
|
|
|
|
|
|
r = nil
|
|
|
|
|
|
bfbackcall(19, getbaseinfo(actor, 2), tbl2json({tp, offidx}))
|
|
|
|
|
|
--return
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local uid = actor--getbaseinfo(actor, 2)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--repairall(actor)
|
|
|
|
|
|
local pbodyitem_index = { {}, {}, {}, {}, {}, {}, {} }
|
|
|
|
|
|
local itmInit = {}
|
|
|
|
|
|
pbodyitem_index[11] = {}
|
|
|
|
|
|
pbodyitem_index[20] = {}
|
|
|
|
|
|
pbodyitem_index[21] = {}
|
|
|
|
|
|
pbodyitem_index[22] = {}
|
|
|
|
|
|
pbodyitem_index[23] = {}
|
|
|
|
|
|
local ids = ""
|
|
|
|
|
|
local ty = { 1, 2, 3, 5 }
|
|
|
|
|
|
for k, v in pairs(zbcfg.eqpos) do
|
|
|
|
|
|
local id = jhxbbgame.BodyItem(actor, v)
|
|
|
|
|
|
if id then
|
|
|
|
|
|
ids = ids .. "," .. id
|
|
|
|
|
|
pbodyitem_index[11]["i"..id] = (pbodyitem_index[11]["i"..id] or 0) + 1
|
|
|
|
|
|
local cfg = jhxbbgame.zb[id]
|
|
|
|
|
|
if cfg then
|
|
|
|
|
|
pbodyitem_index[20][id] = cfg
|
|
|
|
|
|
if cfg[11] then
|
|
|
|
|
|
itmInit[id] = cfg[11]
|
|
|
|
|
|
end
|
|
|
|
|
|
if cfg[21] then
|
|
|
|
|
|
pbodyitem_index[21][id] = cfg
|
|
|
|
|
|
end
|
|
|
|
|
|
if cfg[10] then
|
|
|
|
|
|
pbodyitem_index[23][id] = cfg
|
|
|
|
|
|
end
|
|
|
|
|
|
if cfg[22] then
|
|
|
|
|
|
pbodyitem_index[22][id] = cfg
|
|
|
|
|
|
end
|
|
|
|
|
|
for key, i in pairs(ty) do
|
|
|
|
|
|
if cfg[i] then
|
|
|
|
|
|
pbodyitem_index[i][#pbodyitem_index[i]+1] = id
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
pbodyitem_index[10] = itmInit
|
|
|
|
|
|
jhxbbgame.log(actor,getbaseinfo(actor, 1),"make.bodyitemindexs = ", #ids, r,tp,offidx)
|
|
|
|
|
|
bodyitem_index[uid] = pbodyitem_index
|
|
|
|
|
|
if not checkkuafuserver() then
|
|
|
|
|
|
--if offidx < 0 then
|
|
|
|
|
|
zbcfg.init(actor, itmInit)
|
|
|
|
|
|
--end
|
|
|
|
|
|
if offidx > 0 then
|
|
|
|
|
|
zbcfg.uninit(actor, offidx)
|
|
|
|
|
|
end
|
|
|
|
|
|
-- else
|
|
|
|
|
|
-- if offidx < 0
|
|
|
|
|
|
-- then
|
|
|
|
|
|
-- zbcfg.initex(actor, itmInit)
|
|
|
|
|
|
-- end
|
|
|
|
|
|
-- if offidx > 0 then
|
|
|
|
|
|
-- zbcfg.uninit(actor, offidx)
|
|
|
|
|
|
-- end
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function getbodyitemindexs(actor, mode)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
mode = mode or 1
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local uid = actor--getbaseinfo(actor, 2)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local pbodyitem_index = bodyitem_index[uid]
|
|
|
|
|
|
if pbodyitem_index then
|
|
|
|
|
|
return pbodyitem_index[mode]
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.reload(actor,888+mode*1000000)
|
|
|
|
|
|
return {}
|
|
|
|
|
|
-- makebodyitemindexs(actor, nil, 10000+mode)
|
|
|
|
|
|
-- return bodyitem_index[uid][mode]
|
|
|
|
|
|
--release_print("makebodyitemindexs = "..tostring(bodyitem_index[0]).." "..tostring(bodyitem_index[1]))
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function bfsyscall18(actor, arg1, arg2)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local role_name = getbaseinfo(actor, 1)
|
|
|
|
|
|
--release_print("<22>յ<EFBFBD>֪ͨ", role_name, arg1, arg2)
|
|
|
|
|
|
ontimer18(actor)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--ÿ<><C3BF>ִ<EFBFBD><D6B4>,<2C><><EFBFBD><EFBFBD>Ҳִ<D2B2><D6B4>
|
|
|
|
|
|
function ontimer18(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--setofftimer(actor, 18)
|
|
|
|
|
|
|
|
|
|
|
|
if checkkuafuserver()--~=checkkuafu(actor)
|
|
|
|
|
|
then
|
|
|
|
|
|
-- release_print("<22><><EFBFBD><EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ontimer18")
|
|
|
|
|
|
-- bfbackcall(18, getbaseinfo(actor, 2), "ÿ<><C3BF>ִ<EFBFBD><D6B4>")
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.LogLuaMem()
|
|
|
|
|
|
--local max_hp = getbaseinfo(actor, 10)
|
|
|
|
|
|
--release_print("ontimer18 = ", max_hp * 0.01, jhxbbgame.ticksec(), checkkuafu(actor))
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
local vdata = {
|
|
|
|
|
|
max_hp = getbaseinfo(actor, 10),
|
|
|
|
|
|
hp = getbaseinfo(actor, 9),
|
|
|
|
|
|
timecur = jhxbbgame.ticksec()
|
|
|
|
|
|
}
|
|
|
|
|
|
local myitems = getbodyitemindexs(actor, 23)
|
|
|
|
|
|
--local log = {}
|
|
|
|
|
|
for key, value in pairs(myitems) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
if value and value.v then
|
|
|
|
|
|
local v = VarInt(actor, value.v)
|
|
|
|
|
|
--SetVarInt(actor, value.v,0)
|
|
|
|
|
|
--release_print(".ÿ<><C3BF>11buf = ", value.v,v,vdata.timecur)
|
|
|
|
|
|
if v > 0 and vdata.timecur <= v then
|
|
|
|
|
|
value[10](actor, vdata)
|
|
|
|
|
|
|
|
|
|
|
|
--release_print(".ÿ<><C3BF>22buf = ", value.v,VarInt(actor, value.v))
|
|
|
|
|
|
-- if then
|
|
|
|
|
|
-- log[key] = { value.v, v }
|
|
|
|
|
|
-- end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
-- if jhxbbgame.len(log) > 0 then
|
|
|
|
|
|
-- jhxbbgame.log(actor, ".ÿ<><C3BF>buf = ", tbl2json(log))
|
|
|
|
|
|
-- end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function boomRange(player, r, eff)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
r = tonumber(r)
|
|
|
|
|
|
local map_id = getbaseinfo(player, 3)
|
|
|
|
|
|
local x = getbaseinfo(player, 4)
|
|
|
|
|
|
local y = getbaseinfo(player, 5)
|
|
|
|
|
|
local monster_list = getmapmon(map_id, "", x, y, r)
|
|
|
|
|
|
local ret = #monster_list
|
|
|
|
|
|
local pos = jhxbbgame.rpos[r]
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.log(player, "boomRange----", #pos)
|
|
|
|
|
|
|
|
|
|
|
|
for key, value in pairs(pos) do
|
|
|
|
|
|
jhxbbgame.mapeff(player, eff, value.x + x, value.y + y)
|
|
|
|
|
|
end
|
|
|
|
|
|
if type(monster_list) == "table" then
|
|
|
|
|
|
for k, mon in pairs(monster_list) do
|
|
|
|
|
|
local mx = math.abs(getbaseinfo(mon, 4) - x)
|
|
|
|
|
|
local my = math.abs(getbaseinfo(mon, 5) - y)
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.log(player, "boomRange----", mx, my, r)
|
|
|
|
|
|
if (mx == r and my <= r)
|
|
|
|
|
|
or (mx <= r and my == r) then
|
|
|
|
|
|
ret = jhxbbgame.DecHP(mon, 0.11)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.log(player, "*boomRange" .. ret .. ",eff:" .. eff)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function canpush(actor, target,hiter, magid,result)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--jhxbbgame.log(hiter,"*hiter",result)
|
|
|
|
|
|
-- jhxbbgame.log(target,"->target")
|
|
|
|
|
|
local ret = jhxbbgame.canpush(hiter, target)
|
|
|
|
|
|
|
|
|
|
|
|
if ret then
|
|
|
|
|
|
return 1
|
|
|
|
|
|
else
|
|
|
|
|
|
return 2
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function jhxbbgame.canpush(self, tag)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local sr,tr = getbaseinfo(self, 39) , getbaseinfo(tag, 39)
|
|
|
|
|
|
local sl,tl = getbaseinfo(self, 6) , getbaseinfo(tag, 6)
|
|
|
|
|
|
local boret = (sr > tr)
|
|
|
|
|
|
or ((sr == tr) and (sl > tl))
|
|
|
|
|
|
|
|
|
|
|
|
boret = boret or zbcfg.GetBodyItem(self, zbcfg.idxs[7])
|
|
|
|
|
|
or zbcfg.GetBodyItem(self, zbcfg.idxs[8])
|
|
|
|
|
|
jhxbbgame.log(self, "*canpush:", boret,sr , tr,sl,tl)
|
|
|
|
|
|
return boret
|
|
|
|
|
|
end
|
|
|
|
|
|
function magtagfunc27(actor, target)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if isnotnull(target) then
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[7]) then
|
|
|
|
|
|
makeposion(target, 5, 1)
|
|
|
|
|
|
elseif zbcfg.GetBodyItem(actor, zbcfg.idxs[8]) then
|
|
|
|
|
|
makeposion(target, 5, 2)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function magtag11111func1003(actor, target)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if isnotnull(target) then
|
|
|
|
|
|
if isplayer(actor) then
|
|
|
|
|
|
local cnt = tonumber(jhxbbgame.CInt(actor, "<$ATTR[74]>")) * 2
|
|
|
|
|
|
jhxbbgame.sendmsg(actor,
|
|
|
|
|
|
getbaseinfo(target, 5) .. "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" .. cnt)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function magtagfunc66111(actor, target)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--<2D><><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD>ն50%<25><><EFBFBD><EFBFBD>ǿ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>Ŀ<EFBFBD><C4BF>1<EFBFBD><31>
|
|
|
|
|
|
if isnotnull(target) then
|
|
|
|
|
|
--jhxbbgame.HintEff(target, "<22><><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function magtagfunc71(actor, target)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
if isnotnull(target)
|
|
|
|
|
|
and jhxbbgame.canpush(actor, target) then
|
|
|
|
|
|
|
|
|
|
|
|
makeposion(target,5,1.5)
|
|
|
|
|
|
jhxbbgame.HintEff(target, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
jhxbbgame.HintEff(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
function magtagfunc2012(actor, target)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if isnotnull(target) then
|
|
|
|
|
|
if isplayer(actor) then
|
|
|
|
|
|
-- local cnt = tonumber(jhxbbgame.CInt(actor, "<$ATTR[74]>")) * 2
|
|
|
|
|
|
-- jhxbbgame.sendmsg(actor,
|
|
|
|
|
|
-- getbaseinfo(target, 5) .. "tag<61><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" .. cnt)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function addwd(actor, time, hint)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--changemode(actor,1,1)
|
|
|
|
|
|
if isplayer(actor) then
|
|
|
|
|
|
time = tonumber(time)
|
|
|
|
|
|
if checkhumanstate(actor, 11, 1) then
|
|
|
|
|
|
makeposion(actor, 0, 1, 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "N$<24>н<DEB5><D0BD><EFBFBD>ʱ<EFBFBD><CAB1>", time)
|
|
|
|
|
|
jhxbbgame.showeff(actor, 141, time)
|
|
|
|
|
|
jhxbbgame.log(actor, hint .. "+<2B><EFBFBD>")
|
|
|
|
|
|
jhxbbgame.HintEff(actor, hint)
|
|
|
|
|
|
else
|
|
|
|
|
|
jhxbbgame.log(actor,getbaseinfo(actor,1), hint .. "+<2B><>gg<67><67>")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--<2D><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
|
function beginmagic(actor, skillId, skillName, target, x, y)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
beginmagic6(actor, skillId, skillName, target, x, y)
|
|
|
|
|
|
if "xdt316" == getbaseinfo(actor,3) and (skillId == 6 or skillId == 51) then
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
--jhxbbgame.GMLog(actor, "*",skillName,skillId,getbaseinfo(actor,3))
|
|
|
|
|
|
--jhxbbgame.log(actor, skillName..".2...="..getskilldqcd(actor,skillName))
|
|
|
|
|
|
|
|
|
|
|
|
--skillrestcd(actor,skillId,0)
|
|
|
|
|
|
if VarInt(actor,"N$cd"..skillName) == 1 then
|
|
|
|
|
|
jhxbbgame.log(actor, "*<2A>ָ<EFBFBD>CD.",skillName..".2...="..getskilldqcd(actor,skillName))
|
|
|
|
|
|
|
|
|
|
|
|
SetVarInt(actor,"N$cd"..skillName,0)
|
|
|
|
|
|
setskilldeccd(actor,skillName,"=",0)
|
|
|
|
|
|
end
|
|
|
|
|
|
local vdata = { timecur = jhxbbgame.ticksec() }
|
|
|
|
|
|
if skillId == 2002 then
|
|
|
|
|
|
if jhxbbgame.timeSecAt(actor, "U138", vdata.timecur) then
|
|
|
|
|
|
jhxbbgame.sendmsg(actor, "CD300<EFBFBD><EFBFBD>")
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "N$<24>н<DEB5><D0BD><EFBFBD>ʱ<EFBFBD><CAB1>", 3)
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "U138", 300)
|
|
|
|
|
|
makeposion(actor, 12, 3)
|
|
|
|
|
|
elseif skillId == 1002 then
|
|
|
|
|
|
local bohave = false
|
|
|
|
|
|
for key, value in pairs({ 7, 8, 9, 10, 11 }) do
|
|
|
|
|
|
if checkhumanstate(actor, value) then
|
|
|
|
|
|
bohave = true
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if not bohave then
|
|
|
|
|
|
for i = 1, 8, 1 do
|
|
|
|
|
|
if checkhumanstate(actor, 12, i) then
|
|
|
|
|
|
bohave = true
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if bohave and not jhxbbgame.timeSecAt(actor, "U019", vdata.timecur) then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "U019", 180, vdata.timecur)
|
|
|
|
|
|
delbuff(actor, 31126)
|
2024-12-20 22:02:16 +08:00
|
|
|
|
jhxbbgame.SettimeSec(actor, "N$<24>ƶ<EFBFBD><C6B6><EFBFBD>Ѫ", 0)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
jhxbbgame.SettimeSec(actor, "N$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", 0)
|
2024-12-20 22:02:16 +08:00
|
|
|
|
|
2024-12-18 22:57:06 +08:00
|
|
|
|
delbuff(actor, 31124)
|
|
|
|
|
|
delbuff(actor, 31118)
|
|
|
|
|
|
delbuff(actor, 31119)
|
|
|
|
|
|
detoxifcation(actor, -1)
|
|
|
|
|
|
jhxbbgame.log(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
jhxbbgame.HintEff(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
end
|
|
|
|
|
|
return
|
|
|
|
|
|
elseif skillId == 1005 then
|
|
|
|
|
|
if jhxbbgame.timeSecAt(actor, "U139", vdata.timecur) then
|
|
|
|
|
|
jhxbbgame.sendmsg(actor, "CD300<EFBFBD><EFBFBD>.")
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor, "U139", 300)
|
|
|
|
|
|
|
|
|
|
|
|
local mapid = getbaseinfo(actor, 3)
|
|
|
|
|
|
local plays = getobjectinmap(mapid, x, y, 4, 1)
|
|
|
|
|
|
jhxbbgame.mapeff(actor, 42, x, y)
|
|
|
|
|
|
for key, value in pairs(plays) do
|
|
|
|
|
|
if not ispropertarget(actor, value) then
|
|
|
|
|
|
jhxbbgame.SettimeSec(value, "U150", 6)
|
|
|
|
|
|
jhxbbgame.log(value, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
jhxbbgame.sendmsg(value, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif skillId == 10051 then
|
|
|
|
|
|
local timecur = jhxbbgame.ticksec()
|
|
|
|
|
|
if jhxbbgame.timeSecAt(actor, "U139", timecur) then
|
|
|
|
|
|
jhxbbgame.sendmsg(actor, "CD300<EFBFBD><EFBFBD>.")
|
|
|
|
|
|
return false
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--jhxbbgame.SettimeSec(actor,"U139",300)
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.sendmsg(actor, "Boom.")
|
|
|
|
|
|
local eff = { 60450, 60451, 60452 }
|
|
|
|
|
|
for i = 1, 3 do
|
|
|
|
|
|
delaygoto(actor, i * 1000,
|
|
|
|
|
|
"boomRange," .. (i * 2) .. "," .. eff[i], 1)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
local myitems = getbodyitemindexs(actor, 22)
|
|
|
|
|
|
vdata.max_hp = getbaseinfo(actor, 10) or 1
|
|
|
|
|
|
vdata.hp = getbaseinfo(actor, 9)
|
|
|
|
|
|
vdata.selfx = getbaseinfo(actor, 4)
|
|
|
|
|
|
vdata.selfy = getbaseinfo(actor, 5)
|
|
|
|
|
|
|
|
|
|
|
|
for key, value in pairs(myitems) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
if zbcfg.cdpass(actor, vdata, nil, 2) then
|
|
|
|
|
|
--local cfg = zbcfg.a21[value]
|
|
|
|
|
|
local cfg = jhxbbgame.zb[key]
|
|
|
|
|
|
--jhxbbgame.log(actor,"addbuff.a21:",cfg,value)
|
|
|
|
|
|
|
|
|
|
|
|
if cfg and cfg[22]
|
|
|
|
|
|
and cfg[22](actor, target, actor, skillId, 0, 0, vdata)
|
|
|
|
|
|
then
|
|
|
|
|
|
--release_print(value, ".<2E>ͷż<CDB7><C5BC><EFBFBD>A = ", skillId)
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 3)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--<2D>ܻ<EFBFBD>
|
|
|
|
|
|
local cdmon = {}
|
|
|
|
|
|
local posDamage = {}
|
|
|
|
|
|
local MDposxy = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local cdmon3 = {}
|
|
|
|
|
|
function FnPosDamage(sysobj, Hiter)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local cnt = posDamage[Hiter] or 0
|
|
|
|
|
|
local pos = MDposxy[Hiter]
|
|
|
|
|
|
if cnt >= 1 and (pos) then
|
|
|
|
|
|
cnt = cnt - 1
|
|
|
|
|
|
posDamage[Hiter] = cnt
|
|
|
|
|
|
grobaldelaygoto(1000, "FnPosDamage," .. Hiter)
|
|
|
|
|
|
local plays = getobjectinmap(pos[1], pos[2], pos[3], 2, 1)
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.log(sysobj, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶.", jhxbbgame.len(plays))
|
|
|
|
|
|
for key, value in pairs(plays or {}) do
|
|
|
|
|
|
local ret = jhxbbgame.DecHP(value, 0.2)
|
|
|
|
|
|
jhxbbgame.log(value, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶.<2E><><EFBFBD><EFBFBD> -20%", ret)
|
|
|
|
|
|
jhxbbgame.HintEff(value, "<EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ѫ<><D1AA>-20%")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function struckdamage(actor, Hiter, Target, MagicId, Damage)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--struckdamage6(actor, Hiter, Target, MagicId, Damage)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local dtime = gettcount64()
|
|
|
|
|
|
local xbb = jhxbbgame
|
2024-12-26 00:24:17 +08:00
|
|
|
|
-- if false
|
|
|
|
|
|
-- --and hasbuff(actor, 31119)
|
|
|
|
|
|
-- and isplayer(Target)
|
|
|
|
|
|
-- then
|
|
|
|
|
|
-- xbb.log(Target,
|
|
|
|
|
|
-- "*struckdamage!" ,MagicId,
|
|
|
|
|
|
-- getbaseinfo(Target, 5),
|
|
|
|
|
|
-- ismon(Hiter),isplayer(Hiter))
|
|
|
|
|
|
-- --return 0
|
|
|
|
|
|
-- end
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local vdata = { timecur = xbb.ticksec() }
|
2024-12-26 00:24:17 +08:00
|
|
|
|
xbb.autoplay.struck(actor,Hiter,vdata)
|
|
|
|
|
|
local hp = getbaseinfo(Hiter,-1)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local hm = ismon(Hiter)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local tp = getbaseinfo(Target,-1)
|
|
|
|
|
|
--local tm = ismon(Target)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local monmax = getbaseinfo(Target,12)
|
|
|
|
|
|
if (not hp) and (not hm) and monmax > 0 then
|
|
|
|
|
|
xbb.log(Hiter,"212.monmax:",monmax)
|
|
|
|
|
|
return monmax
|
|
|
|
|
|
end
|
2024-12-26 00:24:17 +08:00
|
|
|
|
-- if ((xbb.attfundis or 0) == 1) then
|
|
|
|
|
|
-- return Damage
|
|
|
|
|
|
-- end
|
|
|
|
|
|
if tp
|
2024-12-18 22:57:06 +08:00
|
|
|
|
and xbb.timeSecAt(Target, "N$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>19", vdata.timecur) then
|
|
|
|
|
|
SetVarInt(Target, "N$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>19", 0)
|
|
|
|
|
|
xbb.sendmsg(Hiter, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>")
|
|
|
|
|
|
xbb.log(actor, Target, ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>", Damage)
|
|
|
|
|
|
return 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
if tp
|
2024-12-18 22:57:06 +08:00
|
|
|
|
and xbb.timeSecAt(Target, "N$<24>н<DEB5><D0BD><EFBFBD>ʱ<EFBFBD><CAB1>", vdata.timecur) then
|
|
|
|
|
|
xbb.HintEff(Hiter, "Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>")
|
|
|
|
|
|
--jhxbbgame.HintEff(Target, "<22><EFBFBD><DEB5><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>1")
|
|
|
|
|
|
xbb.log(actor, Target, ".<2E><EFBFBD><DEB5><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>", Damage)
|
|
|
|
|
|
xbb.showeff(Target, 141, 1)
|
|
|
|
|
|
return 0
|
|
|
|
|
|
end
|
|
|
|
|
|
local retdam = Damage
|
2024-12-26 00:24:17 +08:00
|
|
|
|
if tp
|
2024-12-18 22:57:06 +08:00
|
|
|
|
and Target == actor then
|
2024-12-26 00:24:17 +08:00
|
|
|
|
--strdamageing = vdata.timecur
|
2024-12-18 22:57:06 +08:00
|
|
|
|
vdata.max_hp = getbaseinfo(actor, 10) or 1
|
|
|
|
|
|
vdata.hp = getbaseinfo(actor, 9)
|
|
|
|
|
|
vdata.selfx = getbaseinfo(actor, 4)
|
|
|
|
|
|
vdata.selfy = getbaseinfo(actor, 5)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
if hp
|
|
|
|
|
|
and tp
|
2024-12-18 22:57:06 +08:00
|
|
|
|
and Target == actor then
|
|
|
|
|
|
local myitems = getbodyitemindexs(actor, 3)
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
--release_print(jhxbbgame.len(myitems).."struck.111.damage = ", Damage, MagicId)
|
|
|
|
|
|
for i = 1, #myitems, 1 do
|
|
|
|
|
|
local value = myitems[i]
|
|
|
|
|
|
vdata.zb = value
|
|
|
|
|
|
if zbcfg.cdpass(actor, vdata, 3) then
|
|
|
|
|
|
local cfg = xbb.zb[value]
|
|
|
|
|
|
zbcfg.last = value
|
|
|
|
|
|
zbcfg.last2 = zbcfg.last
|
|
|
|
|
|
if cfg and cfg[3] and cfg[3](actor, Target, Hiter, MagicId, Damage, 0, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 3)
|
|
|
|
|
|
--jhxbbgame.log(actor, value, ".<2E><><EFBFBD><EFBFBD><EFBFBD>﹥<EFBFBD><EFB9A5> = ", Damage)
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.last = nil
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
2024-12-26 00:24:17 +08:00
|
|
|
|
elseif hm then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local myitems = getbodyitemindexs(actor, 5)
|
|
|
|
|
|
local mid = tonumber(getbaseinfo(Hiter, 55)) - 2665
|
|
|
|
|
|
--release_print(Hiter, ".<2E><><EFBFBD><EFBFBD><EFBFBD>﹥<EFBFBD><EFB9A5> = ", mid, mcd)
|
|
|
|
|
|
if mid == 1 then
|
|
|
|
|
|
local mcd = tonumber(cdmon[Hiter])
|
|
|
|
|
|
if vdata.timecur >= mcd then
|
|
|
|
|
|
cdmon[Hiter] = (vdata.timecur + 11)
|
|
|
|
|
|
posDamage[Hiter] = 5
|
|
|
|
|
|
MDposxy[Hiter] = { getbaseinfo(Hiter, 3), vdata.selfx, vdata.selfy }
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶.<2E><><EFBFBD><EFBFBD> -20%", jhxbbgame.any2str(false, MDposxy[Hiter]))
|
|
|
|
|
|
xbb.mapeff(actor, 60344, nil, nil, nil, 5)
|
|
|
|
|
|
grobaldelaygoto(1000, "FnPosDamage," .. Hiter)
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif mid == 2 then
|
|
|
|
|
|
if not zbcfg.GetBodyItem(actor, zbcfg.idxs[2]) then
|
|
|
|
|
|
--local ret =
|
|
|
|
|
|
xbb.DecHP(actor, 0.4)
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> -40%", ret)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<22><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>")
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif mid == 3 then
|
|
|
|
|
|
local mcd = tonumber(cdmon3[Hiter])
|
|
|
|
|
|
if vdata.timecur >= mcd
|
|
|
|
|
|
and (not zbcfg.GetBodyItem(actor, zbcfg.idxs[4])) then
|
|
|
|
|
|
cdmon3[Hiter] = (vdata.timecur + 30)
|
|
|
|
|
|
local ret = xbb.DecHP(actor, 0.1)
|
|
|
|
|
|
makeposion(actor, 0, 10, ret)
|
|
|
|
|
|
addbuff(actor, 31126, 10)
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22>ж<EFBFBD><D0B6>˺<EFBFBD> -10%", ret)
|
|
|
|
|
|
xbb.HintEff(actor, "<EFBFBD>ж<EFBFBD><EFBFBD>˺<EFBFBD>")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
|
|
|
|
|
|
for i = 1, #myitems, 1 do
|
|
|
|
|
|
local value = myitems[i]
|
|
|
|
|
|
vdata.zb = value
|
|
|
|
|
|
if zbcfg.cdpass(actor, vdata, 5) then
|
|
|
|
|
|
local cfg = xbb.zb[value]
|
|
|
|
|
|
zbcfg.last = value
|
|
|
|
|
|
zbcfg.last2 = zbcfg.last
|
|
|
|
|
|
if cfg and cfg[5] and cfg[5](actor, Target, Hiter, MagicId, Damage, 0, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 3)
|
|
|
|
|
|
--if > 0 then
|
|
|
|
|
|
--jhxbbgame.log(value, ".<2E><><EFBFBD><EFBFBD><EFBFBD>﹥<EFBFBD><EFB9A5> = ", Damage)
|
|
|
|
|
|
--end
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.last = nil
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local v = VarInt(actor, "D97")
|
|
|
|
|
|
if v > 0 then
|
|
|
|
|
|
--jhxbbgame.log(actor, "*<2A>ž<EFBFBD><C5BE><EFBFBD>ħ<EFBFBD><C4A7>.<2E><>Ѫ<EFBFBD><D1AA> - ", v)
|
|
|
|
|
|
if v < retdam then
|
|
|
|
|
|
retdam = retdam - v
|
|
|
|
|
|
v = 0
|
|
|
|
|
|
else
|
|
|
|
|
|
v = v - retdam
|
|
|
|
|
|
retdam = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
xbb.showeff(actor, 141)
|
|
|
|
|
|
SetVarInt(actor, "D97", v)
|
|
|
|
|
|
end
|
|
|
|
|
|
local xs = getbaseinfo(actor, 51, 223)
|
|
|
|
|
|
if (vdata.pwRate and vdata.pwRate ~= 1) or xs > 0 then
|
|
|
|
|
|
vdata.pwRate = (vdata.pwRate or 1) - (tonumber(getbaseinfo(actor, 51, 223)) / 100)
|
|
|
|
|
|
if vdata.pwRate < 0 then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22>˺<EFBFBD>.<2E><><EFBFBD><EFBFBD> = ", vdata.max_hp, vdata.pwRate)
|
|
|
|
|
|
|
|
|
|
|
|
retdam = 0
|
|
|
|
|
|
else
|
|
|
|
|
|
retdam = math.max(math.min(retdam * vdata.pwRate, 1000 * 10000), 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[13]) then
|
|
|
|
|
|
local mhp = getbaseinfo(actor, 10)
|
|
|
|
|
|
local v = math.floor(mhp * 0.33)
|
|
|
|
|
|
if v > 0 and retdam > v then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22><EFBFBD><D7BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD> = ", v)
|
|
|
|
|
|
retdam = math.min(retdam, v)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if zbcfg.GetBodyItem(actor, zbcfg.idxs[14]) then
|
|
|
|
|
|
local hpr = vdata.hp / vdata.max_hp
|
|
|
|
|
|
if hpr <= 0.5 then
|
|
|
|
|
|
local ret = math.floor(vdata.max_hp * 0.1)
|
|
|
|
|
|
--jhxbbgame.log(actor, "ĩ<><C4A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD> = ", vdata.max_hp, ret)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "ĩ<><C4A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD>" .. ret)
|
|
|
|
|
|
|
|
|
|
|
|
retdam = math.min(retdam, ret)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
--release_print("attack.ret.damage = ",Damage,cnt)
|
|
|
|
|
|
dtime = gettcount64()-dtime
|
|
|
|
|
|
if dtime >= 60 then
|
|
|
|
|
|
xbb.log(actor, getbaseinfo(actor, 1), "*dtime.end. - ", dtime,zbcfg.last,
|
|
|
|
|
|
MagicId,zbcfg.last2, retdam)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return retdam
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function attackdamage(actor, -- object <09><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|
|
|
|
|
Target, -- object <09>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Hiter, -- object <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
MagicId, -- integer <09><><EFBFBD><EFBFBD>ID
|
|
|
|
|
|
Damage, -- integer <09>˺<EFBFBD>
|
|
|
|
|
|
Model -- integer <09><><EFBFBD><EFBFBD>64_23.10.24<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ģʽ
|
|
|
|
|
|
)
|
|
|
|
|
|
--attacklong(actor, Target, Hiter, MagicId)
|
|
|
|
|
|
-- if --true
|
|
|
|
|
|
-- false
|
|
|
|
|
|
-- then
|
|
|
|
|
|
-- jhxbbgame.GMLog(Hiter, "*Att:",Model,MagicId,Damage,getbaseinfo(Target, 9),getbaseinfo(Target, 10))
|
|
|
|
|
|
|
|
|
|
|
|
-- end
|
|
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>1= ", Model, MagicId,getbaseinfo(Target,12))
|
2024-12-26 00:24:17 +08:00
|
|
|
|
|
|
|
|
|
|
local xbb = jhxbbgame
|
|
|
|
|
|
if (Model ~= 0) --or ((xbb.attfundis or 0) == 1)
|
|
|
|
|
|
then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
return Damage
|
|
|
|
|
|
end
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local hp = isplayer(Hiter)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local stime = gettcount64()
|
2024-12-18 22:57:06 +08:00
|
|
|
|
kuafusys.pking(Target, actor,Damage)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
if hp
|
2024-12-26 00:24:17 +08:00
|
|
|
|
and xbb.timeSecAt(Hiter, "N$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
xbb.sendmsg(Hiter, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч")
|
|
|
|
|
|
xbb.log(Hiter, "*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч= ")
|
|
|
|
|
|
return 0
|
|
|
|
|
|
end
|
|
|
|
|
|
-- if isplayer(actor)
|
|
|
|
|
|
-- and ismon(Target)
|
|
|
|
|
|
-- --and hasbuff(actor, 31119)
|
|
|
|
|
|
-- then
|
|
|
|
|
|
-- --jhxbbgame.sendmsg(actor, MagicId.."attackdamage!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч"..getbaseinfo(Target, 5))
|
|
|
|
|
|
-- return 0
|
|
|
|
|
|
-- end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- if isplayer(actor)
|
|
|
|
|
|
-- and ismon(Target)
|
|
|
|
|
|
-- --and hasbuff(actor, 31119)
|
|
|
|
|
|
-- then
|
|
|
|
|
|
-- --jhxbbgame.sendmsg(actor, Model.."attackdamage!"..getbaseinfo(Target, 5))
|
|
|
|
|
|
-- --return 0
|
|
|
|
|
|
-- end
|
|
|
|
|
|
|
|
|
|
|
|
if hp
|
|
|
|
|
|
-- and Model == 3
|
|
|
|
|
|
and MagicId == 1003 then
|
|
|
|
|
|
-- local cnt = jhxbbgame.CInt(Hiter,"<$ATTR[74]>")
|
|
|
|
|
|
-- cnt = jhxbbgame.DecHP(Target, cnt,101)
|
|
|
|
|
|
-- jhxbbgame.sendmsg(Hiter, getbaseinfo(Target, 5) .. "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+" .. Model)
|
|
|
|
|
|
return 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local retdam = Damage
|
|
|
|
|
|
local vdata = {
|
|
|
|
|
|
dam = 0,
|
|
|
|
|
|
timecur = xbb.ticksec(),
|
|
|
|
|
|
rate = math.random(1, 10000),
|
|
|
|
|
|
hp = getbaseinfo(actor, 9),
|
|
|
|
|
|
max_hp = getbaseinfo(actor, 10),
|
|
|
|
|
|
tmax_hp = getbaseinfo(Target, 10),
|
|
|
|
|
|
thp = getbaseinfo(Target, 9)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
attackdamage6(actor, Target, Hiter, MagicId, Damage, Model,vdata)
|
|
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>6= ", Model, MagicId,getbaseinfo(Target,12))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local hm = ismon(Hiter)
|
|
|
|
|
|
local tp = isplayer(Target)
|
|
|
|
|
|
local tm = ismon(Target)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local tmid = (tm and getbaseinfo(Target, 55)) or 0
|
|
|
|
|
|
local monmax = (tm and monmp[tmid] or 0) or 0
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if (not hp) and (not hm) and monmax > 0 then
|
|
|
|
|
|
--jhxbbgame.log(Hiter,"11.monmax:",monmax)
|
|
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>.12= ", Model, MagicId,getbaseinfo(Target,12))
|
|
|
|
|
|
|
|
|
|
|
|
return monmax
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
vdata.selfx = getbaseinfo(actor, 4)
|
|
|
|
|
|
vdata.selfy = getbaseinfo(actor, 5)
|
|
|
|
|
|
--release_print("attack.111.damage = ", Damage, MagicId)
|
|
|
|
|
|
|
2024-12-23 01:17:14 +08:00
|
|
|
|
-- if attdamageing == vdata.timecur then
|
|
|
|
|
|
-- attdamageingcnt = attdamageingcnt + 1
|
2024-12-18 22:57:06 +08:00
|
|
|
|
-- jhxbbgame.log(actor, "*SkipAtt. - ",attdamageingcnt, zbcfg.last,
|
|
|
|
|
|
-- MagicId,zbcfg.last2)
|
|
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>.13= ", Model, MagicId,getbaseinfo(Target,12))
|
|
|
|
|
|
|
2024-12-23 01:17:14 +08:00
|
|
|
|
-- return Damage
|
|
|
|
|
|
-- end
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>.15= ", Model, MagicId,getbaseinfo(Target,12))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local function k95(aretdam)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
|
|
|
|
|
if tm and (monmax <= 0) then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if getflagstatus(actor, 103) == 1 and
|
|
|
|
|
|
(vdata.thp / vdata.tmax_hp)>=0.96 then
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<><D7B9>ʹ")
|
|
|
|
|
|
aretdam = aretdam + vdata.tmax_hp * 0.1
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2024-12-26 00:24:17 +08:00
|
|
|
|
stime = gettcount64()-stime
|
|
|
|
|
|
if stime >= 60 then
|
|
|
|
|
|
xbb.log(actor, getbaseinfo(actor, 1), "*stime.end. - ", stime,zbcfg.last,
|
|
|
|
|
|
MagicId,zbcfg.last2, retdam)
|
|
|
|
|
|
end
|
2024-12-18 22:57:06 +08:00
|
|
|
|
return aretdam
|
|
|
|
|
|
end
|
|
|
|
|
|
if tp then
|
|
|
|
|
|
if xbb.timeSecAt(Target, "D96", vdata.timecur) then
|
|
|
|
|
|
xbb.sendmsg(Target, "<EFBFBD><EFBFBD><EFBFBD>췱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
2024-12-26 00:24:17 +08:00
|
|
|
|
retdam = 0
|
2024-12-18 22:57:06 +08:00
|
|
|
|
elseif xbb.timeSecAt(Target, "N$<24>н<DEB5><D0BD><EFBFBD>ʱ<EFBFBD><CAB1>", vdata.timecur) then
|
|
|
|
|
|
xbb.sendmsg(Target, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>")
|
2024-12-26 00:24:17 +08:00
|
|
|
|
retdam = 0
|
2024-12-18 22:57:06 +08:00
|
|
|
|
else
|
|
|
|
|
|
local myitems = getbodyitemindexs(actor, 1)
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
---release_print("attack.222.damage = ", jhxbbgame.len(myitems))
|
|
|
|
|
|
for i = 1, #myitems, 1 do
|
|
|
|
|
|
local value = myitems[i]
|
|
|
|
|
|
vdata.zb = value
|
|
|
|
|
|
if zbcfg.cdpass(actor, vdata, 1) then
|
|
|
|
|
|
local cfg = xbb.zb[value]
|
|
|
|
|
|
zbcfg.last = value
|
|
|
|
|
|
zbcfg.last2 = zbcfg.last
|
|
|
|
|
|
if cfg and cfg[1] and cfg[1](actor, Target, Hiter, MagicId, Damage, 0, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 1)
|
|
|
|
|
|
--jhxbbgame.log(value, ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ", Damage)
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.last = nil
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
local vv = VarInt(actor, "U018")
|
2024-12-23 01:17:14 +08:00
|
|
|
|
vv = vv + getbaseinfo(actor, 51, 232)/ 100
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if vv > 0 then
|
|
|
|
|
|
vv = vdata.thp*(vv / 100)
|
|
|
|
|
|
--local hpv =
|
|
|
|
|
|
xbb.DecHP(Target, vv)
|
|
|
|
|
|
|
2024-12-23 01:17:14 +08:00
|
|
|
|
--jhxbbgame.GMLog(Hiter, "*<2A><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8>ٷֱ<D9B7>= ", vv, getbaseinfo(actor, 51, 232))
|
2024-12-18 22:57:06 +08:00
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif tm then
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local mid1 = tmid--tonumber(getbaseinfo(Target, 55))
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if 2679 == mid1 then
|
|
|
|
|
|
if MagicId > 100 then
|
|
|
|
|
|
retdam = 1
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif monmax <= 0 then
|
|
|
|
|
|
local mid = mid1 - 2665
|
|
|
|
|
|
--jhxbbgame.GMLog(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>= ", mid, mid1,getbaseinfo(Target,12))
|
|
|
|
|
|
if (mid >= 1) and (mid <= 8) then
|
|
|
|
|
|
local kv = VarInt(actor, "N$<24><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>")
|
|
|
|
|
|
if (kv > 0) then
|
|
|
|
|
|
kv = xbb.DecHP(Target,kv,119,nil,nil,nil,nil,kv)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<22><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>+"..kv)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if mid == 3 then
|
|
|
|
|
|
if (not zbcfg.GetBodyItem(actor, zbcfg.idxs[4])) then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22>Ĵ<EFBFBD>·<EFBFBD><C2B7>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", ret)
|
|
|
|
|
|
xbb.HintEff(actor, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
return k95(0)
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif mid == 4 then
|
|
|
|
|
|
if (not zbcfg.GetBodyItem(actor, zbcfg.idxs[2]))
|
|
|
|
|
|
or (not zbcfg.GetBodyItem(actor, zbcfg.idxs[4])) then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22><><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", ret)
|
|
|
|
|
|
xbb.HintEff(actor, "<EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
|
|
|
|
|
|
return k95(0)
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif mid == 5 then
|
|
|
|
|
|
if (not zbcfg.GetBodyItem(actor, zbcfg.idxs[1])) then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22><><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", ret)
|
|
|
|
|
|
xbb.HintEff(actor, "<EFBFBD><EFBFBD>5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
return k95(0)
|
|
|
|
|
|
else
|
|
|
|
|
|
return retdam + vdata.tmax_hp * 0.01
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif mid == 6 then
|
|
|
|
|
|
if (not zbcfg.GetBodyItem(actor, zbcfg.idxs[5])) then
|
|
|
|
|
|
--jhxbbgame.log(actor, "<22>ߴ<EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>١<EFBFBD><D9A1><EFBFBD><EFBFBD><EFBFBD>", ret)
|
|
|
|
|
|
xbb.HintEff(actor, "<EFBFBD><EFBFBD>6<EFBFBD><EFBFBD><EFBFBD>١<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
|
|
|
|
|
|
|
|
|
|
|
|
return k95(0)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if vdata.hp < vdata.max_hp then
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local monxx = getbaseinfo(actor, 51, 209)--xbb.CInt(actor, "<$ATTR[209]>")
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if hasbuff(actor, 31126) or
|
|
|
|
|
|
hasbuff(actor, 31132) then
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "*<2A>Թ<EFBFBD><D4B9><EFBFBD>Ѫ<EFBFBD><D1AA>Ч" .. monxx)
|
|
|
|
|
|
--jhxbbgame.log(actor, "*<2A>Թ<EFBFBD><D4B9><EFBFBD>Ѫ<EFBFBD><D1AA>Ч", monxx)
|
|
|
|
|
|
monxx = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
if monxx > 0 then
|
|
|
|
|
|
--local ret =
|
|
|
|
|
|
xbb.IncHP(actor, monxx)
|
|
|
|
|
|
--jhxbbgame.log(actor, "*<2A>Թ<EFBFBD><D4B9><EFBFBD>Ѫ+", monxx,ret)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local myitems = getbodyitemindexs(actor, 2)
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
|
|
|
|
|
|
--jhxbbgame.GMLog(actor,jhxbbgame.len(myitems),"attack.ismon.damage = ", Damage, MagicId)
|
|
|
|
|
|
for i = 1, #myitems, 1 do
|
|
|
|
|
|
local value = myitems[i]
|
|
|
|
|
|
vdata.zb = value
|
|
|
|
|
|
--jhxbbgame.GMLog(actor,value, "*-cd.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ", Target)
|
|
|
|
|
|
if zbcfg.cdpass(actor, vdata, 2) then
|
|
|
|
|
|
local cfg = xbb.zb[value]
|
|
|
|
|
|
zbcfg.last = value
|
|
|
|
|
|
zbcfg.last2 = zbcfg.last
|
|
|
|
|
|
--jhxbbgame.GMLog(actor,value, "*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ", Target)
|
|
|
|
|
|
if cfg and cfg[2] and cfg[2](actor, Target, Hiter, MagicId, Damage, Model, vdata) then
|
|
|
|
|
|
zbcfg.cdupdate(actor, vdata, 1)
|
|
|
|
|
|
if 0 > 0 then
|
|
|
|
|
|
--jhxbbgame.log(actor,value, ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ", Target)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.last = nil
|
|
|
|
|
|
end
|
|
|
|
|
|
cnt = cnt + 1
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local vv = getbaseinfo(actor, 51, 231)--tonumber(getconst(actor, "<$ATTR[231]>"))
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if vv > 0 then
|
2024-12-26 00:24:17 +08:00
|
|
|
|
local dc = getbaseinfo(actor, 20)--tonumber(getconst(actor, "<$ATTR[4]>"))
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local dv = dc*(vv / 10000)
|
|
|
|
|
|
--local hpv =
|
|
|
|
|
|
xbb.DecHP(Target, dv,116)
|
|
|
|
|
|
--jhxbbgame.log(Hiter, Model,MagicId,"*<2A>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD>= ", hpv)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if monmax > 0 then
|
|
|
|
|
|
retdam = math.min(retdam,monmax)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-23 01:17:14 +08:00
|
|
|
|
-- if attdamageingcnt > 0 then
|
|
|
|
|
|
-- xbb.log(actor, "*SkipAtt.end. - ", attdamageingcnt,zbcfg.last,
|
|
|
|
|
|
-- MagicId,zbcfg.last2)
|
|
|
|
|
|
-- attdamageingcnt = 0
|
|
|
|
|
|
-- end
|
|
|
|
|
|
-- attdamageing = 0
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--release_print("attack.ret.damage = ",Damage,cnt)
|
|
|
|
|
|
if vdata.pwRate and vdata.pwRate ~= 1 then
|
|
|
|
|
|
retdam = math.max(math.min(retdam * vdata.pwRate, 1000 * 10000), 0)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
|
2024-12-18 22:57:06 +08:00
|
|
|
|
return k95(retdam)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.idx(actor, item)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
return getiteminfo(actor, item, 2)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function zbcfg.build()
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
zbcfg.zbx = {}
|
|
|
|
|
|
zbcfg.zbd = {}
|
|
|
|
|
|
zbcfg.zbr = {}
|
|
|
|
|
|
zbcfg.zbi = {}
|
|
|
|
|
|
zbcfg.a21 = {}
|
|
|
|
|
|
zbcfg.tim = {}
|
|
|
|
|
|
for key, value in pairs(jhxbbgame.zb) do
|
|
|
|
|
|
if value and value[15] then
|
|
|
|
|
|
zbcfg.zbx[key] = value[15]
|
|
|
|
|
|
end
|
|
|
|
|
|
if value and value[16] then
|
|
|
|
|
|
zbcfg.zbd[key] = value[16]
|
|
|
|
|
|
end
|
|
|
|
|
|
if value and value[17] then
|
|
|
|
|
|
zbcfg.zbr[key] = value[17]
|
|
|
|
|
|
end
|
|
|
|
|
|
if value and value[21] then
|
|
|
|
|
|
zbcfg.a21[key] = value[21]
|
|
|
|
|
|
end
|
|
|
|
|
|
if value and value[10] then
|
|
|
|
|
|
zbcfg.tim[key] = value
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.log(nil,".zbcfg.build(zbx,zbd,zbr) = ",
|
|
|
|
|
|
jhxbbgame.len(zbcfg.zbx),
|
|
|
|
|
|
jhxbbgame.len(zbcfg.zbd),
|
|
|
|
|
|
jhxbbgame.len(zbcfg.zbr),
|
|
|
|
|
|
jhxbbgame.len(zbcfg.tim),
|
|
|
|
|
|
jhxbbgame.len(zbcfg.a21))
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function attackdamagebb(actor, -- object <09><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD>
|
|
|
|
|
|
Target, -- object <09>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
Hiter, -- object <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
MagicId, -- integer <09><><EFBFBD><EFBFBD>ID
|
|
|
|
|
|
Damage -- integer <09>˺<EFBFBD>
|
|
|
|
|
|
)
|
|
|
|
|
|
--jhxbbgame.log(actor, ".zbcfg.attackdamagebb() = ")
|
|
|
|
|
|
|
|
|
|
|
|
--jhxbbgame.DecHP(Target, 10000)
|
|
|
|
|
|
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD>5ֻ<35><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20000<30>̶<EFBFBD><CCB6>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>60<36>룬<EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>cd180<38>룩
|
|
|
|
|
|
|
|
|
|
|
|
if ismon(Target) and jhxbbgame.MonCanBuf(Target) then
|
|
|
|
|
|
jhxbbgame.DecHP(Target, 20000,101)
|
|
|
|
|
|
return 0
|
|
|
|
|
|
else
|
|
|
|
|
|
return Damage
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-20 22:02:16 +08:00
|
|
|
|
function zbcfg.run(actor, r)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-20 22:02:16 +08:00
|
|
|
|
r = r or 1
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--jhxbbgame.log(actor,"*run",getconst(actor,"<$MAP>"))
|
|
|
|
|
|
|
|
|
|
|
|
kuafusys.run(actor)
|
|
|
|
|
|
|
2024-12-20 22:02:16 +08:00
|
|
|
|
if jhxbbgame.timeSecAt(actor, "N$<24>ƶ<EFBFBD><C6B6><EFBFBD>Ѫ") then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--local ret =
|
2024-12-20 22:02:16 +08:00
|
|
|
|
jhxbbgame.DecHP(actor, 0.05*r)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
jhxbbgame.showeff(actor, 14)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<22>涾")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function attacklong(actor, Target, Hiter, MagicId)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function humanhpex(actor, monster_guid)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if monster_guid then
|
|
|
|
|
|
local mapID = getbaseinfo(actor, 3)
|
|
|
|
|
|
local monobj = getmonbyuserid(mapID, monster_guid)
|
|
|
|
|
|
if isnotnull(monobj) and jhxbbgame.MonCanBuf(monobj) then
|
|
|
|
|
|
-- local x = getbaseinfo(actor, 4)
|
|
|
|
|
|
-- local y = getbaseinfo(actor, 5)
|
|
|
|
|
|
--monmission(monobj,tostring(x)..";",tostring(y)..";",0)
|
|
|
|
|
|
local damage = getbaseinfo(actor, 20)
|
|
|
|
|
|
--sendattackeff(monobj,107,damage,"*")
|
|
|
|
|
|
humanhp(monobj, "-", damage, 1, 0, actor, 1, 1)
|
|
|
|
|
|
--makeposion(monobj,0,3,1,1)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
function qixinxin(actor,a)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local vdata ={}
|
|
|
|
|
|
vdata.m = getbaseinfo(actor, 3)
|
|
|
|
|
|
vdata.selfx = getbaseinfo(actor, 4)
|
|
|
|
|
|
vdata.selfy = getbaseinfo(actor, 5)
|
|
|
|
|
|
local cnt = tonumber(getconst(actor, "<$ATTR[74]>"))
|
|
|
|
|
|
local plays = getobjectinmap(vdata.m ,vdata.selfx,vdata.selfy,4,2)
|
|
|
|
|
|
dotaunt(actor,5,999999)
|
|
|
|
|
|
--jhxbbgame.log(actor, "*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն.",jhxbbgame.len(plays),cnt)
|
|
|
|
|
|
|
|
|
|
|
|
for i = 1, #plays, 1 do
|
|
|
|
|
|
local val = plays[i]
|
|
|
|
|
|
local ret = jhxbbgame.DecHP(val,cnt,101,nil,nil,actor)
|
|
|
|
|
|
sendattackeff(val,101, ret)
|
|
|
|
|
|
--sendattackeff(actor,113,ret)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<22>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD>.-100%="..ret)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
function modaodao(actor)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
--SetVarInt(actor, "N$ħ<><C4A7>ǧ<EFBFBD><C7A7>CD", 0)
|
|
|
|
|
|
local vdata ={}
|
|
|
|
|
|
vdata.selfx = getbaseinfo(actor, 4)
|
|
|
|
|
|
vdata.selfy = getbaseinfo(actor, 5)
|
|
|
|
|
|
|
|
|
|
|
|
local cfg = {}
|
2024-12-26 00:24:17 +08:00
|
|
|
|
-- if isnotnull(Target) then
|
|
|
|
|
|
-- cfg = { getbaseinfo(Target, 2) }
|
|
|
|
|
|
-- end
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
local mapID = getbaseinfo(actor, 3)
|
|
|
|
|
|
local mons = getobjectinmap(mapID, vdata.selfx,vdata.selfy, 6, 2)
|
|
|
|
|
|
if #mons < 2 then return end
|
|
|
|
|
|
--local pw = tonumber(getconst(actor, "<$MAXDC>"))
|
|
|
|
|
|
--jhxbbgame.sendmsg(actor, "ħ<><C4A7>ǧ<EFBFBD><C7A7>:" .. pw)
|
|
|
|
|
|
dotaunt(actor, 8, 999999)
|
|
|
|
|
|
for i, mon in ipairs(mons or {}) do
|
|
|
|
|
|
local mid1 = tonumber(getbaseinfo(mon, 55))
|
2024-12-26 00:24:17 +08:00
|
|
|
|
if 2679 ~= mid1 then
|
2024-12-18 22:57:06 +08:00
|
|
|
|
local mid = getbaseinfo(mon, 2)
|
|
|
|
|
|
cfg[#cfg + 1] = mid
|
|
|
|
|
|
delaygoto(actor, 200 * i, "humanhpex," .. mid, 0)
|
|
|
|
|
|
--jhxbbgame.DecHP(mon, pw, nil, nil, nil, actor)
|
|
|
|
|
|
if #cfg >= 8 then
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
sendluamsg(actor, 0xeff, 0, 0, 23, tbl2json(cfg))
|
|
|
|
|
|
end
|
|
|
|
|
|
function attack(actor, Target, Hiter, MagicId)
|
2024-12-23 01:17:14 +08:00
|
|
|
|
local jhxbbgame = jhxbbgame
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
local vdata = { timecur = jhxbbgame.ticksec() }
|
|
|
|
|
|
local gb = getbaseinfo
|
|
|
|
|
|
--attack6(actor, Target, Hiter, MagicId)
|
|
|
|
|
|
|
|
|
|
|
|
--sendluamsg(actor, 0xeff, 10,
|
|
|
|
|
|
--0,60549,getbaseinfo(actor,2))
|
|
|
|
|
|
|
|
|
|
|
|
--jhxbbgame.log(Hiter,"*60546")
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
-- if ((jhxbbgame.attfundis or 0) == 1) then
|
|
|
|
|
|
-- return
|
|
|
|
|
|
-- end
|
2024-12-18 22:57:06 +08:00
|
|
|
|
if MagicId == 56 then
|
|
|
|
|
|
sendattackeff(actor, 114,1)
|
|
|
|
|
|
elseif MagicId == 66 then
|
|
|
|
|
|
sendattackeff(actor, 115,1)
|
|
|
|
|
|
elseif MagicId == 26 then
|
|
|
|
|
|
sendattackeff(actor, 118,1)
|
|
|
|
|
|
end
|
|
|
|
|
|
if isplayer(Target) then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor,"U27",5,os.time())
|
|
|
|
|
|
kuafusys.pking(Target)
|
|
|
|
|
|
kuafusys.pking(actor)
|
|
|
|
|
|
jhxbbgame.SetPKFlag(Target, 2)
|
|
|
|
|
|
jhxbbgame.SetPKFlag(Hiter, 3)
|
|
|
|
|
|
elseif ismon(Target) then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor,"U27",3,os.time())
|
|
|
|
|
|
|
|
|
|
|
|
svautoplay.attack(actor, vdata)
|
|
|
|
|
|
if checkkuafuserver() then
|
|
|
|
|
|
local monxx = jhxbbgame.CInt(actor, "<$ATTR[224]>")
|
|
|
|
|
|
if monxx > 0 then
|
|
|
|
|
|
jhxbbgame.DecHP(Target,monxx,107,
|
|
|
|
|
|
nil,nil,nil,nil,monxx+1)
|
|
|
|
|
|
sendattackeff(Target,107,monxx,actor)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, "<><D7B9>ʹ11")
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if jhxbbgame.MonCanBuf(Target) then
|
|
|
|
|
|
local mid1 = tonumber(gb(Target, 55))
|
|
|
|
|
|
if 2679 ~= mid1 then
|
|
|
|
|
|
makeposion(Target, 0, 3)
|
|
|
|
|
|
|
|
|
|
|
|
local cnt = 0
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
-- vdata.max_hp = gb(actor, 10) or 1
|
|
|
|
|
|
-- vdata.hp = gb(actor, 9)
|
|
|
|
|
|
-- vdata.m = gb(actor, 3)
|
|
|
|
|
|
-- vdata.selfx = gb(actor, 4)
|
|
|
|
|
|
-- vdata.selfy = gb(actor, 5)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--<2D><>ʼ<EFBFBD><CABC><EFBFBD>걬<EFBFBD><EAB1AC>״̬<D7B4>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>ʱ3<CAB1><33><EFBFBD><EFBFBD><EFBFBD>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ܣ<EFBFBD>
|
|
|
|
|
|
--<2D><>5x5<78><35>Χ<EFBFBD>ڵĵ<DAB5><C4B5>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD>100%<25><><EFBFBD>и<EFBFBD><D0B8>˺<EFBFBD><CBBA><EFBFBD>
|
|
|
|
|
|
local bb = (math.random(1,10000)<=300)
|
|
|
|
|
|
--jhxbbgame.HintEff(actor, tostring(jhxbbgame.GetRate).."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն.-100%="..tostring(bb))
|
|
|
|
|
|
if true
|
|
|
|
|
|
and bb
|
|
|
|
|
|
and (VarInt(actor, "U251") > os.time())
|
|
|
|
|
|
then
|
|
|
|
|
|
|
2024-12-26 00:24:17 +08:00
|
|
|
|
delaygoto(actor, 100, "qixinxin" , 1)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
|
|
|
|
|
|
jhxbbgame.mapSelfeff(actor,60518)
|
|
|
|
|
|
sendattackeff(actor,113, cnt,actor)
|
|
|
|
|
|
end
|
|
|
|
|
|
if getflagstatus(actor, 102) == 1
|
|
|
|
|
|
and (math.random(1,10000)<=900)
|
|
|
|
|
|
and not jhxbbgame.timeSecAt(actor, "N$ħ<><C4A7>ǧ<EFBFBD><C7A7>CD", vdata.timecur)
|
|
|
|
|
|
then
|
|
|
|
|
|
jhxbbgame.SettimeSec(actor,"N$ħ<><C4A7>ǧ<EFBFBD><C7A7>CD",10)
|
2024-12-26 00:24:17 +08:00
|
|
|
|
delaygoto(actor, 1, "modaodao" , 1)
|
|
|
|
|
|
--modaodao(actor,Target)
|
2024-12-18 22:57:06 +08:00
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
release_print(".zbcfg.load() = ")
|