Project1

标题: 用角色备注方法去掉战斗时的攻击指令 [打印本页]

作者: 汪洋洋    时间: 2016-5-3 19:19
标题: 用角色备注方法去掉战斗时的攻击指令
本帖最后由 丿梁丶小柒 于 2016-5-9 09:40 编辑

用角色备注方法去掉战斗时的攻击指令 比如备注角色一 角色攻击指令没  没备注的角色有
           有大神来帮忙吗?
作者: 李牧羊    时间: 2016-5-4 06:47
本帖最后由 李牧羊 于 2016-5-4 07:02 编辑

你好!

  在下有个思路,但无法完全解决这个问题
*.  在【Game_BattlerBase】与【Game_Battler】中,掌管着几乎所有【战斗场景】的功能
1. 在【Game_BattlerBase】中,第719行,是判定“普通攻击是否有效”的字段
2.  将此处改为
展开
即表示【当开关1打开时,普通攻击才可用】

[line]1[/line]
  在【Scene_Battle】中,第226行“@actor_command_window.set_handler(:attack, method(:command_attack))”字段是加载“攻击”指令的,如果注释掉,就可以【删除攻击指令】了
  但若要【分情况讨论】,在下就爱莫能助了;凭感觉来说的话,这应该是个【有偿帮助】范畴的功能。期望有大神能够解答,如果不幸没有,而阁下又确实不想放弃这个功能的话,就请在在下的思路上继续进行拓展吧!

以上

作者: 李牧羊    时间: 2016-5-4 08:16
在下明白阁下的意思。在下之所以写前一个方法,是因为不清楚阁下具体的实现效果,希望给出一些细节,使阁下再自行雕琢;划线下方写明了阁下所需功能可能的完全解决方式

阁下的功能至少需要3个模块来实现:
1.  将角色备注栏的备注,读取为脚本信息的【脚本】,这个应该相对来说,比较容易找到;保守估计约3日左右
2.  以↑上面的信息为基准,通过判定,来决定是否加载【攻击指令】(←下划线下即此步骤的一部分)
3.  刷新攻击指令菜单——如果原脚本缺乏这一功能的话



作者: 52129848    时间: 2016-5-4 21:19
李牧羊 发表于 2016-5-4 08:16
在下明白阁下的意思。在下之所以写前一个方法,是因为不清楚阁下具体的实现效果,希望给出一些细节,使阁下 ...

#------------------------------------------------------------------------------
#  战斗画面中,选择角色行动的窗口。
#==============================================================================

class Window_ActorCommand < Window_Command

  #--------------------------------------------------------------------------
  # ● 添加攻击指令
  #--------------------------------------------------------------------------
  def add_attack_command
    add_command(Vocab::attack, :attack ) if @actor.attack_usable?
  end
  #--------------------------------------------------------------------------
  # ● 添加技能指令
  #--------------------------------------------------------------------------
  def add_skill_commands
    @actor.added_skill_types.sort.each do |stype_id|
      name = $data_system.skill_types[stype_id]
      add_command(name, :skill, true, stype_id) if [email protected]_type_sealed?(stype_id)
    end
  end
  #--------------------------------------------------------------------------
  # ● 添加防御指令
  #--------------------------------------------------------------------------
  def add_guard_command
    add_command(Vocab::guard, :guard) if @actor.guard_usable?
  end

end
作者: 李牧羊    时间: 2016-5-4 21:28
本帖最后由 李牧羊 于 2016-5-4 21:29 编辑

抱歉!在下说错了!!

1.  【Scene_Battle】中,掌管的是【功能部分】;按照在下所言,仅能保证【攻击】可以选中、使用,并且无效

2.  【Window_ActorCommand】中,才是掌管【显示】的,就如楼上所言,注释掉那里才能【不显示攻击】

3.  感谢楼上的补正,谢谢!@52129848


以上

@汪洋洋   
作者: cinderelmini    时间: 2016-5-4 22:20
角色特性窗可以设定禁用技能,普通攻击也是技能,
设定好之后配合4L的代码食用,大概能行……
作者: 汪洋洋    时间: 2016-5-4 23:02
cinderelmini 发表于 2016-5-4 22:20
角色特性窗可以设定禁用技能,普通攻击也是技能,
设定好之后配合4L的代码食用,大概能行…… ...

谢谢楼上所有人




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1