查看: 2029|回复: 4

[已经解决] 能把XP战力脚本改成VA吗╮(╯_╰)╭

[复制链接]
梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

发表于 2017-6-24 14:13:36 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×

这个能 移植 VA 吗╮(╯_╰)╭


[pre lang="ruby"]#【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
=begin
===============================================================================
★【战斗力】★
-------------------------------------------------------------------------------
  by ->  芯☆淡茹水
===============================================================================
◎ 使用方法:复制该脚本,插入到 main 前。
-------------------------------------------------------------------------------
  该脚本在状态窗口增加描绘角色战斗力,在帮助栏增加描绘角色和敌人的战斗力。
  要在其他地方描绘角色战斗力,在欲描绘的地方写入:draw_actor_ce(actor, x, y)
                                            敌人:draw_enemy_ce(enemy, x, y)
  欲调用战斗力数值,先指定角色/敌人,然后:actor.ce / enemy.ce
===============================================================================
◆ 角色战斗力的构成:
-------------------------------------------------------------------------------
       1.角色:力量 + 敏捷 + 速度 + 魔力
-------------------------------------------------------------------------------
       2.武器:攻击力 + 物防 + 魔防 + 力量↑ + 敏捷↑ + 速度↑ + 魔力↑
               + 属性攻击数 X 100 + 附加状态数 X 100 + 解除状态数 X 50
-------------------------------------------------------------------------------
       3.防具:物防 + 魔防 + 力量↑ + 敏捷↑ + 速度↑ + 魔力↑
               + 属性防御数 X 100 + 状态防御数 X 100 + 自动状态 X 100
-------------------------------------------------------------------------------
   总战斗力 = 1(角色)+ 2(武器)+ 3(防具)
===============================================================================
◆ 敌人战斗力的构成:
--------------------------------------------------------------------------------
   敌人战斗力 = 力量 + 敏捷 + 速度 + 魔力 + 攻击力 + 物防 + 魔防 + 回避
===============================================================================
=end   #【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 武器品质
  #--------------------------------------------------------------------------
  def weapon_quality(id)
    weapon = $data_weapons[id]
    n = weapon.atk + weapon.pdef + weapon.mdef + weapon.str_plus +
        weapon.dex_plus + weapon.agi_plus + weapon.int_plus
    if weapon.element_set != nil
      n += weapon.element_set.size * 100
    end
    if weapon.plus_state_set != nil
      n += weapon.plus_state_set.size * 100
    end
    if weapon.minus_state_set != nil
      n += weapon.minus_state_set.size * 50
    end
    return n
  end
  #---------------------------------------------------------------------------
  #● 防具品质
  #---------------------------------------------------------------------------
  def armor_quality(id)
    armor = $data_armors[id]
    n = armor.pdef + armor.mdef + armor.str_plus + armor.dex_plus +
        armor.agi_plus + armor.int_plus
    if armor.guard_element_set != nil
      n += armor.guard_element_set.size * 100
    end
    if armor.guard_state_set != nil
      n += armor.guard_state_set.size * 100
    end
    if armor.auto_state_id > 0
      n += 100
    end
    return n
  end
  #---------------------------------------------------------------------------
  #● 角色战斗力
  #---------------------------------------------------------------------------
  def ce
    weapon = $data_weapons[@weapon_id]
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n = str + dex + agi + int
    n += weapon != nil ? weapon_quality(@weapon_id) : 0
    n += armor1 != nil ?  armor_quality(@armor1_id) : 0
    n += armor2 != nil ?  armor_quality(@armor2_id) : 0
    n += armor3 != nil ?  armor_quality(@armor3_id) : 0
    n += armor4 != nil ?  armor_quality(@armor4_id) : 0
    return n
  end
end
#==============================================================================
class Window_Base < Window
  #---------------------------------------------------------------------------
  #● 战斗力描绘
  #---------------------------------------------------------------------------
  def draw_actor_ce(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "战斗力:")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 94, y, 164, 32, actor.ce.to_s)
  end
  #---------------------------------------------------------------------------
  #● 敌人战斗力描绘
  #---------------------------------------------------------------------------
  def draw_enemy_ce(enemy, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "战斗力:")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 94, y, 164, 32, enemy.ce.to_s)
  end
