Project1

标题: 随机物品插件/抽卡模拟 Ver.1.2.1,追加示例工程 [打印本页]

作者: 多卡多卡    时间: 2019-8-22 22:05
标题: 随机物品插件/抽卡模拟 Ver.1.2.1,追加示例工程
本帖最后由 多卡多卡 于 2022-2-27 14:38 编辑

真实抽奖(抽卡)模拟器,能够自己做奖池,然后从里面抽东西出来
还可用于随机掉落和挖矿采集等
物品出率使用了权重而不是百分比,因为百分比实现起来太麻烦了,而且如果出率之和不正好为100%时很容易出bug
这个只能实现怎么抽都不会空的池子(SSR永远是3%,抽再多都是3%),能抽空的目前无法实现...

Ver.1.1 追加转义字符

Ver.1.2 可对标题栏、物品名和物品出率更改颜色

Ver.1.2.1 可对物品列表添加描述

至于动画和ui美化这种...水平有限能用就行,可以适用于mog系列的菜单美化

使用方法可参见示例工程或使用说明

该插件适用于MIT协议,原作者拥有全部版权,可用于商业用途。
如需公开发行项目、转载或修改后再次发布,请注明原作者。


Doka_RandomItem Ver.1.2.1.zip (6.35 KB, 下载次数: 1182)
示例工程.zip (54.89 KB, 下载次数: 837)

物品参数.png (24.07 KB, 下载次数: 49)

物品参数.png

控制台.png (56.96 KB, 下载次数: 50)

控制台.png

抽奖示例.png (155.65 KB, 下载次数: 52)

抽奖示例.png

效果图.png (209.21 KB, 下载次数: 62)

效果图.png

挖矿示例.png (55.84 KB, 下载次数: 53)

挖矿示例.png

转义字符 自定义量词.png (82.68 KB, 下载次数: 57)

转义字符 自定义量词.png

物品出率表.png (871.44 KB, 下载次数: 55)

物品出率表.png

作者: 水月的账号    时间: 2019-8-23 09:50
感谢分享
作者: 明智光秀    时间: 2019-8-24 15:39
比用事件做方便多了,感谢分享!
作者: 2231340752    时间: 2019-8-24 16:02
欧气测试器?感谢分享
作者: 明智光秀    时间: 2019-8-24 16:52
请问如果物品武器防具混在一起抽的话文本上怎么显示名称呢?
作者: 多卡多卡    时间: 2019-8-24 18:36
本帖最后由 多卡多卡 于 2019-8-26 00:17 编辑
明智光秀 发表于 2019-8-24 16:52
请问如果物品武器防具混在一起抽的话文本上怎么显示名称呢?


有三个内置的函数可以判断物品的类型,然后用多个条件判断就可以实现显示对应的名称了,具体哪三个在帮助里写了。因为事件的分支条件没有switch型的语句,就只能用if型的嵌套了

如果使用新版本,直接用转义字符就行了,只要判断有没有抽中,不需要判断类型了
作者: walf_man    时间: 2019-8-25 11:52
不错的插件,省去了写一大堆事件以及事件中复杂的if else逻辑
作者: 多卡多卡    时间: 2019-8-25 23:56
花了一个下午加了不少功能进去,可以试下新版的功能
作者: 夏的66rpg    时间: 2019-8-25 23:57
谢谢分享!
作者: 白嫩白嫩的    时间: 2019-8-27 00:51
楼主棒极了,爱生活,爱多卡
作者: 1901631    时间: 2019-8-29 16:29
谢谢楼主分享。
作者: Miaos喵神    时间: 2019-8-30 11:14
Thanks♪(・ω・)ノ
作者: ryder    时间: 2019-10-21 14:04
感谢分享
作者: sckz8741    时间: 2019-10-21 21:09
這個插件很棒,可以做到很多隨機的效果,有很不錯的隨機性,感謝分享!

作者: Stars__    时间: 2019-10-21 21:56
感谢分享
作者: wudaowudaowudao    时间: 2019-10-22 11:23
如果玩家先存档,然后再抽奖,抽到东西就保存,不好的就读档,这个就 尴尬了

