Project1
标题:
默认系统战斗中怎么选择敌人时让敌人白闪烁?
[打印本页]
作者:
chianti
时间:
2014-5-19 19:15
标题:
默认系统战斗中怎么选择敌人时让敌人白闪烁?
就是选择敌人A时,敌人不停闪烁,选择敌人B时敌人A闪烁停止,敌人B不停闪烁...有这样的脚本吗?smi24|
作者:
子弹君
时间:
2014-5-19 19:19
#==============================================================================
# +++ MOG - Battle Cursor (1.2) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Sistema de cursor animado de batalha nos sprites dos battlers.
#==============================================================================
# Arquivo necessário. (Graphics/System)
#
# Battle_Cursor.png
#
#==============================================================================
#==============================================================================
# ■ CURSOR SETTING
#==============================================================================
module MOG_BATTLE_CURSOR
#Definição da posição do cursor em relação ao alvo.
CURSOR_POSITION = [-45, -16]
#Definição da posição do nome do alvo.
CURSOR_NAME_POSITION = [-10, 35]
#Ativar efeito deslizar.
CURSOR_SLIDE_EFFECT = true
#Ativar animação de levitação.
CURSOR_FLOAT_EFFECT = true
#Definição da prioridade do cursor.
CURSOR_Z = 0
end
$imported = {} if $imported.nil?
$imported[:mog_battle_cursor] = true
#==============================================================================
# ■ Game Temp
#==============================================================================
class Game_Temp
attr_accessor :battle_cursor
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_battle_cursor_initialize initialize
def initialize
@battle_cursor = [0,0,false,""]
mog_battle_cursor_initialize
end
end
#==============================================================================
# ■ Spriteset Battle Cursor
#==============================================================================
class Sprite_Battle_Cursor < Sprite
include MOG_BATTLE_CURSOR
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil)
super(viewport)
$game_temp.battle_cursor = [0,0,false,""]
self.bitmap = Cache.system("Battle_Cursor")
self.visible = $game_temp.battle_cursor[2]
self.z = CURSOR_Z
@cursor_name = Sprite.new
@cursor_name.bitmap = Bitmap.new(120,32)
@cursor_name.z = self.z + 1
@cursor_name.bitmap.font.size = 16
@cursor_name_enemy = $game_temp.battle_cursor[3]
@cursor_name_position = [CURSOR_NAME_POSITION[0] ,CURSOR_NAME_POSITION[1]]
@cursor_float = [0,0]
refresh_cursor_name
end
#--------------------------------------------------------------------------
# ● Dispose Sprite
#--------------------------------------------------------------------------
def dispose
super
dispose_sprite_cursor
end
#--------------------------------------------------------------------------
# ● Dispose Sprite Cursor
#--------------------------------------------------------------------------
def dispose_sprite_cursor
if @cursor_name != nil
@cursor_name.bitmap.dispose
@cursor_name.dispose
end
self.bitmap.dispose
end
#--------------------------------------------------------------------------
# ● Refresh Cursor Name
#--------------------------------------------------------------------------
def refresh_cursor_name
@cursor_name_enemy = $game_temp.battle_cursor[3]
@cursor_name.bitmap.clear
@cursor_name.bitmap.draw_text(0,0,120,32,@cursor_name_enemy.to_s,1)
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_sprite_cursor
end
#--------------------------------------------------------------------------
# ● Update Sprite Cursor
#--------------------------------------------------------------------------
def update_sprite_cursor
update_visible
update_cursor_float_effect
execute_move(0,self.x,$game_temp.battle_cursor[0])
execute_move(1,self.y,$game_temp.battle_cursor[1] + @cursor_float[1])
update_sprite_name
end
#--------------------------------------------------------------------------
# ● Update Visible
#--------------------------------------------------------------------------
def update_visible
self.visible = $game_temp.battle_cursor[2]
if !self.visible
self.x = -64
self.y = -64
end
end
#--------------------------------------------------------------------------
# ● Update Sprite Name
#--------------------------------------------------------------------------
def update_sprite_name
return if @cursor_name == nil
refresh_cursor_name if @cursor_name_enemy != $game_temp.battle_cursor[3]
@cursor_name.x = self.x + @cursor_name_position[0]
@cursor_name.y = self.y + @cursor_name_position[1]
@cursor_name.opacity = self.opacity
@cursor_name.visible = self.visible
end
#--------------------------------------------------------------------------
# ● Update Cursor Float Effect
#--------------------------------------------------------------------------
def update_cursor_float_effect
return if !CURSOR_FLOAT_EFFECT
@cursor_float[0] += 1
case @cursor_float[0]
when 0..20
@cursor_float[1] += 1
when 21..40
@cursor_float[1] -= 1
else
@cursor_float[0] = 0
@cursor_float[1] = 0
end
end
#--------------------------------------------------------------------------
# ● Execute Move
#--------------------------------------------------------------------------
def execute_move(type,cp,np)
sp = 5 + ((cp - np).abs / 5)
if cp > np
cp -= sp
cp = np if cp < np
elsif cp < np
cp += sp
cp = np if cp > np
end
self.x = cp if type == 0
self.y = cp if type == 1
end
end
#==============================================================================
# ■ Spriteset Battle
#==============================================================================
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_battle_cursor_initialize initialize
def initialize
mog_battle_cursor_initialize
create_cursor
end
#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
alias mog_battle_cursor_dispose dispose
def dispose
mog_battle_cursor_dispose
dispose_cursor
end
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
alias mog_battle_cursor_update update
def update
mog_battle_cursor_update
update_battle_cursor
end
#--------------------------------------------------------------------------
# ● Create_Cursor
#--------------------------------------------------------------------------
def create_cursor
return if @battle_cursor != nil
@battle_cursor = Sprite_Battle_Cursor.new
end
#--------------------------------------------------------------------------
# ● Dispose Cursor
#--------------------------------------------------------------------------
def dispose_cursor
return if @battle_cursor == nil
@battle_cursor.dispose
end
#--------------------------------------------------------------------------
# ● Update Battle Cursor
#--------------------------------------------------------------------------
def update_battle_cursor
return if @battle_cursor == nil
@battle_cursor.update
end
end
#==============================================================================
# ■ Battle Cursor Index
#==============================================================================
module Battle_Cursor_index
include MOG_BATTLE_CURSOR
#--------------------------------------------------------------------------
# ● Check Index Limit
#--------------------------------------------------------------------------
def check_index_limit
self.index = 0 if self.index >= item_max
self.index = (item_max - 1) if self.index < 0
end
#--------------------------------------------------------------------------
# ● Set Cursor Position Enemy
#--------------------------------------------------------------------------
def set_cursor_position_enemy
return if !self.active
$game_temp.battle_cursor[0] = $game_troop.alive_members[self.index].screen_x + CURSOR_POSITION[0] rescue nil
$game_temp.battle_cursor[1] = $game_troop.alive_members[self.index].screen_y + CURSOR_POSITION[1] rescue nil
$game_temp.battle_cursor[3] = $game_troop.alive_members[self.index].name rescue nil
$game_temp.battle_cursor = [0,0,false,0] if $game_temp.battle_cursor[0] == nil
end
#--------------------------------------------------------------------------
# ● Set Cursor Position Actor
#--------------------------------------------------------------------------
def set_cursor_position_actor
return if !self.active
$game_temp.battle_cursor[0] = $game_party.members[self.index].screen_x + CURSOR_POSITION[0] rescue nil
$game_temp.battle_cursor[1] = $game_party.members[self.index].screen_y + CURSOR_POSITION[1] rescue nil
$game_temp.battle_cursor[3] = $game_party.members[self.index].name rescue nil
$game_temp.battle_cursor = [0,0,false,0] if $game_temp.battle_cursor[0] == nil
end
#--------------------------------------------------------------------------
# ● Process Cursor Move
#--------------------------------------------------------------------------
def process_cursor_move
return unless cursor_movable?
last_index = @index
cursor_move_index(+1) if Input.repeat?(:DOWN)
cursor_move_index(-1) if Input.repeat?(:UP)
cursor_move_index(+1) if Input.repeat?(:RIGHT)
cursor_move_index(-1) if Input.repeat?(:LEFT)
if [url=home.php?mod=space&uid=370741]@Index[/url] != last_index
Sound.play_cursor
end
end
#--------------------------------------------------------------------------
# ● Process Cursor Move Index
#--------------------------------------------------------------------------
def cursor_move_index(value = 0)
self.index += value
check_index_limit
end
end
#==============================================================================
# ■ Window_BattleActor
#==============================================================================
class Window_BattleActor < Window_BattleStatus
include Battle_Cursor_index
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
set_cursor_position_actor
end
#--------------------------------------------------------------------------
# ● Show
#--------------------------------------------------------------------------
alias mog_battle_cursor_show show
def show
if @info_viewport
set_cursor_position_actor
$game_temp.battle_cursor[2] = true
end
mog_battle_cursor_show
end
#--------------------------------------------------------------------------
# ● Hide
#--------------------------------------------------------------------------
alias mog_battle_cursor_hide hide
def hide
if @info_viewport
$game_temp.battle_cursor[2] = false
end
mog_battle_cursor_hide
end
end
#==============================================================================
# ■ Window_BattleEnemy
#==============================================================================
class Window_BattleEnemy < Window_Selectable
include Battle_Cursor_index
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
set_cursor_position_enemy
end
#--------------------------------------------------------------------------
# ● Show
#--------------------------------------------------------------------------
alias mog_battle_cursor_show show
def show
if @info_viewport
set_cursor_position_enemy
$game_temp.battle_cursor[2] = true
end
mog_battle_cursor_show
end
#--------------------------------------------------------------------------
# ● Hide
#--------------------------------------------------------------------------
alias mog_battle_cursor_hide hide
def hide
if @info_viewport
$game_temp.battle_cursor[2] = false
end
mog_battle_cursor_hide
end
end
复制代码
上传的附件放到Graphics/System文件夹里。
Battle_Cursor.png
(5.98 KB, 下载次数: 40)
下载附件
保存到相册
2014-5-19 19:19 上传
作者:
chianti
时间:
2014-5-19 19:34
亲,第285行报错从[/url] != last_index之后就都是红色的了。。。能帮我看看吗?smi24|
作者:
david_ng223
时间:
2014-5-19 19:39
提示:
作者被禁止或删除 内容自动屏蔽
作者:
chianti
时间:
2014-5-19 19:57
谢谢两位帮忙~发现一个问题是286行,当if
@Index
!= last_index后 Sound.play_cursor这个音效就不停播放,而不是像原版只播放一次,问题在哪里呢smi24|
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1