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

Project1

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

更改A元件自动图块通行设置.

 关闭 [复制链接]

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

跳转到指定楼层
1
发表于 2008-2-26 20:04:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
假设某个元件是不可通行,但临时想变成可通行,即可使用该功能.

SomeThing.tile_through(id, value)
id为图块位置,value为通行状态,134为可通行,143为不可通行.

自动元件的通行表起始位置为2000.每个元件展开后占48个位置,例如想更改A元件第2个图块的通行,可通过如下完成.

更改
SomeThing.tile_through(2, 134)

恢复
SomeThing.tile_through(2, 143)

其他元件的图块也可以如此完成,都是存在在一个表中,自己改下起始ID多测试就知道了.

module SomeThing
  
   def self.tile_through(id, value)
       start = 2000 + id * 48
       for i in 0..47
          $game_map.passages[start + i] = value
       end
   end  
   
end


图:


范例:
http://rpg.blue/UP_PIC/200801/通行临时变更_84456180.rar




发布页面:http://rpg.blue/web/htm/news1082.htm
vip+3
纵然千里外,我等雁归来。

Lv3.寻梦者 (暗夜天使)

精灵族の天使

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

开拓者贵宾

2
发表于 2008-2-26 20:30:02 | 只看该作者
很不错。转到vx技术区。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

3
发表于 2008-3-2 05:07:43 | 只看该作者
这是美兽为了6R幻想城的那个天空之城的那个地做的吧……{/hx}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
3 小时
注册时间
2008-2-18
帖子
86
4
发表于 2008-3-3 01:55:25 | 只看该作者
感觉很强啊  应该转到 主站的教学中啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

5
发表于 2008-3-6 01:29:14 | 只看该作者
= =|||
这个算是很高难度的教程了吧?

不,不是的....万一是中间点,到底要怎么数那是第几个图块啊?
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

6
发表于 2008-3-6 09:24:59 | 只看该作者
我记得国外好像有人写了一个专门用来找元件ID的程序,不过我找不到了{/pz}

大概写了一个,在地图上按下 L 键就能显示所在图格的3层元件的ID

  1. class Scene_Map
  2.   alias passage_update update
  3.   def update
  4.     passage_update
  5.     if Input.trigger?(Input::L)
  6.       map_tile_id_0 = ($game_map.map.data[$game_player.x, $game_player.y, 0]-2000) / 48
  7.       map_tile_id_1 = ($game_map.map.data[$game_player.x, $game_player.y, 1]-2000) / 48
  8.       map_tile_id_2 = ($game_map.map.data[$game_player.x, $game_player.y, 2]+1)
  9.       
  10.       map_tile_id_0 = 0 if map_tile_id_0 == -42
  11.       map_tile_id_1 = 0 if map_tile_id_1 == -42
  12.       map_tile_id_2 = 0 if map_tile_id_2 == -42

  13.       map_tile_ids = "0: #{map_tile_id_0.to_s}   " +
  14.                      "1: #{map_tile_id_1.to_s}   " +
  15.                      "2: #{map_tile_id_2.to_s}"
  16.       p map_tile_ids
  17.     end
  18.   end
  19. end

  20. class Game_Map
  21. def map
  22.    return @map
  23. end
  24. end
复制代码
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
79 小时
注册时间
2008-5-11
帖子
36
7
发表于 2008-5-31 22:03:51 | 只看该作者
怎么ID 超过128就不能用呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 17:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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