作者: w1620005987w    时间: 2019-11-14 16:39
楼主为什么我这里抽完奖只显示,      获得了,1个[12]       没有物品图标和物品名称   ,找不出哪里出问题
作者: dall01    时间: 2019-11-27 20:41
多谢分享
作者: Ailan1993    时间: 2020-2-22 15:10
挺不错的,感觉可以整一个
作者: Ailan1993    时间: 2020-2-22 15:11
挺不错的,感觉可以来一个
作者: yanzhllwc    时间: 2020-5-10 00:31
感谢,看看是怎么使用的、、
作者: asxzl5945    时间: 2020-5-11 02:09
很有创意的插件!
作者: shmily0725    时间: 2020-5-11 09:50
天呐!太赞了!感觉用起来应该很有趣
作者: 梦幻のLoli塔    时间: 2020-5-11 11:34
还是没有看懂怎样设置概率
作者: ww984957002    时间: 2021-5-3 16:55
试了一下午,还是不会用,不知道实现抽奖,武器设置进去了,但是点击没反应,有工程就好了
作者: kumeng210    时间: 2021-5-10 18:44
感谢大神的分享
作者: RyanYe    时间: 2021-5-11 19:19
楼主楼主,这个插件我可以用于我的商用游戏吗?
作者: 上帝羽下    时间: 2021-5-13 09:47
感谢分享,同楼上问,能用于商用游戏么
作者: 多卡多卡    时间: 2021-5-13 14:54
上帝羽下 发表于 2021-5-13 09:47
感谢分享,同楼上问,能用于商用游戏么

这个是我自己写的,用的时候注明一下就行了
作者: 老子降临    时间: 2021-5-30 13:29
其實做個事件,每次抽卡 激活,獲得一個道具
然後纍計多少去換ssr就行(碧藍幻想的做法。)
作者: Ailan1993    时间: 2021-5-30 18:40
这个有点意思啊,来试试。
作者: 昨夜辉煌    时间: 2021-6-22 10:25
好棒
作者: ww984957002    时间: 2021-6-22 21:44
抽奖池不够用怎么办....,现在已经沾满了
作者: 多卡多卡    时间: 2021-6-23 15:16
本帖最后由 多卡多卡 于 2021-6-23 15:18 编辑
ww984957002 发表于 2021-6-22 21:44
抽奖池不够用怎么办....,现在已经沾满了


物品列表那里自己对着前面的复制就行了,然后Doka_RandomItem.maxLists = 30这个参数有几个列表就改成几
作者: hyj2021    时间: 2021-6-24 16:41
标题: RE: 随机物品插件/抽卡模拟,追加示例工程
大佬NB,刚想在游戏里做个抽奖,就看到这个脚本了
作者: 小篸    时间: 2021-7-2 22:42
感谢大佬分享!
作者: 长歌xx    时间: 2021-8-23 20:40
哇偶,太牛了
作者: 被遗忘的角落    时间: 2021-11-25 10:51
奖池的物品可以用分支条件  如果抽到这个物品之类的吗
作者: 师太    时间: 2021-11-25 14:49
谢谢分享
作者: 多卡多卡    时间: 2021-11-27 17:42
本帖最后由 多卡多卡 于 2021-11-27 17:45 编辑
被遗忘的角落 发表于 2021-11-25 10:51
奖池的物品可以用分支条件  如果抽到这个物品之类的吗


