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

Project1

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

[已经过期] 怎么让一个开关打开,地形标志1不可通行?

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
413
在线时间
214 小时
注册时间
2011-3-21
帖子
161
跳转到指定楼层
1
发表于 2011-7-6 16:34:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么让一个开关打开,地形标志1不可通行?
签名是什么 好吃么
好吃

Lv1.梦旅人

梦石
0
星屑
50
在线时间
16 小时
注册时间
2011-7-1
帖子
14
2
发表于 2011-7-6 17:07:48 | 只看该作者
在那个位置设置一个事件,事件图形在上方有一个写着(元件)的双击你想要的,然后事件出现条件那里,你说的开关打开为 ON

点评

脚本,脚本  发表于 2011-7-6 20:29
这样用事件不会很卡么  发表于 2011-7-6 17:28
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
发表于 2011-7-6 17:33:52 | 只看该作者
  1. class Game_Map
  2.   TERRAIN_ID = 906 # 906号开关打开时1号地形不能通行
  3.   def passable?(x, y, d, self_event = nil)
  4.     unless valid?(x, y)
  5.       return false
  6.     end
  7.     if $game_switches[TERRAIN_ID]
  8.       case d
  9.       when 0
  10.         go_x = x
  11.         go_y = y
  12.       when 2
  13.         go_x = x
  14.         go_y = y+1
  15.       when 4
  16.         go_x = x-1
  17.         go_y = y
  18.       when 6
  19.         go_x = x+1
  20.         go_y = y
  21.       when 8
  22.         go_x = x
  23.         go_y = y-1
  24.       end
  25.       return false if terrain_tag(go_x,go_y) == 1
  26.     end
  27.     bit = (1 << (d / 2 - 1)) & 0x0f
  28.     for event in events.values
  29.       if event.tile_id >= 0 and event != self_event and
  30.          event.x == x and event.y == y and not event.through
  31.         if @passages[event.tile_id] & bit != 0
  32.           return false
  33.         elsif @passages[event.tile_id] & 0x0f == 0x0f
  34.           return false
  35.         elsif @priorities[event.tile_id] == 0
  36.           return true
  37.         end
  38.       end
  39.     end
  40.     for i in [2, 1, 0]
  41.       tile_id = data[x, y, i]
  42.       if tile_id == nil
  43.         return false
  44.       elsif @passages[tile_id] & bit != 0
  45.         return false
  46.       elsif @passages[tile_id] & 0x0f == 0x0f
  47.         return false
  48.       elsif @priorities[tile_id] == 0
  49.         return true
  50.       end
  51.     end
  52.     return true
  53.   end
  54. end
复制代码
未经试验

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2 认可答案,恭喜你获得由66RPG提供的精美好.

查看全部评分


http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-6-6
帖子
70
4
发表于 2011-7-6 19:57:22 | 只看该作者
本帖最后由 160445706 于 2011-7-8 14:25 编辑

  1. new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
复制代码
后面

插入:

  1.     if $game_map.terrain_tag(new_x,new_y)==1 and $game_switches[100]==true
  2.       return false
  3.     else
  4.       return true
  5.     end
复制代码

点评

100是编号,可以随便调  发表于 2011-7-6 21:35
请问这里是地球吗?是的话告诉我人类在哪。我要灭了他们!
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 10:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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