Project1

标题: 这个脚本,能否让技能使用次数通用? [打印本页]

作者: xyzgwx    时间: 2020-4-21 11:42
标题: 这个脚本,能否让技能使用次数通用?
本帖最后由 xyzgwx 于 2020-4-21 18:59 编辑

这个脚本

http://artificialprovidence.web.fc2.com/rgss3/r3enhance/RGSS3SKILL_NUMBER.txt

可以给特技使用次数,但每个角色的每个特技,使用次数都是独立的

能否让全部技能,同ID的使用次数通用?

例如角色A装备添加技能学会4号特技,使用次数10/10,使用1次,特技使用次数变成9/10,然后角色A卸载装备自动遗忘4号特技,然后角色B装备添加技能学会4号特技,角色B的4号特技,使用次数仍是9/10

谢谢


作者: hyrious    时间: 2020-4-21 11:42
再添加下述代码(在更改装备/强制更改装备时做和上面代码一样的操作)即可处理装备附带技能的情况
  1. class Game_Actor
  2.   alias change_equip_skill_not change_equip
  3.   def change_equip(slot_id, item)
  4.     last_skills = skills
  5.     change_equip_skill_not(slot_id, item)
  6.     (skills - last_skills).each do |skill|
  7.       skill_not[skill.id] = SharedSkill[skill.id] if SharedSkill[skill.id]
  8.     end
  9.     (last_skills - skills).each do |skill|
  10.       SharedSkill[skill.id] = skill_not[skill.id] if skill_not[skill.id] >= 0
  11.     end
  12.   end

  13.   alias force_change_equip_skill_not force_change_equip
  14.   def force_change_equip(slot_id, item)
  15.     last_skills = skills
  16.     force_change_equip_skill_not(slot_id, item)
  17.     (skills - last_skills).each do |skill|
  18.       skill_not[skill.id] = SharedSkill[skill.id] if SharedSkill[skill.id]
  19.     end
  20.     (last_skills - skills).each do |skill|
  21.       SharedSkill[skill.id] = skill_not[skill.id] if skill_not[skill.id] >= 0
  22.     end
  23.   end
  24. end
复制代码

作者: chanszeman1018    时间: 2020-4-21 12:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: xyzgwx    时间: 2020-4-21 13:04
本帖最后由 xyzgwx 于 2020-4-21 13:05 编辑
chanszeman1018 发表于 2020-4-21 12:01
你那4号特技是特例吗?
抑或是全部技能都通用使用次数?


想让全部技能,同ID的使用次数通用
作者: hyrious    时间: 2020-4-21 17:53
学习/遗忘技能的时候把剩余次数存到全局变量就行了
  1. # coding: utf-8
  2. # 将本脚本置于「スキル使用回数制 Ver2.06 by 星潟」之后使用
  3. module SharedSkill
  4.   singleton_class.class_eval { attr_accessor :skill_not }

  5.   self.skill_not = {}

  6.   def self.[](skill_id)
  7.     skill_not[skill_id]
  8.   end

  9.   def self.[]=(skill_id, turns)
  10.     skill_not[skill_id] = turns
  11.   end
  12. end

  13. class Game_Actor
  14.   alias learn_skill_skill_not learn_skill
  15.   def learn_skill(skill_id)
  16.     learn_skill_skill_not(skill_id)
  17.     skill_not[skill_id] = SharedSkill[skill_id] if SharedSkill[skill_id]
  18.   end

  19.   alias forget_skill_skill_not forget_skill
  20.   def forget_skill(skill_id)
  21.     forget_skill_skill_not(skill_id)
  22.     SharedSkill[skill_id] = skill_not[skill_id] if skill_not[skill_id] >= 0
  23.   end
  24. end
复制代码

作者: xyzgwx    时间: 2020-4-21 18:13
hyrious 发表于 2020-4-21 17:53
学习/遗忘技能的时候把剩余次数存到全局变量就行了

抱歉,是我没说清楚

是通过装备添加技能学会,卸载装备遗忘
作者: xyzgwx    时间: 2020-4-21 19:00
hyrious 发表于 2020-4-21 17:53
学习/遗忘技能的时候把剩余次数存到全局变量就行了

抱歉,是我没说清楚

卸载装备时,自动就遗忘特技了,这是软件自带的功能,可是同ID特技使用次数仍不通用


但使用[遗忘特技]事件时,可以通用同ID特技使用次数





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1