对于物品的判断在帮助里写了,大概用法就是用条件判断里用DataManager.isItem(LastRandomItem(true))&&(LastRandomItem(false)==1)这样的,前面用来判断类型后面是物品的id
时间太长了具体运作原理有点记不清楚了,不过刚才试了下这样是可以用的
作者: 被遗忘的角落    时间: 2021-11-28 01:16
多卡多卡 发表于 2021-11-27 17:42
对于物品的判断在帮助里写了,大概用法就是用条件判断里用DataManager.isItem(LastRandomItem(true))&&(L ...

非常感谢,试了下确实可以,帮助看了好多遍,判断物品类型写的很清楚,但是判断抽到哪个物品我想不出来,因为不像判断物品类型那样写的很直接,脚本知识缺乏的我尴尬。这个插件很好用,谢谢多卡大佬!
作者: huhuhu321321    时间: 2021-11-30 21:31
感谢分享!
作者: dall01    时间: 2021-11-30 21:35
多谢分享
作者: zf756268    时间: 2021-12-1 09:36
感觉没有转盘那个动画,缺少点心理激动的行为。
你想想看,抽卡的时候,像阴阳师,王者的大轮盘,是不是都有一个动画的过程,这样就会让人产生兴奋,激动的心理状态
作者: zf756268    时间: 2021-12-1 09:37
zf756268 发表于 2021-12-1 09:36
感觉没有转盘那个动画,缺少点心理激动的行为。
你想想看,抽卡的时候,像阴阳师,王者的大轮盘,是不是都 ...

但不可否认,楼主这个是有食用价值的
作者: hhj8889    时间: 2021-12-2 22:48
抽卡真是好文明
作者: w6363271    时间: 2021-12-7 11:23
很棒哦,谢谢分享,这样可以做很多好玩的了
作者: 时光鸡    时间: 2021-12-8 10:57
谢谢大佬
作者: 多卡多卡    时间: 2022-1-6 22:11
顶一下,现在可以自定义物品和出率的颜色了
作者: LPCC1234    时间: 2022-2-14 23:15
大大您好,我是最近才開始使用RPGMV系統的新人,借用了您的程式,但因為沒學過程式不太懂怎麼使用。
我想要設定只抽取道具區的1-5個道具,因此我把插件"參數"->"物品成列"那邊的武器和防具刪除,本以為這樣就可以了,但測試後怎麼抽都抽不到東西,請問還有哪邊需要調整嗎。
作者: 多卡多卡    时间: 2022-2-16 10:44
LPCC1234 发表于 2022-2-14 23:15
大大您好,我是最近才開始使用RPGMV系統的新人,借用了您的程式,但因為沒學過程式不太懂怎麼使用。
我想要 ...

如果只需要抽取道具就将物品类型改成道具,然后道具id选择需要的道具就行了。
因为在读取列表的时候另外两个也是写进了分支条件的,如果直接删掉会导致读取错误。
如果不知道怎么做,参见示例工程就可以了。
作者: LPCC1234    时间: 2022-2-17 11:15
本帖最后由 LPCC1234 于 2022-2-17 11:33 编辑
多卡多卡 发表于 2022-2-16 10:44
如果只需要抽取道具就将物品类型改成道具,然后道具id选择需要的道具就行了。
因为在读取列表的时候另外 ...


好的 我馬上試試看!!
非常感謝><

嘗試了一下
明白怎麼使用了!!!
非常感謝大大提供這麼方便的程式!!!
作者: 我永远喜欢小圆    时间: 2022-4-5 18:45
这什么鬼

QQ浏览器截图20220405184404.png (16.62 KB, 下载次数: 32)

QQ浏览器截图20220405184404.png

作者: dabaxhei    时间: 2022-4-5 18:51
MZ能用吗?
作者: 多卡多卡    时间: 2022-4-6 00:40
我永远喜欢小圆 发表于 2022-4-5 18:45
这什么鬼

资源缺失,建个新工程把对应的图放过去就行了
作者: 多卡多卡    时间: 2022-4-6 00:44
dabaxhei 发表于 2022-4-5 18:51
MZ能用吗?


绘制窗口那部分我没有仔细看过MV和MZ是否有区别,为了防止出现bug建议避免使用。
而抽取物品那部分基本上都是js的方法,除了加载插件必需的以外很少涉及RM的库函数,应该可以兼容。
作者: 我永远喜欢小圆    时间: 2022-4-6 00:46
多卡多卡 发表于 2022-4-6 00:40
资源缺失,建个新工程把对应的图放过去就行了

我就是建的新图
作者: 多卡多卡    时间: 2022-4-6 00:51
我永远喜欢小圆 发表于 2022-4-6 00:46
我就是建的新图

示例工程打不开的现象我还没遇到过
毕竟那里面用的都是MV的默认资源,按照资源的路径拆东墙补西墙应该可以解决。如果还是不行...要不你就看看帮助文档里的使用方法吧
作者: 浅上藤乃    时间: 2022-5-14 14:07
有没有能调用出这次抽卡结果的方式呢,这样就可以加个判断,如果出现大奖就用不同的图片展示,或者甚至可以加不同的抽卡动画。
作者: tanurog2    时间: 2022-5-14 21:07
这个很不错用,非常感谢
作者: 多卡多卡    时间: 2022-5-15 10:25
浅上藤乃 发表于 2022-5-14 14:07
有没有能调用出这次抽卡结果的方式呢,这样就可以加个判断,如果出现大奖就用不同的图片展示,或者甚至可以 ...

这个是有的,怎么调用结果在帮助文档里写了,如果要判断获得物品是什么可以对物品种类和ID做两次判断就能具体定位到是哪一个物品了
作者: 逆天忽悠    时间: 2022-5-20 20:33
下载了,感谢大神的奉献
作者: 332603    时间: 2022-5-21 08:17
感谢分享
作者: testevil    时间: 2022-6-6 08:21
全抽空也可以有下面的解决思路,假定以1为下标下限,总数为100个数,N(100):
1.第一步,每次生成两个100以内的随机数x,y,使N(x)和N(y)互换,这样次数越多,效果越好
2.第二步,再随机一个100以内的数z,新的数组N'(1)从N(z)开始往后取值,取到N(100)时再从N(1)开始取直到N'(100)=N(z-1)
当然,其实只要用一两个变量作中间值,就可以交换N'(100)和N(100)的值了。采用第二步的原因是,随机数不大容易产生极小数比如1和极大数比如100
作者: testevil    时间: 2022-6-6 08:26
这样得到的新数组N'(100),就可以顺序取值,得到的效果就是随机数,而且不会重复:,最后还可以每个都取完
作者: 707871683    时间: 2022-7-3 10:06
谢谢大佬     这个不错   可以增加新功能了
作者: a337001949    时间: 2022-9-14 21:39
谢谢大佬分享66666666666666666666
作者: popobobo    时间: 2022-10-5 13:20
这个功能真棒
作者: 277480807    时间: 2022-10-7 14:14
终于可以开采矿石了
作者: Sam晴天雨    时间: 2022-10-14 18:50
有没有mz的啊
作者: 织梦行云    时间: 2023-1-12 23:55
支持一下楼主
作者: MLRPG    时间: 2023-5-26 01:37
本帖最后由 MLRPG 于 2023-5-26 02:19 编辑

后排提问 我用的时候虽然显示什么的都正确 但是实际上没有获取任何物品啊 函数调用和插件设置都是按照范例工程来的
作者: 多卡多卡    时间: 2023-6-4 08:14
MLRPG 发表于 2023-5-26 01:37
后排提问 我用的时候虽然显示什么的都正确 但是实际上没有获取任何物品啊 函数调用和插件设置都是按照范例 ...

这个插件的“随机物品”本质上是在列表里按给定概率选出一个物品来,并不会真正的进包(直接进包的我当初写过容易出bug只能分离功能),然后这个选择的结果会储存在一个变量中,需要调用“获得物品”的方法才能真正的获得。如果你可以抽但不能进包,我猜测大概率你没加上获得物品那部分
作者: 雨沫233    时间: 2023-6-4 10:15
感谢分享
作者: a2132635    时间: 2023-9-8 16:57
感谢大佬!!!!!!!!
作者: jienluck    时间: 2023-10-1 21:09
很好很强大
作者: 搁浅的鲸鱼    时间: 2024-5-9 21:08
很好用,感谢
作者: xin6429    时间: 2024-5-18 15:41
大佬,这个有十连抽功能吗?
作者: xin6429    时间: 2024-5-18 15:51
查看抽奖列表时能显示物品属性就好了
作者: 汪叉    时间: 2025-3-2 00:29
本帖最后由 汪叉 于 2025-3-2 00:42 编辑

作者您好,我这边出现了反复抽中一个物品的情况,而且反复抽中的概率有点惊人了,我查看了权重应该没有问题,不知道是不是真的脸黑还是出现了bug(以及您的这个插件真的很有用!帮大忙了!)
作者: xuxuechao    时间: 2025-3-2 03:00
谢谢分享   
作者: 汪叉    时间: 2025-3-2 09:07
汪叉 发表于 2025-3-2 00:29
作者您好,我这边出现了反复抽中一个物品的情况,而且反复抽中的概率有点惊人了,我查看了权重应该没有问题 ...

我这边有八个物品,
物品        权重
A        22
B        18
C        14
D        10
E        10
F        8
G        6
H        2
未中奖        10
合计        100
这样对不对呢?
作者: 汪叉    时间: 2025-3-2 10:46
汪叉 发表于 2025-3-2 09:07
我这边有八个物品,
物品        权重
A        22

……最后改成个位数了,虽然珍奇物品的概率上升但总比一直卡住要好
作者: 空白qwq    时间: 2025-3-3 21:36
谢谢分享!
作者: 多卡多卡    时间: 2025-3-6 18:55
汪叉 发表于 2025-3-2 09:07
我这边有八个物品,
物品        权重
A        22

这个采用的是js默认的方法生成一个相当于权重值总和的随机数,然后将所有出现的结果对应范围内的某一个数,根据生成的随机数决定结果。
因为是直接调用,并没有去刻意重置随机数种子,也没有概率修正来凑保底,所以有可能出现数值不是“平均”的问题,但至少我自己测试的情况是20个物品中不会出现连续出稀有物品的情况的,所以可能单纯是运气问题?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1