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

Project1

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

[已经解决] 如何让事件触发事件?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2605
在线时间
896 小时
注册时间
2011-4-30
帖子
131

开拓者

跳转到指定楼层
1
发表于 2013-11-9 15:29:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 mariofans 于 2013-11-13 20:59 编辑

如题。当任意事件或角色走到某一个事件的位置就触发该事件。
如果能设置只有[允许穿透OFF]的事件才能触发就更好了。

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41145
在线时间
7571 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

2
发表于 2013-11-9 16:43:05 | 只看该作者
并行事件里判断需要触发角色的坐标。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2605
在线时间
896 小时
注册时间
2011-4-30
帖子
131

开拓者

3
 楼主| 发表于 2013-11-9 16:58:03 | 只看该作者
fux2 发表于 2013-11-9 16:43
并行事件里判断需要触发角色的坐标。

是让事件触发诶,不是指定事件是任何事件都可以触发。

点评

太麻烦,交给楼下处理好了- -  发表于 2013-11-9 17:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
382 小时
注册时间
2013-8-20
帖子
102
4
发表于 2013-11-9 23:14:01 | 只看该作者
本帖最后由 纸鸢 于 2013-11-9 23:21 编辑
  1. $id1=1;$id2=2; ((($game_map.events[$id1].x-$game_map.events[$id2].x)^2==1 && ($game_map.events[$id1].y-$game_map.events[$id2].y)^2==0) or (($game_map.events[$id1].x-$game_map.events[$id2].x)^2==0 && ($game_map.events[$id1].y-$game_map.events[$id2].y)^2==1)) or ((($game_map.events[$id1].x-$game_player.x)^2==1 && ($game_map.events[$id1].y-$game_player.y)^2==0) or (($game_map.events[$id1].x-$game_player.x)^2==0 && ($game_map.events[$id1].y-$game_player.y)^2==1))
复制代码
$id1:目标事件id;
$id2:一个其它任意事件id.

这个办法的缺点:如果事件多的话会很麻烦,应当还有更简单的办法,交给楼下处理好了...

点评

感谢指点!  发表于 2013-11-13 20:55

评分

参与人数 2星屑 +141 收起 理由
明特·布兰马修 + 66 认可答案
myownroc + 75 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

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

开拓者

5
发表于 2013-11-10 00:34:48 | 只看该作者
事件设置为并行处理

事件脚本
@x = $game_map.events[@event_id].x
@y = $game_map.events[@event_id].y
$game_switches[1] = false
$game_map.events.value.each do |event|
  if event.id != @event_id and (event.x - @x)**2 + (event.y - @y)**2 < 1
    $game_switches[1] = true
    break
  end
end

条件分歧:
开关1 打开时 触发默认事件
开关1 关闭时 中断事件处理

避免烧掉CPU:
等待 1 帧

接楼上的话,写了个循环,这样应该可以用吧……
进一步处理交给楼下好了~O(∩_∩)O~

点评

感谢指点!  发表于 2013-11-13 20:56

评分

参与人数 1星屑 +75 收起 理由
myownroc + 75 我很赞同

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33125
在线时间
5104 小时
注册时间
2012-11-19
帖子
4878

开拓者

6
发表于 2013-11-10 08:07:28 | 只看该作者
guoxiaomi 发表于 2013-11-10 00:34
事件设置为并行处理

事件脚本

直接:
  1. for event in $game_map.events
  2.   $game_switches[1] = true if event.x == ? and event.y == ?
  3. end
复制代码

点评

感谢指点!  发表于 2013-11-13 20:56

评分

参与人数 1星屑 +75 收起 理由
myownroc + 75 我很赞同

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2605
在线时间
896 小时
注册时间
2011-4-30
帖子
131

开拓者

7
 楼主| 发表于 2013-11-13 21:01:05 | 只看该作者
综合以上各位的意见,自己整出来个……
(本来想评分但是不能评……)

未标题-1.png (118.81 KB, 下载次数: 5)

未标题-1.png

点评

可以召唤版主评分…  发表于 2013-11-14 00:22
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

8
发表于 2013-11-13 21:30:25 | 只看该作者
把事件要触发的事件写到公共事件里,条件设置并行和触发开关号
于是这个事件要触发的时候,打开开关(别忘记在公共事件执行完毕后关闭此开关)

评分

参与人数 1星屑 +75 收起 理由
myownroc + 75 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 06:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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