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

Project1

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

[已经解决] 如何做到从大地图进入某地,返回时其他事件位置啥的不变

[复制链接]

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4207
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

1
发表于 2014-4-17 21:01:56 | 显示全部楼层
输入“#$game_temp.lv_switches = false” 就可以启用保留事件位置的功能了
不过,和脚本无关——实际使用时表示保留事件位置会有坏处,比如之前设置好自定义路线的NPC,会在你记录的当前位置重新开始按路线移动,那么时间一长一定会卡住。

RUBY 代码复制
  1. #$game_temp.lv_switches = true  禁用
  2. #$game_temp.lv_switches = false 启用
  3.  
  4. class Game_Map
  5. alias old_setup setup
  6. def setup(jiong)
  7.    if @lv_x == nil
  8.      @lv_x = []
  9.      @lv_y = []
  10.      @lv_direction = []
  11.    end
  12.    if @lv_x[jiong]==nil
  13.        @lv_x[jiong]=[]
  14.        @lv_y[jiong]=[]
  15.        @lv_direction[jiong]=[]
  16.    end
  17.    old_setup(jiong)
  18. end
  19. def lv_x(one,two)
  20.    return @lv_x[one][two]
  21. end
  22. def lv_y(one,two)
  23.    return @lv_y[one][two]
  24. end
  25. def lv_x2(one,two,three)
  26.    @lv_x[one][two]=three
  27. end
  28. def lv_y2(one,two,three)
  29.    @lv_y[one][two]=three
  30. end
  31. def lv_direction(one,two)
  32.    return @lv_direction[one][two]
  33. end
  34. def lv_direction2(one,two,three)
  35.    @lv_direction[one][two]=three
  36. end
  37. end
  38.  
  39.  
  40. class Game_Event
  41. attr_reader   :id
  42. attr_reader   :map_id
  43. alias old_update update
  44. def update
  45.    old_update
  46.    $game_map.lv_x2(@map_id,@id,self.x)
  47.    $game_map.lv_y2(@map_id,@id,self.y)
  48.    $game_map.lv_direction2(@map_id,@id,self.direction)
  49. end
  50. def initialize(map_id, event)
  51.    super()
  52.    @map_id = map_id
  53.    @event = event
  54.    @id = @event.id
  55.    @erased = false
  56.    @starting = false
  57.    @through = true
  58.    if $game_map.lv_x(@map_id,@id)!=nil and !$game_temp.lv_switches
  59.      @event.x = $game_map.lv_x(@map_id,@id)
  60.      @event.y = $game_map.lv_y(@map_id,@id)
  61.      @direction = $game_map.lv_direction(@map_id,@id)
  62.    end
  63.    moveto(@event.x, @event.y)
  64.    refresh
  65. end
  66. end
  67. class Game_Temp
  68. attr_accessor :lv_switches
  69. end

点评

这俩脚本都用不了那估计就是你的工程里面有什么东西冲突了吧..  发表于 2014-4-18 11:57
QwQ 19行,no method err [] for nil class  发表于 2014-4-18 02:41

评分

参与人数 1星屑 +60 收起 理由
刺夜之枪 + 60 辛苦了! 可乐君

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 19:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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