开启辅助访问      

传世单机社区

 找回密码
 立即注册
https://www.wooolc.com
查看: 2163|回复: 36

[彩虹脚本] 关于祝福神油的玄学及游戏的黑盒算法

[复制链接]

升级   72.46%

发表于 2022-5-21 09:24:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
本帖最后由 Irene 于 2022-5-21 15:26 编辑

本贴没有用的脚本
最近玩了一个公益服,没超级油,截图放出来的设置是这样的:
诅咒25
一级点数3
二级点数6
二级几率20
三级点数8
三级几率30
乍一看,这概率没问题,上他300左右,应该能到7
但是我本人命不好,500也没到7
我就去测试了一下

  1. [@main]
  2. #IF
  3. TRUE
  4. #SAY
  5. <疯狂吃油/@吃油>
  6. #ACT
  7. MOV P0 0

  8. [@吃油]
  9. #IF
  10. !EQUAL $LUCK 7
  11. #ACT
  12. SENDMSG 15 当前使用了<$STR(P0)>个油到<$LUCK>
  13. give 祝福神油 1
  14. GMEXECUTE 使用物品 祝福神油
  15. INC P0 1
  16. delayGoto 200 @吃油
  17. #ELSEACT
  18. SENDMSG 15 使用了<$STR(P0)>个油到7
复制代码


结果呢,吃到50000瓶了,到6都不知道多少次了,都没触发这个elseact结束循环,我就感觉离谱,但是别人确实能到7,不自带幸运的武器。


他说,要吃完飞随机,别连续吃,多小退。我想,这什么玄学玩意,在绝对的数量面前,玄学就是迷信罢了,你要是游戏开发者,喝油函数,难道不是生成一个随机数,判断大于一个值就结束了吗,还给你搞玄学呢,笑死。

最后发现,其实是引擎问题。彩3有黑箱,建议不要相信面板上的设置。测试时我拿的霹雳法杖,该武器无法被喝到运7,即便运6到运7成功率100%,它也上不去,这就是个BUG你敢信?其他武器你们也可以试试


现在彩3也给了新的微调算法了,
祝福/诅咒/无效
0-1:90/0/10
1-4:15/5/80
5-7:3/7/90
我们拿python3递归模拟一下:这里的装饰器为防止callback过多导致栈溢出:
  1. import random
  2. import time
  3. import sys


  4. class TailRecurseException(BaseException):
  5.     def __init__(self, args, kwargs):
  6.         self.args = args
  7.         self.kwargs = kwargs


  8. def tail_call_optimized(g):


  9.     def func(*args, **kwargs):
  10.         f = sys._getframe()
  11.         if f.f_back and f.f_back.f_back and f.f_back.f_back.f_code == f.f_code:
  12.             raise TailRecurseException(args, kwargs)
  13.         else:
  14.             while 1:
  15.                 try:
  16.                     return g(*args, **kwargs)
  17.                 except TailRecurseException as e:
  18.                     args = e.args
  19.                     kwargs = e.kwargs

  20.     func.__doc__ = g.__doc__
  21.     return func


  22. times = 0
  23. percent = [[90, 0, 10],  # 0-1,祝福90%,诅0%,不变10%
  24.            [15, 5, 80],
  25.            [15, 5, 80],
  26.            [3, 7, 90],
  27.            [3, 7, 90],
  28.            [3, 7, 90],
  29.            [3, 7, 90]]

  30. @tail_call_optimized
  31. def f(x):
  32.     global times
  33.     if x >= 0 and x <= 6:
  34.         up_p = percent[x][0]
  35.         down_p = percent[x][1]
  36.         stat_p = percent[x][2]
  37.     if x == 7:
  38.         print("本次吃到7用了{0}瓶祝福油".format(str(times)))
  39.         return times
  40.     p = random.randint(1, 100)
  41.    
  42.     times += 1
  43.     # if x >=4:
  44.         # time.sleep(0.05)
  45.     if p <= stat_p:
  46.         #print("{0},使用无效".format(str(p)))
  47.         return f(x)
  48.     elif p <= (stat_p + down_p):
  49.         #print("{0},你受到了诅咒,当前为{1}".format(str(p),str(x - 1)))
  50.         return f(x - 1)
  51.     else:
  52.         #print("{0},你的武器幸运增加了,当前为{1}".format(str(p),str(x + 1)))
  53.         return f(x + 1)


  54. print(f(0))
复制代码


这里的测试其实也挺玄学,从100-8000我都有遇到过,普遍在1500以下,但这只是不带黑箱的算法,而且random.randint算法不是真随机,它往往和时间戳有关,因此导致最后到7的前几十个油,会直接从4到7三连跳不带诅。




评分

参与人数 2热心 +5 传世币 +5 收起 理由
QQ535356585 + 3 + 3 谢谢@Thanks!
鲁邦三世 + 2 + 2 牛啊 希望楼主多分享些脚本

查看全部评分

升级   0%

发表于 2022-5-21 11:41:49 | 显示全部楼层
楼主np 我从来没上过7 最高喝到5

回复 支持 反对

使用道具 举报

升级   8.77%

发表于 2022-5-21 12:09:36 | 显示全部楼层
楼主!你很久没分享版本了!不内疚吗?

回复 支持 反对

使用道具 举报

升级   16.57%

发表于 2022-5-21 12:16:58 | 显示全部楼层
还得沐浴,更衣,焚香

回复 支持 反对

使用道具 举报

升级   100%

发表于 2022-5-21 13:07:50 | 显示全部楼层
至少要10把武器以上 才有说服力吧?

回复 支持 反对

使用道具 举报

升级   100%

发表于 2022-5-22 10:35:33 | 显示全部楼层
这才是真爱,

回复 支持 反对

使用道具 举报

升级   100%

发表于 2022-5-22 11:50:34 | 显示全部楼层
因为没有合适的随机种子,所以一般为了偷懒选的是时间戳,合适的随机种子特难找,如果真要搞,我会用当然CPU使用率百分比的最后一个数的奇偶作为初始种子。

回复 支持 反对

使用道具 举报

升级   100%

发表于 2022-5-22 12:11:41 | 显示全部楼层
哦  厉害厉害 分析得好

回复 支持 反对

使用道具 举报

升级   38.6%

发表于 2022-5-23 09:31:41 | 显示全部楼层
好厉害样子,分析得好

回复 支持 反对

使用道具 举报

升级   58%

发表于 2022-5-23 10:58:34 | 显示全部楼层
有时候喝油是玄学,但是有时候确实的有BUG,一些服的战士武器就不容易喝到7

回复 支持 反对

使用道具 举报

懒得打字嘛,点击右侧快捷回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!

关闭

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

传奇世界单机版|传世服务端|传世版本|关于我们|小黑屋|手机版| 传世单机社区 |网站地图

GMT+8, 2024-4-23 17:01 , Processed in 0.156433 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

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