查看: 1704|回复: 4

[已经解决] 请问为什么没有成功地打开独立开关!

[复制链接]
梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
回帖
378
发表于 2014-9-8 16:49:04 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 573932914 于 2014-9-8 21:50 编辑

为什么我写了这个脚本后并调用没报错但是却没有完成打开开关A,全脚本如下
[pre lang="ruby" line="1"]module EnemyMoving # 定义类
        def self.main # 新建实例对象时,将调用的东西
                $game_map.events.each_pair do |_,event| # event将会依次成为每个事件
                        if event.instance_variable_get(:@event).name == "学生" then # 判定事件的名字
        if (event.x - $game_player.x).abs <= 4 && (event.y - $game_player.y).abs <= 4 then
                                        # && 相当于 and, 是“且”的意思
                                        # 如果事件x坐标和y坐标与玩家的差的绝对值小于等于4
                                        # 即事件在以主角为中心9x9方格中时
          $game_self_switches[[$game_map.map_id,event.id,"A"]] = true
                                        # 打开独立开关,event.id即事件id
                                else
                                        $game_self_switches[[$game_map.map_id,event.id,"A"]] = false
                                        # 否则关上
                                end
                                # 下面这种写法是“一行党”的:
                                # $game_self_switches[[$game_map.map_id,event.id,"A"]] =
                                #         (event.x - $game_player.x).abs <= 4 && (event.y - $game_player.y).abs <= 4
                        end
                end
        end
end[/pre]

$game_self_switches[[$game_map.map_id,event.id,"A"]] = true没有打开啊= =
修改了一下帖子内容请重新见脚本
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2014-9-8 17:30:17 | 显示全部楼层
没有执行相关代码
Integer ??  是 Game_Event 吗??

还有你这是敌人视野吧
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2014-9-8 22:01:39 | 显示全部楼层
你把脚本改成$game_self_switches[[1,1,"A"]] = true再给1号地图1号事件一个新事件页A试试——替我对楼上说“我爱你”,替我对楼下说“楼主爱你”
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
回帖
208
发表于 2014-9-9 10:40:31 | 显示全部楼层
因为没有刷新地图事件 加上这一句应该就好了 具体未测试
  1. $game_map.need_refresh = true
复制代码

点评

如果确定事件ID的话可以用这个 $game_map.events[事件ID].refresh  发表于 2014-9-9 10:42

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
206 小时
注册时间
2014-2-8
回帖
378
 楼主| 发表于 2014-9-14 12:06:35 | 显示全部楼层
自己已解决谢谢。。。。
刚接触RPG的新人们裤艾来这里!在这里能够帮助你们提高自身的能力,让大家来帮助每个人实现自己的创意、构想!
也许你只是正在看RPG教程的新人,或者是正在努力学着制作自己的RPG的制作者,或者是狂热的RPG游戏喜爱者,
但都不重要!
加入我们,我们会帮助你实现梦想,或者帮助你更好的运用RPG并且创造个人的一片天地!周末我们会不定时间开放RM技术讨论活动或者RM经验交流课!
加入我们,我们愿意与你共同创造奇迹,共同进步!
QQ群号:329443038  
或者联系QQ:573932914
我们和你站在同一线!
要求只有:常能上线
我们会用十分的热情接纳你!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部