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

Project1

 找回密码
 注册会员
搜索

F1 中脚本入门中实践篇 一处看读懂啊

查看数: 1480 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-12-5 22:36

正文摘要:

中脚本入门中实践篇 制作消耗物品的技能 判定是否可以支付 其中RUBY 代码复制xxx001_skill_cost_payable?(skill) &&    (!item || $game_party.has_item?(i ...

回复

喵呜喵5 发表于 2015-12-5 22:54:33
本帖最后由 喵呜喵5 于 2015-12-5 23:01 编辑

(!item || $game_party.has_item?(item)):判断技能消耗的物品是否存在,如果存在,返回真(允许使用技能),否则返回假(不允许使用技能)
若item为nil,说明该技能不需要消耗物品,不管身上的物品时怎么样的都必定允许使用技能,故直接返回真

上面那段代码无法理解的话,看这段:
RUBY 代码复制
  1. class Game_Actor
  2.   alias xxx001_skill_cost_payable? skill_cost_payable?
  3.   def skill_cost_payable?(skill)   
  4.     judge_mp_tp = xxx001_skill_cost_payable?(skill) # 判断MP、TP是否足够
  5.     return false unless judge_mp_tp # MP、TP不够时,技能无法使用      
  6.     # MP、TP充足时      
  7.     item = $data_items[skill.item_cost] # 获取技能消耗的物品
  8.     return true unless item # 当物品不存在时,该技能不需要消耗物品,可以使用
  9.     judge_item = $game_party.has_item?(item) # 判断角色身上是否有技能消耗品
  10.     if judge_item # 当角色身上有对应消耗品时
  11.       return true # 技能可以使用
  12.     else # 当角色身上没有对应消耗品时
  13.       return false # 技能无法使用      
  14.     end
  15.   end
  16. end

点评

谢谢 喵大将脚本 翻译成if的形式 (我从发帖是就预感到将是喵大来解决)您写的我似乎是看懂了 但肯定没吃透 我在想想 再练练 喵大睡吧  发表于 2015-12-5 23:17
若不存在,说明技能不需要消耗物品,那技能肯定可以用了,可以用的话就返回真啊  发表于 2015-12-5 23:06
看我刚刚附上的那段代码  发表于 2015-12-5 23:03
喵大我蠢没懂,先说不存在的,若不存在 item 为假, !item是取反,!item返回的就是真了,那整个式子就返回真了,  发表于 2015-12-5 23:01

评分

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

查看全部评分

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

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

GMT+8, 2024-11-17 03:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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