elseif event == sgs . RoundEnd then
-- ✅ 只有 seat == 1 的玩家才执行清除和广播
if player:getSeat() ~= 1 then
return false
end
-- ✅ 检查是否已经发送过日志(通过 -Clear 标记)
if player:getMark("ketx_tianzaoend-Clear") >= 1 then
return false
end
-- ✅ 设置标记(+1),防止后续触发者重复发送
room:addPlayerMark(player, "ketx_tianzaoend-Clear", 1)
-- ✅ 清除所有拥有【天造】技能玩家的 tag
for _, p in sgs . qlist(room:getAllPlayers()) do
if p:hasSkill("ketx_tianzao") then
p:setTag("ketx_tianzao_x", sgs.QVariant(0))
end
end
-- ✅ 发送日志(只会执行一次)
local log = sgs . LogMessage()
log . type = "#ketx_tianzao_cleared_over"
log . from = nil
log . arg = self:objectName()
room:sendLog(log)
end
现在我是这样做的,我也不知道座次和一回合的标记谁管用了,不过现在是正常了。(中间一些错误的空格是因为不打空格百度会变成超链接)。
@蔷薇十字