设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1983|回复: 3
打印 上一主题 下一主题

[已经解决] (RMVX)请问如何设置一个技能可以选择对敌或对我使用

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
353 小时
注册时间
2010-12-27
帖子
68
跳转到指定楼层
1
发表于 2011-8-28 14:17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如同最终幻想里面的设定一样,回复技能对我使用是补血,对不死系敌人使用是去血。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
115 小时
注册时间
2011-8-25
帖子
36
2
发表于 2011-8-28 18:05:56 | 只看该作者
威力100,恢复200,

这个还要使用者和敌人,那我不知道了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
153 小时
注册时间
2008-5-25
帖子
585
3
发表于 2011-8-28 19:24:18 | 只看该作者
本帖最后由 zphyp120 于 2011-8-28 19:26 编辑

这就类似死亡缠绕嘛。。。
建议你弄两个技能,在同一个等级学会
比如:治疗·死亡缠绕(治疗效果,对己方使用)
灭敌·死亡缠绕(伤害效果,对敌方方使用)



如果觉得我的答案对您有帮助的话,请按下面的“认可答案”按钮!
[color=DimGray]TransFormer4[/color]
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

4
发表于 2011-8-28 21:02:42 | 只看该作者
上脚本啦:
  1. #=begin
  2. #==============================================================================
  3. # ■ Change_Scope
  4. #------------------------------------------------------------------------------
  5. #   设置内容。
  6. #==============================================================================
  7. module Change_Scope
  8.   
  9.   BOTTON = Input::X
  10.   # 把X换成你喜欢的键。
  11.   # 详细请看帮助里的 RPG Maker VX -》 游戏操控 -》 基本操控 里的按键
  12. end

  13. #==============================================================================
  14. # ■ RPG::Skill
  15. #------------------------------------------------------------------------------
  16. #   技能类(新定义)
  17. #==============================================================================
  18. module RPG
  19.   class Skill < UsableItem
  20.     alias cs_initialize initialize
  21.     def initialize
  22.       cs_initialize
  23.       @last_scope = 0
  24.     end
  25.   #--------------------------------------------------------------------------
  26.   # ● 更改 目标
  27.   #--------------------------------------------------------------------------
  28.     def change_scope
  29.       if self.scope != self.last_scope
  30.         self.scope = self.last_scope
  31.       else
  32.         if self.for_opponent?
  33.           if self.for_all?
  34.             self.scope = 8
  35.           else
  36.             self.scope = 7
  37.           end
  38.         elsif self.for_friend? and not self.for_dead_friend?
  39.           if self.for_all?
  40.             self.scope = 2
  41.           else
  42.             self.scope = 1
  43.           end
  44.         end
  45.       end
  46.     end
  47.   #--------------------------------------------------------------------------
  48.   # ● 获取原目标
  49.   #--------------------------------------------------------------------------
  50.     def get_last_scope
  51.       @last_scope = @scope
  52.     end
  53.   attr_accessor :last_scope
  54.   end
  55. end
  56. #==============================================================================
  57. # ■ Scene_Battle
  58. #------------------------------------------------------------------------------
  59. #  处理战斗画面的类。
  60. #==============================================================================

  61. class Scene_Battle < Scene_Base
  62.   #--------------------------------------------------------------------------
  63.   # □ 更新同伴目标选择(再定义)
  64.   #--------------------------------------------------------------------------
  65.   def update_target_actor_selection
  66.     @target_actor_window.update
  67.     if Input.trigger?(Input::B)
  68.       Sound.play_cancel
  69.       end_target_actor_selection
  70.     elsif Input.trigger?(Input::C)
  71.       Sound.play_decision
  72.       @active_battler.action.target_index = @target_actor_window.index
  73.       end_target_actor_selection
  74.       end_skill_selection
  75.       end_item_selection
  76.       next_actor
  77.     elsif Input.trigger?(Change_Scope::BOTTON)
  78.       if @skill.for_dead_friend? or @skill.scope == 0
  79.         Sound.play_buzzer
  80.         return
  81.       else
  82.         @skill.change_scope
  83.         determine_skill(2)
  84.       end
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # □ 更新敌人目标选择(再定义)
  89.   #--------------------------------------------------------------------------
  90.   def update_target_enemy_selection
  91.     @target_enemy_window.update
  92.     if Input.trigger?(Input::B)
  93.       Sound.play_cancel
  94.       end_target_enemy_selection
  95.     elsif Input.trigger?(Input::C)
  96.       Sound.play_decision
  97.       @active_battler.action.target_index = @target_enemy_window.enemy.index
  98.       end_target_enemy_selection
  99.       end_skill_selection
  100.       end_item_selection
  101.       next_actor
  102.     elsif Input.trigger?(Change_Scope::BOTTON)
  103.       if @skill.scope == 0
  104.         Sound.play_buzzer
  105.         return
  106.       else
  107.         @skill.change_scope
  108.         determine_skill(1)
  109.       end
  110.     end
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # □ 确认技能(再定义)
  114.   #--------------------------------------------------------------------------
  115.   def determine_skill(before = 0)
  116.     @active_battler.action.set_skill(@skill.id)
  117.     if before == 0
  118.       @skill_window.active = false
  119.     end
  120.     if before != 0
  121.       $game_message.visible = false
  122.       @info_viewport.visible = true
  123.       if @skill.for_opponent?
  124.         start_target_enemy_selection(true)
  125.       else
  126.         start_target_actor_selection(true)
  127.       end
  128.     else
  129.       if @skill.need_selection?
  130.         if @skill.for_opponent?
  131.           start_target_enemy_selection
  132.         else
  133.           start_target_actor_selection
  134.         end
  135.       else
  136.         end_skill_selection
  137.         next_actor
  138.       end
  139.     end
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # □ 更新技能选择(再定义)
  143.   #--------------------------------------------------------------------------
  144.   def update_skill_selection
  145.     @skill_window.active = true
  146.     @skill_window.update
  147.     @help_window.update
  148.     if Input.trigger?(Input::B)
  149.       Sound.play_cancel
  150.       end_skill_selection
  151.     elsif Input.trigger?(Input::C)
  152.       @skill = @skill_window.skill
  153.       @skill.get_last_scope
  154.       if @skill != nil
  155.         @active_battler.last_skill_id = @skill.id
  156.       end
  157.       if @active_battler.skill_can_use?(@skill)
  158.         Sound.play_decision
  159.         determine_skill
  160.       else
  161.         Sound.play_buzzer
  162.       end
  163.     end
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 开始敌人目标选择
  167.   #--------------------------------------------------------------------------
  168.   def start_target_enemy_selection(before = false)
  169.     @target_enemy_window = Window_TargetEnemy.new
  170.     if before
  171.     @info_viewport.rect.x -= @target_actor_window.width
  172.     @info_viewport.ox -= @target_actor_window.width
  173.     @target_actor_window.active = false
  174.     @target_actor_window.visible = false
  175.     @target_actor_window = nil
  176.     end
  177.     @target_enemy_window.y = @info_viewport.rect.y
  178.     @info_viewport.rect.x += @target_enemy_window.width
  179.     @info_viewport.ox += @target_enemy_window.width
  180.     @actor_command_window.active = false
  181.   end
  182.   #--------------------------------------------------------------------------
  183.   # ● 开始同伴目标选择
  184.   #--------------------------------------------------------------------------
  185.   def start_target_actor_selection(before = false)
  186.     @target_actor_window = Window_BattleStatus.new
  187.     if before
  188.     @info_viewport.rect.x -= @target_enemy_window.width
  189.     @info_viewport.ox -= @target_enemy_window.width
  190.     @target_enemy_window.active = false
  191.     @target_enemy_window.visible = false
  192.     @target_enemy_window = nil
  193.     end
  194.     @target_actor_window.index = 0
  195.     @target_actor_window.active = true
  196.     @target_actor_window.y = @info_viewport.rect.y
  197.     @info_viewport.rect.x += @target_actor_window.width
  198.     @info_viewport.ox += @target_actor_window.width
  199.     @actor_command_window.active = false
  200.   end
  201. end
  202. #=end
复制代码
在战斗中按你设置的键(默认为X(键盘上的A))
技能只要不是全体或者复活类的话就可以变更目标类型。
之后只要在加血技能上加个单独的属性,把怕这个技能的怪对加血技能附带的属性的抵抗性改成F就行。
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-10 03:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表