开启辅助访问      

传世单机社区

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

[其他脚本] [新手向]以交还赏金令牌为例,分享出货概率精准分配思路

[复制链接]

升级   49.33%

发表于 3 天前 来自手机 | 显示全部楼层 |阅读模式

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

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

x
写在前面:我玩的公益复古服关了,意犹未尽,于是想复刻一个单机版自娱自乐,但因为以前没搞过,从论坛下载的版本内容太多,想改到心中的样子有些无从下手。于是下了论坛的纯净版,参考其他版本的脚本,从零开始构建。构建过程中,遇到各种各样的问题,通过阅读论坛帖子,受益匪浅。
其间,也会冒出各种各样的想法,这个“出货概率精准分配”就是其中之一。
我把它分享出来,若能给一人带来启发,也算反哺了论坛。
————正文开始————
说到概率,自然离不开脚本命令:Random
格式:Random A B
作用:随机命中,概率是A/B,命中时为真,未命中时为假,当B省略时,概率是1/A
所以,很多随机奖励脚本都会用到它,以交还赏金令牌为例:
[@领奖]
#IF
Random 100
#ACT
GameGold + 1
Break
#IF
Random 10
#ACT
Give 金条 1
Break
#IF
Random 1
#ACT
Give 金币 100000
————————
脚本通常的写法是这样,或者更复杂。
看这段脚本,我要是问你,每项命中的真实概率是多少,你未必知道,我们来计算一下。
第一项给1个元宝,概率是1/100
第二项给一根金条,脚本设定概率1/10,但因为第一项占了1%,剩下的真实概率是99%,加权后第二项真实概率是9.9%
第三项,脚本设定概率是1/1,前两项占了10.9%,加权后第三项的真实概率是89.1%。
是不是感觉到了这样写脚本并不直观,要精准控制真实概率,随着项目的增加,复杂程度呈正比增加。
如何改进?
我的思路是这样的:
[@领奖]
#ACT
Mov M0 $Random(100)
;在0-99区段取一个随机的数存入M0变量中。
#IF
Small M0 1
#ACT
GameGold + 1
Break
;假如随机取的这个数小于1,给1元宝,只有0这1个数满足条件
#IF
Small M0 10
Large M0 0
#ACT
Give 金条 1
Break
;假如随机取的数小于10,并且大于0,给1根金条,有1-9共9个数满足条件,
#IF
Small M0 100
Large M0 9
#ACT
Give 金币 100000
;假如随机取的数小于100并且大于9,给10万金币,有10-99共90个数满足条件
这个写法就是,让每一项在100个数中得到满足条件的数的多寡,来实现概率分配。
第一项只得到一个满足条件的数字,真实概率是1%
第二项得到9个数字,概率是9%,
第三项得到90个数字,概率是90%
这个是百分比,要是想要更细致,可以用千分比,甚至是万分比来精准控制
当然,上面的写法是为了便于理解,写得比较细致,但其实可以写得更优雅,比如:
[@领奖]
#ACT
Mov M0 $Random(100)
#IF
Small M0 1
#ACT
GameGold + 1
Break
#IF
Small M0 10
#ACT
Give 金条 1
#ELSEACT
Give 金币 100000

评分

参与人数 2热心 +2 传世币 +3 收起 理由
心已飘落 + 1 + 2 欢迎分享讨论交流,传世单机社区有你更精彩.
鲁邦三世 + 1 + 1 我很赞同!

查看全部评分

升级   100%

发表于 3 天前 | 显示全部楼层
新思路。
感谢楼主的无私分享!

回复 支持 反对

使用道具 举报

升级   0%

发表于 前天 06:44 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得传世单机社区是注册对了!

回复 支持 反对

使用道具 举报

升级   75.52%

发表于 前天 08:54 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得传世单机社区是注册对了!

回复 支持 反对

使用道具 举报

升级   42.5%

发表于 前天 09:44 | 显示全部楼层

既然你诚信诚意的推荐了,那我就勉为其难的看看吧!传世单机社区不走平凡路。

回复 支持 反对

使用道具 举报

升级   28.9%

发表于 前天 09:46 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得传世单机社区是注册对了!

回复 支持 反对

使用道具 举报

升级   8.96%

发表于 前天 14:11 | 显示全部楼层
我还见过一种简单粗暴的做法就是从文本内容中抽取某个道具,就像打怪掉落一样,但没法给抽取的东西加掉率怎么做呢?
比如文本里有“金条”和“500金币”两项,那么这两个被抽到的概率各50%,但我们想把金条的概率变成10%,那就在文本里写入1个“金条”和9个“500金币”了。

回复 支持 反对

使用道具 举报

升级   86.3%

发表于 前天 14:15 | 显示全部楼层

我看不错噢 谢谢楼主!传世单机社区越来越好!

回复 支持 反对

使用道具 举报

升级   0%

发表于 前天 19:54 | 显示全部楼层

这个帖子不回对不起自己!我想我是一天也不能离开传世单机社区

回复 支持 反对

使用道具 举报

升级   80.73%

发表于 昨天 00:43 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得传世单机社区是注册对了!

回复 支持 反对

使用道具 举报

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

本版积分规则

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

关闭

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

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

GMT+8, 2025-8-28 05:53 , Processed in 0.036508 second(s), 24 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

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