Project1
标题:
技能次数统计
[打印本页]
作者:
blueeyescyj
时间:
2014-6-4 00:30
标题:
技能次数统计
本帖最后由 blueeyescyj 于 2014-6-5 04:41 编辑
如何
分别统计
不同角色
对
同一技能
的使用次数。
好像很简单又好像很复杂的样子。
作者:
皮卡星
时间:
2014-6-4 04:13
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
# 技能使用次数脚本 by - 皮卡星
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :skill_used
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
alias star_initialize initialize
def initialize
star_initialize
@skill_used = []
for i in 0..$data_actors.size-2 do @skill_used.push([]) end
for i in 0...@skill_used.size
for t in 0...$data_skills.size
@skill_used[i].push(0)
end
end
end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 技能“确定”
#--------------------------------------------------------------------------
alias star_on_skill_ok on_skill_ok
def on_skill_ok
@ac = BattleManager.actor
star_on_skill_ok
end
#--------------------------------------------------------------------------
# ● 技能“确定”
#--------------------------------------------------------------------------
alias star_use_item use_item
def use_item
star_use_item
item = @subject.current_action.item
if @subject.actor? and item.is_a?(RPG::Skill)
$game_system.skill_used[@ac.id-1][item.id-1] += 1
end
end
end
复制代码
唉……写了半小时的东西,因为我不擅长VA嘛,
或许写的有点乱了,LZ别介意
在每次使用技能之后都会计算使用次数+1
取得方式:
$game_system.skill_used[角色ID][技能ID]
注意角色ID要从0开始算,也就是说我要拿8号角色的你要填7
技能ID也是从0开始算,普通攻击防御什么的也会算的放心
比如说第4个角色使用5次8号技能,
就要这样调用
$game_system.skill_used[3][7],然后结果会是5
我觉得已经说的很清楚了,好像也没什么BUG了
希望LZ喜欢
作者:
taroxd
时间:
2014-6-4 07:39
本帖最后由 Sion 于 2014-6-5 08:58 编辑
未测试
[mw_shl_code=ruby,true]
# 调用方式: $game_actors[角色ID].skill_times(技能ID)
class Game_Battler
alias init_20140604 initialize
def initialize
init_20140604
@item_times = Hash.new(0)
@item_times.compare_by_identity
end
alias use_20140604 use_item
def use_item(item)
use_20140604(item)
@item_times[item] += 1
end
def item_times(item_id)
@item_times[$data_items[item_id]]
end
def skill_times(skill_id)
@item_times[$data_skills[skill_id]]
end
end
[/mw_shl_code]
@Sion
结贴
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1