LFM2引擎如何设置技能伤害和防御 - SetSkillPower命令脚本实现方法
摘要:LFM2引擎SetSkillPower命令用于按技能ID分别修正对人物、对怪物伤害与防御,支持百分比与固定值两套参数,时间0一直有效,末尾参数控制是否存库,最终效果等于列表信息2全局加命令私人设置。本文按帮助文档整理格式、参数对照、步骤与报错,并用GetSkillPower读取回数值,助GM落地技能威力配置。…
做版本玩法时常有这样的需求:想让某一招必杀技能对人物和怪物都打出更高伤害,或者反过来给某个技能加一层减伤效果,让它在特定场景下更耐打。这类对单个技能做威力调整的需求,LFM2引擎里用SetSkillPower一条命令就能实现,它按技能ID分别控制对人物伤害、对怪物伤害和防御三大部分的增减。设置技能伤害和防御,就是通过脚本给指定技能叠加百分比与固定值的威力修正。
这条命令最实用的地方在于它把同一招技能对人、对怪、对防御拆开调,做出来的技能可以只在打人时疼、打怪时正常,或者反过来。配置时还要和M2列表信息2里的技能威力全局设置叠加计算,理解这层关系就不会出现改了命令却和预期对不上的情况。本文按LFM2引擎帮助文档原文整理命令格式、参数表、配置步骤与常见报错,供版本GM调试技能威力参考。

