【蓝胖子】TXT实战课程,刀刀切割
<h1><a href="https://fanm37t2tx.feishu.cn/minutes/obcn7yldm43cgcqhf124185p?from=from_copylink">视频课程</a></h1><h3><strong>《游戏自定义属性“刀刀切割”实现》教案</strong></h3>
<hr />
<h4><strong>课程目标</strong></h4>
<p>掌握游戏中自定义属性“刀刀切割”的完整实现流程,包括属性表配置、飘雪效果设置、触发脚本编写及常见问题解决。</p>
<hr />
<h3><strong>一、课程准备</strong></h3>
<ol>
<li><strong>工具与环境</strong>
<ul>
<li>开发工具:资源工具(用于表格导出/导入)、游戏引擎(需重启生效)。</li>
<li>核心表格:<code>att_story</code>表(存储自定义属性配置)。</li>
<li>版本差异:传2与传3的<code>att_story</code>表基本一致,但传3对自定义属性ID有严格限制(见注意事项)。</li>
</ul>
</li>
<li><strong>前置知识</strong>
<ul>
<li>熟悉游戏属性表的基础结构(如属性ID、数值类型、显示设置等)。</li>
<li>了解飘雪(伤害数字显示)的基本原理(需素材与表格配置配合)。</li>
</ul>
</li>
</ol>
<hr />
<h3><strong>二、核心内容:刀刀切割属性实现步骤</strong></h3>
<h4><strong>步骤1:配置自定义属性表(att_story)</strong></h4>
<ol>
<li><strong>新建/复制属性</strong>
<ul>
<li>在<code>att_story</code>表中新建自定义属性(如“刀刀切割”),或复制已有属性(如400号属性)并修改。</li>
<li><strong>关键字段说明</strong>:
<ul>
<li><strong>属性ID</strong>:传3限制为200-299(自定义ID范围),传2无严格限制(建议不超过65535)。</li>
<li><strong>数值类型</strong>:设为1(表示“加点数”,如加1000点切割)。</li>
<li><strong>客户端显示</strong>:有属性时显示(设为2);神装固定显示(设为2)。</li>
<li><strong>颜色</strong>:自定义(如绿色)。</li>
<li><strong>角色面板排序</strong>:设为200(放至最下方)。</li>
<li><strong>战力值</strong>(仅传3):1点切割对应战力值(可选填)。</li>
</ul>
</li>
</ul>
</li>
<li><strong>导出与生效</strong>
<ul>
<li>通过资源工具导出<code>att_story</code>表至前端。</li>
<li>重启游戏引擎使配置生效。</li>
</ul>
</li>
</ol>
<hr />
<h4><strong>步骤2:设置飘雪效果(伤害数字显示)</strong></h4>
<ol>
<li><strong>飘雪素材准备</strong>
<ul>
<li>从其他版本或资源包中获取“刀刀切割”飘雪素材(如<code>.img</code>文件),放入项目<code>RES</code>目录(路径参考:<code>RES\大马哥\</code>)。</li>
</ul>
</li>
<li><strong>飘雪表格配置</strong>
<ul>
<li>编辑飘雪样式表(如<code>当天飘雪样式</code>),匹配刀刀切割需求:
<ul>
<li><strong>资源路径</strong>:填写素材文件名(如<code>刀切割12.img</code>)。</li>
<li><strong>字符占位符</strong>:使用<code>-</code>表示负号,<code>.</code>表示小数点(如“-1000”需占位符匹配)。</li>
<li><strong>尺寸调整</strong>:根据数字长度调整宽度(如单个数字占14像素,调整至16像素避免显示截断)。</li>
<li><strong>其他参数</strong>:透明度(30%)、偏移坐标(20,20)、锚点(居中)等。</li>
</ul>
</li>
</ul>
</li>
<li><strong>验证与调试</strong>
<ul>
<li>导出飘雪表格并重启引擎,测试飘雪显示是否完整、数值是否正确。</li>
</ul>
</li>
</ol>
<hr />
<h4><strong>步骤3:编写触发脚本(实现切割伤害)</strong></h4>
<p>刀切割需通过脚本触发,常见触发场景为<strong>物理攻击</strong>(<code>attack</code>)和<strong>魔法攻击</strong>(<code>magic_attack</code>)。</p>
<ol>
<li><strong>物理攻击触发(attack)</strong>
<ul>
<li>脚本逻辑:判断攻击目标是否为怪物,若是则对其造成“刀刀切割”伤害,并飘雪显示。</li>
<li>示例代码:
<pre><code>-- 攻击触发(物理攻击)
if attack == 1 then-- 攻击事件触发
if 目标类型 == 怪物 then-- 判断是否攻击怪物
伤害值 = get_attr(角色, 210)-- 获取210号属性(刀刀切割)的数值
home_HP(怪物, -伤害值)-- 对怪物造成伤害(负值为扣血)
飘雪(12, 伤害值)-- 触发飘雪(12为飘雪ID,伤害值为显示数值)
end
end
</code></pre>
</li>
</ul>
</li>
<li><strong>魔法攻击触发(magic_attack)</strong>
<ul>
<li>脚本逻辑:与物理攻击类似,但需使用<code>px</code>指令指定攻击目标(远程攻击常用)。</li>
<li>示例代码:
<pre><code>-- 魔法攻击触发(如火球术)
if magic_attack == 1 then-- 魔法攻击事件触发
if 目标类型 == 怪物 then-- 判断是否攻击怪物
伤害值 = get_attr(角色, 210)-- 获取刀刀切割数值
home_HP(px, -伤害值)-- 对攻击目标(怪物)造成伤害
飘雪(12, 伤害值)-- 触发飘雪
end
end
</code></pre>
</li>
</ul>
</li>
</ol>
<hr />
<h3><strong>三、关键注意事项</strong></h3>
<ol>
<li><strong>自定义属性限制</strong>
<ul>
<li>传3中自定义属性ID仅允许200-299(官方保留0-199、300+),需提前规划ID避免冲突。</li>
<li>自定义属性<strong>必须通过脚本实现功能</strong>(引擎底层不自动生效)。</li>
</ul>
</li>
<li><strong>飘雪调试要点</strong>
<ul>
<li>素材路径需与表格配置一致,避免因路径错误导致飘雪不显示。</li>
<li>字符占位符(如<code>-</code>、<code>.</code>)需与实际数值格式匹配,否则显示乱码或截断。</li>
<li>尺寸调整需根据最大可能数值(如“-10000”)预留足够空间,避免显示不全。</li>
</ul>
</li>
<li><strong>攻击目标判断</strong>
<ul>
<li>物理攻击(<code>attack</code>)使用<code>p</code>指令(对目标角色),魔法攻击(<code>magic_attack</code>)远程场景使用<code>px</code>指令(对攻击目标)。</li>
<li>若刀切割仅对怪物生效,需通过<code>目标类型判断</code>过滤人物目标。</li>
</ul>
</li>
</ol>
<hr />
<h3><strong>四、总结与练习</strong></h3>
<ul>
<li><strong>总结</strong>:刀切割实现需完成“属性配置→飘雪设置→脚本触发”三步,核心是理解属性表规则、飘雪素材适配及攻击目标判断。</li>
<li><strong>练习</strong>:
<ol>
<li>新建一个“刀刀切割”属性(ID=220),配置显示参数并导出。</li>
<li>替换飘雪素材为“火焰切割”,调整飘雪表格解决显示截断问题。</li>
<li>编写攻击触发脚本,实现“对怪物造成刀切割伤害并飘雪”。</li>
</ol>
</li>
</ul>
<hr />
<p><strong>课后思考</strong>:若刀切割需对人物造成真实伤害(无视防御),脚本需如何调整?</p>
页:
[1]