Project1

标题: 对话时显示姓名 [打印本页]

作者: 英俊de狗    时间: 2008-3-1 01:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 英俊de狗    时间: 2008-3-1 01:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: got3    时间: 2008-3-1 01:16


   效果图贴之
作者: 殤。    时间: 2008-3-1 02:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-3-1 02:26
图片是54于不54的决定……

作者: 3121362    时间: 2008-3-1 02:33
lz能不能给张效果截图啊!~~  不然不知道 是怎么样的效果啊?
作者: 英俊de狗    时间: 2008-3-1 02:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-3-1 02:57
以下引用英俊de狗于2008-2-29 18:55:15的发言:

上传效果图ing

别偷懒……

我要论坛附件的,
看不到。
作者: 英俊de狗    时间: 2008-3-1 03:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 风吹过的晴天    时间: 2008-3-1 03:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 英俊de狗    时间: 2008-3-1 03:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3121362    时间: 2008-3-1 03:05
看是看到了 不够清晰啊 能来个附件的吗  呵呵~
作者: 英俊de狗    时间: 2008-3-1 03:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3121362    时间: 2008-3-1 03:15
恩 是的 可以看的到  不过脚本的注释 很难懂啊  对于我这样的新手 可能有点难度!~
作者: 风吹过的晴天    时间: 2008-3-1 03:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3121362    时间: 2008-3-1 03:21
不太清楚啊  不过LZ 说可以整合到各种对话框脚本里去  所以应该不会有冲突吧   不好说啊!~
作者: 英俊de狗    时间: 2008-3-1 03:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小幽的马甲    时间: 2008-3-1 03:27
跟所有修改Window_Message的脚本冲突
所以说用alias是好习惯= =
作者: 英俊de狗    时间: 2008-3-1 03:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小幽的马甲    时间: 2008-3-1 03:33
既然用了alias冲突的可能性几乎就为0了
只是控制符冲突而已- -
跟版权有关系么- - [LINE]1,#dddddd[/LINE]版主对此帖的认可:『4444积分实在太不吉利- -』,积分『+1』。
作者: 英俊de狗    时间: 2008-3-1 04:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 风雪优游    时间: 2008-3-1 05:06
很好的脚本,唯一的问题就是用个这个我必须修改前面几百句已经写好的对话= =|||
作者: 雪流星    时间: 2008-3-1 09:00
我有一个脚本是用的注释显示名称
不知道风版要不要
而且是设置一次,直到你设置下一个注释之前都会显示同一个名字
作者: 3121362    时间: 2008-3-2 22:50
以下引用snstar2006于2008-3-1 1:00:52的发言:

我有一个脚本是用的注释显示名称
不知道风版要不要
而且是设置一次,直到你设置下一个注释之前都会显示同一个名字

真的吗  如果可以的话 我想借鉴一下  能发上来吗?
作者: 九节菖蒲    时间: 2008-3-3 00:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雪流星    时间: 2008-3-3 12:11
原出處:
文章送り改造

需配合此脚本:「注釈」を使ったイベントコマンド拡張系

对了,关於版权问题,还请日语达人帮跟作者说一声,谢。

