Project1

标题: 能不能让某号职业把普通攻击默认某号技能,求教 [打印本页]

作者: 布鲁斯    时间: 2015-11-24 18:51
标题: 能不能让某号职业把普通攻击默认某号技能,求教
如题,比如有4个人,其中只有1个伙伴他的普通攻击指令就是直接释放某号技能,有没有什么办法可以做到。

作者: howhow1314    时间: 2015-11-24 23:20
RUBY 代码复制
  1. class RPG::Class
  2.   def attack_skill_id
  3.     /<呵呵\s*(\d+)>/ =~ note ? $1.to_i : 1
  4.   end
  5. end
  6.  
  7. class Game_Actor
  8.   def attack_skill_id
  9.     self.class.attack_skill_id
  10.   end
  11. end


職業備注寫上<呵呵 技能id>就可以,比如<呵呵 5>,沒寫的話都是默認的1號
作者: 阿薩男爵    时间: 2015-11-25 05:53
howhow1314 发表于 2015-11-24 23:20
class RPG::Class
  def attack_skill_id
    // =~ note ? $1.to_i : 1

经测试可用带为感谢一下,但同时我也有一问,如何将它修改为某个武器的默认攻击为某号技能呢?
如火枪的普通攻击为“射击”
作者: taroxd    时间: 2015-11-25 06:17
http://taroxd.github.io/rgss/
阅读说明之后查找「普通」
作者: howhow1314    时间: 2015-11-25 14:38
本帖最后由 howhow1314 于 2015-11-25 14:57 编辑
阿薩男爵 发表于 2015-11-25 05:53
经测试可用带为感谢一下,但同时我也有一问,如何将它修改为某个武器的默认攻击为某号技能呢?
如火枪的 ...


RUBY 代码复制
  1. class RPG::Class
  2.   def attack_skill_id
  3.     /<呵呵\s*(\d+)>/ =~ note ? $1.to_i : 1
  4.   end
  5. end
  6.  
  7. class RPG::Weapon
  8.   def attack_skill_id
  9.     /<呵呵\s*(\d+)>/ =~ note ? $1.to_i : nil
  10.   end
  11. end
  12.  
  13. class Game_Actor
  14.   def attack_skill_id
  15.     weapons[0] ? weapons[0].attack_skill_id || self.class.attack_skill_id : self.class.attack_skill_id
  16.   end
  17. end


武器呵呵>角色呵呵

[line]1[/line]

用武器類型而不是武器的話..

RUBY 代码复制
  1. class RPG::Weapon
  2.   def attack_skill_id
  3.     case $data_system.weapon_types[wtype_id]
  4.     when "斧"
  5.       8
  6.     when "槍"
  7.       26
  8.     else
  9.       nil
  10.     end
  11.   end
  12. end


[line]1[/line]

順便不加以下這段的話,會有一些問題,比如攻擊技能是治癒術什麼的,你也只能選敵人為目標,不過結果還是放在隊友身上(貌似是隨機一名隊友..忘了)
加了的話可以正確的選隊友為目標

RUBY 代码复制
  1. class Scene_Battle
  2.   def command_attack
  3.     skill = $data_skills[BattleManager.actor.attack_skill_id]
  4.     BattleManager.actor.input.set_attack
  5.     if !skill.need_selection?
  6.       next_command
  7.     elsif skill.for_opponent?
  8.       select_enemy_selection
  9.     else
  10.       select_actor_selection
  11.     end
  12.   end
  13. end


另外就是全體攻擊或者隨機目標之類的也像使用技能一樣不用選目標了,不過我總覺得攻擊不選目標怪怪的...
所以又寫了以下這種..

RUBY 代码复制
  1. class Scene_Battle
  2.   def command_attack
  3.     skill = $data_skills[BattleManager.actor.attack_skill_id]
  4.     BattleManager.actor.input.set_attack
  5.     if skill.for_opponent?
  6.       select_enemy_selection
  7.     else
  8.       select_actor_selection
  9.     end
  10.   end
  11. end

作者: 布鲁斯    时间: 2015-11-28 05:35
howhow1314 发表于 2015-11-24 23:20
class RPG::Class
  def attack_skill_id
    // =~ note ? $1.to_i : 1

用不了呢。。。比如技能叫“直拳”  是第5号技能
在职业备注里写上 呵呵 5 还是 呵呵 直拳
作者: howhow1314    时间: 2015-11-28 12:55
布鲁斯 发表于 2015-11-28 05:35
用不了呢。。。比如技能叫“直拳”  是第5号技能
在职业备注里写上 呵呵 5 还是 呵呵 直拳 ...
  1. <呵呵 5>
复制代码





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