已有功能使用(项目组内已有功能)
以下内容为项目内部使用的已实现脚本便捷功能,外部gm暂无以下内容
小总结
如果你已经掌握了变量使用、脚本间跳转、复杂列表生成与静态表,那么你就可以开始着手实现一些简单的功能了。但是请注意,在实际的功能制作中,写代码通常不会是最困难的地方。最最重要的是对这一游戏功能的拆解分析,将要实现的功能理解得不能再理解,把所有极端的可能性全部想清楚。如果这个功能写完后,别人问你相关的内容,你做不到对答如流,那么这个功能百分百会有问题,小则弥补缺陷,大则推倒重来。
分析需求→构建数据→编写代码→测试
新手阶段,主要了解代码的实现方式,以及脚本实现的逻辑,了解为什么。如果有问题困扰了你15分钟以上,再思考的效率就不大了,即可立刻寻求帮助(新手阶段一般不会有这么复杂的功能,这是我没解释清楚的问题,不是你的问题)
在实际功能实现中,我们会使用脚本制作许多通用的功能,串联起各个程序,方便最终效果的实现。以下内容为当前(编辑时间2025.7.11)阶段一些常用的功能使用说明。
1.充值功能(★★★☆☆)
程序自带的充值判定为当前充值金额。相同金额的不同礼包需要独立判定。打开\scripts\Mir200\Tejieconfig\Tejieconfig.txt,查看充值配置,如果没有你需要的充值金额档位,联系zhy
以霸服礼包为例,在对应的充值按钮功能加入如下内容
其中@打开微信充值界面的传参为礼包的价格(元)。
打开该文件,根据上面自定义的返回导航号配置充值取消的返回页面。用于用户取消充值时返回原页面
打开触发器\充值触发.txt,配置充值完成后内容的跳转即可(if内通过礼包金额和上面定义的礼包名称判断执行命令,奖励发放开启特权等自己编写)
测试方式:点击对应充值按钮到打开微信充值界面,在特戒平台的充值里面对对应玩家后台重置对应的价格档位即可。
2.增加角色属性(★★★☆☆)
所有的属性加成内容在\scripts\Mir200\Envir\QuestDiary\属性加成.txt中配置,仿照配置即可。注意:在角色获得了新的属性加成后,需要#call到属性加成文件的@main才会触发加成的刷新。
3.红点功能(★★★★★)
非常重要:当你确认你的程序已没有大问题,不会再做大修改后,再为程序添加红点。
(1)红点表配置
打开\scripts\Mir200\Envir\QuestDiary\配置文件\红点配置表.csv
配方名称:具体的某一项红点
功能名称:该类红点的总名称,以主界面按钮为准。例如龙魂竞技、光翼竞技均属于开服狂欢主界面按钮,则有相同的功能名
配方消耗:红点出现的道具要求,二维数据表,满足时出现红点。涉及到货币类时道具名写下表的消耗名数字
激活条件:写0时默认激活,写1时默认关闭,需要脚本控制才可以激活
装备要求:穿戴中的装备条件,满足才会执行,没有填-1。启用需要激活条件写1
主界面按钮id:右上按钮的位置id,右下按钮的功能id(待更新)
对话按钮组:启用该红点的所有位置名称。注意:该内容的按钮跳转均需要保证命名的唯一性,否则会激活所有同名跳转,传参不同视为命名不同。红点位置默认位于该跳转的右上,如果需要调整位置,可用透明图片手动调整坐标
(2)脚本激活关闭红点
脚本控制的红点激活方式:
mov s$0待检配方名 自定义的配方名
mov s$0待验证配方名 $str(s$0待检配方名)
mov s$0待检功能名 自定义的功能名
#call [\游戏功能\红点系统.txt] @功能激活
脚本控制的红点关闭方式:
mov s$0待检配方名 自定义的配方名
mov s$0待验证配方名 $str(s$0待检配方名)
mov s$0待检功能名 自定义的功能名
#call [\游戏功能\红点系统.txt] @功能停用
注意:从玩家角度,登录游戏后需要亮起所有可亮起的红点,而脚本控制的红点大多写在自己的程序里,不会在登录时独立加载(不点开就没有红点)。于是需要在玩家登录的时候进行红点的预加载,脚本位置:\scripts\Mir200\Envir\QuestDiary\游戏登录\红点预加载.txt
非常注意:红点预加载文件请不要直接#call到你的程序里去计算,这会引起脚本初始化问题与资源占用。请在红点预加载文件里写最简单的判断红点,让入口处亮起即可。玩家只需要知道这里有红点需要进入,至于进入后那些地方有红点在自己的程序里加载即可
(3)红点系统基本设计
红点系统围绕“红点配置表.csv”运行,并对该表读取重组为几个表:
tb_g0红点触发表:以消耗对象为关键字,记录配方及功能名。用以获取道具时检测消耗对象及要求,触发红点
tb_g0功能配方表:以功能名为关键字,记录配方列表。打开某个功能界面时,遍历对应的配方列表,给界面上的对应按钮加、删红点。
tb_g0穿戴配方表:以“装备名称”为关键字,记录配方列表。当穿戴了指定装备后,才会激活的配方。
tb_p0按钮配方表:以“按钮名称”为关键字,记录配方列表。记录指定按钮,有哪些配方处于红点状态。
tb_p0功能红点表:以“功能名称”为关键字,记录红点状态。
tb_p0配方红点表:表内为激活状态的红点配方名
再次强调,以上的表均由“红点配置表.csv”读取重组组成,辅助红点系统在实现过程中支持各种功能,并辅助测试。
红点的检测主要包括:道具变动、货币变动、等级变动、穿戴装备、脚本激活等。为支持红点的货币变动检测, 通过命令给玩家货币时需走\scripts\Mir200\Envir\QuestDiary\货币变更\货币变更.txt中对应的@块
(4)红点调试方法
#call [\游戏功能\红点系统.txt] @main
重载完表格后,打开上面界面,依次点击“加载配置”,“非配置表初始”,“个人非配置”完成表格加载(或重启服务器)
点击“功能测试按钮”-“单元测试用”,进行各种功能的测试。无逻辑测试可直接测试红点能否亮起,若无法亮起则配表的按钮组有问题,或表格未重载成功。若能亮起,但无法用脚本控制,检查控制逻辑与触发条件。
查表按钮可print加载的各红点表用以检查是否激活及其条件
4.恭喜获得与发放奖励
需要使用的时候可提醒zhy写一下,或者自行阅读代码
\scripts\Mir200\Envir\QuestDiary\便捷功能
5.经过天数触发(体验卡、期间特权等)
需要使用的时候可提醒zhy写一下,或者自行阅读代码
\scripts\Mir200\Envir\QuestDiary\便捷功能
6.自选道具宝箱
需要使用的时候可提醒zhy写一下,或者自行阅读代码
\scripts\Mir200\Envir\QuestDiary\便捷功能
六、其他实用技巧
在实际操作过程中一些令人头疼的小问题的处理方式
1.小数
含小数的计算使用formulation,当结果展示含小数时,使用getFloat
—— 你的独立游戏梦,从这里开始!