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

Project1

 找回密码
 注册会员
搜索

如何让事件不能被通过就算开了Through On

查看数: 1855 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-7-10 23:26

正文摘要:

我在地图上放了区域然后用脚本禁止角色通行(开了Through On也不行) 另外我的RMVA是英文的我不知道Through On中文叫什么.. 不明白的话我再解释

回复

魔法丶小肉包 发表于 2017-7-11 20:04:24
修改了一下,放在这个arpg系统的下方,事件已经有名字了也没关系,只要加上<不可穿透>
比如:<enemy: 33><不可穿透>
RUBY 代码复制
  1. class Game_Event < Game_Character
  2.   def setup_page_settings
  3.     create_token_arrays
  4.     @tile_id          = @page.graphic.tile_id
  5.     @character_name   = @page.graphic.character_name
  6.     @character_index  = @page.graphic.character_index
  7.     if @original_direction != @page.graphic.direction
  8.       @direction          = @page.graphic.direction
  9.       @original_direction = @direction
  10.       @prelock_direction  = 0
  11.     end
  12.     if @original_pattern != @page.graphic.pattern
  13.       @pattern            = @page.graphic.pattern
  14.       @original_pattern   = @pattern
  15.     end
  16.     @move_type          = @page.move_type
  17.     @move_speed         = @page.move_speed
  18.     @move_frequency     = @page.move_frequency
  19.     @move_route         = @page.move_route
  20.     @move_route_index   = 0
  21.     @move_route_forcing = false
  22.     @walk_anime         = @page.walk_anime
  23.     @step_anime         = @page.step_anime
  24.     @direction_fix      = @page.direction_fix
  25.     if @event.name.include?("<不可穿透>")
  26.       @through = false
  27.     else
  28.       @through            = @page.through
  29.     end
  30.     @priority_type      = @page.priority_type
  31.     @trigger            = @page.trigger
  32.     @list               = @page.list
  33.     @interpreter = @trigger == 4 ? Game_Interpreter.new : nil
  34.     wtag = string_data("<start_with_weapon: ")
  35.     @token_weapon = wtag.split(",").map { |s| s.to_i } if wtag != nil
  36.     atag = string_data("<start_with_armor: ")
  37.     @token_armor = atag.split(",").map { |s| s.to_i } if atag != nil
  38.     itag = string_data("<start_with_item: ")
  39.     @token_item = itag.split(",").map { |s| s.to_i } if itag != nil
  40.     stag = string_data("<start_with_skill: ")
  41.     @token_skill = stag.split(",").map { |s| s.to_i } if stag != nil
  42.     @hook_pull = string_data("<hook_pull: ") == "true"
  43.     @hook_grab = string_data("<hook_grab: ") == "true"
  44.     @boom_grab = string_data("<boom_grab: ") == "true"
  45.     @boom_start = string_data("<boomed_start: ") == "true"
  46.     @direction_fix = false if @hook_grab
  47.     if has_token? || @hook_pull || @hook_grab || @boom_grab || @boom_start
  48.       $game_map.events_withtags.push(self) unless
  49.       $game_map.events_withtags.include?(self)
  50.     end
  51.     @parallel_mode = @trigger == 3 || @trigger == 4 || @ignore_antilag
  52.   end
  53. end
  54. class Game_Character < Game_CharacterBase
  55.   def process_move_command(command)
  56.     params = command.parameters
  57.     case command.code
  58.     when ROUTE_END;               process_route_end
  59.     when ROUTE_MOVE_DOWN;         move_straight(2)
  60.     when ROUTE_MOVE_LEFT;         move_straight(4)
  61.     when ROUTE_MOVE_RIGHT;        move_straight(6)
  62.     when ROUTE_MOVE_UP;           move_straight(8)
  63.     when ROUTE_MOVE_LOWER_L;      move_diagonal(4, 2)
  64.     when ROUTE_MOVE_LOWER_R;      move_diagonal(6, 2)
  65.     when ROUTE_MOVE_UPPER_L;      move_diagonal(4, 8)
  66.     when ROUTE_MOVE_UPPER_R;      move_diagonal(6, 8)
  67.     when ROUTE_MOVE_RANDOM;       move_random
  68.     when ROUTE_MOVE_TOWARD;       move_toward_player
  69.     when ROUTE_MOVE_AWAY;         move_away_from_player
  70.     when ROUTE_MOVE_FORWARD;      move_forward
  71.     when ROUTE_MOVE_BACKWARD;     move_backward
  72.     when ROUTE_JUMP;              jump(params[0], params[1])
  73.     when ROUTE_WAIT;              @wait_count = params[0] - 1
  74.     when ROUTE_TURN_DOWN;         set_direction(2)
  75.     when ROUTE_TURN_LEFT;         set_direction(4)
  76.     when ROUTE_TURN_RIGHT;        set_direction(6)
  77.     when ROUTE_TURN_UP;           set_direction(8)
  78.     when ROUTE_TURN_90D_R;        turn_right_90
  79.     when ROUTE_TURN_90D_L;        turn_left_90
  80.     when ROUTE_TURN_180D;         turn_180
  81.     when ROUTE_TURN_90D_R_L;      turn_right_or_left_90
  82.     when ROUTE_TURN_RANDOM;       turn_random
  83.     when ROUTE_TURN_TOWARD;       turn_toward_player
  84.     when ROUTE_TURN_AWAY;         turn_away_from_player
  85.     when ROUTE_SWITCH_ON;         $game_switches[params[0]] = true
  86.     when ROUTE_SWITCH_OFF;        $game_switches[params[0]] = false
  87.     when ROUTE_CHANGE_SPEED;      @move_speed = params[0]
  88.     when ROUTE_CHANGE_FREQ;       @move_frequency = params[0]
  89.     when ROUTE_WALK_ANIME_ON;     @walk_anime = true
  90.     when ROUTE_WALK_ANIME_OFF;    @walk_anime = false
  91.     when ROUTE_STEP_ANIME_ON;     @step_anime = true
  92.     when ROUTE_STEP_ANIME_OFF;    @step_anime = false
  93.     when ROUTE_DIR_FIX_ON;        @direction_fix = true
  94.     when ROUTE_DIR_FIX_OFF;       @direction_fix = false
  95.     when ROUTE_THROUGH_ON;        @event.name.include?("<不可穿透>")? @through = false : @through = true
  96.     when ROUTE_THROUGH_OFF;       @through = false
  97.     when ROUTE_TRANSPARENT_ON;    @transparent = true
  98.     when ROUTE_TRANSPARENT_OFF;   @transparent = false
  99.     when ROUTE_CHANGE_GRAPHIC;    set_graphic(params[0], params[1])
  100.     when ROUTE_CHANGE_OPACITY;    @opacity = params[0]
  101.     when ROUTE_CHANGE_BLENDING;   @blend_type = params[0]
  102.     when ROUTE_PLAY_SE;           params[0].play
  103.     when ROUTE_SCRIPT;            eval(params[0])
  104.     end
  105.   end
  106. end

