Project1

标题: [幫人問]事件位置問題 [打印本页]

作者: sdgn    时间: 2021-8-12 19:48
标题: [幫人問]事件位置問題
網友的檔案中 對於位移事件... 他朋友測試離開該場景在回去那個場景後該事件回到初始位置...
但他說他是要事件(例如箱子或雕像)移動後始終保持在移動後的位置 (就算離開該場景到其他任何場景後又回去也要如此);
請問如何解?
作者: shencao    时间: 2021-8-12 19:48
我用的这个
https://rpg.blue/thread-230430-1-1.html

作者: alexncf125    时间: 2021-8-12 22:45
本帖最后由 alexncf125 于 2021-8-12 22:47 编辑


P1搜諸如记忆事件位置的字眼
作者: 云鸟    时间: 2021-8-12 22:51
本帖最后由 云鸟 于 2021-8-12 22:52 编辑


我有个方法,但是比较傻瓜(
就是记录事件(纯事件)
已经删除dll,自行添加
Project1.rar (299.54 KB, 下载次数: 12)
作者: yaminolancelot    时间: 2021-8-12 23:00
事件名改成preserve即可保存
  1. class << DataManager
  2.   alias yami_create_game_objects create_game_objects
  3.   alias yami_make_save_contents make_save_contents
  4.   alias yami_extract_save_contents extract_save_contents
  5.   def create_game_objects
  6.     $YAMI_PRESERVED_EVENTS = {}
  7.     yami_create_game_objects
  8.   end
  9.   def make_save_contents
  10.     contents = yami_make_save_contents
  11.     contents[:YAMI_PRESERVED_EVENTS] = $YAMI_PRESERVED_EVENTS
  12.     contents
  13.   end
  14.   def extract_save_contents(contents)
  15.     yami_extract_save_contents(contents)
  16.     $YAMI_PRESERVED_EVENTS   = contents[:YAMI_PRESERVED_EVENTS]
  17.   end  
  18. end
  19. class Game_Map
  20.   attr_reader   :map
  21. end
  22. class Scene_Map
  23.   alias yami_pre_transfer pre_transfer
  24.   alias yami_post_transfer post_transfer
  25.   def pre_transfer   
  26.     $game_map.events.each_value do |e|
  27.       if $game_map.map.events[e.id].name.include?("preserve")
  28.         $YAMI_PRESERVED_EVENTS[[$game_map.map_id,e.id]] = [e.x,e.y]
  29.       end
  30.     end
  31.     yami_pre_transfer
  32.   end
  33.   def post_transfer
  34.     $YAMI_PRESERVED_EVENTS.each_pair do |k, v|
  35.       if $game_map.map_id == k[0]
  36.         $game_map.events[k[1]].moveto(v[0], v[1])
  37.       end
  38.     end      
  39.     yami_post_transfer
  40.   end
  41. end
复制代码





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