Project1
标题: 请教关于用开关判断随机数的做法。 [打印本页]
作者: 遗忘的初心者 时间: 2020-6-13 10:33
标题: 请教关于用开关判断随机数的做法。
感觉用任务来形容,可能比较让人明白。
一个情报商提供随机10个任务,会重复,如果你已经执行其中的任务,该任务情报就不再出现,如果执行所有任务,情报商就只会闲聊…
这样该如何做?搜寻过帖子貌似没有类似的…事件党可能没办法处理…吧?毕竟判断的条件太多…
如果 1~10开关=on
执行闲聊
否则
随机变数=1~10
如果 1开关=on
随机变数=2~10
如果随机变数=2
执行情报2
否则
如果随机变数=3
执行情报3
否则
……
否则 2开关=on
……
如果 1,3开关=on
随机变数=??
还是要用廻圈来执行?
作者: KB.Driver 时间: 2020-6-13 10:33
本帖最后由 KB.Driver 于 2020-6-13 19:22 编辑
抱歉,我忘了判断a为空的情况了。我把完整的在下面重新发一次吧。
第一段代码
a = []
10.times do |i|
a << i if $game_variables[21][i] == 0
end
$game_variables[22] = a.sample + 1
a = []
10.times do |i|
a << i if $game_variables[21][i] == 0
end
$game_variables[22] = a.sample + 1
第二段代码
v = $game_variables
v[21] |= 2**(v[22]-1)
v = $game_variables
v[21] |= 2**(v[22]-1)
中间代码复制粘贴的时候注意一下,我这里是以21号为已完成的任务,22号为随机到的任务编号
具体到你的工程里,编号可能会不同,需要你对应去调整。
至于开关,你只要在后面事件的分支里再打开就行了
【注意】第二段代码的目的是,让某个任务不会再被抽到
这里没有对它施加条件,在你的工程中,请保留22(任务编号)变量的值,然后在任务完成的地方调用它。
作者: chanszeman1018 时间: 2020-6-13 11:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: ppspssss 时间: 2020-6-13 12:29
这类抽了的東西就从獎池扣掉的, 用事件可以弄,紀錄已做的任务數量,如果抽了的任务已完成再抽一次, 已做任务>=10就不再抽而轉移去閑聊
我自己就用腳本, 还是用RPGXP, 仅限參考,
XP的范例.rar
(203.07 KB, 下载次数: 82)
作者: KB.Driver 时间: 2020-6-13 13:50
本帖最后由 KB.Driver 于 2020-6-13 23:02 编辑
a = []
10.times do |i|
a << i if $game_variables[21][i] > 0
end
$game_variables[22] = a.sample + 1
a = []
10.times do |i|
a << i if $game_variables[21][i] > 0
end
$game_variables[22] = a.sample + 1
v = $game_variables
v[21] |= 2**(v[22]-1)
v = $game_variables
v[21] |= 2**(v[22]-1)
中间代码复制粘贴的时候注意一下,我这里是以21号为已完成的任务,22号为随机到的任务编号
具体到你的工程里,编号可能会不同,需要你对应去调整。
至于开关,你只要在后面事件的分支里再打开就行了
作者: 遗忘的初心者 时间: 2020-6-13 15:07
chanszeman1018大佬真是幽默,但貌似我真的需要范例…
回复ppspssss大佬
我这里本身没有xp,下载也没办法打开,真是抱歉。
类似的思路可以搜寻的到,像是喵呜喵5大的随机抽取
或是随机必中类似的,还是感谢提供参考。
回复KB.Driver大佬
可能我复制哪里错了…(开关1~100,变数1~100我都没使用,应该不用更改?)
我写的内容(应该不是脚本冲突吧?)
回复chanszeman1018大佬
我语法真的差阿…就算是简单的范例,至少我还可以用复制,更改数字然后去使用吧?
我真的不认为那是hi…但是看大佬的图片我真的不会打阿…
像这一段的条件脚本&& $game_party.g****我该如何打?
作者: chanszeman1018 时间: 2020-6-13 16:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 遗忘的初心者 时间: 2020-6-13 19:35
感谢大佬回复…
放大3倍,看起来像不像h…应该是字型问题吧。
我可以理解将这10个数值存进变数1234裏
随着任务进行…2234变数会有变动
然后越来越多…
检查之后剩下500?
所以…我该如何在游戏中操作?
给情报时…
条件分歧 变数1234=10
否则
条件分歧 变数1234=9
否则
条件分歧 变数1234=8
否则…
??????
当完成任务4时,设变数2234=4,然后跑一次"检查",以此类推?
作者: chanszeman1018 时间: 2020-6-13 20:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 遗忘的初心者 时间: 2020-6-15 20:46
任务会重复阿?还是大佬误会我的意思了?
一个情报商提供随机10个任务,会重复,如果你已经执行其中的任务,该任务情报就不再出现,如果执行所有任务,情报商就只会闲聊…
情报商事件页面,只要有确认就是随机1~10个任务情报,会重复…(不是强制执行任务,要强制就加上第3张图的变数和语法)
如果执行假设1号任务,不管是在和情报商对话前或之后,执行该事件后,对话就不再会出现1号任务。
全部10个任务执行后,情报商对话就是闲聊…
话说…1023是指2^10-1吗?所以我只要5个任务那就是>=31吗?
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |