每升 5 级发 1 点自由属性点,加攻击还是加防御——加点界面是玩家 build 决策的操作台。加点的要点是剩余点数的呈现、分配的即时预览与提交的批量打包,决策的工具越顺手,build 的尝试越积极。
---属性加点:三项属性的加减
AttrUI.points = { atk = 0, def = 0, vit = 0 }
function AttrUI.bind(win, free)
AttrUI.free = free
for i, key in ipairs({ "atk", "def", "vit" }) do
local add = GUI:Button_Create(win, "add_" .. key,
200, 40 + (i - 1) * 40)
GUI:Button_setTitleText(add, "+")
GUI:addOnClickEvent(add, function()
AttrUI.addOne(key)
end)
end
AttrUI.refresh()
end
---加一点:剩余点数的守恒
function AttrUI.addOne(key)
local used = AttrUI.points.atk + AttrUI.points.def
+ AttrUI.points.vit
if used >= AttrUI.free then
SL:ShowSystemTips("自由属性点已用完")
return
end
AttrUI.points[key] = AttrUI.points[key] + 1
AttrUI.refresh()
end
分配的界面三行三键:攻击、防御、体力各一行,加号按钮逐点分配——剩余点数的守恒校验在客户端先行(用满即提示),提交前的预览让玩家看得到每加一点带来的面板变化(加 1 点攻击等于面板攻击加 2)。重置的按钮把本批的分配清零重来,确认前的犹豫有出口,提交后的重置走洗点的付费通道。
---提交:本批分配一次性发送
function AttrUI.submit()
local used = AttrUI.points.atk + AttrUI.points.def
+ AttrUI.points.vit
if used == 0 then return end
SL:SendNetMsg(MSGID.ADD_POINT,
AttrUI.points.atk, AttrUI.points.def,
AttrUI.points.vit)
SL:ShowSystemTips("属性点分配已提交")
end
---服务器回包的刷新
SL:RegisterLuaNetMsg("ATTR_SYNC", function(data)
local d = SL:JsonDecode(data)
if not d then return end
AttrUI.free = d.free
AttrUI.points = { atk = 0, def = 0, vit = 0 }
AttrUI.refresh()
GUI:Text_setString(AttrUI.atkLabel,
"攻击 " .. d.atk)
end)
提交的打包把本批的分配一次性发送:三项的增量打包进一条消息,服务器的剩余点数守恒校验是终审——客户端的预演与服务器的一致性由回包刷新保证。加点的即时反馈三路:面板数字的变化、剩余点数的扣减、分配行的清零,三路同步让每次点击都有回应。加点的撤销不支持:提交即生效的规则写明,防反悔的反复横跳刷洗点的差价。属性的上限校验在服务器:单项属性不超过等级的 3 倍,极端的堆叠被上限压住。
加点提交的客户端预演与服务器裁决的一致性测试,点数的守恒断言逐批验证;洗点的付费转化与加点分布的统计,职业倾向的数据反哺平衡调整。
剩余点数的计算曾经不含未提交的本批,连点到超发被服务器拒绝,本地守恒的口径修正。提交的打包曾经逐点发送,10 点发 10 条消息刷屏,批量的打包替代。回包的刷新曾经覆盖玩家的本批未提交分配,回包只更新 free 与面板,分配行的状态不动。
属性的效果系数(1 点攻击等于多少面板)进配置,加点的收益透明。加点确认弹窗列出本批的分配明细,批量操作有知情确认。洗点的价格与次数限制公示,反悔的成本固定。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 战士的烈火剑法一击熄火后要等八秒冷却,连招断档感强烈。疾风烈火斩在烈火剑法命中后给一次连击窗口:三秒内再…
实战应用:用在哪里 阵营对抗打到中期容易疲软:打赢没有额外好处,输掉也没有代价。阵营声望体系给阵营战装上荣誉刻度:个人与阵营…
实战应用:用在哪里 拿下沙巴克之后呢?城主除了名字挂在城墙上,对城市毫无影响。城主施政玩法让占领变成治理:城主每周获得市政令…
实战应用:用在哪里 主线路光缆被挖断的深夜,全服掉线 20 分钟,玩家以为游戏倒闭。备用线路方案给接入层配第二条出口:主线路…
实战应用:用在哪里 行会官员由帮主任命的老模式弊端明显:任人唯亲、能上不能下。行会选举接口把官员换届做成投票制:每两个月一次…
实战应用:用在哪里 烈火剑法的伤害加成、冷却时间、下一级提升,全靠玩家记忆或去官网查。技能说明悬浮卡片在鼠标悬停技能图标零点…