查看: 726|回复: 10

个人变量怎么实现每天抽奖20次

[复制链接]

签到天数: 364 天

[LV.8]№屠龙№

发表于 2020-2-13 20:04:10 | 显示全部楼层 |阅读模式
注意:用户在发帖后、我们会在官方技术交流群进行推送确保更多技术可以看到你的提问并解答,请在技术回复后及时采纳相应答案!
(提高悬赏也可使更多技术来回答得到更优质的答案)

===================================== 问题说明 ======================================
所属引擎:gom
[@login]
#IF
CHECKLEVELEX > 0
#ACT
VAR Integer HUMAN 抽奖次数
LOADVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt   这段声明变量应该放在哪个文件里面,我放在抽奖脚本里每次抽奖都提示变量已经存在
[@抽奖]
#IF
CHECKVAR  HUMAN 抽奖次数 < 20
#ACT
GOTO @认真读书
#ELSESAY
你今天已经抽了20次奖,不能再抽了!

[@认真读书]
#if
#act
goto  @cj
CALCVAR   HUMAN 抽奖次数 + 1
SAVEVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt  
今天的20次用完之后,怎么把 HUMAN 抽奖次数 这个变量 归0,我用机器人脚本

#if
#act
CALCVAR   HUMAN 抽奖次数 - 20
SAVEVAR HUMAN 抽奖 ..\QuestDiary\读书文件\抽奖次数.txt

不管用 。m2提示 这个变量不存在。 /还是需要删除这个变量?







===================================== 楼主需求 ======================================

我上面哪步错了,怎么实现每天抽奖20次





我知道答案 回答被采纳将会获得200 素材币 + 200 素材币 已有10人回答

签到天数: 572 天

[LV.9]㊣黄金裁决㊣

发表于 2020-2-13 20:47:26 | 显示全部楼层
机器人不能改变私人变量的,你要用登录脚本来清空

签到天数: 174 天

[LV.7]★怒斩★

发表于 2020-2-14 11:48:13 | 显示全部楼层
[@login] ;這些命令新增在 QManage.txt文本裡
#IF
CHECKLEVELEX > 0
#ACT
VAR Integer HUMAN 抽奖次数
LOADVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt       ;去\QuestDiary\读书文件的資料夾創建 抽奖次数.txt 記事本


設定一個抽獎npc
[@main]
#say
每日可抽獎20次\
開始<抽奖/@抽奖>\


[@抽奖]
#IF
CHECKVAR  HUMAN 抽奖次数 < 20
#ACT
CALCVAR   HUMAN 抽奖次数 + 1
SAVEVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt  
GIVE 金币 1000
BREAK

#ELSEACT
SENDMSG 5 【提示】你今天已经抽了20次奖,不能再抽了,隔日再試。

;-----腳本以上
今天的20次用完之后,怎么把 HUMAN 抽奖次数 这个变量 归0,我用机器人脚本

只要用機器人每日12點清空  抽奖次数.txt 文本  查詢一下說明書命令都會有


如果您使用下面命令而非直接全部清除文本會造成沒上線的人不會清除           最好使用清空文本的命令
CALCVAR   HUMAN 抽奖次数 - 20
SAVEVAR HUMAN 抽奖 ..\QuestDiary\读书文件\抽奖次数.txt

签到天数: 364 天

[LV.8]№屠龙№

 楼主| 发表于 2020-2-14 18:22:39 | 显示全部楼层
呆呆報 发表于 2020-2-14 11:48
[@login] ;這些命令新增在 QManage.txt文本裡
#IF
CHECKLEVELEX > 0

老是提示 你今天已经抽了20次奖,不能再抽了,隔日再試。
可能是什么原因。
开始用这个变量之前可以抽20次,但是把 抽奖次数这个文档清空之后,还是抽不了奖。提示你今天已经抽了20次奖,不能再抽了,隔日再試。
现在换个新号也提示已经抽奖20次了

签到天数: 174 天

[LV.7]★怒斩★

发表于 2020-2-16 15:53:28 | 显示全部楼层
用下面命令加入機器人 時間哪時候觸發自己填寫

AutoRunRobot 文件新增下列命令

#AutoRun NPC RUNONDAY 00:00 @每日清空

;-------------------------------------
RobotManage 文件新增下列命令
[@每日清空]
#IF
#ACT
CLEARNAMELIST ..\QuestDiary\读书文件\抽奖次数.txt

直接清空文本試試


签到天数: 116 天

[LV.6]☆裁决☆

发表于 2020-2-17 11:01:38 | 显示全部楼层
CLEARNAMELIST这个命令可以清空文本内容,但是不能清除自定义变量,所以导致第二天还提示已抽了20次。

