2024-12-07 16:08:27 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function jhxbbgame.dbgout(...)
|
|
|
|
|
|
release_print(...)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-07 17:15:23 +08:00
|
|
|
|
function string.trim(s)
|
|
|
|
|
|
return (s:gsub("^%s*(.-)%s*$", "%1"))
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-07 16:08:27 +08:00
|
|
|
|
|
|
|
|
|
|
function safecall(func, defret, ...)
|
|
|
|
|
|
local aret = nil
|
|
|
|
|
|
local pass,result, errinfo = pcall(func, ...)
|
|
|
|
|
|
if pass then
|
|
|
|
|
|
return result, nil
|
|
|
|
|
|
else
|
|
|
|
|
|
--jhxbbgame.log("safecall.fail", result)
|
|
|
|
|
|
return defret, result
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local old = {struckdamage,attackdamage,killmon,setbaseinfo}
|
|
|
|
|
|
|
|
|
|
|
|
local md ={}
|
|
|
|
|
|
local new ={}
|
|
|
|
|
|
|
|
|
|
|
|
local function rmmob(Target,Hiter,ret,Damage,flg)
|
|
|
|
|
|
local bb = false
|
|
|
|
|
|
for index, value in ipairs(md) do
|
|
|
|
|
|
if value == Target then
|
|
|
|
|
|
table.remove(md,index)
|
|
|
|
|
|
bb = true
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local died = getbaseinfo(Target,0)
|
|
|
|
|
|
if not died then
|
|
|
|
|
|
jhxbbgame.dbgout(Hiter,Target,jhxbbgame.info(Target,true),jhxbbgame.info(Hiter),
|
|
|
|
|
|
"KMon.<2E><>г",zbcfg.last2,ret,Damage,tbl2json(attrtab(Target)))
|
|
|
|
|
|
killmonbyobj(Hiter,Target,true,false,true)
|
|
|
|
|
|
end
|
|
|
|
|
|
jhxbbgame.dbgout(Target,"KMon.Die",died,jhxbbgame.info(Target, true),flg,bb)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function jhxbbgame.info(actor, d)
|
|
|
|
|
|
if isnotnull(actor) then
|
|
|
|
|
|
local n,i,m,x,y,dd = getbaseinfo(actor, 1,2),
|
|
|
|
|
|
tonumber(getbaseinfo(actor, 55)),
|
|
|
|
|
|
getbaseinfo(actor, 3),getbaseinfo(actor, 4),
|
|
|
|
|
|
getbaseinfo(actor, 5),getbaseinfo(actor, 12)
|
|
|
|
|
|
local td = ""
|
|
|
|
|
|
if d then
|
|
|
|
|
|
local dis = {}
|
|
|
|
|
|
for i = 1, 11, 1 do
|
|
|
|
|
|
if checkhumanstate(actor,i) then
|
|
|
|
|
|
dis[i] = 1
|
|
|
|
|
|
else
|
|
|
|
|
|
dis[i] = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
td = tbl2json(dis)
|
|
|
|
|
|
end
|
|
|
|
|
|
return string.format("[%s]%s:%d(%s,%d,%d)%d.",
|
|
|
|
|
|
actor,n,i,m, x,y,dd)..td
|
|
|
|
|
|
else
|
|
|
|
|
|
return "nil"
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
function new.struckdamage(actor, Hiter, Target, MagicId, Damage)
|
|
|
|
|
|
local ret,errinfo = safecall(old[1],Damage,actor, Hiter, Target, MagicId, Damage)
|
|
|
|
|
|
if errinfo then
|
|
|
|
|
|
jhxbbgame.dbgout(nil,"KMon.Err1",jhxbbgame.info(Target),jhxbbgame.info(Hiter),errinfo)
|
|
|
|
|
|
end
|
|
|
|
|
|
return ret
|
|
|
|
|
|
end
|
|
|
|
|
|
debug = debug or {}
|
|
|
|
|
|
debug.traceback = debug.traceback or function ()
|
|
|
|
|
|
return "none"
|
|
|
|
|
|
end
|
|
|
|
|
|
function new.setbaseinfo(actor,nID,value)
|
|
|
|
|
|
if nID == 12 then
|
|
|
|
|
|
jhxbbgame.dbgout(actor,"KMon.Set12",jhxbbgame.info(actor),value,debug.traceback())
|
|
|
|
|
|
end
|
|
|
|
|
|
return old[4](actor,nID,value)
|
|
|
|
|
|
end
|
|
|
|
|
|
function new.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>ģʽ
|
|
|
|
|
|
)
|
|
|
|
|
|
local ret,errinfo = safecall(old[2],Damage,actor,
|
|
|
|
|
|
Target,
|
|
|
|
|
|
Hiter,
|
|
|
|
|
|
MagicId,
|
|
|
|
|
|
Damage,
|
|
|
|
|
|
Model)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if false then
|
|
|
|
|
|
local vdata = {}
|
|
|
|
|
|
for key, cfg in pairs(jhxbbgame.zb) do
|
|
|
|
|
|
vdata.zb = key
|
|
|
|
|
|
|
|
|
|
|
|
zbcfg.last = key
|
|
|
|
|
|
zbcfg.last2 = zbcfg.last
|
|
|
|
|
|
if cfg and cfg[2] and cfg[2](actor, Target, Hiter, MagicId, Damage, Model, vdata) then
|
|
|
|
|
|
local aa = getbaseinfo(Target, 12)
|
|
|
|
|
|
if aa > 0 then
|
|
|
|
|
|
jhxbbgame.log(actor,key, ".<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = ", aa)
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
zbcfg.last = nil
|
|
|
|
|
|
end
|
|
|
|
|
|
return Damage
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if errinfo then
|
|
|
|
|
|
jhxbbgame.dbgout(nil,"KMon.Err2",zbcfg.last2,ret,Damage,jhxbbgame.info(Target),jhxbbgame.info(Hiter),errinfo)
|
|
|
|
|
|
end
|
|
|
|
|
|
if ismon(Target) then
|
|
|
|
|
|
local mdd = md[Target] or {t=os.time(),hpp = 1,pt=os.time()}
|
|
|
|
|
|
md[Target] = mdd
|
|
|
|
|
|
if getbaseinfo(Target,0) then
|
|
|
|
|
|
rmmob(Target,Hiter,ret,Damage,2)
|
|
|
|
|
|
else--@ˢ<><CBA2> һ<><D2BB>½-<2D><><EFBFBD>ö<EFBFBD>
|
|
|
|
|
|
mdd.cnt = (mdd.cnt or 0) + 1
|
|
|
|
|
|
|
|
|
|
|
|
local thp,tmax_hp = getbaseinfo(Target, 9),getbaseinfo(Target, 10) or 1
|
|
|
|
|
|
local hpp = thp/tmax_hp
|
|
|
|
|
|
|
|
|
|
|
|
--20<32><30> 1%<25><>Ѫ<EFBFBD><D1AA>û<EFBFBD><C3BB><EFBFBD><EFBFBD>
|
|
|
|
|
|
local dv = mdd.hpp-hpp
|
|
|
|
|
|
if (dv) < 0.02 and os.time()> mdd.pt then
|
|
|
|
|
|
local mid1 = getbaseinfo(Target, 55)
|
|
|
|
|
|
local mid = mid1 - 2665
|
|
|
|
|
|
--jhxbbgame.log(Hiter, ".<2E><><EFBFBD>ﱻ<EFBFBD><EFB1BB><EFBFBD><EFBFBD>= ", mid, mid1,getbaseinfo(Target,12))
|
|
|
|
|
|
if (mid >= 1) and (mid <= 8) then
|
|
|
|
|
|
return ret
|
|
|
|
|
|
end
|
|
|
|
|
|
local mp = getbaseinfo(Target,12)
|
|
|
|
|
|
if mp > 0 then
|
|
|
|
|
|
local dbmp = getdbmonfieldvalue(mid1,"mp")
|
|
|
|
|
|
if mp ~= dbmp then
|
|
|
|
|
|
old[4](Target,12,dbmp)
|
|
|
|
|
|
jhxbbgame.dbgout(nil,"KMon.Fix12",jhxbbgame.info(Target),mp,dbmp,getbaseinfo(Target,12))
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.dbgout(actor,jhxbbgame.info(Target),
|
|
|
|
|
|
"KMon.20<EFBFBD><EFBFBD> 2%<25><>Ѫ<EFBFBD><D1AA>û<EFBFBD><C3BB><EFBFBD><EFBFBD>",zbcfg.last2,ret,Damage,mdd.cnt,hpp,mdd.hpp)
|
|
|
|
|
|
|
|
|
|
|
|
mdd.pt = os.time() + 20
|
|
|
|
|
|
mdd.hpp = hpp
|
|
|
|
|
|
mdd.pcnt = (mdd.pcnt or 0) + 1
|
|
|
|
|
|
|
|
|
|
|
|
if mdd.pcnt >= 10 and (getbaseinfo(Target,12) <= 0) then
|
|
|
|
|
|
rmmob(Target,Hiter,ret,Damage,1)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
if mdd.cnt > 10 and mdd.cnt %20 == 0 then
|
|
|
|
|
|
--jhxbbgame.dbgout(actor,"KMon.cnt",dv,mdd.cnt,getbaseinfo(Target, 1))
|
|
|
|
|
|
if mdd.cnt > 3000 then
|
|
|
|
|
|
rmmob(Target,Hiter,ret,Damage,3)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function new.killmon(actor, mon, killerType, monid, monName, mapid)
|
|
|
|
|
|
local ret = old[3](actor, mon, killerType, monid, monName,mapid)
|
|
|
|
|
|
rmmob(mon,actor,ret,mapid,111)
|
|
|
|
|
|
return ret
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local hooks = {["makeposion"]=0,
|
|
|
|
|
|
"changehumability","changehumnewvalue","changemode","addbuff"}
|
|
|
|
|
|
|
|
|
|
|
|
local hooks = {}
|
|
|
|
|
|
|
|
|
|
|
|
for key, value in pairs(hooks) do
|
|
|
|
|
|
local old = _G[key]
|
|
|
|
|
|
if old then
|
|
|
|
|
|
_G[key] = function (actor,p1,...)
|
|
|
|
|
|
if isplayer(actor) or p1 == value then
|
|
|
|
|
|
old(actor,p1,...)
|
|
|
|
|
|
else
|
|
|
|
|
|
jhxbbgame.log(actor,key..".Fail.",p1,...)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-07 19:58:12 +08:00
|
|
|
|
function jhxbbgame.Gives(actor,sitem)
|
|
|
|
|
|
local items = sitem:split("&")
|
|
|
|
|
|
for key, value in pairs(items) do
|
|
|
|
|
|
local aitm = value:split("#")
|
|
|
|
|
|
if aitm then
|
|
|
|
|
|
giveitem(actor,aitm[1],aitm[2],1+2+16+64+256)
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
edcode = edcode or require("Envir/wlua/edcode.lua")
|
|
|
|
|
|
|
2024-12-07 16:08:27 +08:00
|
|
|
|
tblccc= nil
|
|
|
|
|
|
function jhxbbgame.any2lua(...)
|
|
|
|
|
|
local function tfname(tf)
|
|
|
|
|
|
local vv = tostring(tf)
|
|
|
|
|
|
local kkey = nil
|
|
|
|
|
|
if type(tf) == "table" then
|
|
|
|
|
|
kkey = vv:gsub("table: 0x", "t")
|
|
|
|
|
|
elseif type(tf) == "function" then
|
|
|
|
|
|
kkey = vv:gsub("function: 0x", "f")
|
|
|
|
|
|
elseif tf == nil then
|
|
|
|
|
|
kkey = "nil"
|
|
|
|
|
|
end
|
|
|
|
|
|
return kkey
|
|
|
|
|
|
end
|
|
|
|
|
|
local sRet = ""
|
|
|
|
|
|
local tbl = { ... }
|
|
|
|
|
|
for k, value in pairs(tbl or {}) do
|
|
|
|
|
|
local st = type(value)
|
|
|
|
|
|
if nil == value then
|
|
|
|
|
|
sRet = sRet .. st
|
|
|
|
|
|
elseif tblccc == value then
|
|
|
|
|
|
elseif st == "table" then
|
|
|
|
|
|
sRet = sRet .. string.format("{--%s(%d)\n",tfname(value),jhxbbgame.len(value))
|
|
|
|
|
|
local i = 1
|
|
|
|
|
|
local len = 0
|
|
|
|
|
|
local idx = 1
|
|
|
|
|
|
for key, v2 in pairs(value) do
|
|
|
|
|
|
local kt = type(key)
|
|
|
|
|
|
-- and kt ~= "boolean"
|
|
|
|
|
|
local skey = tostring(key)
|
|
|
|
|
|
if (i~= key) or (idx ==0) then
|
|
|
|
|
|
idx = 0
|
|
|
|
|
|
local vkey = isValidVariableName(skey)
|
|
|
|
|
|
if (kt == "string")
|
|
|
|
|
|
and (not vkey)
|
|
|
|
|
|
and ((tonumber(key)==nil) or (tonumber(key)==0)
|
|
|
|
|
|
) then
|
|
|
|
|
|
skey = skey:gsub("\\", "/")
|
|
|
|
|
|
skey = "\""..skey.."\""
|
|
|
|
|
|
vkey = false
|
|
|
|
|
|
elseif (kt == "boolean") then
|
|
|
|
|
|
vkey = false
|
|
|
|
|
|
end
|
|
|
|
|
|
if not vkey then
|
|
|
|
|
|
skey = "["..skey.."]"
|
|
|
|
|
|
end
|
|
|
|
|
|
key = skey.."="
|
|
|
|
|
|
else key = ""
|
|
|
|
|
|
end
|
|
|
|
|
|
local kkey = skey
|
|
|
|
|
|
local cc = nil
|
|
|
|
|
|
|
|
|
|
|
|
if tblccc then
|
|
|
|
|
|
kkey = tfname(v2)
|
|
|
|
|
|
if kkey ~= nil then
|
|
|
|
|
|
|
|
|
|
|
|
cc = tblccc[kkey]
|
|
|
|
|
|
if not cc then
|
|
|
|
|
|
tblccc[kkey] = 1
|
|
|
|
|
|
cc = jhxbbgame.any2lua(v2)
|
|
|
|
|
|
else
|
|
|
|
|
|
cc = kkey
|
|
|
|
|
|
end
|
|
|
|
|
|
else cc = jhxbbgame.any2lua(v2)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
else cc = jhxbbgame.any2lua(v2)
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local add = key..cc
|
|
|
|
|
|
if i > 1 then
|
|
|
|
|
|
add = ","..add
|
|
|
|
|
|
end
|
|
|
|
|
|
sRet = sRet ..add
|
|
|
|
|
|
len = len + #add
|
|
|
|
|
|
i = i + 1
|
|
|
|
|
|
if len > 80 then
|
|
|
|
|
|
sRet = sRet .."\r"
|
|
|
|
|
|
len = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
sRet = sRet .. "}"
|
|
|
|
|
|
elseif st == "function" then
|
|
|
|
|
|
local vv = tostring(value)
|
|
|
|
|
|
sRet = sRet ..vv:gsub(": ", '(a')..")end"
|
|
|
|
|
|
elseif st == "string" then
|
|
|
|
|
|
if value:find("\n") then
|
|
|
|
|
|
value = value:gsub("%[%[%]%]", '""')
|
|
|
|
|
|
value = "[["..value.."]]"
|
|
|
|
|
|
else
|
|
|
|
|
|
value = value:gsub("\\", "/")
|
|
|
|
|
|
value = "\""..value.."\""
|
|
|
|
|
|
end
|
|
|
|
|
|
sRet = sRet .. value
|
|
|
|
|
|
else
|
|
|
|
|
|
sRet = sRet .. tostring(value)
|
|
|
|
|
|
end
|
|
|
|
|
|
sRet = sRet .. ","
|
|
|
|
|
|
end
|
|
|
|
|
|
return sRet:sub(1, -2)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
release_print("jhxbbgame.dbgout22211112:", jhxbbgame,tostring(jhxbbgame))
|
2024-12-07 20:03:16 +08:00
|
|
|
|
|
2024-12-07 19:58:12 +08:00
|
|
|
|
if jhxbbgame.any2lua then
|
|
|
|
|
|
jhxbbgame.localdata=jhxbbgame.recfile({ui1118=jhxbbgame.any2lua(jhxbbgame.ui.ui1118),
|
|
|
|
|
|
--ui=jhxbbgame.any2lua(jhxbbgame.ui),
|
|
|
|
|
|
--dbg=jhxbbgame.f2s("wlua/verfx/dbgsvbuding.lua")
|
|
|
|
|
|
dbgsv=jhxbbgame.f2s("wlua/verfx/tesxbb.lua")
|
|
|
|
|
|
},true)
|
|
|
|
|
|
|
2024-12-07 20:03:16 +08:00
|
|
|
|
jhxbbgame.s2f("wlua/verfx/lst.txt",tbl2json(jhxbbgame.localdata))
|
2024-12-07 16:08:27 +08:00
|
|
|
|
end
|
2024-12-07 19:58:12 +08:00
|
|
|
|
release_print(("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),"jhxbbgame.dbgout2222:",jhxbbgame.len(jhxbbgame.localdata),jhxbbgame.len(rctofile), jhxbbgame)
|
2024-12-07 16:08:27 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local saalog = [[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD> 32774177 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD>(<EFBFBD>ѱ<EFBFBD><EFBFBD><EFBFBD>) 17426628 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1573475096 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD> 12423194 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10120082 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 27238132 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 25600594 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 648
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 328
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13935325 328
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 128]]
|
|
|
|
|
|
local saalog = [[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD> 32774177 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD>(<EFBFBD>ѱ<EFBFBD><EFBFBD><EFBFBD>) 17426628 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1573475096 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD> 12423194 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10120082 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 27238132 10
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 25600594 98
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 648
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 328
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13935325 328
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13606434 128]]
|
|
|
|
|
|
local aalog =saalog:gsub("\n", "\t"):split("\t")
|
|
|
|
|
|
--jhxbbgame.s2f("wlua/verfx/ccc.lua",jhxbbgame.any2lua(aalog))
|
|
|
|
|
|
local ccc = {}
|
|
|
|
|
|
for i = 1, #aalog /3, 1 do
|
|
|
|
|
|
local value = {aalog[((i-1)*3)+1],aalog[((i-1)*3)+2],aalog[((i-1)*3)+3]}
|
|
|
|
|
|
local q = value[1]
|
2024-12-07 19:58:12 +08:00
|
|
|
|
ccc[q] = ccc[q] or {all={},all5={},c98={},c38={}}
|
2024-12-07 16:08:27 +08:00
|
|
|
|
local cc= ccc[q]
|
|
|
|
|
|
local accid = tonumber(value[2])
|
|
|
|
|
|
local cnt = tonumber(value[3])
|
|
|
|
|
|
cc.all[accid] = (cc.all[accid] or 0)+value[3]
|
|
|
|
|
|
if cnt == 98 then
|
|
|
|
|
|
cc.c98[accid] = (cc.c98[accid] or 0)+1
|
|
|
|
|
|
elseif cnt == 38 then
|
|
|
|
|
|
cc.c38[accid] = (cc.c38[accid] or 0)+1
|
2024-12-07 19:58:12 +08:00
|
|
|
|
else
|
|
|
|
|
|
cc.all5[accid] = (cc.all5[accid] or 0)+value[3]
|
2024-12-07 16:08:27 +08:00
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
jhxbbgame.s2f("wlua/verfx/ccc.lua",jhxbbgame.any2lua(ccc))
|
|
|
|
|
|
function jhxbbgame.zxcz.readex(actor,k)
|
|
|
|
|
|
return tonumber(readini(jhxbbgame.zxcz.recfile, k, actor))
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function jhxbbgame.zxcz.writeex(svname,actor,k, v)
|
|
|
|
|
|
release_print(svname,"<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>¼.write=>", actor,k, v)
|
|
|
|
|
|
writeini(jhxbbgame.zxcz.recfile, k, actor,v)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local function bfbylogq(svname,qacc)
|
2024-12-07 19:58:12 +08:00
|
|
|
|
local tpcfg = {c38={"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",0},c98={"<EFBFBD><EFBFBD>Ȩ",0},all5={"<EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>",0},all={"<EFBFBD><EFBFBD>ȫ<EFBFBD>ۼ<EFBFBD>",0}}
|
2024-12-07 16:08:27 +08:00
|
|
|
|
for tpkey, tpval in pairs(tpcfg) do
|
|
|
|
|
|
local recs = qacc[tpkey]
|
|
|
|
|
|
for acckey, value in pairs(recs) do
|
|
|
|
|
|
local tp = tpval[1]
|
|
|
|
|
|
|
|
|
|
|
|
local rec = jhxbbgame.zxcz.readex(acckey, tp)
|
|
|
|
|
|
if tpkey == "c38" then
|
|
|
|
|
|
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
if rec <= 0 then
|
|
|
|
|
|
jhxbbgame.zxcz.writeex(svname,acckey, tp, value)
|
|
|
|
|
|
tpval[2] = tpval[2] +1
|
|
|
|
|
|
end
|
|
|
|
|
|
elseif tpkey == "c98" then
|
|
|
|
|
|
--<2D><><EFBFBD><EFBFBD>Ȩ
|
|
|
|
|
|
jhxbbgame.zxcz.writeex(svname,acckey, tp, 1)
|
|
|
|
|
|
tpval[2] = tpval[2] +1
|
2024-12-07 19:58:12 +08:00
|
|
|
|
elseif tpkey == "all5" then
|
|
|
|
|
|
jhxbbgame.zxcz.writeex(svname,acckey, tp, value)
|
|
|
|
|
|
tpval[2] = tpval[2] +1
|
2024-12-07 16:08:27 +08:00
|
|
|
|
elseif tpkey == "all" then
|
|
|
|
|
|
jhxbbgame.zxcz.writeex(svname,acckey, tp, value)
|
|
|
|
|
|
tpval[2] = tpval[2] +1
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local function bfbylog()
|
|
|
|
|
|
local localsv = getconst(nil, "<$SERVERNAME>")
|
|
|
|
|
|
for key, value in pairs(ccc) do
|
|
|
|
|
|
if localsv:find(key) then
|
|
|
|
|
|
release_print(key,"<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>¼=>", jhxbbgame.len(value.c98), jhxbbgame.len(value.c38))
|
|
|
|
|
|
bfbylogq(key,value)
|
|
|
|
|
|
break
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2024-12-07 17:15:23 +08:00
|
|
|
|
-- -- ʾ<><CABE><EFBFBD>÷<EFBFBD>
|
|
|
|
|
|
-- local lua_code = jhxbbgame.f2s("wlua/verfx/tesxbb.lua")
|
|
|
|
|
|
|
|
|
|
|
|
-- local code_without_comments = remove_comments(lua_code)
|
|
|
|
|
|
-- jhxbbgame.s2f("wlua/verfx/tesxbb2.lua",code_without_comments)
|
|
|
|
|
|
-- print(#code_without_comments)
|
|
|
|
|
|
|
2024-12-07 16:08:27 +08:00
|
|
|
|
bfbylog()
|