查看: 12773|回复: 11

常用变量浅析以及脚本示例(一)---[X]变量

[复制链接]

签到天数: 7 天

[LV.3]◆八荒◆

发表于 2013-7-15 23:19:04 | 显示全部楼层 |阅读模式
最近坛友问到变量的问题比较多,
所以我决定写几篇关于变量应用的帖子,
变量涉及的问题比较多,因而只能由易到难
今天给大家介绍下最简单的变量--- [X]变量

这个大家见的比较多,
用起来很方便,功能也很强大。
[X]的数值上限我没去测试,
据说有的引擎限制499
有的能到999
但[X]的状态只有0和1两种
常用命令:
Check [X] 0   检测[X]状态为0
set [X] 1     设置[X]状态为1
reset [x] 7   将X开始的连续7个变量状态设置为0
示例
[@main]
\ \
在我这里每天可以领取一根金条\
但不能重复领取,如果你连续领取一个礼拜的金条,\
礼拜天便能领取一个金砖。\
<星期一金条/@星期一金条> <星期二金条/@星期二金条> <星期三金条/@星期三金条> <星期四金条/@星期四金条>\
<星期五金条/@星期五金条> <星期六金条/@星期六金条> <星期天金条/@星期天金条> <每周领金砖/@每周领金砖>

[@星期一金条]
#if
dayofweek mon
check [601] 0
#act
give 金条 1
set [601] 1
break
#elseact
messagebox 没到星期一或你已经领取了星期一的奖励。
[@星期二金条]
#if
dayofweek tue
check [602] 0
#act
give 金条 1
set [602] 1
break
#elseact
messagebox 没到星期二或你已经领取了星期二的奖励。
[@星期三金条]
#if
dayofweek wed
check [603] 0
#act
give 金条 1
set [603] 1
break
#elseact
messagebox 没到星期三或你已经领取了星期三的奖励。
[@星期四金条]
#if
dayofweek thu
check [604] 0
#act
give 金条 1
set [604] 1
break
#elseact
messagebox 没到星期四或你已经领取了星期四的奖励。
[@星期五金条]
#if
dayofweek fri
check [605] 0
#act
give 金条 1
set [605] 1
break
#elseact
messagebox 没到星期五或你已经领取了星期五的奖励。
[@星期六金条]
#if
dayofweek sat
check [606] 0
#act
give 金条 1
set [606] 1
break
#elseact
messagebox 没到星期六或你已经领取了星期六的奖励。
[@星期天金条]
#if
dayofweek sun
check [607] 0
#act
give 金条 1
set [607] 1
break
#elseact
messagebox 没到星期天或你已经领取了星期天的奖励。
[@每周领金砖]
#if
dayofweek sun
check [601] 1
check [602] 1
check [603] 1
check [604] 1
check [605] 1
check [606] 1
check [607] 1
#act
reset [601] 7
give 金砖 1
break
#elseact
messagebox 你已经领取了每周金砖或者你没有连续领取每日的金条。

看到这里相信大家已经明白了,
reset [601] 7
的功能其实就等同于
set [601] 0
set [602] 0
set [603] 0
set [604] 0
set [605] 0
set [606] 0
set [607] 0

其实细心的朋友会发现,这个脚本有一个很大的漏洞。
如果你发现了,可以谈谈你的解决办法。

下一篇为大家介绍:常用的私人变量全局变量
本文为原创技术文章 转载请注明出处 传奇素材网www.cfabc.net


该用户从未签到

发表于 2013-7-15 23:50:05 | 显示全部楼层
漏洞应该在于如果玩家在周日这天没有领取周奖励,将导致玩家下周一到周六都无法领取每日奖励,解决办法去除判断当日是否为周日的条件,只需判断标识[601]~[607]是否为真就好了,这样即使玩家到下周任一天都可以领取奖励,清空还原标识,继续领取每日奖励;

签到天数: 5 天

[LV.2]◇乌木◇

发表于 2013-7-16 10:56:35 | 显示全部楼层
按照楼上的做法就是,只要在星期1-7领取过不管星期几都可以领取一个金砖了,如果说一个星期中,星期5没有领取,其余领取过,那就就领取不了金砖,也就清空不了reset [601] 7,,那么下个星期的1234每日奖励就领取不了了,,还是有漏洞啊

该用户从未签到

