查看: 4014|回复: 3

[推荐问答] 请教一种角色与特定编号事件的穿透

[复制链接]
梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
发表于 2015-6-25 11:12:26 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 stella 于 2015-6-25 11:18 编辑

角色可以穿透11~14号事件,但是不可以穿透1~10号事件,而且1~14号事件互相之间不可以穿透

评分

参与人数 1星屑 +135 收起 理由
RyanBern + 135 手动认可奖励+设置为推荐问答

查看全部评分

梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
回帖
996
发表于 2015-6-25 20:20:04 | 显示全部楼层
设置一个自动执行的事件
条件分歧:角色A 在队伍中
      设置行走路线:A1事件变成可通过
分歧结束
条件分歧:角色B在队伍中
      ……
       ……
等等
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

梦石
0
星屑
1816
在线时间
2527 小时
注册时间
2010-10-12
回帖
1336

开拓者

发表于 2015-6-25 21:43:34 | 显示全部楼层
[pre lang="ruby"]
class Game_Player < Game_Character
  #这里设置从哪个ID开始的事件可以穿透
  START_ID = 11
  #这里设置到哪个ID的事件可以穿透
  END_ID = 14
  alias soap_66rpg_passable? passable?
  def passable?(x, y, d)
        # 求得新的坐标
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    for e in $game_map.events.values
        if e.x == new_x and e.y == new_y
          if e.id <= END_ID and START_ID <= e.id
              return true
          end  
        end  
    end  
    soap_66rpg_passable?(x, y, d)
  end
end
  
  [/pre]


插入Main前

评分

参与人数 2星屑 +100 梦石 +1 收起 理由
明特·布兰马修 + 100 认可答案
RyanBern + 1 认可答案

查看全部评分


回复

使用道具 举报

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
 楼主| 发表于 2015-6-26 11:49:30 | 显示全部楼层
我认可脚本解决法
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部