之前一直懵逼、lua到底是啥?
这下总算知道了一点、lua 淬炼 att 属性、因为setItemAtt 最多只只吃4个属性、
淬炼应该搞个自定义ok 框、然后就像鉴定一样,搞个勾选框锁定需要的属性,一直淬炼直到需要的属性、
这时服务的的lua
function on_RunLuaScriptClzhuangbei(actor)
print("淬炼装备")
-- 支持的装备槽位:0-8, 10, 11, 14
local validSlots = {0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 14}
local hasAnyItem = false
-- 遍历所有有效槽位,每个有装备的都要淬炼
for _, slot in ipairs(validSlots) do
local item = actor:getUseItem(slot)
if item ~= nil then
hasAnyItem = true
local itemName = item:getName()
print(string.format("淬炼装备 %s (槽位: %d)", itemName, slot))
-- 随机选择4个属性编号
local randomAttIds = getRandomAttIds()
-- 随机生成4个属性值
local val1 = getRandomAttValue()
local val2 = getRandomAttValue()
local val3 = getRandomAttValue()
local val4 = getRandomAttValue()
-- 输出随机结果 (调试用,可删除)
print(string.format("随机属性: %s(%d)=%d, %s(%d)=%d, %s(%d)=%d, %s(%d)=%d",
attNameMap[randomAttIds[1]], randomAttIds[1], val1,
attNameMap[randomAttIds[2]], randomAttIds[2], val2,
attNameMap[randomAttIds[3]], randomAttIds[3], val3,
attNameMap[randomAttIds[4]], randomAttIds[4], val4))
-- 设置物品Att属性
item:setItemAtt(randomAttIds[1], randomAttIds[2], randomAttIds[3], randomAttIds[4],
val1, val2, val3, val4)
print(string.format("槽位 %d 淬炼完成!", slot))
end
end
if hasAnyItem then
print("全部淬炼完成!")
else
print("未检测到装备,淬炼失败!")
end
end
这是客户端的lua
function itemInfo_USE.TestAtt(item)
local IDX = item:getIndex()
local dbitem = c.item.getDBItem(IDX)
--c.share.addChat("客户端发送到聊天框的信息------getStdMode()--------" .. dbitem:getStdMode(), 1, 2)
local ret = ""
-- 允许显示淬炼属性的装备模型值(StdMode)
local allowStdModes = {
[5] = true,
[6] = true,
[10] = true,
[11] = true,
[15] = true,
[16] = true,
[19] = true,
[20] = true,
[21] = true,
[22] = true,
[23] = true,
[24] = true,
[26] = true,
[52] = true,
[54] = true,
[55] = true,
}
-- 只有指定StdMode的装备才显示淬炼属性
-- 如果当前作用域内 dbitem 需要通过 item 获取(例如 item:getDBItem() / item:query()),请自行调整
if allowStdModes[dbitem:getStdMode()] then
ret = "\\"..hintHelper.text("淬炼属性",const.clyellow)
-- 属性ID映射表
local attNameMap = {.......}
-- 循环4组属性(0-3)
for i = 0, 3 do
local attId = item:getAttId(i)
local attPoint = item:getAttPoint(i)
-- 调试输出
-- c.share.addChat("第" .. (i+1) .. "组属性 ID:" .. tostring(attId) .. " Point:" .. tostring(attPoint), 1, 2)
-- 只显示有效属性(ID存在且数值不为0)
if attId and attId ~= 0 and attPoint and attPoint ~= 0 then
local attName = attNameMap[attId]
if attName then
local YPZS = attName .. "+" .. attPoint
ret = ret .. "\\" .. hintHelper.text(YPZS, const.clwhite)
else
-- 未知属性ID,显示编号方便排查
local YPZS = "未知属性(" .. attId .. ")+" .. attPoint
ret = ret .. "\\" .. hintHelper.text(YPZS, const.clred)
end
end
end
end
return ret
end
文件尺寸: 小于 1000KB , 可用扩展名: jpg, jpeg, gif, png 文件限制了
|