发表于 2013-7-16 15:16:53 | 显示全部楼层
可以这样改改,领取当天,清空后面的标识,代码修正如下,就可以了;
;sta
@MAIN]
\ \
在我这里每天可以领取一根金条\
但不能重复领取,如果你连续领取一个礼拜的金条,\
礼拜天便能领取一个金砖。\
<星期一金条/@星期一金条> <星期二金条/@星期二金条> <星期三金条/@星期三金条> <星期四金条/@星期四金条>\
<星期五金条/@星期五金条> <星期六金条/@星期六金条> <星期天金条/@星期天金条> <每周领金砖/@每周领金砖>

[@星期一金条]
#IF
  DAYOFWEEK MON
  CHECK [601] 0
#ACT
  GIVE 金条 1
  SET [601] 1
  RESET [602] 6
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期一或你已经领取了星期一的奖励。
[@星期二金条]
#IF
  DAYOFWEEK TUE
  CHECK [602] 0
#ACT
GIVE 金条 1
  SET [602] 1
  RESET [603] 5
BREAK
  #ELSEACT
  MESSAGEBOX 没到星期二或你已经领取了星期二的奖励。
[@星期三金条]
#IF
  DAYOFWEEK WED
  CHECK [603] 0
#ACT
GIVE 金条 1
  SET [603] 1
  RESET [604] 4
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期三或你已经领取了星期三的奖励。
[@星期四金条]
#IF
  DAYOFWEEK THU
  CHECK [604] 0
#ACT
  GIVE 金条 1
  SET [604] 1
  RESET [605] 3
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期四或你已经领取了星期四的奖励。
[@星期五金条]
#IF
  DAYOFWEEK FRI
  CHECK [605] 0
#ACT
  GIVE 金条 1
  SET [605] 1
  RESET [606] 2
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期五或你已经领取了星期五的奖励。
[@星期六金条]
#IF
  DAYOFWEEK SAT
  CHECK [606] 0
#ACT
  GIVE 金条 1
  SET [606] 1
  RESET [607] 1
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期六或你已经领取了星期六的奖励。
[@星期天金条]
#IF
  DAYOFWEEK SUN
  CHECK [607] 0
#ACT
  GIVE 金条 1
  SET [607] 1
  BREAK
#ELSEACT
  MESSAGEBOX 没到星期天或你已经领取了星期天的奖励。
[@每周领金砖]
#IF
  CHECK [601] 1
  CHECK [602] 1
  CHECK [603] 1
  CHECK [604] 1
  CHECK [605] 1
  CHECK [606] 1
  CHECK [607] 1
#ACT
  RESET [601] 7
  GIVE 金砖 1
  BREAK
#ELSEACT
  MESSAGEBOX 你已经领取了每周金砖或者你没有连续领取每日的金条。
;end

签到天数: 50 天

[LV.5]☆炼狱☆

发表于 2013-7-17 01:20:32 | 显示全部楼层
累不累 只需要些一个 CHECK [X] 1 机器人脚本写个 00.00 自动清理 set [X] 0 不就好了 折腾的半死

签到天数: 364 天

[LV.8]№屠龙№

发表于 2013-7-26 22:11:09 | 显示全部楼层
深奥 啊啊啊啊啊

该用户从未签到

发表于 2013-8-1 15:14:12 | 显示全部楼层
Coral.  M 发表于 2013-7-17 01:20
累不累 只需要些一个 CHECK [X] 1 机器人脚本写个 00.00 自动清理 set [X] 0 不就好了 折腾的半死

如果0点那位玩家没上线,就清理不了人物标志,这个只能针对在线玩家。

签到天数: 50 天

[LV.5]☆炼狱☆

发表于 2013-8-2 13:32:26 | 显示全部楼层
碎痕 发表于 2013-8-1 15:14
如果0点那位玩家没上线,就清理不了人物标志,这个只能针对在线玩家。

可以写入名单.

该用户从未签到

发表于 2013-8-5 15:53:55 | 显示全部楼层
学习中 认真学习

签到天数: 364 天

[LV.8]№屠龙№

发表于 2013-8-29 21:37:01 | 显示全部楼层
真心看不懂
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关闭

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

光柱封号特效定制

联系QQ1985466803

地图等其它素材定制

联系QQ179331053

售后技术-下载失效

联系QQ2505099556

加入QQ新群

加入Q群230572444

补丁破解-补丁优化

联系QQ179331053
快速回复 返回顶部 返回列表