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

Project1

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

[已经解决] 怎么让不带武器时无法使用物理技能?请高手们帮帮忙!

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
16 小时
注册时间
2011-8-16
帖子
63
跳转到指定楼层
1
发表于 2011-8-20 01:11:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

2
发表于 2011-8-20 04:24:13 | 只看该作者
  1. class Game_Actor < Game_Battler
  2.   #没有武器时不能使用的技能 ID。如果等号右边整个换成 nil 不留中括号,则所有技能都需要武器。
  3.   skills_cannot_use_without_weapon = [1, 2, 3, 4, 5]
  4.   
  5.   def skill_can_use?(skill_id)
  6.     if not skill_learn?(skill_id)
  7.       return false
  8.     end
  9.     if weapon_id == 0
  10.       if (skills_cannot_use_without_weapon.nil?)
  11.         return false
  12.       else
  13.         return false if skills_cannot_use_without_weapon.include?(skill_id)
  14.       end
  15.     end
  16.     return super
  17.   end
  18. end
复制代码
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
365
在线时间
142 小时
注册时间
2008-11-20
帖子
231
3
发表于 2011-8-20 09:36:01 | 只看该作者
没试过,不过首先LZ自己要先定义那些是物理技能,那些是魔法技能,
然后在脚本里分歧就好了.
感觉没有必要这么做,LZ自行斟酌吧!
  
【RPGXP视频教学】脚本不是高手的专利 (正在更新...)
http://rpg.blue/thread-238457-1-1.html



回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2011-7-2
帖子
79
4
发表于 2011-8-20 10:47:22 | 只看该作者
可以在 Game_Battle3 的 开头部分更改 def skill_can_use?(skill_id) 的内容
增加一个使用的是否是物理技能与角色是否装备了武器的判断
再决定满足这个条件时是不能使用技能或是可以使用,就行了
如下:

#==============================================================================
# ■ Game_Battler (分割定义 3)
#------------------------------------------------------------------------------
#  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
# 超级类来使用。
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ● 可以使用特技的判定
  #     skill_id : 特技 ID
  #--------------------------------------------------------------------------
  def skill_can_use?(skill_id)
    # SP 不足的情况下不能使用
    if $data_skills[skill_id].sp_cost > self.sp
      return false
    end
    # 战斗不能的情况下不能使用
    if dead?
      return false
    end
    #**********************************************
    #如果技能的攻击力(与技能威力是两回事,是关于角色物理攻击力对该技能伤害的影响
  # 有多大,一般用来判断是否为物理技能) > 0  且 角色没有装备武器
   #返回值 = 不能使用
    if $data_skills[skill_id].atk_f > 0 and $data_weapons[self.weapon_id] == nil
      return false #不能使用 *如果是可以使用的话,你可以删掉这句
    end
     #**********************************************
    # 沉默状态的情况下、物理特技以外的特技不能使用
    if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
      return false
    end
    # 获取可以使用的时机
    occasion = $data_skills[skill_id].occasion
    # 战斗中的情况下
    if $game_temp.in_battle
      # [平时] 或者是 [战斗中] 可以使用
      return (occasion == 0 or occasion == 1)
    # 不是战斗中的情况下
    else
      # [平时] 或者是 [菜单中] 可以使用
      return (occasion == 0 or occasion == 2)
    end
  end
end
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 16:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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