蓝胖子 发表于 2025-8-12 16:46:23

【蓝胖子】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]
查看完整版本: 【蓝胖子】TXT实战课程,刀刀切割