赞 | 0 |
VIP | 465 |
好人卡 | 35 |
积分 | 11 |
经验 | 27106 |
最后登录 | 2020-5-5 |
在线时间 | 404 小时 |
Lv3.寻梦者 永久的旅行者
- 梦石
- 1
- 星屑
- 110
- 在线时间
- 404 小时
- 注册时间
- 2006-12-13
- 帖子
- 3091
|
你是用这个脚本吗?
“CP制战斗 改进版(显示全局CP)”
http://rpg.blue/web/htm/news474.htm
如果是的话请往下看,不是的话就无视吧...
忘了如何改...以前解决问题的帖子又找不回来...
直接贴出脚本算了...
覆盖原有的[AX追加]就行了...
- #=begin
- # ▼▲▼ XRXS65A. CP制御ターンシステム「シンセ・ゲージ」 ▼▲▼ built201202
- # by 桜雅 在土
- #==============================================================================
- # □ カスタマイズポイント
- #==============================================================================
- class XRXS65A
- #--------------------------------------------------------------------------
- # 「アイコン設定」
- #--------------------------------------------------------------------------
- DEFAULT = "046-Skill03" # ディフォルトアイコン
- # アイコンハッシュ 記述方式 : アクターID=>アイコン名
- ICONS = {
- 1=>"",
- 2=>"",
- 3=>"",
- 4=>""
- }
- # アイコンハッシュE 記述方式 : エネミーID=>アイコン名
- ICONE = {
- 1=>"",
- 2=>"",
- 3=>"",
- 5=>"",
- 6=>"",
- 7=>"",
- 8=>"",
- 9=>"",
- 10=>"",
- }
- #--------------------------------------------------------------------------
- # 「シンセ・ゲージ」
- #--------------------------------------------------------------------------
- SKIN = "CP_Bar" # スキン
- X = 70 # X 座標
- Y = 63 # Y 座標
- end
- #==============================================================================
- # --- CP メーターをまとめて管理するクラス、表示関係はすべてココ --- [再定義]
- #==============================================================================
- class CP_Meters
- #--------------------------------------------------------------------------
- # ○ オブジェクト初期化
- #--------------------------------------------------------------------------
- def initialize
- # シンセゲージの生成
- @base = Sprite.new
- @base.bitmap = RPG::Cache.windowskin(XRXS65A::SKIN).dup
- @base.x = XRXS65A::X
- @base.y = XRXS65A::Y
- @base.z = XRXS65A::X
- @width = @base.bitmap.width
- @height = @base.bitmap.height
- @icon_set = []
- refresh
- end
- #--------------------------------------------------------------------------
- # ○ リフレッシュ
- #--------------------------------------------------------------------------
- def refresh
- # 生成すべきバトラーの取得
- need_initializes = []
- for battler in $game_party.actors + $game_troop.enemies
- exist = false
- # need_initializes.push(battler) unless exist
- for set in @icon_set
- exist |= (set[1] == battler)
- end
- need_initializes.push(battler) unless exist
- end
- for battler in need_initializes
- iconname = nil
- if battler.is_a?(Game_Actor)
- iconname = XRXS65A::ICONS[battler.id]
- else
- iconname = XRXS65A::ICONE[battler.id]
- end
- if iconname == nil
- iconname = XRXS65A::DEFAULT
- end
- sprite = Sprite.new
- sprite.bitmap = RPG::Cache.icon(iconname).dup
- sprite.y = XRXS65A::Y + @height / 2 - 24
- @icon_set.push([sprite, battler])
- end
- # 更新
- for set in @icon_set
- set[0].x = XRXS65A::X + @width * set[1].cp / set[1].max_cp - 12
- set[0].z = XRXS65A::X#set[0].x
- # set[0].visible = false if set[1].dead? or !set[1].exist?
- if set[1].dead? or !set[1].exist?
- set[0].visible = false
- else
- set[0].visible = true
- end
- end
- end
- #--------------------------------------------------------------------------
- # ○ 可視状態
- #--------------------------------------------------------------------------
- def visible=(b)
- @base.visible = b
- @icon_set.each{|set| set[0].visible = b }
- end
- #--------------------------------------------------------------------------
- # ○ 解放
- #--------------------------------------------------------------------------
- def dispose
- @base.dispose
- @icon_set.each{|set| set[0].dispose }
- end
- end
- #=end
复制代码 解决了的问题:
1. 图标的优先度高过一般的窗口...
2. 死亡角色复活后图标不重现的问题... 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|