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

Project1

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

[已经解决] 普通攻击计数的问题

[复制链接]

Lv5.捕梦者

梦石
0
星屑
32114
在线时间
5083 小时
注册时间
2012-11-19
帖子
4877

开拓者

1
发表于 2019-5-1 09:26:23 | 显示全部楼层
这样?
  1. #==============================================================================
  2. class Game_Temp
  3.   #--------------------------------------------------------------------------
  4.   def in_battle=(state)
  5.     last_state = @in_battle
  6.     @in_battle = state
  7.     last_state != @in_battle && clear_actors_now_atk_times
  8.   end
  9.   #--------------------------------------------------------------------------
  10.   # 清除角色当前战斗的普攻计数。
  11.   def clear_actors_now_atk_times
  12.     $game_party.actors.each{ |actor| actor.clear_now_normal_atk_times }
  13.   end
  14. end
  15. #==============================================================================
  16. class Game_Battler
  17.   #--------------------------------------------------------------------------
  18.   def normal_atk_data
  19.     return @normal_atk_data || {:now=>0,:total=>0}
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # 获取战斗对象的普攻计数。
  23.   # type :类型。包括当前战斗中普攻次数与所有战斗普攻次数总数。参数类型=>字符串。
  24.   #       当前战斗中普攻次数:   "now"
  25.   #       所有战斗普攻次数总数: "total"
  26.   # 获取: 某角色(actor)当前战斗中普攻次数 => actor.normal_atk_times("now")
  27.   #       某角色(actor)所有战斗普攻次数总数 => actor.normal_atk_times("total")
  28.   #       敌人同上。
  29.   #--------------------------------------------------------------------------
  30.   def normal_atk_times(type)
  31.     return normal_atk_data[type.to_sym] || 0
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   def normal_atk_on_count
  35.     @normal_atk_data ||= {:now=>0,:total=>0}
  36.     @normal_atk_data.keys.each{ |key| @normal_atk_data[key] += 1 }
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   def clear_now_normal_atk_times
  40.     @normal_atk_data[:now] = 0 if @normal_atk_data
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   alias normal_atk_attack_effect attack_effect
  44.   def attack_effect(attacker)
  45.     attacker.normal_atk_on_count
  46.     return normal_atk_attack_effect(attacker)
  47.   end
  48. end
  49. #==============================================================================
复制代码

点评

感谢大佬的帮助...但是其实我的处理比较简单不用这么长的代码==但是还是很谢谢大佬的用心QWQ  发表于 2019-5-1 10:45

评分

参与人数 1星屑 +70 收起 理由
RyanBern + 70 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 16:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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