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

Project1

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

[已经过期] 萌新求解

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1346
在线时间
806 小时
注册时间
2013-8-3
帖子
455
跳转到指定楼层
1
发表于 2019-6-7 10:39:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
限制物品使用次数
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 技能/物品的应用测试and
  3.   #    如果使用目标的 HP 或者 MP 全满时,禁止使用恢复道具。
  4.   #--------------------------------------------------------------------------
  5.   def item_test(user, item)
  6.     if item.is_a?(RPG::Item) and [13,14,15,16,17,18,19,20].include?(item.id) and item.is_a?(RPG::Item)
  7.     $使用次数 = [] if $使用次数 == nil
  8.     $使用次数[self.id] = 0 if $使用次数[self.id] == nil
  9.     return false if $使用次数[self.id] >99
  10.   end

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 应用技能/物品的效果
  3.   #--------------------------------------------------------------------------
  4.   def item_apply(user, item)
  5.     $使用次数[self.id] += 1  if self.actor?  and  $使用次数[self.id] <= 100
  6.     @result.clear
  7.     @result.used = item_test(user, item)
  8.     @result.missed = (@result.used && rand >= item_hit(user, item))
  9.     @result.evaded = (!@result.missed && rand < item_eva(user, item))
  10.     if @result.hit?
  11.       unless item.damage.none?
  12.         @result.critical = (rand < item_cri(user, item))
  13.         make_damage_value(user, item)
  14.         execute_damage(user)
  15.       end
  16.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  17.       item_user_effect(user, item)
  18.     end
  19.   end


这项会报错  $使用次数[self.id] += 1   if self.actor? and $使用次数[self.id] <= 100

【同人游戏】勇者斗恶龙TG
欢迎加入游戏测试群333599798
如有需私聊请加QQ:516425000

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2019-6-7 10:53:04 | 只看该作者
self.id 是什么鬼
记录的到底是啥??物品的应用目标的使用次数??

推荐使用 hash类型
  1. $使用次数 = {}
复制代码


然后key用item来表示,value为被使用的次数
报错是因为那个test不一定会在之前运行,所以加上空值判定
  1. $使用次数[item] ||= 0
  2. $使用次数[item] += 1  if self.actor?  and  $使用次数[item] <= 100
复制代码

点评

还是搞不懂,可不可以帮我改改  发表于 2019-6-14 22:27
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 18:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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