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

Project1

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

[已经过期] 请问怎样设置随机丢失物品

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
跳转到指定楼层
1
发表于 2016-7-23 14:43:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
求教怎样设置随机丢失物品。设想效果是这样的:当人物死亡或遇到某些事件时,随机丢失物品栏中某样物品。然后还想设置一个类似安全口袋之类的选项,登录进去的物品不会丢失。

目前能想到的方案是:设置公共事件,每件物品都判断一遍是否持有,如果有则变量+1,然后随机数,然后就不知道怎么办了……

或者,每样物品得到时打开一个开关,再用开关判断,之后一个一个一个一个设置丢失……

不管哪个都好像很麻烦,脚本有解决办法吗?或者简单点的事件。

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2016-7-23 16:52:53 | 只看该作者
RMXP 中,描述一个物品还有数量的多少。随机丢失物品,那么丢失多少个呢?

下面的代码实现了随机失去某已经持有物品中的一个。使用方法为放在 Game_Party 内部定义
RUBY 代码复制
  1. def lose_item_random
  2.   id = @items.select{ |id, number| number > 0}.keys.sample
  3.   lose_item(id, 1)
  4. end


实际使用的时候调用
RUBY 代码复制
  1. $game_party.lose_item_random

即可。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
3
 楼主| 发表于 2016-7-24 14:58:56 | 只看该作者
RyanBern 发表于 2016-7-23 16:52
RMXP 中,描述一个物品还有数量的多少。随机丢失物品,那么丢失多少个呢?

下面的代码实现了随机失去某已 ...

首先感谢大神回答……


(提问时没有说清楚……物品丢失一个即可)
复制脚本内容在Game_Party中加入了之后,设置事件调取脚本,显示了上面图片的内容,该怎样解决呢
……该不会是我搞错使用方法了吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2016-6-27
帖子
42
4
发表于 2016-7-24 15:42:51 | 只看该作者
这个么……我以前在事件里做到过
然而那个电脑坏了
想把代码拿出来看看都不行╮(╯▽╰)╭
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
5
 楼主| 发表于 2016-7-24 15:45:05 | 只看该作者
灵风斩月 发表于 2016-7-24 15:42
这个么……我以前在事件里做到过
然而那个电脑坏了
想把代码拿出来看看都不行╮(╯▽╰)╭ ...

你这么回答只是加重了我的悲伤
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2016-6-27
帖子
42
6
发表于 2016-7-24 16:21:53 | 只看该作者
王小錵 发表于 2016-7-24 15:45
你这么回答只是加重了我的悲伤

qwq只能说祝楼主早点解决问题啦……其实多用变量是可以在事件里做到的x
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

7
发表于 2016-7-24 23:05:51 | 只看该作者
本帖最后由 RyanBern 于 2016-7-25 21:43 编辑
王小錵 发表于 2016-7-24 14:58
首先感谢大神回答……


第一段代码改成
RUBY 代码复制
  1. def lose_item_random
  2.   pairs = @items.select{ |id, number| number > 0}
  3.   lose_item(pairs[rand(pairs.size)][0], 1)
  4. end

试试
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2248
在线时间
1373 小时
注册时间
2011-2-10
帖子
602

开拓者

8
发表于 2016-7-25 02:27:36 | 只看该作者
本帖最后由 sirenke 于 2016-7-25 02:33 编辑

事件的话,先判断是否持有,持有的话,随机数,条件分歧满足时丢失。安全口袋的话可能多少物品多少开关。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
9
 楼主| 发表于 2016-7-25 17:55:22 | 只看该作者
RyanBern 发表于 2016-7-24 23:05
第一段代码改成
def lose_item_random
  pair = @items.select{ |id, number| number > 0}.sample

点评

楼上已更新。1.8的ruby怎么什么都没有。  发表于 2016-7-25 21:44
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2016-7-16
帖子
13
10
 楼主| 发表于 2016-7-25 18:03:42 | 只看该作者
sirenke 发表于 2016-7-25 02:27
事件的话,先判断是否持有,持有的话,随机数,条件分歧满足时丢失。安全口袋的话可能多少物品多少开关。 ...

就是,先分别判断每一样物品,持有的话打开开关(安全口袋的并行事件关闭开关),变量1=随机数,再随机数(1~n,n=物品总数),再一个一个数字分别判断(变量1=1就丢失1号物品,还判断一下开关是否打开,未打开的循环回随机数的步骤……诸如此类),满足条件的丢失,是这样吗?
(今天上网时间短,没有办法详细设置测试,我先问一下大致思路)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 18:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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