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

Project1

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

[推荐问答] 請問該如何用"事件"改變通行設定?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
跳转到指定楼层
1
发表于 2013-3-22 09:16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
請問該如可用"事件"改變通行設定

例如:
腳色-005在隊伍之中,淺灘變成可以步行通行
腳色-006在隊伍之中,三座山可以步行通行
腳色-007在隊伍之中,淺灘和三座山都可以步行通行

点评

不能用事件改变,必须要用脚本。  发表于 2013-3-22 09:27

评分

参与人数 1星屑 +100 收起 理由
怪蜀黍 + 100 被收录为推荐问答,给予LZ一定奖励。.

查看全部评分

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4504
在线时间
5228 小时
注册时间
2009-4-29
帖子
14318

贵宾

来自 2楼
发表于 2013-3-23 13:47:00 | 只看该作者
范例: Project2.rar (240.43 KB, 下载次数: 60)
截图:
脚本:
  1. #==============================================================================
  2. # ■ P叔的角色特殊通行系统
  3. # 不同的角色在队伍中,可以实现不同的通行效果,比如穿越山谷,穿越河流等
  4. #------------------------------------------------------------------------------
  5. #                      使用时请注明脚本来源:
  6. #                  本脚本来自[url]www.66rpg.com[/url]
  7. #==============================================================================

  8. #==============================================================================
  9. # ■ Game_Map
  10. #------------------------------------------------------------------------------
  11. #  处理地图的类。包含卷动以及可以通行的判断功能。本类的实例请参考 $game_map 。
  12. #==============================================================================

  13. class Game_Map
  14.   # 山地的图块ID在下面设置(默认为A2图块的四种山地)
  15.   Hilly_Tiles = [2912..2952, 3296..3336, 3680..3720, 4064..4104]
  16.   # 河流的图块ID在下面设置
  17.   River_Tiles = [2048..2088]
  18.   # 可以走山的角色(多人的话用英文逗号隔开)
  19.   Hilly_Actors = [2]
  20.   # 可以走河的角色(多人的话用英文逗号隔开)
  21.   River_Actors = [3]
  22.   # 既可以走山又可以走河的角色(多人的话用英文逗号隔开)
  23.   Both_Able_Actors = [4]
  24.   #--------------------------------------------------------------------------
  25.   # ● 初始化对像
  26.   #--------------------------------------------------------------------------
  27.   def initialize
  28.     @screen = Game_Screen.new
  29.     @interpreter = Game_Interpreter.new(0, true)
  30.     @map_id = 0
  31.     @display_x = 0
  32.     @display_y = 0
  33.     create_vehicles
  34.     tile_to_a
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 可以通行判定
  38.   #     x : X 坐标
  39.   #     y : Y 坐标
  40.   #     flag : 通行度标志(非交通工具时,一般为 0x01)
  41.   #--------------------------------------------------------------------------
  42.   def passable?(x, y, flag = 0x01)
  43.     for event in events_xy(x, y)            # 循环指定位置的事件数组
  44.       next if event.tile_id == 0            # 事件图片非图块的情况下
  45.       next if event.priority_type > 0       # 非「一般角色之下」
  46.       next if event.through                 # 允许穿透
  47.       pass = @passages[event.tile_id]       # 获取通行属性
  48.       next if pass & 0x10 == 0x10           # ☆: 不影响通行判定
  49.       return true if pass & flag == 0x00    # ○: 可以通行
  50.       return false if pass & flag == flag   # x: 不可通行
  51.     end
  52.     for i in [2, 1, 0]                      # 由上层而下
  53.       tile_id = @map.data[x, y, i]          # 获取图块 ID
  54.       return false if tile_id == nil        # 无法获取图块:不可通行
  55.       pass = @passages[tile_id]             # 获取通行属性
  56.       return true if special_pass_member(tile_id)
  57.       next if pass & 0x10 == 0x10           # ☆: 不影响通行判定
  58.       return true if pass & flag == 0x00    # o: 可以通行
  59.       return false if pass & flag == flag   # x: 不可通行
  60.     end
  61.     return false                            # 不可通行
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 范围转化成数组
  65.   #--------------------------------------------------------------------------
  66.   def tile_to_a
  67.     @ht = []
  68.     for i in Hilly_Tiles
  69.       @ht << i.to_a
  70.     end  
  71.     @ht.flatten!
  72.    
  73.     @rt = []
  74.     for i in River_Tiles
  75.       @rt << i.to_a
  76.     end  
  77.     @rt.flatten!
  78.     @bt = @ht + @rt
  79.   end  
  80.   #--------------------------------------------------------------------------
  81.   # ● 特殊角色通行判定
  82.   #--------------------------------------------------------------------------  
  83.   def special_pass_member(tile_id)
  84.     for i in $game_party.members
  85.       if Hilly_Actors.include?(i.id)
  86.         if @ht.include?(tile_id)
  87.           return true
  88.         end
  89.       end
  90.     end
  91.     for i in $game_party.members
  92.       if River_Actors.include?(i.id)
  93.         if @rt.include?(tile_id)
  94.           return true
  95.         end
  96.       end
  97.     end
  98.     for i in $game_party.members
  99.       if Both_Able_Actors.include?(i.id)
  100.         if @bt.include?(tile_id)
  101.           return true
  102.         end
  103.       end
  104.     end
  105.     return false
  106.   end  
  107. end  
