【求助】这个脚本出什么问题了?
请问:这个脚本出什么问题了?
这是dnf血值脚本,我改了一下初始位置却打不开了?
class Game_Actor < Game_Battler
def now_exp
return @exp# - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] : 0#- @exp_list[@level] : 0
end
end
#==============================================================================
# ■ ARPG_Actor
#------------------------------------------------------------------------------
# 处理ARPG角色的类。
#==============================================================================
class ARPG_Actor
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize
@actor = $game_party.actors
@hp = $game_party.actors.hp
@sp = $game_party.actors.sp
@hp2 = $game_party.actors.hp
@sp2 = $game_party.actors.sp
@exp = $game_party.actors.now_exp
@jueselv = $game_party.actors.level
@spzhi = $game_variables
@states = $game_party.actors.states
@parameter = []
#Mess_Text.visible = true
#Mess_Text.ini
steup
end
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def steup
make_sprite
if !$scene.is_a?(Scene_Key)
@key_window = Window_KeyCommand.new
@key_window.refresh($game_party.actors)
end
if !$scene.is_a?(Scene_Item_Key)
@item_window = Window_Item_KeyCommand.new
@item_window.refresh($game_party.actors)
end
end
def visible=(val)
@key_window.visible = val if !@key_window.nil?
@item_window.visible = val if !@item_window.nil?
@parameter.each{|pict|pict.visible = val}
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
#Mess_Text.dispose
#Mess_Text.visible = false
@key_window.dispose if !@key_window.nil?
@item_window.dispose if !@item_window.nil?
@parameter.each{|pict|pict.dispose}
end
#--------------------------------------------------------------------------
# ● 生成精灵的实例
#--------------------------------------------------------------------------
def make_sprite
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(100,100)
@parameter.bitmap.blt(0,0,RPG::Cache.picture(@actor.name),Rect.new(0,0,150,120))
@parameter.x = -100;@parameter.y = 100
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,640)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("bar"),Rect.new(0,0,640,640))#218,76))
@parameter.x = 0;@parameter.y = 0#404#-1
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("HP"),Rect.new(0,0,640,480))
h = $game_party.actors.hp * 56 / $game_party.actors.maxhp
@parameter.bitmap.blt(0,0,RPG::Cache.picture("HPoo2"),Rect.new(0,0,640,56-h))
@parameter.x = 0;@parameter.y = 407
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("SP"),Rect.new(0,0,640,480))
h = $game_party.actors.sp * 56 / $game_party.actors.maxsp
@parameter.bitmap.blt(0,0,RPG::Cache.picture("SPoo2"),Rect.new(0,0,640,56-h))
@parameter.x = 0;@parameter.y = 407
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("EXP"),Rect.new(0,0,640,480))
if $game_party.actors.level == 60
h = 0
else
h = $game_party.actors.now_exp * 499 / $game_party.actors.next_exp
end
$game_variables = $game_party.actors.level
@parameter.bitmap.blt(0,0,RPG::Cache.picture("exppp"),Rect.new(0,0,h,480))
@parameter.x = 71;@parameter.y = 0
@parameter.z += 40
@parameter.each{|e|e.z += 1}
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
@parameter.x = 85
@parameter.y = 395
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(422,70)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("555"),Rect.new(0,0,422,70))
@parameter.x = 217;@parameter.y = 411
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,640)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("bar2"),Rect.new(0,0,640,640))#218,76))
@parameter.x = 0;@parameter.y = 0#404#-1
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,640)
@parameter.bitmap.font.size = 12
@parameter.bitmap.font.name = "宋体"
@parameter.bitmap.font.color = Color.new(255,255,255)
@jueselv = $game_party.actors.level
@parameter.bitmap.draw_text(25, 457, 128, 32, "LV.#{@jueselv}")
@parameter.z += 40
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,640)
@parameter.bitmap.font.size = 12
@parameter.bitmap.font.name = "宋体"
@parameter.bitmap.font.color = Color.new(118,187,255)
@spzhi = $game_variables
@parameter.bitmap.draw_text(594, 456, 128, 32, "#{@spzhi}")
@parameter.z += 40
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,640)
@parameter.bitmap.font.size = 12
@parameter.bitmap.font.name = "宋体"
@parameter.bitmap.font.color = Color.new(255,255,255)
if $game_party.actors.level == 60
h = 0
@parameter.bitmap.draw_text(288, 456, 128, 32, "0 / ???")
else
h = $game_party.actors.next_exp
@parameter.bitmap.draw_text(288, 456, 128, 32, "#{$game_party.actors.now_exp} / #{h}")
end
#@parameter.bitmap.draw_text(288, 456, 128, 32, "#{$game_party.actors.now_exp} / #{h}")
@parameter.z += 41
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
hb = @hp2 * 56 / $game_party.actors.maxhp
hbb = hb
hbb -= $game_party.actors.hp * 56 / $game_party.actors.maxhp
@parameter.bitmap.blt(0,0,RPG::Cache.picture("baitiao-hp2"),Rect.new(0,0,640,hbb))
@parameter.x = 0;@parameter.y = 463 - hb
@parameter.z += 40
@parameter.opacity = 255
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
hb = @sp2 * 56 / $game_party.actors.maxsp
hbb = hb
hbb -= $game_party.actors.sp * 56 / $game_party.actors.maxsp
@parameter.bitmap.blt(0,0,RPG::Cache.picture("baitiao-sp2"),Rect.new(0,0,640,hbb))
@parameter.x = 0;@parameter.y = 463 - hb#407
@parameter.z += 40
@parameter.opacity = 255
@parameter = Sprite.new
@parameter.bitmap = Bitmap.new(640,480)
@parameter.bitmap.blt(0,0,RPG::Cache.picture("baitiao22"),Rect.new(0,0,640,480))
@parameter.x = 0;@parameter.y = 0
@parameter.z += 41
draw_actor_state(@actor,0,0)
@parameter.each{|e|e.z += 2}
end
#--------------------------------------------------------------------------
# ● 描绘状态
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
pos = 0
for i in @actor.states
if $data_states.name == "战斗不能"
next
end
bitmap = RPG::Cache.icon($data_states.name)
@parameter.bitmap.blt(x+pos*bitmap.width+pos*10, y, bitmap, Rect.new(0,0,bitmap.width,bitmap.height))
pos += 1
end
end
#--------------------------------------------------------------------------
# ● 更新数值变化
#--------------------------------------------------------------------------
def refresh(type)
case type
when 0
@parameter.bitmap.clear
@parameter.bitmap.blt(0,0,RPG::Cache.picture("HP"),Rect.new(0,0,640,88))
h = @hp * 56 / $game_party.actors.maxhp#88
@parameter.bitmap.blt(0,0,RPG::Cache.picture("HPoo2"),Rect.new(0,0,640,56-h))
if $hpbaitiao == true
$hpbaitiao = false
@parameter.bitmap.clear
hb = @hp2 * 56 / $game_party.actors.maxhp
hbb = hb
hbb -= h
@parameter.bitmap.blt(0,0,RPG::Cache.picture("baitiao-hp2"),Rect.new(0,0,640,hbb))
@parameter.y = 463 - hb
@parameter.opacity = 255
end
return
when 1
@parameter.bitmap.clear
@parameter.bitmap.blt(0,0,RPG::Cache.picture("SP"),Rect.new(0,0,640,88))
h = @sp * 56 / $game_party.actors.maxsp
@parameter.bitmap.blt(0,0,RPG::Cache.picture("SPoo2"),Rect.new(0,0,640,56-h))
if $spbaitiao == true
$spbaitiao = false
@parameter.bitmap.clear
hb = @sp2 * 56 / $game_party.actors.maxsp
hbb = hb
hbb -= h
@parameter.bitmap.blt(0,0,RPG::Cache.picture("baitiao-sp2"),Rect.new(0,0,640,hbb))
@parameter.y = 463 - hb
@parameter.opacity = 255
end
return
when 2
@parameter.bitmap.clear
@parameter.bitmap.blt(0,0,RPG::Cache.picture("EXP"),Rect.new(0,0,640,480))
if $game_party.actors.level == 60
h = 0
else
h = $game_party.actors.now_exp * 499 / $game_party.actors.next_exp
end
$game_variables = $game_party.actors.level
@parameter.bitmap.blt(0,0,RPG::Cache.picture("exppp"),Rect.new(0,0,h,480))
@parameter.bitmap.clear
@parameter.bitmap.font.color = Color.new(255,255,255)
if $game_party.actors.level == 60
h = 0
@parameter.bitmap.draw_text(288, 456, 128, 32, "0 / ???")
else
h = $game_party.actors.next_exp
@parameter.bitmap.draw_text(288, 456, 128, 32, "#{$game_party.actors.now_exp} / #{h}")
end
# @parameter.bitmap.draw_text(288, 456, 128, 32, "#{$game_party.actors.now_exp} / #{h}")
return
when 3
@parameter.bitmap.clear
draw_actor_state(@actor,0,0)
@states = $game_party.actors.states
return
when 4
@parameter.bitmap.clear
@jueselv = $game_party.actors.level
@parameter.bitmap.draw_text(25, 457, 128, 32, "LV.#{@jueselv}")
return
when 5
@parameter.bitmap.clear
@spzhi = $game_variables
@parameter.bitmap.draw_text(594, 456, 128, 32, "#{@spzhi}")
return
end
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def update
Mess_Text.update
if $refresh["states"]
refresh(3)
$refresh["states"] = false
end
if $refresh["item"]
@item_window.refresh(@actor)
$refresh["item"] = false
end
if $refresh["skill"]
@key_window.refresh(@actor)
$refresh["skill"] = false
end
if @actor.states.size > 0
for i in @actor.states
if @actor.states_time > 0
@actor.states_time -= 1
end
if @actor.states_time <= 0
@actor.remove_state(i)
end
end
if @actor.states.size > 0 and Graphics.frame_count%10 == 0
$game_party.check_map_slip_damage
end
end
if Input.trigger?(Input::CTRL)
#Mess_Text.clear
return
end
if Input.trigger?(Input::SHIFT)
# Mess_Text.visible = !Mess_Text.visible
return
end
if @hp != $game_party.actors.hp
if @hp > $game_party.actors.hp
@hp2 = @hp
#@hp -= 1
$hpbaitiao = true
end
@hp = $game_party.actors.hp
# if @hp < $game_party.actors.hp
# @hp += 1
#end
refresh(0)
end
if @sp != $game_party.actors.sp
if @sp > $game_party.actors.sp
@sp2 = @sp
# @sp -= 1
$spbaitiao = true
end
@sp = $game_party.actors.sp
# if @sp < $game_party.actors.sp
# @sp += 1
# end
refresh(1)
end
@parameter.opacity -= 10 if @parameter.opacity > 0
@parameter.opacity -= 10 if @parameter.opacity > 0
if @jueselv != $game_party.actors.level
refresh(4)
end
if @spzhi != $game_variables
refresh(5)
end
if @exp != $game_party.actors.now_exp
refresh(2)
end
end
end 打不开?重新复制脚本
页:
[1]