技能威力命令格式
SetSkillPower命令在脚本中的写法比较长,按技能ID、操作符、六组增减参数、时间、是否保存数据库的顺序依次排列,各部分以空格分隔。操作符支持加号、减号、等号,分别表示在原有基础上叠加、减少或直接设为某个值。
格式: SetSkillPower 技能ID +/-/= 人物伤害增加% 人物伤害增加值 怪物伤害增加% 怪物伤害增加值 防御增加% 防御增加值 时间(秒;0一直有效) 是否保存数据库(0:不存;1:存)
; 示范脚本
#act
SetSkillPower 66 = 100 0 100 0 0 0 0
SENDMSG 6 你的开天斩技能对人物伤害增加为原来的2倍(增加100%),对怪物伤害为原来的2倍(增加100%)
上例是帮助文档原文示范:技能ID为66,即开天斩,用等号把人物伤害增加%设为100、怪物伤害增加%设为100,其余几组填0,时间与保存参数走默认。效果就是开天斩对人物和对怪物的伤害都提升为原来的两倍。帮助文档还给出了反向读取的命令GetSkillPower,把技能ID传进去,可以把六组当前数值和时间、保存状态分别读到变量里,方便脚本回显。
技能伤害防御参数表
SetSkillPower参数多达九段,把每一段的含义与取值范围整理成下表,配置时对照填写。
| 参数段 | 含义 | 取值范围与说明 |
|---|---|---|
| 技能ID | 要调整的技能编号 | 如66对应开天斩 |
| 操作符 | + - = | 叠加、减少、直接设定 |
| 人物伤害增加% | 对人物伤害百分比修正 | -32768到32767 |
| 人物伤害增加值 | 对人物伤害固定值修正 | -32768到32767 |
| 怪物伤害增加% | 对怪物伤害百分比修正 | -32768到32767 |
| 怪物伤害增加值 | 对怪物伤害固定值修正 | -32768到32767 |
| 防御增加% | 防御百分比修正 | -32768到32767 |
| 防御增加值 | 防御固定值修正 | -32768到32767 |
| 时间 | 生效时长秒数 | 0到65535,0一直有效 |
| 是否保存数据库 | 0不存、1存 | 控制是否写入数据库 |
六组修正参数里,百分比与固定值是分开的两套,百分比按比例放大或缩小伤害,固定值直接加减点数。帮助文档明确计算方式为M2列表信息2技能威力设置中的全局设置加上命令私人设置等于最终效果,如果不想用全局,把列表信息2里的全局全部设为0即可,这样命令私人设置就单独生效。
配置技能伤害防御步骤
把SetSkillPower接到技能发放或技能强化的脚本段,按下面几步操作。
第一步,先在M2列表信息2的技能威力设置里确认全局数值,决定是在此基础上叠加还是把全局清零让命令独立生效。
第二步,在脚本段里按顺序写SetSkillPower,先填技能ID,再选操作符加号减号或等号,然后按需求填写人物伤害、怪物伤害、防御三组百分比与固定值。
第三步,填写生效时间,需要限时增益就写具体秒数,想一直有效就填0;需要长期保存就把末尾的保存数据库参数写1。
第四步,保存脚本后在M2引擎中重新加载,用对应技能打一只测试怪和一个测试角色,验证伤害倍数是否达到预期,必要时用GetSkillPower回读当前数值核对。
完成上述步骤后,技能威力就按脚本设定叠加到了对应技能上。记得技能ID要与版本技能数据库里的编号一致,填错ID调的是另一招技能。
技能威力设置常见报错
技能威力命令参数多,用错时典型问题是伤害没变化或效果对不上,按下面思路排查。
一个高频报错是改了命令但技能伤害毫无变化。这时优先检查技能ID是否填对,开天斩这类技能的ID要和技能数据库完全对应;其次检查操作符,如果想用等号直接设定却写成了加号,会在全局基础上继续叠加,效果自然不是预期的两倍。最后确认是否被列表信息2的全局设置稀释,命令私人设置和全局是相加关系。
另一个常见问题是参数顺序对错位。九段参数中间用空格分隔,少写一段或填错位置,后面的时间、保存参数就会往前顶,导致时间被当成百分比、保存状态被当成增加值。配置时建议照帮助文档示范逐段对位填写,填完用GetSkillPower回读一遍,数值对得上再交付。
常见问题
1. 问:SetSkillPower适合在哪些脚本场景调整技能?
答:适合在技能强化NPC、转职觉醒、装备套装触发这类给人物加技能威力的脚本段里使用,也适合做限时爆发活动时临时把某招技能伤害拉满。凡是要按人物、按怪物、按防御分别修正单个技能威力的玩法,都可以用这条命令,配合时间参数做成限时增益。
2. 问:改了数据库Power为什么技能伤害没变化?
答:数据库里的Power是技能基础伤害下限,实际伤害还受人物魔法力、攻击上下限和M2威力倍数共同影响,光改Power不一定能立刻看出变化。SetSkillPower是在基础之上再叠加命令私人设置的百分比与固定值修正,和数据库Power是两层关系;想让某招技能明显变强,直接用SetSkillPower给这招技能ID叠百分比最直观。(本条问题整理自百度知道真实提问:改了Power为什么技能伤害没变化?,2018-03)
3. 问:SetSkillPower和M2列表信息2的全局技能威力是什么关系?
答:两者是相加关系,帮助文档说明最终效果等于列表信息2全局设置加上命令私人设置。想让命令独立生效,就把列表信息2里该技能的全局全部设为0;想在全局基础上再给特定人物加强,就保留全局、用命令继续叠加私人部分。(来源:LFM2引擎帮助文档,2026-10检索)
4. 问:人物伤害增加%设为100是加一倍还是变成十倍?
答:是增加100%,即在原伤害基础上再加一倍,最终为原来的两倍,帮助文档示范里也明确开天斩增加100%就是原来的2倍。百分比按比例计算,固定值则直接加减点数,两者叠加时先算比例再加上固定值。
5. 问:技能ID怎么查?开天斩是多少?
答:技能ID要对照版本技能数据库里的编号,帮助文档示范直接用ID66作为开天斩的例子。不同版本技能编号可能有差异,配置前先在技能库确认目标技能的ID,填错ID调的是别的技能,这是最常见的错位原因。
6. 问:设置的技能威力会保存到人物身上吗?
答:由末尾的是否保存数据库参数控制,写0不保存、写1保存。不保存时人物下线重登后命令私人设置清空,保存后会写入数据库长期保留。做限时增益用0加时间参数,做常驻强化用1保存,按玩法时长选择即可。(来源:LFM2引擎帮助文档,2026-10检索)
7. 问:怎么用脚本回读当前技能威力数值?
答:用GetSkillPower命令,把技能ID传进去,后面依次接变量,就能把人物伤害增加%、人物伤害增加值、怪物伤害增加%、怪物伤害增加值、防御增加%、防御增加值、时间、是否保存数据库分别读到对应变量里,方便在对话里回显当前技能状态。
技能威力配置要点回顾
回到开头,设置技能伤害和防御用SetSkillPower就能对单个技能按ID做威力修正。格式记住技能ID加操作符加六组增减参数加时间加保存;计算记住列表信息2全局加命令私人设置等于最终效果,想独立就把全局清零;排查记住技能ID要对上数据库、操作符加号减号等号别用错、九段参数顺序别错位。配合GetSkillPower读取回显,这套技能威力配置就能调得既准又稳。
SetSkillPower技能伤害防御的参数含义以LFM2引擎帮助文档为准,文中数值示例已在本地环境验证过,其他引擎写法请自行核对。
内容来源可溯:LFM2引擎帮助文档(脚本命令详解-功能操作命令页面)。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。
本文链接:https://www.m2gm.com/tech/lfm2/lfm2-setskillpower-power/







