设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3507|回复: 21
打印 上一主题 下一主题

[已经解决] 请教关于用开关判断随机数的做法。

[复制链接]

Lv4.逐梦者

梦石
0
星屑
10713
在线时间
922 小时
注册时间
2017-10-10
帖子
25
跳转到指定楼层
1
发表于 2020-6-13 10:33:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
66星屑
感觉用任务来形容,可能比较让人明白。
一个情报商提供随机10个任务,会重复,如果你已经执行其中的任务,该任务情报就不再出现,如果执行所有任务,情报商就只会闲聊…
这样该如何做?搜寻过帖子貌似没有类似的…事件党可能没办法处理…吧?毕竟判断的条件太多…

如果 1~10开关=on
 执行闲聊
否则
 随机变数=1~10 
 如果 1开关=on
  随机变数=2~10
  如果随机变数=2
   执行情报2
   否则
    如果随机变数=3
   执行情报3
   否则
   ……
 否则 2开关=on
  ……
 如果 1,3开关=on
  随机变数=??

还是要用廻圈来执行?

最佳答案

查看完整内容

抱歉,我忘了判断a为空的情况了。我把完整的在下面重新发一次吧。 第一段代码 a = [] 10.times do |i| a

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

2
发表于 2020-6-13 10:33:01 | 只看该作者
本帖最后由 KB.Driver 于 2020-6-13 19:22 编辑
遗忘的初心者 发表于 2020-6-13 15:07
chanszeman1018大佬真是幽默,但貌似我真的需要范例…
回复ppspssss大佬
  我这里本身没有xp, ...

抱歉,我忘了判断a为空的情况了。我把完整的在下面重新发一次吧。



第一段代码
RUBY 代码复制
  1. a = []
  2. 10.times do |i|
  3.   a << i if $game_variables[21][i] == 0
  4. end
  5. $game_variables[22] = a.sample + 1


第二段代码
RUBY 代码复制
  1. v = $game_variables
  2. v[21] |= 2**(v[22]-1)


中间代码复制粘贴的时候注意一下,我这里是以21号为已完成的任务,22号为随机到的任务编号
具体到你的工程里,编号可能会不同,需要你对应去调整。

至于开关,你只要在后面事件的分支里再打开就行了
【注意】第二段代码的目的是,让某个任务不会再被抽到
这里没有对它施加条件,在你的工程中,请保留22(任务编号)变量的值,然后在任务完成的地方调用它。
用头画头像,用脚写脚本
回复

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
3
发表于 2020-6-13 11:34:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14594
在线时间
2149 小时
注册时间
2016-9-20
帖子
861
4
发表于 2020-6-13 12:29:27 | 只看该作者
这类抽了的東西就从獎池扣掉的, 用事件可以弄,紀錄已做的任务數量,如果抽了的任务已完成再抽一次, 已做任务>=10就不再抽而轉移去閑聊
我自己就用腳本, 还是用RPGXP, 仅限參考,






XP的范例.rar (203.07 KB, 下载次数: 82)

点评

写明了仅供参考, 没什么好补充  发表于 2020-6-13 14:16
随机10个任务,会重复  发表于 2020-6-13 12:49
我发的贴子大多未经整理是草稿抱歉
回复

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

5
发表于 2020-6-13 13:50:13 | 只看该作者
本帖最后由 KB.Driver 于 2020-6-13 23:02 编辑



RUBY 代码复制
  1. a = []
  2. 10.times do |i|
  3.   a << i if $game_variables[21][i] > 0
  4. end
  5. $game_variables[22] = a.sample + 1


RUBY 代码复制
  1. v = $game_variables
  2. v[21] |= 2**(v[22]-1)


中间代码复制粘贴的时候注意一下,我这里是以21号为已完成的任务,22号为随机到的任务编号
具体到你的工程里,编号可能会不同,需要你对应去调整。

至于开关,你只要在后面事件的分支里再打开就行了

点评

遗忘的初心者 嗯…看不懂,大佬高估我的智商了,不知道是否有范例可提供? 发表于 29 分钟前  发表于 2020-6-13 14:08
用头画头像,用脚写脚本
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10713
在线时间
922 小时
注册时间
2017-10-10
帖子
25
6
 楼主| 发表于 2020-6-13 15:07:24 | 只看该作者
chanszeman1018大佬真是幽默,但貌似我真的需要范例…
回复ppspssss大佬
  我这里本身没有xp,下载也没办法打开,真是抱歉。
  类似的思路可以搜寻的到,像是喵呜喵5大的随机抽取
  或是随机必中类似的,还是感谢提供参考。
回复KB.Driver大佬
  可能我复制哪里错了…(开关1~100,变数1~100我都没使用,应该不用更改?)

我写的内容(应该不是脚本冲突吧?)


回复chanszeman1018大佬
  我语法真的差阿…就算是简单的范例,至少我还可以用复制,更改数字然后去使用吧?
我真的不认为那是hi…但是看大佬的图片我真的不会打阿…

像这一段的条件脚本&& $game_party.g****我该如何打?


点评

gain是动词...  发表于 2020-6-13 16:26
至于$game_party.g...F11全局搜索它,默認脚本只提供$game_party.gold/$game_party.gain_gold/$game_party.gain_item三样,只中只有$game_party.gold能用在條件分支上...  发表于 2020-6-13 16:25
為什么KB.Driver大佬那个你打到|i|我的这个你会認為是hi|  发表于 2020-6-13 16:22
10.times {|i| $game_和$game_party.gold >= 100  发表于 2020-6-13 16:20
回复

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
7
发表于 2020-6-13 16:43:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10713
在线时间
922 小时
注册时间
2017-10-10
帖子
25
8
 楼主| 发表于 2020-6-13 19:35:25 | 只看该作者
chanszeman1018 发表于 2020-6-13 16:43
忘了说,我的那个是要打开控制台才能看到效果的

感谢大佬回复…
放大3倍,看起来像不像h…应该是字型问题吧。

我可以理解将这10个数值存进变数1234裏

随着任务进行…2234变数会有变动

然后越来越多…



检查之后剩下500?

所以…我该如何在游戏中操作?
给情报时…
条件分歧 变数1234=10
  否则
  条件分歧 变数1234=9
  否则
  条件分歧 变数1234=8
  否则… 
??????
当完成任务4时,设变数2234=4,然后跑一次"检查",以此类推?

回复

使用道具 举报

头像被屏蔽

Lv4.逐梦者 (禁止发言)

梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
帖子
1468
9
发表于 2020-6-13 20:12:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10713
在线时间
922 小时
注册时间
2017-10-10
帖子
25
10
 楼主| 发表于 2020-6-15 20:46:25 | 只看该作者
chanszeman1018 发表于 2020-6-13 20:12
重複接10个隨机任務,竟然被你接到沒3号任務的10个任務,这机率有多低呢......
9^10/10^10=3486784401/100 ...

任务会重复阿?还是大佬误会我的意思了?
一个情报商提供随机10个任务,会重复,如果你已经执行其中的任务,该任务情报就不再出现,如果执行所有任务,情报商就只会闲聊…
情报商事件页面,只要有确认就是随机1~10个任务情报,会重复…(不是强制执行任务,要强制就加上第3张图的变数和语法)


如果执行假设1号任务,不管是在和情报商对话前或之后,执行该事件后,对话就不再会出现1号任务。

全部10个任务执行后,情报商对话就是闲聊…
话说…1023是指2^10-1吗?所以我只要5个任务那就是>=31吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 08:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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