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

Project1

 找回密码
 注册会员
搜索

某個腳本衝突

查看数: 1305 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-4-5 19:03

正文摘要:

如題 這是一個可以讓事件繞圈圈的腳本,不過似乎衝突出錯了,可以請高手幫忙修正嗎? RUBY 代码复制#==============================================================================# ...

回复

cinderelmini 发表于 2016-4-7 17:22:00
噗……看起来是同名方法的锅……
随便打开这两个的其中一个,
把里面所有的【clear_ex_param】字段都改成【clear_ex_param_b】试试看。

点评

收到! 這就去試XD  发表于 2016-4-7 23:06

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
丿梁丶小柒 + 1 认可答案
duzine + 15 认可答案

查看全部评分

duzine 发表于 2016-4-7 15:54:16
cinderelmini 发表于 2016-4-7 12:32
排除读旧档和冲突的问题,
如果是事件要用这个效果的话,还要另外设置一些东西,
在事件的名字或者事件内容 ...

我好像查出來

只要高於我底下這個腳本就會出錯,而低於則會導致底下這個腳本出錯...
底下這個可以做出一點事件位移的效果,然而同作者的腳本居然打架了...

RUBY 代码复制
  1. =begin
  2.  
  3. 作者:tomoaky
  4. webサイト:ひきも記は閉鎖しました。 ([url]http://hikimoki.sakura.ne.jp/[/url])
  5.  
  6. キャラクタースプライトに以下の機能を追加します。
  7.   ・表示座標の補正
  8.   ・任意の拡大率に変更
  9.   ・任意の回転角度に変更
  10.  
  11. イベントコマンド『スクリプト』で以下のコマンドが使えるようになります。
  12.   set_shift(shift_x, shift_y, event_id)
  13.     指定したIDのイベントのをX方向に shift_x、Y方向に shift_y だけ
  14.     ずらして表示します。
  15.  
  16.   set_angle(angle, event_id)
  17.     指定したIDのイベントの回転角度を angle に変更します(0 ~ 360)
  18.  
  19.   set_zoom(zoom_x, zoom_y, event_id)
  20.     指定したIDのイベントの拡大率を zoom_x, zoom_y に変更します、
  21.     set_zoom(1.5, 3.0, 1) とした場合はイベントID1を横1.5倍、縦3倍。
  22.  
  23. event_id を省略、あるいは 0 を指定した場合は実行中のイベントを対象とし、
  24. -1 が指定されればプレイヤーが対象となります。
  25.  
  26. すべての値を省略することでパラメータを初期値に戻すことができます。
  27.  
  28. スクリプトコマンドを使う方法以外に、イベント名や注釈コマンドを使って
  29. 設定することもできます。以下の文字列をイベント名か注釈に加えてください。
  30.   <st 4, 8>   … 座標補正の設定、右に4、下に8ドット
  31.   <zm 1.5, 2.0> … 拡大率の設定、横1.5倍、縦2倍
  32.   <an 45>    … 回転角度の設定、半時計回りに45度
  33.  
  34.   注釈コマンドを使う場合は必ずイベント実行内容の一番上で設定してください。
  35.  
  36.  
  37. === 注意 ===
  38.  ・設定したパラメータはイベントページの変更などによって初期化されます、
  39.   イベントコマンドとイベント名、注釈をうまく使い分けてください。
  40.  
  41. 2015/10/01  Ver1.01
  42. ・説明にあるのに実装されていなかった機能を実装
  43.  
  44. 2015/09/11  Ver1.0
  45. 公開
  46.  
  47. =end
  48.  
  49. #==============================================================================
  50. # □ モジュール
  51. #==============================================================================
  52. module TMSUPERSPR
  53.   REGEXP_ST = /<st\s*(\-*\d+)\s*\,\s*(\-*\d+)>/i
  54.   REGEXP_ZM = /<zm\s*(\d+(?:\.\d+)?)\s*\,\s*(\d+(?:\.\d+)?)>/i
  55.   REGEXP_AN = /<an\s*(\-*\d+)>/i
  56. module Commands
  57.   #--------------------------------------------------------------------------
  58.   # ○ キャラクタースプライトの座標補正値を変更
  59.   #--------------------------------------------------------------------------
  60.   def set_shift(shift_x = 0, shift_y = 0, event_id = 0)
  61.     target = get_character(event_id)
  62.     return unless target
  63.     target.shift_x_ex = shift_x
  64.     target.shift_y_ex = shift_y
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ キャラクタースプライトの回転角度を変更
  68.   #--------------------------------------------------------------------------
  69.   def set_angle(angle = 0, event_id = 0)
  70.     target = get_character(event_id)
  71.     return unless target
  72.     target.angle = angle
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ○ キャラクタースプライトの拡大率を変更
  76.   #--------------------------------------------------------------------------
  77.   def set_zoom(zoom_x = 1.0, zoom_y = 1.0, event_id = 0)
  78.     target = get_character(event_id)
  79.     return unless target
  80.     target.zoom_x = zoom_x
  81.     target.zoom_y = zoom_y
  82.   end
  83. end # module Commands
  84. end # module TMSUPERSPR
  85.  
  86. #==============================================================================
  87. # ■ Game_Character
  88. #==============================================================================
  89. class Game_Character
  90.   #--------------------------------------------------------------------------
  91.   # ● 公開インスタンス変数
  92.   #--------------------------------------------------------------------------
  93.   attr_accessor :shift_x_ex                 # X方向の座標補正値
  94.   attr_accessor :shift_y_ex                 # Y方向の座標補正値
  95.   attr_accessor :zoom_x                     # X方向の拡大率
  96.   attr_accessor :zoom_y                     # Y方向の拡大率
  97.   attr_accessor :angle                      # 回転角度
  98.   #--------------------------------------------------------------------------
  99.   # ● 公開メンバ変数の初期化
  100.   #--------------------------------------------------------------------------
  101.   alias tmsuperspr_game_character_init_public_members init_public_members
  102.   def init_public_members
  103.     tmsuperspr_game_character_init_public_members
  104.     clear_ex_param
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 画面 X 座標の取得
  108.   #--------------------------------------------------------------------------
  109.   def screen_x
  110.     super + @shift_x_ex
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 画面 Y 座標の取得
  114.   #--------------------------------------------------------------------------
  115.   def screen_y
  116.     super + @shift_y_ex
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ○ キャラクター拡張用パラメータの初期化
  120.   #--------------------------------------------------------------------------
  121.   def clear_ex_param
  122.     @shift_x_ex = 0
  123.     @shift_y_ex = 0
  124.     @zoom_x = 1.0
  125.     @zoom_y = 1.0
  126.     @angle = 0
  127.   end
  128. end
  129.  
  130. #==============================================================================
  131. # ■ Game_Event
  132. #==============================================================================
  133. class Game_Event < Game_Character
  134.   include TMSUPERSPR::Commands
  135.   #--------------------------------------------------------------------------
  136.   # ● イベントページの設定をセットアップ
  137.   #--------------------------------------------------------------------------
  138.   alias tmsuperspr_game_event_setup_page_settings setup_page_settings
  139.   def setup_page_settings
  140.     tmsuperspr_game_event_setup_page_settings
  141.     clear_ex_param
  142.     if @list
  143.       @shift_x_ex, @shift_y_ex = $1.to_i, $2.to_i if TMSUPERSPR::REGEXP_ST =~ @event.name
  144.       @zoom_x, @zoom_y = $1.to_f, $2.to_f if TMSUPERSPR::REGEXP_ZM =~ @event.name
  145.       @angle = $1.to_i if TMSUPERSPR::REGEXP_AN =~ @event.name
  146.       @list.each do |list|
  147.         if list.code == 108 || list.code == 408
  148.           text = list.parameters[0]
  149.           @shift_x_ex, @shift_y_ex = $1.to_i, $2.to_i if TMSUPERSPR::REGEXP_ST =~ text
  150.           @zoom_x, @zoom_y = $1.to_f, $2.to_f if TMSUPERSPR::REGEXP_ZM =~ text
  151.           @angle = $1.to_i if TMSUPERSPR::REGEXP_AN =~ text
  152.         else
  153.           break
  154.         end
  155.       end
  156.     end
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ○ キャラクターの取得
  160.   #     param : -1 ならプレイヤー、0 ならこのイベント、それ以外はイベント ID
  161.   #--------------------------------------------------------------------------
  162.   def get_character(param)
  163.     if param < 0
  164.       $game_player
  165.     else
  166.       $game_map.events[param > 0 ? param : @id]
  167.     end
  168.   end
  169. end
  170.  
  171. #==============================================================================
  172. # ■ Sprite_Character
  173. #==============================================================================
  174. class Sprite_Character < Sprite_Base
  175.   #--------------------------------------------------------------------------
  176.   # ● フレーム更新
  177.   #--------------------------------------------------------------------------
  178.   alias tmsuperspr_sprite_character_update update
  179.   def update
  180.     tmsuperspr_sprite_character_update
  181.     self.zoom_x = @character.zoom_x
  182.     self.zoom_y = @character.zoom_y
  183.     self.angle = @character.angle
  184.   end
  185. end
  186.  
  187. #==============================================================================
  188. # ■ Game_Interpreter
  189. #==============================================================================
  190. class Game_Interpreter
  191.   include TMSUPERSPR::Commands
  192. end
cinderelmini 发表于 2016-4-7 12:32:43
排除读旧档和冲突的问题,
如果是事件要用这个效果的话,还要另外设置一些东西,
在事件的名字或者事件内容里使用【注释】功能输入上面代码框的53~58行的内容……
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-16 09:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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