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

Project1

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

[已经过期] 关于在事件前物品的使用

[复制链接]

Lv2.观梦者

梦石
0
星屑
273
在线时间
20 小时
注册时间
2018-4-6
帖子
18
跳转到指定楼层
1
发表于 2019-8-16 20:48:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,我想做出类似魔女之家那样在事件前使用特定物品触发剧情的效果。抄了论坛里大佬的脚本https://rpg.blue/thread-189882-1-1.html,但是如果不想让道具使用一次就消耗掉的话,那个事件就可以反复触发……(独立开关什么的也不顶用)请问有没有方法可以规避,或者有什么更好的思路吗?先谢谢了。

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
484 小时
注册时间
2017-7-7
帖子
139

R考场第七期纪念奖

2
发表于 2019-8-16 21:31:46 | 只看该作者
用条件分歧:当XX开关打开的时候才可以触发你要的事件
-
其实这种必须在事件前才能使用的道具根本用不着脚本吧……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
2778
在线时间
499 小时
注册时间
2018-6-28
帖子
19
3
发表于 2019-8-16 22:23:37 | 只看该作者
我个人使用的方法是利用公共事件,先用角色的坐标、朝向等等给变量赋值,然后再以此判断角色是否面对着触发剧情的东西使用物品……
这么做缺点大概是每个物品都要单独做一个公共事件,但优点就是可以把剧情直接写在对应的物品的公共事件里(?这样算优点吗
想偷懒的话甚至可以把重复的部分也建成公共事件随时调用——



(虽然截图是VA的但是原理是一样的)
另外,在实践层点击地图上的任意地方,编辑器右下角就会显示地图ID以及该点的坐标了!
回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23999
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

4
发表于 2019-8-17 01:11:05 | 只看该作者
本帖最后由 guoxiaomi 于 2019-8-17 01:12 编辑

哈哈,这个链接挖出了黄鸡当年的黑历史,原帖14楼说的就是你这种情况吧?
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
273
在线时间
20 小时
注册时间
2018-4-6
帖子
18
5
 楼主| 发表于 2019-8-17 08:09:12 | 只看该作者
guoxiaomi 发表于 2019-8-17 01:11
哈哈,这个链接挖出了黄鸡当年的黑历史,原帖14楼说的就是你这种情况吧? ...

对的!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
273
在线时间
20 小时
注册时间
2018-4-6
帖子
18
6
 楼主| 发表于 2019-8-17 08:13:15 | 只看该作者
Maplex 发表于 2019-8-16 22:23
我个人使用的方法是利用公共事件,先用角色的坐标、朝向等等给变量赋值,然后再以此判断角色是否面对着触发 ...

我昨天摸索出类似的方法,但后来想想,比如说我要做一个在泉水旁“持有空瓶”打水的事件,那我不是得对整个岸边做满事件么(而且判断条件还各不相同)……
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
7
发表于 2019-8-17 10:07:23 | 只看该作者
本帖最后由 灯笼菜刀王 于 2019-8-17 10:08 编辑
xyy13575650799 发表于 2019-8-17 08:13
我昨天摸索出类似的方法,但后来想想,比如说我要做一个在泉水旁“持有空瓶”打水的事件,那我不是得对整 ...


一般这种情况是用坐标判定,  让道具调用公共事件,然后先判断主角坐标是否在范围内, 是的话执行打水事件, 否的话把道具+1(消耗道具的情况下补回去)

不过如果范围不规则的话, 坐标判断起来很麻烦, 给你个比较便捷的方法, 用地形标志来判断
事件脚本
d = $game_player.direction
x,y = $game_player.x,$game_player.y
x += d == 4 ? -1 : d == 6 ? 1 : 0
y += d == 2 ? 1 : d == 8 ? -1 : 0
if $game_map.terrain_tag(x, y) == 10086
  $game_switches[10087] = true
else
  $game_switches[10087] = false
end

执行这个脚本,  当主角面前1格的地形标志为10086的时候, 就打开10087号开关, 之后要干嘛干嘛吧

点评

弹药箱因为要手动选数量,选多少减多少就行了吧  发表于 2019-8-17 10:54
哦,不消耗也可以事件减少啊,那回头试试  发表于 2019-8-17 10:52
那就做成"不消耗" , 然后可以使用的时候手动-1  发表于 2019-8-17 10:49
但是使用时候还是能看到物品数字减1加1,能避免物品总数的数字闪吗?  发表于 2019-8-17 10:47
调用公共事件的道具本来就会直接跳到地图上  发表于 2019-8-17 10:39
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 10:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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