end
#==============================================================================
class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_actor_graphic(@actor, 40, 112)
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 4 + 144, 0)
    draw_actor_level(@actor, 96, 32)
    draw_actor_state(@actor, 96, 64)
    draw_actor_hp(@actor, 96, 112, 172)
    draw_actor_sp(@actor, 96, 144, 172)
    draw_actor_parameter(@actor, 96, 192, 0)
    draw_actor_parameter(@actor, 96, 224, 1)
    draw_actor_parameter(@actor, 96, 256, 2)
    draw_actor_parameter(@actor, 96, 304, 3)
    draw_actor_parameter(@actor, 96, 336, 4)
    draw_actor_parameter(@actor, 96, 368, 5)
    draw_actor_parameter(@actor, 96, 400, 6)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 48, 80, 32, "EXP")
    self.contents.draw_text(320, 80, 80, 32, "NEXT")
    draw_actor_ce(@actor, 319, 120)
    self.contents.font.color = normal_color
    self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
    self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(320, 160, 96, 32, "装备")
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
  end
  def dummy
    self.contents.font.color = system_color
    self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
    self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
    self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
    self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
    self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
    draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
    draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
    draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
    draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
    draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  end
end
class Game_Enemy < Game_Battler
  #============================================================================
  def ce
    n = base_str + base_dex + base_agi + base_int + base_atk + base_pdef +
        base_mdef + base_eva
    return n
  end
end
#==============================================================================
class Window_Help < Window_Base
  def set_actor(actor)
    if actor != @actor
      self.contents.clear
      draw_actor_name(actor, 4, 0)
      draw_actor_ce(actor, 460, 0)
      draw_actor_state(actor, 102, 0)
      draw_actor_hp(actor, 184, 0)
      draw_actor_sp(actor, 320, 0)
      @actor = actor
      @text = nil
      self.visible = true
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置敌人
  #     enemy : 要显示名字和状态的敌人
  #--------------------------------------------------------------------------
  def set_enemy(enemy)
    text = enemy.name
    draw_enemy_ce(enemy, 460, 0)
    state_text = make_battler_state_text(enemy, 112, false)
    if state_text != ""
      text += "  " + state_text
    end
    set_text(text, 1)
  end
end
#==============================================================================
    [/pre]
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2017-6-24 15:26:20 | 显示全部楼层
改过了,注意下面几点的改动

角色战斗力的构成:
-------------------------------------------------------------------------------
       1.角色:攻击力 + 物防 + 魔攻 + 魔防 + 敏捷 + 幸运
-------------------------------------------------------------------------------
       2.武器:使用RPG::Weapon自带的方法performance来计算
-------------------------------------------------------------------------------
       3.防具:使用RPG::Armor自带的方法performance来计算
-------------------------------------------------------------------------------
   总战斗力 = 1(角色)+ 2(武器)+ 3(防具)
敌人战斗力的构成:
--------------------------------------------------------------------------------
   敌人战斗力 = 攻击力 + 物防 + 魔攻 + 魔防 + 敏捷 + 幸运

角色战斗力可在状态画面查看(不变)
敌人战斗力在战斗中没有显示(因为VA战斗系统没改=w=)当然你可以自己调用,调用方法不变

[pre lang="ruby"]#【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
=begin
===============================================================================
★【战斗力】★
-------------------------------------------------------------------------------
  by ->  芯☆淡茹水
===============================================================================
◎ 使用方法:复制该脚本,插入到 main 前。
-------------------------------------------------------------------------------
  该脚本在状态窗口增加描绘角色战斗力,在帮助栏增加描绘角色和敌人的战斗力。
  要在其他地方描绘角色战斗力,在欲描绘的地方写入:draw_actor_ce(actor, x, y)
                                            敌人:draw_enemy_ce(enemy, x, y)
  欲调用战斗力数值,先指定角色/敌人,然后:actor.ce / enemy.ce
===============================================================================
◆ 角色战斗力的构成:
-------------------------------------------------------------------------------
       1.角色:力量 + 敏捷 + 速度 + 魔力
-------------------------------------------------------------------------------
       2.武器:攻击力 + 物防 + 魔防 + 力量↑ + 敏捷↑ + 速度↑ + 魔力↑
               + 属性攻击数 X 100 + 附加状态数 X 100 + 解除状态数 X 50
-------------------------------------------------------------------------------
       3.防具:物防 + 魔防 + 力量↑ + 敏捷↑ + 速度↑ + 魔力↑
               + 属性防御数 X 100 + 状态防御数 X 100 + 自动状态 X 100