我修改过後的脚本:
  1. #
  2. #    ネームウインドウ表示(RGSS2)
  3. #  (C)2008 TYPE74RX-T
  4. #

  5. #==============================================================================
  6. # ★ RX_T_castname
  7. #------------------------------------------------------------------------------
  8. #  メッセージ表示時に発言者の名前を表示するためのモジュールです。
  9. #==============================================================================

  10. module RX_T_castname
  11.   #--------------------------------------------------------------------------
  12.   # ● 開始処理
  13.   #--------------------------------------------------------------------------
  14.   def start
  15.     super
  16.     @rx_castname_window = Window_RXcastname.new
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 終了処理
  20.   #--------------------------------------------------------------------------
  21.   def terminate
  22.     super
  23.     @rx_castname_window.dispose
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● フレーム更新
  27.   #--------------------------------------------------------------------------
  28.   def update
  29.     super
  30.     if $game_message.visible and $game_temp.rx_castname != ""
  31.       @rx_castname_window.visible = true
  32.       @rx_castname_window.width = @rx_castname_window.contents.text_size($game_temp.rx_castname).width+32
  33.       @rx_castname_window.contents = Bitmap.new(@rx_castname_window.width-32, @rx_castname_window.height - 32)
  34.       @rx_castname_window.refresh
  35.     else
  36.       @rx_castname_window.visible = false
  37.     end
  38.   end
  39. end

  40. #==============================================================================
  41. # ■ Game_Temp
  42. #------------------------------------------------------------------------------
  43. #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
  44. # スタンスは $game_temp で参照されます。
  45. #==============================================================================

  46. class Game_Temp
  47.   #--------------------------------------------------------------------------
  48.   # ● オブジェクト初期化
  49.   #--------------------------------------------------------------------------
  50.   alias rx_rgss2c6_initialize initialize
  51.   def initialize
  52.     # メソッドを呼び戻す
  53.     rx_rgss2c6_initialize
  54.     # ★ 発言者の名前
  55.     @rx_castmame = ""
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ★ 発言者の名前
  59.   #--------------------------------------------------------------------------
  60.   def rx_castname
  61.     return @rx_castmame
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ★ 発言者の名前の設定
  65.   #--------------------------------------------------------------------------
  66.   def rx_castname=(name)
  67.     @rx_castmame = name
  68.   end
  69. end

  70. #==============================================================================
  71. # ■ Interpreter
  72. #------------------------------------------------------------------------------
  73. #  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
  74. # スや Game_Event クラスの内部で使用されます。
  75. #==============================================================================

  76. class Game_Interpreter
  77.   #--------------------------------------------------------------------------
  78.   # ★ 注釈
  79.   #--------------------------------------------------------------------------
  80.   alias rx_rgss2c6_command_108 command_108
  81.   def command_108
  82.     # 名前表示
  83.     if @parameters[0].include?("角色:")
  84.       # コマンドから先の文字列を全取得
  85.       $game_temp.rx_castname = rx_get_all_str(@parameters[0], "角色:")
  86.       # 継続(競合対策)
  87.       return true
  88.     end
  89.     # 名前表示(アクター)
  90.     if @parameters[0].include?("actor:")
  91.       # 注釈から数字の文字列のみ取得し、数字の配列として返す
  92.       name_id = rx_get_str_arrays(@parameters[0])
  93.       # アクター名を発言者名に代入
  94.       $game_temp.rx_castname = $data_actors[name_id[0]].name
  95.       # 継続(競合対策)
  96.       return true
  97.     end
  98.     # 名前表示(変数番号のアクター)
  99.     if @parameters[0].include?("アクター変:")
  100.       # 注釈から数字の文字列のみ取得し、数字の配列として返す
  101.       name_id = rx_get_str_arrays(@parameters[0])
  102.       # 変数番号のアクター名を発言者名に代入
  103.       $game_temp.rx_castname = $data_actors[$game_variables[name_id[0]]].name
  104.       # 継続(競合対策)
  105.       return true
  106.     end
  107.     # 名無し化
  108.     if @parameters[0].include?("空名")
  109.       # 名無しに戻す
  110.       $game_temp.rx_castname = ""
  111.       # 継続(競合対策)
  112.       return true
  113.     end
  114.     # メソッドを呼び戻す
  115.     rx_rgss2c6_command_108
  116.   end
  117. end

  118. #==============================================================================
  119. # ■ Window_RXcastname
  120. #------------------------------------------------------------------------------
  121. #  メッセージ表示時に発言者の名前を表示するウィンドウです。
  122. #==============================================================================

  123. class Window_RXcastname < Window_Base
  124.   #--------------------------------------------------------------------------
  125.   # ● オブジェクト初期化
  126.   #     x : ウィンドウの X 座標
  127.   #     y : ウィンドウの Y 座標
  128.   #--------------------------------------------------------------------------
  129.   def initialize(x = 0, y = 232)
  130.     #super(20, 280, 240, WLH + 32)
  131.     super(x, y, 64, WLH + 32)
  132.     self.z = 201
  133.     self.visible = false
  134.     self.opacity = 240
  135.     #self.opacity = 0
  136.     refresh
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● リフレッシュ
  140.   #--------------------------------------------------------------------------
  141.   def refresh
  142.     self.contents.clear
  143.     self.contents.draw_text(0, 0, 240, WLH, $game_temp.rx_castname)
  144.   end
  145. end

  146. #==============================================================================
  147. # ■ Scene_Map
  148. #------------------------------------------------------------------------------
  149. #  マップ画面の処理を行うクラスです。
  150. #==============================================================================

  151. class Scene_Map < Scene_Base
  152.   include RX_T_castname
  153. end
复制代码


其实也没修改什麽,只是修改显示名称的窗口,让它变成自动调整大小而已。




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