小怪聊生活手把手教你写每日签到奖励传奇脚本

【关注我 , 持续输出有质量的游戏领域文章 , 满还有8000关注就可以开通视频课程啦 , 加油!】
今天一个网友说可否在游戏内添加每日签到奖励功能 , 抽空就把这个脚本写了 。
每日签到的核心价值 , 就是增加用户粘性 , 使用户可以每天上来看看 , 但也要防止长期玩的建很多小号来刷东西!
每日签到的流程原理今天实现一个相对简单的每日签到 , 就是每天可以领一次固定的奖品 , 无限循环下去 。
小怪聊生活手把手教你写每日签到奖励传奇脚本
文章图片
其中 , 我们想 , 连续签到我们得知道签了几天 , 几天这里我们得找地方存放对不对?我们选择变量来存储 。
今天的奖励和明天的奖励最好是动态的 , 也就是说随时都可以编辑的 。
我们希望今天领完了得有一个地方记录是否领取过 。
先实现界面我写所有脚本 , 一般都是把界面先整出来 , 然后反过来推具体用到的变量获得条件 , 所以为了节约大家时间 , 就先把界面代码放出来 。
[@main]#if#act#say---------------------------------------------------------好 , 界面出来了 , 但是很多地方不显示 , 对不对?我们要逐一对变量进行赋值操作 。
首先 , 就是累计签到了多少天 , 我们用变量来存储会比较方便 , 这个变量要永久保存 , 而且是数字变量 , 通过引擎帮助文档 , 我们知道用U变量 。 为了不和以前写的变量不重复 , 这里我们用U81变量 。
其次 , 今日奖励和明日奖励 , 我们得有个列表记录奖品 。 而且得通过顺序将奖品给取出来 。
好 , 我们知道 , 数字型变量默认为0天 , 所以界面第一次显示的时候 , 默认即可 。 如果签到了 , 那么就对U81变量加一 , 再次打开 , 就是一天了 , 对吗?
我们来看今日奖励和明日奖励 。 通过搜帮助文档 , 我们知道 , 可以读取记事本指定序号行 。 也就是说第一行 , 第二行 , 我们就可以通过这个顺序 , 来对应上累计签到天数取值 。
小怪聊生活手把手教你写每日签到奖励传奇脚本
文章图片
最后 , 今天领取的状态 , 我们用J变量 , 因为这个变量每晚24时清空 , 也就省去了我们读写记事本的麻烦 。
从简单的来 , 如果今天领取了 , 显示已领取 , 未领取显示未领取 。 这里我们用J4变量来保存领取状态 。
[@main]#ifEQUALJ41#actMOVS94#elseactMOVS94#if#act#say---------------------------------------------------------我们再次打开NPC窗口 , 今日签到是不是显示了绿色的可领取?
小怪聊生活手把手教你写每日签到奖励传奇脚本
文章图片
好 , 我们继续 。
我们要创建一个记事本 , 让程序从第一行读(第一行对应第一天的奖励物品) 。 我们在以下路径创建一个记事本文件 , 名字叫:每日签到奖励.txt 。 同时 , 我们写入两行奖励物品 。
小怪聊生活手把手教你写每日签到奖励传奇脚本
文章图片
D:mirserverMir200EnvirQuestDiary小怪脚本数据加载然后 , 我们就要根据累计签到天数读今天和明天的奖励了 。 我们用到了
GETRANDOMLINETEXT文件字符串变量指定行(0或空是随机一行 , 大于0是取指定行)是否绝对路径(0:不是 , 1:是)我们用S92临时变量来保存今日奖励 , 取第一行 。
GETRANDOMLINETEXT..QuestDiary小怪脚本数据加载每日签到奖励.txtS921我们能不能取到呢?能 , 对不对?那么第二天呢?我们用S93变量去保存 , 这样同时可以获取S92的今天奖励和S93的明天奖励
GETRANDOMLINETEXT..QuestDiary小怪脚本数据加载每日签到奖励.txtS932
小怪聊生活手把手教你写每日签到奖励传奇脚本
文章图片
我们看到 , 可以获取到第一行和第二行 。 但是 , 问题来了!第二天还是显示了第一天的奖励!