复制代码

点评

如果是开关设置的话!  发表于 2013-3-28 20:21
感謝P叔大力幫忙!!馬上來去試試看!!  发表于 2013-3-23 23:14

评分

参与人数 1星屑 +50 梦石 +1 收起 理由
Luciffer + 50 + 1 认可答案

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
3
 楼主| 发表于 2013-3-22 09:32:27 | 只看该作者
P叔這種腳本行嗎?
請問該如何做?
若是不行請問P叔所言的腳本哪有?
跟你整合的腳本會衝突嗎?
有勞您回答一下Q_Q

点评

哇咕,也许要到明天了喵~~  发表于 2013-3-22 21:07
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4504
在线时间
5228 小时
注册时间
2009-4-29
帖子
14318

贵宾

4
发表于 2013-3-22 09:48:36 | 只看该作者
sakazaki 发表于 2013-3-22 09:32
P叔這種腳本行嗎?
請問該如何做?
若是不行請問P叔所言的腳本哪有?

【点评用楼层】
这个脚本不能解决这个问题,必须到脚本编辑器里面改。
不会和我的整合系统冲突。改起来不算难,中等难度的饭菜。但是现在我没空。
一会看有不有人帮吧,如果没有的话我再来看看。

点评

先小睡一下!!晚點熬夜等P叔>///<  发表于 2013-3-22 19:56
中等啊=w=那我貌似吃不起...  发表于 2013-3-22 16:23
感謝P叔^O^  发表于 2013-3-22 10:23
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

水星地球侵略

梦石
0
星屑
53
在线时间
757 小时
注册时间
2011-8-23
帖子
5295
5
发表于 2013-3-28 08:25:12 | 只看该作者
其實這個不需要腳本啊……只要用事件來代替圖塊製作不就好了……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5402
在线时间
2559 小时
注册时间
2011-9-27
帖子
1119

极短23参与开拓者

6
发表于 2013-3-28 08:31:25 | 只看该作者
其实就用个事件把主角弹跳到对岸就行了,还非要改什么通行度?
设定是死的,人是活的,等价的方法那么多,何必钻牛角尖。
从平淡走向更平淡。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
7
 楼主| 发表于 2013-3-28 09:45:35 | 只看该作者
怕鼠的猫 发表于 2013-3-28 08:31
其实就用个事件把主角弹跳到对岸就行了,还非要改什么通行度?
设定是死的,人是活的,等价的方法那么多, ...

全地圖適用,並不是只有單純的一兩個地點。
我要做的是開機器人可以過海^^"A
這樣事件做得到???

点评

機器人走淺灘算合理,飛艇一切無視連高山也不例外,大小船不可走陸地,所以才要改通行設定(印象中XP內建事件可變更通行設定,故有此一問)  发表于 2013-3-28 13:59
空艇、船、小船都有用到了^^"a  发表于 2013-3-28 13:52
空艇就行了,改改行走图,把热气球变成机器人的样子。  发表于 2013-3-28 11:37
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 13:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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