签到天数: 144 天

[LV.7]★怒斩★

发表于 2020-3-27 22:06:28 | 显示全部楼层
楼主你好!
一.首先纠正你的脚本里的问题
1.自定义变量声明的位置错误的问题,应该放在QManage.txt里[@Startup]字段下
[@Startup]
#IF  
#ACT
VAR Integer HUMAN 抽奖次数
LOADVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt  

2.你的检测条件 CHECKLEVELEX > 0 等级大于0,还需要设置吗?
  从0级升到1级应该很简单吧?所以还是直接去掉吧

3.这个功能脚本,没必要用自定义变量,太累赘!你要的功能是抽奖,不是记录。
--------------------------------------------------------------------------------------------
二.我把我的思路分享给你,步骤如下:
1.设置NPC。这个就不用我说了吧
2.在相关NPC对话框内【功能按钮】里设置抽奖变量并赋值抽奖次数
[@Main]
\ \
文字介绍自己编写 \ \ \

每日免费抽奖20次,当前剩余【<$STR(U10)>】次\
每日0点刷新次数\ \


<抽奖按钮/@抽奖按钮>


[@抽奖按钮]
#IF
#ACT
MOV U10 20  --将变量值U10定义为抽奖功能专用,不要与其他变量发生冲突,
                          如果冲突了,必须换一个变量值。数字20则是抽奖次数
GOTO @开始抽奖

[@开始抽奖]
#IF
EQUAL U10 0   --检测变量U10是否为0,也就是次数是否为0,
                            如果为0,执行#ACT字段下命令
#ACT
MESSAGEBOX 提示:你的抽奖次数已用完,请明日再来!
BREAK

#IF
LARGE U10 0
#ACT
DEC U10 1
goto @cj

;抽奖脚本已经写完了,此脚本只写变量和次数,不包含抽奖功能脚本
------------------------------------------------------------------------------------------
我再把0点刷新抽奖次数的脚本写给你。

1.Mir200\Envir\Robot_def路径下,AutoRunRobot.txt里添加
#AutoRun NPC RUNONDAY 00:00 @重置抽奖次数

2.Mir200\Envir\Robot_def路径下,RobotManage.txt里添加
[@重置抽奖次数]
#IF
#ACT
GMEXECUTE 开始提问 @重置抽奖次数A

3.Mir200\Envir\MapQuest_def路径下,QManage.txt里添加
[@重置抽奖次数A]
#IF
#ACT
MOV U10 20
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!

;-------------------------------------希望能帮到你------------------------------

签到天数: 144 天

[LV.7]★怒斩★

发表于 2020-3-28 02:06:11 | 显示全部楼层
楼主你好!上篇回复,有点问题。我重新改了一下,以这篇为准。一.首先纠正你的脚本里的问题
1.自定义变量声明的位置错误的问题,应该放在QManage.txt里[@Startup]字段下
[@Startup]
#IF  
#ACT
VAR Integer HUMAN 抽奖次数
LOADVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt  

2.你的检测条件 CHECKLEVELEX > 0 等级大于0,还需要设置吗?
  从0级升到1级应该很简单吧?所以还是直接去掉吧

3.这个功能脚本,没必要用自定义变量,太累赘!你要的功能是抽奖,不是记录。
--------------------------------------------------------------------------------------------
二.我把我的思路分享给你,步骤如下:
1.在Mir200\Envir\MapQuest_def\QManage.txt文本里找到新人登录赠送的脚本段,
  在#ACT字段下添加
  MOV U10 20    --将变量值U10定义为抽奖功能专用,不要与其他变量发生冲突,
                              如果冲突了,必须换一个变量值。数字20是你需要设置的抽奖次数

2.设置NPC。这个就不用我说了吧
3.在相关NPC对话框内【功能按钮】里设置抽奖变量并赋值抽奖次数
[@Main]
\ \
文字介绍自己编写 \ \ \

每日免费抽奖20次,当前剩余【<$STR(U10)>】次\
每日0点刷新次数\ \


<抽奖按钮/@抽奖按钮>


[@抽奖按钮]
#IF
#ACT
MOV U10 20  --将变量值U10定义为抽奖功能专用,不要与其他变量发生冲突,
                          如果冲突了,必须换一个变量值。数字20则是抽奖次数
GOTO @开始抽奖

[@开始抽奖]
#IF
EQUAL U10 0   --检测变量U10是否为0,也就是次数是否为0,
                            如果为0,执行#ACT字段下命令
#ACT
MESSAGEBOX 提示:你的抽奖次数已用完,请明日再来!
BREAK

#IF
LARGE U10 0
#ACT
DEC U10 1
goto @cj

