Project1

标题: 保留事件位置 [打印本页]

作者: 「旅」    时间: 2009-5-29 21:41
标题: 保留事件位置
class Game_Map
alias old_setup setup
def setup(jiong)
   if @lv_x == nil
     @lv_x = []
     @lv_y = []
     @lv_direction = []
   end
   if @lv_x[jiong]==nil
       @lv_x[jiong]=[]
       @lv_y[jiong]=[]
       @lv_direction[jiong]=[]
   end
   old_setup(jiong)
end
def lv_x(one,two)
   return @lv_x[one][two]
end
def lv_y(one,two)
   return @lv_y[one][two]
end
def lv_x2(one,two,three)
   @lv_x[one][two]=three
end
def lv_y2(one,two,three)
   @lv_y[one][two]=three
end
def lv_direction(one,two)
   return @lv_direction[one][two]
end
def lv_direction2(one,two,three)
   @lv_direction[one][two]=three
end
end


class Game_Event
attr_reader   :id
attr_reader   :map_id
alias old_update update
def update
   old_update
   $game_map.lv_x2(@map_id,@id,self.x)
   $game_map.lv_y2(@map_id,@id,self.y)
   $game_map.lv_direction2(@map_id,@id,self.direction)
end
def initialize(map_id, event)
   super()
   @map_id = map_id
   @event = event
   @id = @event.id
   @erased = false
   @starting = false
   @through = true
   if $game_map.lv_x(@map_id,@id)!=nil and !$game_temp.lv_switches
     @event.x = $game_map.lv_x(@map_id,@id)
     @event.y = $game_map.lv_y(@map_id,@id)
     @direction = $game_map.lv_direction(@map_id,@id)
   end
   moveto(@event.x, @event.y)
   refresh
end
end
class Game_Temp
attr_accessor :lv_switches
end


支持读档。如果不想要的时候,可以利用 事件中的 【脚本】 功能,
$game_temp.lv_switches = true

又想要时,
$game_temp.lv_switches = false
[LINE]1,#dddddd[/LINE]
发出来骗分{/hx}

  1. class Game_Map
  2. alias old_setup setup
  3. def setup(jiong)
  4.   if @lv_x == nil
  5.     @lv_x = []
  6.     @lv_y = []
  7.     @lv_direction = []
  8.   end
  9.   if @lv_x[jiong]==nil
  10.       @lv_x[jiong]=[]
  11.       @lv_y[jiong]=[]
  12.       @lv_direction[jiong]=[]
  13.   end
  14.   old_setup(jiong)
  15. end
  16. def lv_x(one,two)
  17.   return @lv_x[one][two]
  18. end
  19. def lv_y(one,two)
  20.   return @lv_y[one][two]
  21. end
  22. def lv_x2(one,two,three)
  23.   @lv_x[one][two]=three
  24. end
  25. def lv_y2(one,two,three)
  26.   @lv_y[one][two]=three
  27. end
  28. def lv_direction(one,two)
  29.   return @lv_direction[one][two]
  30. end
  31. def lv_direction2(one,two,three)
  32.   @lv_direction[one][two]=three
  33. end
  34. end


  35. class Game_Event
  36. attr_reader   :id
  37. attr_reader   :map_id
  38. alias old_update update
  39. def update
  40.   old_update
  41.   $game_map.lv_x2(@map_id,@id,self.x)
  42.   $game_map.lv_y2(@map_id,@id,self.y)
  43.   $game_map.lv_direction2(@map_id,@id,self.direction)
  44. end
  45. def initialize(map_id, event)
  46.   super()
  47.   @map_id = map_id
  48.   @event = event
  49.   @id = @event.id
  50.   @erased = false
  51.   @starting = false
  52.   @through = true
  53.   if $game_map.lv_x(@map_id,@id)!=nil and @event.name =~ "保留之"
  54.     @event.x = $game_map.lv_x(@map_id,@id)
  55.     @event.y = $game_map.lv_y(@map_id,@id)
  56.     @direction = $game_map.lv_direction(@map_id,@id)
  57.   end
  58.   moveto(@event.x, @event.y)
  59.   refresh
  60. end
  61. end
复制代码

外加一个版本。只要是有"保留之"的名的事件,就会保留。但没有前一个版本的开关
作者: TERENCE    时间: 2009-5-29 22:11
出來SF一下


欣赏LZ思路!!
作者: 越前リョーマ    时间: 2009-5-29 23:11
这样那个野草系统就完全简化了…… - -
作者: 天翼的马甲    时间: 2009-5-29 23:12
保留事件位置是什么意思?
作者: 越前リョーマ    时间: 2009-5-29 23:13
以下引用天翼的马甲于2009-5-29 15:12:21的发言:

保留事件位置是什么意思?

本来事件移动后,如果画面重新刷新就会回到原来的位置。
作者: ONEWateR    时间: 2009-5-30 04:59
记得在仙剑4里见过 - -
还不知道是不是 - -
作者: 塑望    时间: 2009-5-31 02:59
拿去测试下

话说目前还没想到拿去做什么用.刷BOSS用?  囧
作者: 越前リョーマ    时间: 2009-5-31 03:57
以下引用塑望于2009-5-30 18:59:34的发言:

拿去测试下

话说目前还没想到拿去做什么用.刷BOSS用?  囧

做野草用嘛……  - -
作者: boss870331    时间: 2009-10-14 10:01
怎么样保留角色图片更改呢?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1