点评

我每天能回家碰电脑也就那2~3小时了 速度真快真是帮大忙了~ 话说我几年没来提问了 记得以前有个认可答案的规定 版规找不到  发表于 2017-7-11 21:04

评分

参与人数 1星屑 +250 收起 理由
RaidenInfinity + 250 认可答案

查看全部评分

魔法丶小肉包 发表于 2017-7-11 10:54:23
事件名字上写<不可穿透>

RUBY 代码复制
  1. class Game_Event < Game_Character
  2.   def setup_page_settings
  3.     @tile_id          = @page.graphic.tile_id
  4.     @character_name   = @page.graphic.character_name
  5.     @character_index  = @page.graphic.character_index
  6.     if @original_direction != @page.graphic.direction
  7.       @direction          = @page.graphic.direction
  8.       @original_direction = @direction
  9.       @prelock_direction  = 0
  10.     end
  11.     if @original_pattern != @page.graphic.pattern
  12.       @pattern            = @page.graphic.pattern
  13.       @original_pattern   = @pattern
  14.     end
  15.     @move_type          = @page.move_type
  16.     @move_speed         = @page.move_speed
  17.     @move_frequency     = @page.move_frequency
  18.     @move_route         = @page.move_route
  19.     @move_route_index   = 0
  20.     @move_route_forcing = false
  21.     @walk_anime         = @page.walk_anime
  22.     @step_anime         = @page.step_anime
  23.     @direction_fix      = @page.direction_fix
  24.     if @event.name.include?("<不可穿透>")
  25.       @through = false
  26.     else
  27.       @through            = @page.through
  28.     end
  29.     @priority_type      = @page.priority_type
  30.     @trigger            = @page.trigger
  31.     @list               = @page.list
  32.     @interpreter = @trigger == 4 ? Game_Interpreter.new : nil
  33.   end
  34. end

评分

参与人数 1星屑 +10 收起 理由
phunmung5173 + 10

查看全部评分

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

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

GMT+8, 2025-7-17 00:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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