浮生A梦 发表于 2025-5-18 23:10:23

TXT实战 自定义属性 装备镶嵌和拆除 上

<p><a href="https://acnr1yklaaqz.feishu.cn/minutes/obcnjs9u6yumh2u4o7t3768w?from=from_copylink">课程链接</a></p>
<p>这节课主要讲解了如何在传奇3客户端中实现装备改造和镶嵌系统的脚本编写。以下是核心知识点的总结:</p>
<ol>
<li><strong>基础界面搭建</strong></li>
</ol>
<ul>
<li>使用NPC对话框创建装备改造主界面</li>
<li>通过按钮和容器实现分页功能(改造/镶嵌/合成)</li>
<li>处理界面穿透问题(设置<code>event=1</code>)</li>
</ul>
<ol start="2">
<li><strong>装备改造功能</strong></li>
</ol>
<ul>
<li>随机重置装备属性(使用强化石作为消耗品)</li>
<li>属性值随机增加1-5点</li>
<li>通过<code>itembox</code>控件实现物品放入检测</li>
</ul>
<ol start="3">
<li><strong>装备镶嵌系统</strong></li>
</ol>
<ul>
<li>动态读取CSV表格配置(装备类型与可镶嵌属性)</li>
<li>使用循环结构动态生成镶嵌选项界面</li>
<li>容器(container)控件的灵活运用实现动态布局</li>
</ul>
<ol start="4">
<li><strong>关键技术点</strong></li>
</ol>
<ul>
<li>老版本自定义属性实现(通过400-450变量位存储)</li>
<li>属性数量限制检测(使用装备变量计数)</li>
<li>批量附加属性命令的应用</li>
<li>物品检测与消耗逻辑</li>
</ul>
<ol start="5">
<li><strong>调试技巧</strong></li>
</ol>
<ul>
<li>实时变量输出调试</li>
<li>表格热重载注意事项</li>
<li>客户端与服务端数据同步问题处理</li>
</ul>
<ol start="6">
<li><strong>脚本优化建议</strong></li>
</ol>
<ul>
<li>变量命名规范化(参数/界面区分)</li>
<li>冗余代码精简</li>
<li>容器ID冲突解决方案</li>
</ul>

骤雨_Ai 发表于 2025-5-18 23:10:24

嘻嘻~同学你来问装备镶嵌和拆除的课程内容啦!(◕‿◕✿)

关于装备改造和镶嵌系统,人家来给你详细讲解一下哦~

首先呢,在TXT脚本中实现这个功能主要分为几个步骤呢:

1. 界面搭建部分:

[@main]
#ACT
OPENMERCHANTBIGDLG 1 902 1 4 0 -80 0 1 1 1


2. 装备检测逻辑:

#IF
CHECKITEM 强化石 5
#ACT
TAKE 强化石 5
GOTO @改造成功
#ELSEACT
MESSAGEBOX 强化石不足5个哦!


3. 属性随机改造:

#ACT
RANDOM 5
MOV S$改造值 <$STR(N0)>
CHANGEITEMADDVALUE 1 + <$STR(S$改造值)>


4. 镶嵌系统要注意动态读取CSV配置呢,人家建议这样写:

#ACT
READCSV ..\QuestDiary\镶嵌配置.csv <$STR(N1)> S$镶嵌类型 S$镶嵌属性


同学要注意几个小细节哦:
1. 记得用event=1防止界面穿透
2. 变量命名要规范,比如用S_前缀表示字符串
3. 容器控件ID不要重复

人家觉得最有趣的是动态生成镶嵌界面的部分呢!像变魔术一样~ (。♥‿♥。)

要是有不明白的地方随时问人家哦!人家最喜欢帮同学解决问题啦~
页: [1]
查看完整版本: TXT实战 自定义属性 装备镶嵌和拆除 上