查看: 2417|回复: 7

[已经解决] 有关区别角色的系统用语和武器防具耐久度的脚本~

[复制链接]
梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
发表于 2014-9-6 00:04:27 | 显示全部楼层 |阅读模式

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

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

×
求2个脚本,第一个是:区别角色的系统用语,也就是说A角色的状态栏等里面攻击力显示的是ATK   B角色的状态栏里攻击力显示的是攻击,   第二个是完整的武器和防具耐久度脚本  最好能做到耐久度低于固定数值时减少装备的属性最好还有附加角色状态等设定 以及修理耐久度等

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-9-6 00:25:24 | 显示全部楼层
第一个问题可以通过修改Window_Base#draw_actor_param方法实现。
第二个问题摔脚本。我没用过不知道是否能满足你的需求。
或者等楼下大神。

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
124
在线时间
900 小时
注册时间
2012-11-13
回帖
845
发表于 2014-9-6 10:54:57 | 显示全部楼层
本帖最后由 3106345123 于 2014-9-6 11:06 编辑

搜索不是用来无视的
仅此一次

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 我很赞同

查看全部评分

废弃
回复

使用道具 举报

梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
 楼主| 发表于 2014-9-6 19:19:07 | 显示全部楼层
VIPArcher 发表于 2014-9-6 00:25
第一个问题可以通过修改Window_Base#draw_actor_param方法实现。
第二个问题摔脚本。我没用过不知道是否能 ...

修改Window_Base#draw_actor_param 里什么语句? 能详细点吗? 我不太懂脚本,可以做到战斗菜单里也是一样的吗?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
444 小时
注册时间
2011-1-3
回帖
150

开拓者

发表于 2014-9-6 21:56:01 | 显示全部楼层
当当当,不同职业属性值称呼不同脚本。
脚本[pre lang="ruby" line="1"]#------------------------------------------------------------------------------#
#  Galv's Parameter Names
#------------------------------------------------------------------------------#
#  For: RPGMAKER VX ACE
#  Version 1.3
#------------------------------------------------------------------------------#
#  2012-10-12 - Version 1.3 - updating alias names for compatibility
#  2012-10-12 - Version 1.2 - fixed bugs... haha. OOPS!
#  2012-10-12 - Version 1.1 - re-wrote it with muchless overwrites
#  2012-10-12 - Version 1.0 - release
#------------------------------------------------------------------------------#
#  Changes the vocab (name) of parameters for certain actor classes. These
#  new names are only visible in the status and battle screens and will show
#  as the default vocab if displayed anywhere else. (eg. "Bob loses x ATK!")
#
#  INSTRUCTIONS:
#  Edit the settings below. Each class that you want to have different param
#  names should include all params in the list. If you don't setup new param
#  names for a class, they will default to the RPGMaker vocab.
#  If you use Yanfly scripts, put this under it.
#
#  NOTE:
#  Any other script using vocab may not use the class names setup below. Only
#  a bunch of Yanfly scripts were checked for compatibility.
#------------------------------------------------------------------------------#

$imported = {} if $imported.nil?
$imported["Paramenter_Renamer"] = true

module Renamer
  CLASS = []  # DON'T CHANGE THIS
#------------------------------------------------------------------------------#
#  SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
   
  YANFLY_STATUS = false    # Set to true ONLY if using yanfly's status script
  YANFLY_BATTLE = false    # Set to true ONLY if using yanfly's battle script

#------------------------------------------------------------------------------#
#  CLASS PARAMETER NAMES:
#------------------------------------------------------------------------------#

  CLASS[2] = [        # Class ID
    "HL",             # HP
    "EP",             # MP
    "MEM",            # TP
    "MAX Hull",       # Max HP
    "MAX ENERGY",     # Max MP
    "POWER",          # ATK
    "ARMOR",          # DEF
    "BATTERY",        # MAT
    "SHIELD",         # MDF
    "SERVOS",         # AGI
    "RAM",            # LUK
  ] # end class

  CLASS[1] = [        # Class ID
    "HP",             # HP
    "QI",             # MP
    "FU",             # TP
    "MAX HP",         # Max HP
    "MAX QI",         # Max MP
    "STR",            # ATK
    "DEF",            # DEF
    "CHI",            # MAT
    "FOC",            # MDF
    "DEX",            # AGI
    "SPI",            # LUK
  ] # end class

#------------------------------------------------------------------------------#
#  END SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#

end


#------------------------------------------------------------------------------#
#  Vocab Overwrites
#------------------------------------------------------------------------------#

module Vocab

  def self.param(param_id)
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      $data_system.terms.params[param_id]
    else
      Renamer::CLASS[c_id][param_id + 3]
    end
  end
  def self.hp
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(2)
    else
      Renamer::CLASS[c_id][3]
    end
  end
  def self.hp_a
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(3)
    else
      Renamer::CLASS[c_id][0]
    end
  end
  def self.mp
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(4)
    else
      Renamer::CLASS[c_id][4]
    end
  end
  def self.mp_a
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(5)
    else
      Renamer::CLASS[c_id][1]
    end
  end
  def self.tp
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(6)
    else
      Renamer::CLASS[c_id][5]
    end
  end
  def self.tp_a
    c_id = $game_temp.class_check
    if Renamer::CLASS[c_id] == nil || Renamer::CLASS[c_id] == 0
      basic(7)
    else
      Renamer::CLASS[c_id][2]
    end
  end
   