;抽奖脚本已经写完了,此脚本只写变量和次数,不包含抽奖功能脚本
------------------------------------------------------------------------------------------
我再把0点刷新抽奖次数的脚本写给你。

1.Mir200\Envir\Robot_def路径下,AutoRunRobot.txt里添加
#AutoRun NPC RUNONDAY 00:00 @重置抽奖次数

2.Mir200\Envir\Robot_def路径下,RobotManage.txt里添加
[@重置抽奖次数]
#IF
#ACT
GMEXECUTE 开始提问 @重置抽奖次数A

3.Mir200\Envir\MapQuest_def路径下,QManage.txt里添加
[@重置抽奖次数A]
#IF
#ACT
MOV U10 20
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!

;-------------------------------------希望能帮到你------------------------------

评分

参与人数 1升级经验 +5 技术力 +1 收起 理由
admin + 5 + 1 【热心帮助他人 赞一个】

查看全部评分

签到天数: 144 天

[LV.7]★怒斩★

发表于 2020-3-28 22:11:01 | 显示全部楼层
楼主你好!之前两篇回复,有点问题。我重新改了一下,以这篇为准。
一.首先纠正你的脚本里的问题
1.自定义变量声明的位置错误的问题,应该放在QManage.txt里[@Startup]字段下
[@Startup]
#IF  
#ACT
VAR Integer HUMAN 抽奖次数
LOADVAR HUMAN 抽奖次数 ..\QuestDiary\读书文件\抽奖次数.txt  

2.你的检测条件 CHECKLEVELEX > 0 等级大于0,还需要设置吗?
  从0级升到1级应该很简单吧?所以还是直接去掉吧

3.这个功能脚本,没必要用自定义变量,太累赘!你要的功能是抽奖,不是记录。
--------------------------------------------------------------------------------------

------
二.我把我的思路分享给你,步骤如下:
1.在Mir200\Envir\MapQuest_def\QManage.txt文本里找到新人登录赠送的脚本段,
  在#ACT字段下添加
  MOV U10 20    --将变量值U10定义为抽奖功能专用,不要与其他变量发生冲突,
                              如果冲突了,必须换一个变量值。数字20是你需要设置的抽奖次



2.设置NPC。这个就不用我说了吧
3.在相关NPC对话框内【功能按钮】里设置抽奖变量并赋值抽奖次数
[@Main]
\ \
文字介绍自己编写 \ \ \

每日免费抽奖20次,当前剩余【<$STR(U10)>】次\
每日0点刷新次数\ \


<抽奖按钮/@抽奖按钮>


[@抽奖按钮]
#IF
EQUAL U10 0   --检测变量U10是否为0,也就是次数是否为0,
                            如果为0,执行#ACT字段下命令
#ACT
MESSAGEBOX 提示:你的抽奖次数已用完,请明日再来!
BREAK

#IF
LARGE U10 0
#ACT
DEC U10 1
goto @cj

;抽奖脚本已经写完了,此脚本只写变量和次数,不包含抽奖功能脚本
--------------------------------------------------------------------------------------

----
我再把0点刷新抽奖次数的脚本写给你。

1.Mir200\Envir\Robot_def路径下,AutoRunRobot.txt里添加
#AutoRun NPC RUNONDAY 00:00 @重置抽奖次数

2.Mir200\Envir\Robot_def路径下,RobotManage.txt里添加
[@重置抽奖次数]
#IF
#ACT
GMEXECUTE 开始提问 @重置抽奖次数A

3.Mir200\Envir\MapQuest_def路径下,QManage.txt里添加
[@重置抽奖次数A]
#IF
#ACT
MOV U10 20
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!
SENDMSG 1 抽奖次数已经刷新!!!请到抽奖NPC处进行抽奖!!!

;-------------------------------------希望能帮到你------------------------------

签到天数: 1216 天

[LV.10]卍黄金怒斩卍

发表于 2020-3-29 08:48:35 | 显示全部楼层
弑血诳龍 发表于 2020-2-14 18:22
老是提示 你今天已经抽了20次奖,不能再抽了,隔日再試。
可能是什么原因。
开始用这个变量之前可以抽2 ...

脚本其他可以参考3楼,隔日清空的问题用以下方法解决
另外新建一个抽奖名单.txt文件,并且用机器人脚本每日凌晨清空:抽奖名单.txt
抽奖NPC处加入以下脚本:
[@main]
#IF
Not Checknamelist ..\QuestDiary\读书文件\抽奖名单.txt
#ACT
Addnamelist ..\QuestDiary\读书文件\抽奖名单.txt
CALCVAR   HUMAN 抽奖次数 = 0
SAVEVAR HUMAN 抽奖 ..\QuestDiary\读书文件\抽奖次数.txt
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表