-------------------------------------------------------------------------------
   总战斗力 = 1(角色)+ 2(武器)+ 3(防具)
===============================================================================
◆ 敌人战斗力的构成:
--------------------------------------------------------------------------------
   敌人战斗力 = 力量 + 敏捷 + 速度 + 魔力 + 攻击力 + 物防 + 魔防 + 回避
===============================================================================
=end   #【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】【】
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 武器品质
  #--------------------------------------------------------------------------
  def weapon_quality(id)
    weapon = $data_weapons[id]
    n = weapon.performance
    return n
  end
  #---------------------------------------------------------------------------
  #● 防具品质
  #---------------------------------------------------------------------------
  def armor_quality(id)
    armor = $data_armors[id]
    n = armor.performance
    return n
  end
  #---------------------------------------------------------------------------
  #● 角色战斗力
  #---------------------------------------------------------------------------
  def ce
    weapon = $data_weapons[equips[0].id] if equips[0] != nil
    armor1 = $data_armors[equips[1].id] if equips[1] != nil
    armor2 = $data_armors[equips[2].id] if equips[2] != nil
    armor3 = $data_armors[equips[3].id] if equips[3] != nil
    armor4 = $data_armors[equips[4].id] if equips[4] != nil
    n = self.atk + self.def + self.mat + self.mdf + self.agi + self.luk
    n += weapon != nil ? weapon_quality(equips[0].id) : 0
    n += armor1 != nil ?  armor_quality(equips[1].id) : 0
    n += armor2 != nil ?  armor_quality(equips[2].id) : 0
    n += armor3 != nil ?  armor_quality(equips[3].id) : 0
    n += armor4 != nil ?  armor_quality(equips[4].id) : 0
    return n
  end
end
#==============================================================================
class Window_Base < Window
  #---------------------------------------------------------------------------
  #● 战斗力描绘
  #---------------------------------------------------------------------------
  def draw_actor_ce(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "战斗力:")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 94, y, 164, 32, actor.ce.to_s)
  end
  #---------------------------------------------------------------------------
  #● 敌人战斗力描绘
  #---------------------------------------------------------------------------
  def draw_enemy_ce(enemy, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 96, 32, "战斗力:")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 94, y, 164, 32, enemy.ce.to_s)
  end
end
#==============================================================================
class Window_Status < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def draw_block3(y)
    draw_parameters(32, y)
    draw_equipments(288, y)
    draw_actor_ce(@actor, 288, y+120)
  end
end
class Game_Enemy < Game_Battler
  #============================================================================
  def ce
    n = self.atk + self.def + self.mat + self.mdf + self.agi + self.luk
    return n
  end
end
#==============================================================================
class Window_Help < Window_Base
  def set_actor(actor)
    if actor != @actor
      self.contents.clear
      draw_actor_name(actor, 4, 0)
      draw_actor_ce(actor, 460, 0)
      draw_actor_state(actor, 102, 0)
      draw_actor_hp(actor, 184, 0)
      draw_actor_sp(actor, 320, 0)
      @actor = actor
      @text = nil
      self.visible = true
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置敌人
  #     enemy : 要显示名字和状态的敌人
  #--------------------------------------------------------------------------
  def set_enemy(enemy)
    text = enemy.name
    draw_enemy_ce(enemy, 460, 0)
    state_text = make_battler_state_text(enemy, 112, false)
    if state_text != ""
      text += "  " + state_text
    end
    set_text(text, 1)
  end
end
#==============================================================================
[/pre]

评分

参与人数 2星屑 +40 梦石 +1 收起 理由
VIPArcher + 1 认可答案
j296196585 + 40 塞糖

查看全部评分

笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复

使用道具 举报

梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

 楼主| 发表于 2017-6-24 21:51:29 | 显示全部楼层
本帖最后由 j296196585 于 2017-6-24 22:28 编辑
魔法丶小肉包 发表于 2017-6-24 15:26
改过了,注意下面几点的改动

角色战斗力的构成:

调用方法
  不会用
比方 我要查看史莱姆的战力 如何 查看。。。
360截图20170624215120286.jpg

点评

hhhhO(∩_∩)O哈哈哈~  发表于 2017-6-25 00:00
当然是在脚本编辑器里用这个方法进行描绘啊,在事件里调用干嘛  发表于 2017-6-24 22:32
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部