赞 | 170 |
VIP | 6 |
好人卡 | 208 |
积分 | 229 |
经验 | 137153 |
最后登录 | 2024-11-12 |
在线时间 | 8637 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 22933
- 在线时间
- 8637 小时
- 注册时间
- 2011-12-31
- 帖子
- 3367
|
本帖最后由 tseyik 于 2014-9-14 11:31 编辑
アイコンポップ Ver1.2
事件指令『脚本』使用以下指令
pop_icon(事件id, icon_id, 顯示時間)
事件id,0:事件本身,-1:玩者,1以上:事件id
顯示時間:幀数,60為1秒
例)pop_icon(-1, 17, 300)
取消icon表示同delete_icon 指令
例)delete_icon(-1)
作者的網頁将於15年5月関閉,- #==============================================================================
- # ★ RGSS3_アイコンポップ Ver1.2
- #==============================================================================
- =begin
- 作者:tomoaky
- webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)
- イベントの頭上に任意のアイコンを表示することができます。
- イベントコマンド『スクリプト』で以下を実行してください
- pop_icon(event_id, icon_id, duration)
-
- event_id 番のイベントの頭上に icon_id 番のアイコンが表示されます。
- event_id に 0 を指定すると実行中のイベント自身が対象となり、
- -1 を指定すればプレイヤーが対象となります。
- duration は省略することが可能です、その場合は 120 となります。
-
- 例)pop_icon(-1, 17, 300)
- プレイヤーに戦闘不能アイコンを5秒間(300フレーム)表示します
-
- アイコン表示中に pop_icon コマンドを実行しても効果はありません。
- すぐに次のアイコンを表示したい場合は、delete_icon コマンドで
- アイコンを削除してから pop_icon コマンドを実行してください。
-
- 例)delete_icon(-1)
- プレイヤーに表示中のアイコンを削除する
-
- おまけとしてイベントコマンド『アイテムの増減』『武器の増減』『防具の増減』が
- 実行されたとき、自動でアイコンを表示する機能が付いています。
- アイコンを表示する対象はゲーム変数(初期設定では6番)で変更が可能です、
- 値は pop_icon コマンドにおける event_id と同様ですが、-2 以下を指定することで
- 機能をオフにすることができます。
-
- 使用するゲーム変数(初期設定)
- 0006
-
- 2012.01.19 Ver1.2
- ・表示中のアイコンポップを削除する delete_icon コマンドを追加
- ・自律移動【カスタム】のスクリプトコマンドで
- アイコンポップ機能が動作しない不具合を修正
-
- 2011.12.21 Ver1.11
- ・並列処理で event_id に 0 を指定するとアイコンが表示されない不具合を修正
-
- 2011.12.17 Ver1.1
- ・コマンドに表示時間を指定する機能を追加しました
- 2011.12.15 Ver1.0
- 公開
-
- =end
- #==============================================================================
- # □ 設定項目
- #==============================================================================
- module TMICPOP
- GRAVITY = 24 # アイコンにかかる重力
- SPEED = -320 # アイコンの初速(Y方向)
-
- VN_TARGET = 6 # 自動ポップ対象設定として扱うゲーム変数番号
- end
- #==============================================================================
- # □ コマンド
- #==============================================================================
- module TMICPOP
- module Commands
- #--------------------------------------------------------------------------
- # ○ アイコンポップの開始
- #--------------------------------------------------------------------------
- def pop_icon(event_id, icon_id, duration = 120)
- target = get_character(event_id)
- return unless target
- target.icpop_id = icon_id
- target.icpop_duration = duration
- end
- #--------------------------------------------------------------------------
- # ○ アイコンポップの削除
- #--------------------------------------------------------------------------
- def delete_icon(event_id)
- target = get_character(event_id)
- return unless target
- target.icpop_delete_flag = true
- end
- end
- end # module TMICPOP
- #==============================================================================
- # ■ Game_CharacterBase
- #==============================================================================
- class Game_CharacterBase
- #--------------------------------------------------------------------------
- # ● 公開インスタンス変数
- #--------------------------------------------------------------------------
- attr_accessor :icpop_id # アイコンポップ ID
- attr_accessor :icpop_duration # アイコンポップ 表示時間
- attr_accessor :icpop_delete_flag # アイコンポップ 削除フラグ
- #--------------------------------------------------------------------------
- # ● 公開メンバ変数の初期化
- #--------------------------------------------------------------------------
- alias tmicpop_game_characterbase_init_public_members init_public_members
- def init_public_members
- tmicpop_game_characterbase_init_public_members
- @icpop_id = 0
- @icpop_duration = 0
- @icpop_delete_flag = false
- end
- end
- #==============================================================================
- # ■ Sprite_Character
- #==============================================================================
- class Sprite_Character
- #--------------------------------------------------------------------------
- # ● オブジェクト初期化
- # character : Game_Character
- #--------------------------------------------------------------------------
- alias tmicpop_sprite_character_initialize initialize
- def initialize(viewport, character = nil)
- @icpop_duration = 0
- tmicpop_sprite_character_initialize(viewport, character)
- end
- #--------------------------------------------------------------------------
- # ● 解放
- #--------------------------------------------------------------------------
- alias tmicpop_sprite_character_dispose dispose
- def dispose
- dispose_icpop
- tmicpop_sprite_character_dispose
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- alias tmicpop_sprite_character_update update
- def update
- update_icpop
- tmicpop_sprite_character_update
- end
- #--------------------------------------------------------------------------
- # ● 新しいエフェクトの設定
- #--------------------------------------------------------------------------
- alias tmicpop_sprite_character_setup_new_effect setup_new_effect
- def setup_new_effect
- tmicpop_sprite_character_setup_new_effect
- if !@icpop_sprite && @character.icpop_id > 0
- @icpop_id = @character.icpop_id
- @character.icpop_id = 0
- start_icpop
- end
- end
- #--------------------------------------------------------------------------
- # ○ アイコンポップ表示の開始
- #--------------------------------------------------------------------------
- def start_icpop
- dispose_icpop
- @icpop_duration = @icpop_duration_max = @character.icpop_duration
- @icpop_sprite = ::Sprite.new(viewport)
- @icpop_sprite.bitmap = Cache.system("IconSet")
- @icpop_sprite.src_rect.set(@icpop_id % 16 * 24, @icpop_id / 16 * 24, 24, 24)
- @icpop_sprite.ox = 12
- @icpop_sprite.oy = 24
- @icpop_y_plus = 0
- @icpop_y_speed = TMICPOP::SPEED
- update_icpop
- end
- #--------------------------------------------------------------------------
- # ○ アイコンポップの解放
- #--------------------------------------------------------------------------
- def dispose_icpop
- @character.icpop_delete_flag = false
- if @icpop_sprite
- @icpop_sprite.dispose
- @icpop_sprite = nil
- end
- end
- #--------------------------------------------------------------------------
- # ○ アイコンポップの更新
- #--------------------------------------------------------------------------
- def update_icpop
- if @icpop_duration > 0
- @icpop_duration -= 1
- if @character.icpop_delete_flag
- @icpop_duration = 0
- dispose_icpop
- elsif @icpop_duration > 0
- @icpop_sprite.x = x
- @icpop_y_plus += @icpop_y_speed
- @icpop_y_speed += TMICPOP::GRAVITY
- if @icpop_y_plus > 0
- @icpop_y_plus = 0 - @icpop_y_plus
- @icpop_y_speed = 0 - @icpop_y_speed / 2
- end
- @icpop_sprite.y = y - height + (@icpop_y_plus / 256)
- @icpop_sprite.z = z + 200
- @icpop_sprite.opacity = (@icpop_duration < 16 ? @icpop_duration * 16 :
- (@icpop_duration_max - @icpop_duration) * 32)
- else
- dispose_icpop
- @character.icpop_id = 0
- end
- end
- end
- end
- #==============================================================================
- # ■ Game_Event
- #==============================================================================
- class Game_Event
- include TMICPOP::Commands
- #--------------------------------------------------------------------------
- # ○ キャラクターの取得
- # param : -1 ならプレイヤー、0 ならこのイベント、それ以外はイベント ID
- #--------------------------------------------------------------------------
- def get_character(param)
- if param < 0
- $game_player
- else
- $game_map.events[param > 0 ? param : @id]
- end
- end
- end
- #==============================================================================
- # ■ Game_Interpreter
- #==============================================================================
- class Game_Interpreter
- include TMICPOP::Commands
- #--------------------------------------------------------------------------
- # ● アイテムの増減
- #--------------------------------------------------------------------------
- alias tmicpop_game_interpreter_command_126 command_126
- def command_126
- tmicpop_game_interpreter_command_126
- value = operate_value(@params[1], @params[2], @params[3])
- if value > 0
- if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
- item = $data_items[@params[0]]
- pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 武器の増減
- #--------------------------------------------------------------------------
- alias tmicpop_game_interpreter_command_127 command_127
- def command_127
- tmicpop_game_interpreter_command_127
- value = operate_value(@params[1], @params[2], @params[3])
- if value > 0
- if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
- item = $data_weapons[@params[0]]
- pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 防具の増減
- #--------------------------------------------------------------------------
- alias tmicpop_game_interpreter_command_128 command_128
- def command_128
- tmicpop_game_interpreter_command_128
- value = operate_value(@params[1], @params[2], @params[3])
- if value > 0
- if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
- item = $data_armors[@params[0]]
- pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
- end
- end
- end
- end
复制代码 |
评分
-
查看全部评分
|