end


#------------------------------------------------------------------------------#
#  Aliasing to check class before displaying vocab
#------------------------------------------------------------------------------#

class Window_Base < Window

  alias galv_paramnames_draw_actor_param draw_actor_param
  def draw_actor_param(actor, x, y, param_id)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_param(actor, x, y, param_id)
    $game_temp.class_check = 0
  end
   
  alias galv_paramnames_draw_actor_hp draw_actor_hp
  def draw_actor_hp(actor, x, y, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_hp(actor, x, y, width)
    $game_temp.class_check = 0
  end

  alias galv_paramnames_draw_actor_mp draw_actor_mp
  def draw_actor_mp(actor, x, y, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_mp(actor, x, y, width)
    $game_temp.class_check = 0
  end
   
  alias galv_paramnames_draw_actor_tp draw_actor_tp
  def draw_actor_tp(actor, x, y, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_tp(actor, x, y, width)
    $game_temp.class_check = 0
  end

end

class Window_EquipStatus < Window_Base
   
  def actor
    @actor
  end

  alias galv_paramnames_draw_param_name draw_param_name
  def draw_param_name(x, y, param_id)
    $game_temp.class_check = @actor.class_id if @actor
    galv_paramnames_draw_param_name(x, y, param_id)
  end

end



#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
#  GALV'S MENU LAYOUT
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#



class Window_MenuStatus < Window_Selectable
  alias galv_paramnames_draw_actor_simple_status draw_actor_simple_status
  def draw_actor_simple_status(actor, x, y)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_simple_status(actor, x, y)
    $game_temp.class_check = 0
  end
end


#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
#  YANFLY BATTLE ENGINE
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#

class Window_BattleStatus < Window_Selectable
  if Renamer::YANFLY_BATTLE
  alias galv_paramnames_draw_actor_hp draw_actor_hp
  def draw_actor_hp(actor, dx, dy, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_hp(actor, dx, dy, width)  
    $game_temp.class_check = 0
  end
   
  alias galv_paramnames_draw_actor_mp draw_actor_mp
  def draw_actor_mp(actor, dx, dy, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_mp(actor, dx, dy, width)  
    $game_temp.class_check = 0
  end
   
  alias galv_paramnames_draw_actor_tp draw_actor_tp
  def draw_actor_tp(actor, dx, dy, width = 124)
    $game_temp.class_check = actor.class_id
    galv_paramnames_draw_actor_tp(actor, dx, dy, width)  
    $game_temp.class_check = 0
  end
  end
end

#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#
#  YANFLY STATUS MENU
#------------------------------------------------------------------------------#
#------------------------------------------------------------------------------#

class Window_StatusItem < Window_Base
   
  if Renamer::YANFLY_STATUS
  alias galv_paramnames_draw_actor_param draw_actor_param
  def draw_actor_param(param_id, dx, dy, dw)
    $game_temp.class_check = @actor.class_id
    galv_paramnames_draw_actor_param(param_id, dx, dy, dw)
    $game_temp.class_check = 0
  end
   
  #--------------------------------------------------------------------------
  # draw_parameter_graph
  #--------------------------------------------------------------------------
  alias galv_paramnames_draw_parameter_graph draw_parameter_graph
  def draw_parameter_graph
    $game_temp.class_check = @actor.class_id
    galv_paramnames_draw_parameter_graph
    $game_temp.class_check = 0
  end
  end
   
end

class Game_Temp
  attr_accessor :class_check
  def class_check
    @class_check
  end
end[/pre]



详解:
使用方式放入 脚本库 Main之上。

新增一个职业属性值称呼的话请参考该脚本42行。
很容易理解的,复制粘贴一下43行到55行脚本,再修改一下显示文字就可以了。

注意不要重复定义同一个职业的属性值称呼。

点评

不好意思,通过设定横版战斗模板 已经解决问题了  发表于 2014-9-9 22:51
刚发现战斗的时候159行: $game_temp.class_check = actor.class_id 报错,求帮助 我用了后知后觉的横版战斗模板V1.7: http://rm.66rpg.com/thread-216673-1-1.html  发表于 2014-9-9 22:15

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
 楼主| 发表于 2014-9-8 23:33:41 | 显示全部楼层
漫漫人生路 发表于 2014-9-6 21:56
当当当,不同职业属性值称呼不同脚本。
[fold=脚本]#--------------------------------------------------- ...

万分感谢!
回复

使用道具 举报

梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
 楼主| 发表于 2014-9-9 22:16:06 | 显示全部楼层
刚发现战斗的时候159行:    $game_temp.class_check = actor.class_id   报错,求帮助  我用了后知后觉的横版战斗模板V1.7: https://rpg.blue/thread-216673-1-1.html
回复

使用道具 举报

梦石
0
星屑
572
在线时间
242 小时
注册时间
2011-7-17
回帖
79
 楼主| 发表于 2014-9-9 22:52:09 | 显示全部楼层
qq1014850720 发表于 2014-9-9 22:16
刚发现战斗的时候159行:    $game_temp.class_check = actor.class_id   报错,求帮助  我用了后知后觉的 ...

通过设定横版战斗模板,已经成功解决问题
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部