GM-爱好者

 找回密码
 立即注册

在线
客服

在线客服服务时间: 10:00-20:00{不定期回复}

选择下列客服马上在线沟通:

快速
发帖

客服
热线

290016403
7*24小时客服服务热线

关注
微信

关注Q群二维码
顶部
查看: 438|回复: 15

传奇GEE引擎脚本使用相关注意事项

[复制链接]
等级头衔

等級:郡王

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
精华
0
G币
0
主题
34
帖子
1449
金币
11679

建功勋章

热心会员突出贡献最佳新人活跃会员

发表于 2023-11-7 17:43:55 | 显示全部楼层 |阅读模式

马上注册 立即下载

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  传奇GEE引擎关于脚本安全相关,部分新手写脚本不严谨,导致游戏脚本被封包利用造成损失,再这里给大家举例说明几个脚本安全相关示例

  首先涉及到GOTO,CALL,和非NPC界面使用鼠标点击的脚本,我们可以利用引擎禁止点击字符进行强化安全,下面我们就使用系统禁止点击触发命令 :PlayDie ,这个命令是死亡触发命令,引擎文档也提到只要脚本头前缀涉及包含PlayDie 那么不允许点击,这个可以搜索引擎文档进行了解,搜索关键词:为什么提示禁止点击该NPC触发字段

  风险脚本示例1------------下面----------看讲解为什么是风险----------------------------------
  ;下面是NPC脚本:
  [@main]
  \
  [@正常开始回收]
  #IF
  EQUAL U108 0
  #ACT
  #CALL [\回收元宝系列\装备回收价格.txt] @回收装备正常
  CLOSE
  break
  ;下面....QuestDiary\回收元宝系列\装备回收价格.txt脚本(因为上面NPC脚本已经将脚本CALL到这里了)
  ;执行条件为  检测 U108变量不等于0则CALL到下面脚本执行
  [@回收装备正常]
  {
  #IF
  check [100] 1
  #ACT
  goto @战狂回收检测A
  #IF
  check [101] 1
  #ACT
  goto @神武回收检测B
  #IF
  check [102] 1
  #ACT
  goto @烈火回收检测C
  break
  ;--下面是上方GOTO执行脚本,
  ;执行条件为  分别检测个人标识100  101  102等于1则GOTO进行执行下面对应脚本
  [@战狂回收检测A]
  #OR
  Checkitem 战狂精铁剑 1
  Checkitem 战狂精铁铠 1
  Checkitem 战狂头盔 1
  Checkitem 战狂项链 1
  Checkitem 战狂手镯 1
  Checkitem 战狂护腕 1
  Checkitem 战狂戒指 1
  Checkitem 战狂指环 1
  Checkitem 战狂腰带 1
  Checkitem 战狂靴子 1
  #ACT
  TakeBagItem 战狂头盔|战狂项链|战狂手镯|战狂护腕|战狂戒指|战狂指环|战狂腰带|战狂靴子 46 20 0 0 38000 N0 1
  TakeBagItem 战狂精铁剑|战狂精铁铠 46 40 0 0 76000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 20
  MOV N$回收金额B
  MUL N$回收金额B 40
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{战狂套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break
  [@神武回收检测B]
  #OR
  Checkitem 神武嗜血剑 1
  Checkitem 神武嗜血铠 1
  Checkitem 神武头盔 1
  Checkitem 神武项链 1
  Checkitem 神武手镯 1
  Checkitem 神武护腕 1
  Checkitem 神武戒指 1
  Checkitem 神武指环 1
  Checkitem 神武腰带 1
  Checkitem 神武靴子 1
  #ACT
  TakeBagItem 神武头盔|神武项链|神武手镯|神武护腕|神武戒指|神武指环|神武腰带|神武靴子 46 40 0 0 40000 N0 1
  TakeBagItem 神武嗜血剑|神武嗜血铠 46 80 0 0 80000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 40
  MOV N$回收金额B
  MUL N$回收金额B 80
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{神武套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break
  [@烈火回收检测C]
  #OR
  Checkitem 烈火焚天剑 1
  Checkitem 烈火焚天铠 1
  Checkitem 烈火头盔 1
  Checkitem 烈火项链 1
  Checkitem 烈火手镯 1
  Checkitem 烈火护腕 1
  Checkitem 烈火戒指 1
  Checkitem 烈火指环 1
  Checkitem 烈火腰带 1
  Checkitem 烈火靴子 1
  #ACT
  TakeBagItem 烈火头盔|烈火项链|烈火手镯|烈火护腕|烈火戒指|烈火指环|烈火腰带|烈火靴子 46 60 0 0 45000 N0 1
  TakeBagItem 烈火焚天剑|烈火焚天铠 46 120 0 0 90000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 60
  MOV N$回收金额B
  MUL N$回收金额B 120
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{烈火套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break

  讲解风险:以上脚本可以使用封包工具直接执行@回收装备正常  @MAIN  和 @战狂回收检测A  @神武回收检测B @烈火回收检测C ,因为这才是整段脚本的核心,前面所做一切检测就是为了这段核心执行脚本所准备,反而到了执行脚本可以忽略前面所做的一切检测,如果在执行脚本or下执行检测好像又不好做,那么我们就可以利用引擎禁用点击字段进行设置,比如上面所说的死亡触发字段PlayDie,因为这段执行脚本是不需要NPC点击,所以可以使用禁止点击字符来进行规避风险
  下面修正脚本进行讲解,
  风险2.CALL过来的脚本第一个字段是[@回收装备正常] ,再QFunction-0.txt 是有检测U108变量值的,但是封包可以无视NPC脚本中的[@正常开始回收]检测字段,依然可以直接点击@回收装备正常],解决方式有2个,第一个就是把检测U108放入到@回收装备正常]内如下:
  [@回收装备正常]
  {
  #IF
  EQUAL U108 0
  check [100] 1
  #ACT
  goto @战狂回收检测A
  #IF
  EQUAL U108 0
  check [101] 1
  #ACT
  goto @神武回收检测B
  #IF
  EQUAL U108 0
  check [102] 1
  #ACT
  goto @烈火回收检测C
  break
  这样处理就可以了,当时封包依然可以跳过上面的检测直接执行@战狂回收检测A @神武回收检测B @烈火回收检测C,因为这三段脚本都OR检测,所以不好做检测,我们我们可以利用禁止点击字符进行规避风险,因为@回收装备正常 属于引擎内部跳转脚本,也是不需要NPC点击的,所以我们可以使用禁止点击字符来进行规避(关于禁止点击字段,下面讲解)
  讲解那么多现在来说如何正确使用系统禁止点击字段来规避风险,下面脚本演示
  [@main]
  \
  [@正常开始回收]
  #IF
  EQUAL U108 0
  #ACT
  #CALL [\回收元宝系列\装备回收价格.txt] @PlayDie回收装备正常
  CLOSE
  break
  [@PlayDie回收装备正常]
  {
  #IF
  check [100] 1
  #ACT
  goto @PlayDie战狂回收检测A
  #IF
  check [101] 1
  #ACT
  goto @PlayDie神武回收检测B
  #IF
  check [102] 1
  #ACT
  goto @PlayDie烈火回收检测C
  break
  [@PlayDie战狂回收检测A]
  #OR
  Checkitem 战狂精铁剑 1
  Checkitem 战狂精铁铠 1
  Checkitem 战狂头盔 1
  Checkitem 战狂项链 1
  Checkitem 战狂手镯 1
  Checkitem 战狂护腕 1
  Checkitem 战狂戒指 1
  Checkitem 战狂指环 1
  Checkitem 战狂腰带 1
  Checkitem 战狂靴子 1
  #ACT
  TakeBagItem 战狂头盔|战狂项链|战狂手镯|战狂护腕|战狂戒指|战狂指环|战狂腰带|战狂靴子 46 20 0 0 38000 N0 1
  TakeBagItem 战狂精铁剑|战狂精铁铠 46 40 0 0 76000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 20
  MOV N$回收金额B
  MUL N$回收金额B 40
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{战狂套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break
  [@PlayDie神武回收检测B]
  #OR
  Checkitem 神武嗜血剑 1
  Checkitem 神武嗜血铠 1
  Checkitem 神武头盔 1
  Checkitem 神武项链 1
  Checkitem 神武手镯 1
  Checkitem 神武护腕 1
  Checkitem 神武戒指 1
  Checkitem 神武指环 1
  Checkitem 神武腰带 1
  Checkitem 神武靴子 1
  #ACT
  TakeBagItem 神武头盔|神武项链|神武手镯|神武护腕|神武戒指|神武指环|神武腰带|神武靴子 46 40 0 0 40000 N0 1
  TakeBagItem 神武嗜血剑|神武嗜血铠 46 80 0 0 80000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 40
  MOV N$回收金额B
  MUL N$回收金额B 80
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{神武套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break
  [@PlayDie烈火回收检测C]
  #OR
  Checkitem 烈火焚天剑 1
  Checkitem 烈火焚天铠 1
  Checkitem 烈火头盔 1
  Checkitem 烈火项链 1
  Checkitem 烈火手镯 1
  Checkitem 烈火护腕 1
  Checkitem 烈火戒指 1
  Checkitem 烈火指环 1
  Checkitem 烈火腰带 1
  Checkitem 烈火靴子 1
  #ACT
  TakeBagItem 烈火头盔|烈火项链|烈火手镯|烈火护腕|烈火戒指|烈火指环|烈火腰带|烈火靴子 46 60 0 0 45000 N0 1
  TakeBagItem 烈火焚天剑|烈火焚天铠 46 120 0 0 90000 N1 1
  MOV N$回收金额A
  MUL N$回收金额A 60
  MOV N$回收金额B
  MUL N$回收金额B 120
  INC U89
  INC U89
  SENDMSG 0 【装备回收】:恭喜{[]|250:0:1}成功回收{烈火套装|254:0:1},获得海量[{元宝,经验|254:0:255}]...!!! 31 0
  break

  以上脚本为修复脚本,因为脚本前缀包含了系统禁止点击字段PlayDie,那么这脚本只能引擎内部跳转使用,严禁外部点击的,任何脚本字段只要不是靠NPC去点击的都可以使用引擎禁止点击字段作为前缀,当玩家使用封包工具进行点击时候,引擎上会显示日志:      用户:人物名称; NPC:QFunction 禁止点用该NPC触发字段:@playdie回收装备正常!反正只要不是需要鼠标点击的都可以使用禁止点击字符来做脚本头!!!!这样就无视封包工具刷包了,那么需要NPC点击的下面讲解!
等级头衔

等級:什长

Rank: 3Rank: 3Rank: 3

积分成就
精华
0
G币
0
主题
0
帖子
73
金币
679

建功勋章

发表于 2023-11-7 19:27:39 | 显示全部楼层
楼主,我太崇拜你了!我想我是一天也不能离开GM爱好者:www.gmahz.com
等级头衔

等級:什长

Rank: 3Rank: 3Rank: 3

积分成就
精华
0
G币
0
主题
0
帖子
92
金币
855

建功勋章

最佳新人活跃会员

发表于 2023-11-9 06:07:00 | 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U!我觉得GM爱好者:www.gmahz.com真是个好地方
等级头衔

等級:等待验证会员

积分成就
精华
0
G币
0
主题
0
帖子
503
金币
8369

建功勋章

发表于 2023-11-10 22:30:10 | 显示全部楼层
论坛不能没有像楼主这样的人才啊!我会一直支持GM爱好者:www.gmahz.com
等级头衔

等級:县令

Rank: 8Rank: 8

积分成就
精华
0
G币
0
主题
0
帖子
552
金币
1759

建功勋章

最佳新人活跃会员热心会员灌水之王

发表于 2023-11-12 00:34:36 | 显示全部楼层
我看不错噢 谢谢楼主!GM爱好者:www.gmahz.com越来越好!
等级头衔

等級:郡王

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
精华
0
G币
0
主题
0
帖子
9978
金币
169653

建功勋章

热心会员推广达人宣传达人灌水之王突出贡献最佳新人活跃会员

发表于 2023-11-13 03:21:44 | 显示全部楼层
感谢楼主的无私分享!要想GM爱好者:www.gmahz.com好 就靠你我他
等级头衔

等級:经略使

Rank: 11Rank: 11Rank: 11Rank: 11Rank: 11

积分成就
精华
0
G币
0
主题
30
帖子
545
金币
8892

建功勋章

最佳新人活跃会员

发表于 2023-11-13 05:04:23 | 显示全部楼层
楼主,大恩不言谢了!GM爱好者:www.gmahz.com是最棒的!
等级头衔

等級:郡王

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
精华
0
G币
0
主题
0
帖子
9885
金币
167764

建功勋章

热心会员推广达人宣传达人灌水之王突出贡献最佳新人活跃会员

发表于 2023-11-30 23:15:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
等级头衔

等級:郡王

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
精华
0
G币
0
主题
34
帖子
1449
金币
11679

建功勋章

热心会员突出贡献最佳新人活跃会员

 楼主| 发表于 2023-12-8 05:37:03 | 显示全部楼层
这个帖子不回对不起自己!我想我是一天也不能离开GM爱好者:www.gmahz.com
等级头衔

等級:县丞

Rank: 7Rank: 7Rank: 7Rank: 7

积分成就
精华
0
G币
0
主题
0
帖子
478
金币
7952

建功勋章

最佳新人活跃会员

发表于 2023-12-20 17:00:12 | 显示全部楼层
拿币走人。。。。
*滑块验证:
懒得打字嘛,点击右侧快捷回复 【GM爱好者:www.gmahz.com】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|GM-爱好者 ( 赣ICP备20009465号-1 )|网站地图

GMT+8, 2024-9-28 00:20 , Processed in 0.196856 second(s), 39 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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