设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间15 现在时间15 缓存数据 哪怕他只唱了几句,哪怕别人不仔细听都听不到他的声音,他还是要固执的在自己的名字后面写上他的名字,从他们两个名字写在一起的第一天起,就注定了一辈子不会分开[爱心]

哪怕他只唱了几句,哪怕别人不仔细听都听不到他的声音,他还是要固执的在自己的名字后面写上他的名字,从他们两个名字写在一起的第一天起,就注定了一辈子不会分开[爱心] -- 怎么了,没什么

查看: 679|回复: 2

传世服务端彩虹3引擎脚本引擎刷元宝问题的解决

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:197
  • 打卡月天数:0
  • 打卡总奖励:3636
  • 最近打卡:2023-08-27 07:16:33
等级头衔

等級:晓枫资讯-上等兵

在线时间
33 小时

积分成就
威望
0
贡献
297
主题
390
精华
0
金钱
4830
积分
707
注册时间
2022-12-26
最后登录
2023-8-27

发表于 2022-12-27 10:54:53 | 显示全部楼层 |阅读模式
传世服务端彩虹3引擎脚本引擎刷元宝问题的解决
近期,有用户反馈出现刷元宝的问题,经过我们分析是水上漂工具利用客户端发送给服务端的相关数据进行篡改后,导致出现刷元宝的现象。在这里告诉GM的是,客户端所发送来的所有数据都是可以用工具进行修改,我们只能从脚本严谨的检测中进行杜绝外挂发包!

案例1:
QUERYVAL 0 1 9 @发红包 请输入你本次红包元宝的数量!

//这个命令就是属于玩家通过客户端写入值然后发送给传世服务端!这个值同时水上漂也可以修改成任意值!
这个脚本后面的触发普遍的GM都是这样写。

[@发红包]
#IF
CHECKGAMEGOLD < $STR(M10)
#ACT
SENDMSG 5 元宝不足,无法发送红包!
break
#ELSEACT
GAMEGOLD - $STR(M10)
.......(扣除元宝后的其他操作省略)
.......(扣除元宝后的其他操作省略)
break

从这触发脚本M10的值是玩家任意输入,虽然字符长度可限制,但水上漂可将M10改成任意值,也可超过21亿,甚至几百亿!

重点来了,如果CHECKGAMEGOLD 的值超过21亿,彩虹引擎判断就会出现问题,因为引擎执行出错,都是false,
所以上面的脚本如果检测元宝超过21亿,引擎会去执行GAMEGOLD - $STR(M10) 。
同样的道理,GAMEGOLD 给玩家减少元宝的值超过21亿。那么引擎也就不会去减少玩家元宝!
这样就造成水上漂工具修改M10的值超过21亿,玩家不用一个元宝,就可以给全服任何玩家发元宝!

那么我们现在从脚本检测上严谨杜绝的正确写法!

[@发红包]
#IF
SMALL M10 1
#ACT

SENDMSG 5 你输入的元宝不正确!
break
#IF

LARGE M10 2100000000;// SMALL、LARGE、MOV、DEC等支持42亿以上数值运算;
#ACT

SENDMSG 5 你输入的元宝不正确!
break

#IF
CHECKGAMEGOLD < $STR(M10)
#ACT
SENDMSG 5 元宝不足,无法发送红包!
break
#ELSEACT
GAMEGOLD - $STR(M10)
.......(扣除元宝后的其他操作省略)
.......(扣除元宝后的其他操作省略)
break

我们要在前面对M10变量进行检测,防止水上漂将M10的值改成负数,或者超过21亿,这样就可以防止元宝!






案例2:
QUERYMSG 本服有人发红包啦,大家点击确定领取吧! @领取红包

//这命令也是属于玩家通过客户端点击确定后发送给服务端!水上漂可截取@领取红包后重复多次直接发送这标签!


这个脚本后面的触发普遍的GM都是这样写。

[@领取红包]
#IF
RANDOM 1
#ACT
GAMEGOLD + 5000
SENDMSG 5 你领取了5000元宝红包
break

从这个触发脚本,@领取红包 水上漂可以发多少次,就加多少次元宝。


那么我们现在从脚本检测上严谨杜绝的正确写法!

#ACT
MOV D10 1 ;//发送这个弹窗的时候,我们给一个D变量赋值
QUERYMSG 本服有人发红包啦,大家点击确定领取吧! @领取红包

[@领取红包]
#IF
EQUAL D10 1 ;/领取元宝的时候,我们检测这个D变量
#ACT
MOV D10 0 ; //领取完元宝我们还原这个D变量
GAMEGOLD + 5000
SENDMSG 5 你领取了5000元宝红包
break
#ELSEACT
SENDMSG 5 领取红包错误...
break
这样才能杜绝水上漂利用客户端发送给服务端的包来刷元宝。
最后想说的是,客户端所发送的东西是不可信的,只有我们自己的脚本才是可信的!


案例3
很多GM最近反馈出合成装备,使用物品放入框点确定后,会出现刷装备的问题!

各位用户请仔细检查您的相关脚本!!!

<合成麻痹戒指/@合成麻痹戒指>


[@合成麻痹戒指]
#ACT
ShowSpotDlg 6 请放入麻痹戒指碎片 @收取对应材料

//理论上,玩家放入材料后,点确定,是触发到 [@收取对应材料] 标签
//注意:当物品框放入是麻痹戒指,是会直接触发到 [@麻痹戒指] 标签!

//以至于很多GM有些合成给物品的标签正好是 [@麻痹戒指] 将会造成严重后果!
//如果放入的是护体戒指,也是会直接触发 [@护体戒指] 这个标签!
//请GM不要将物品名字直接作为触发标签!!!!


[@收取对应材料]
#ACT
SENDMSG 5 本次是收取对应材料触发!

[@麻痹戒指]
#ACT
give 麻痹戒指 1
SENDMSG 5 麻痹戒指的触发!

[@护体戒指]
#ACT
give 护体戒指 1
SENDMSG 5 护体戒指的触发!

案例4
[@首饰强化中级]
#ACT
ShowSpotDlg 6 放入要强化的装备: @首饰类型中级
break
物品放入框之后,点确认
然后把 $PRRAM(0) 和 $PARAM(1) 赋予到S变量中,再使用S变量去执行之后的相关脚本!
// 这样就防止 $PRRAM(0) 和 $PARAM(1) 两个变量会在未知情况中发生改变的情况!
// 同时,S变量尽量不要在其他脚本中使用,保证唯一性!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
16
积分
12
注册时间
2022-12-26
最后登录
2022-12-26

发表于 2023-2-3 12:42:44 | 显示全部楼层
感谢分享~~~~学习学习~~~~~
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
15
积分
10
注册时间
2022-12-29
最后登录
2022-12-29

发表于 2025-4-15 14:53:23 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

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