查看: 3368|回复: 9

[已经解决] 这个脚本,能否让技能使用次数通用?

[复制链接]
梦石
0
星屑
640
在线时间
888 小时
注册时间
2007-4-3
回帖
53
发表于 2020-4-21 11:42:10 | 显示全部楼层 |阅读模式
悬赏199星屑已解决
本帖最后由 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

谢谢

最佳答案

查看完整内容

再添加下述代码(在更改装备/强制更改装备时做和上面代码一样的操作)即可处理装备附带技能的情况
梦石
0
星屑
9862
在线时间
580 小时
注册时间
2017-9-28
回帖
203
发表于 2020-4-21 11:42:11 | 显示全部楼层
再添加下述代码(在更改装备/强制更改装备时做和上面代码一样的操作)即可处理装备附带技能的情况
  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
复制代码

点评

谢谢答主  发表于 2020-4-21 20:00

评分

参与人数 1赞 +1 收起 理由
xyzgwx + 1 塞糖

查看全部评分

喵喵喵
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
5706
在线时间
922 小时
注册时间
2013-8-29
回帖
1401
发表于 2020-4-21 12:01:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
640
在线时间
888 小时
注册时间
2007-4-3
回帖
53
 楼主| 发表于 2020-4-21 13:04:13 | 显示全部楼层
本帖最后由 xyzgwx 于 2020-4-21 13:05 编辑
chanszeman1018 发表于 2020-4-21 12:01
你那4号特技是特例吗?
抑或是全部技能都通用使用次数?


想让全部技能,同ID的使用次数通用
回复

使用道具 举报

梦石
0
星屑
9862
在线时间
580 小时
注册时间
2017-9-28
回帖
203
发表于 2020-4-21 17:53:41 | 显示全部楼层
学习/遗忘技能的时候把剩余次数存到全局变量就行了
  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
复制代码
喵喵喵
回复

使用道具 举报

梦石
0
星屑
640
在线时间
888 小时
注册时间
2007-4-3
回帖
53
 楼主| 发表于 2020-4-21 18:13:16 | 显示全部楼层
hyrious 发表于 2020-4-21 17:53
学习/遗忘技能的时候把剩余次数存到全局变量就行了

抱歉,是我没说清楚

是通过装备添加技能学会,卸载装备遗忘

点评

看了看数据库,不用脚本,技能效果设置「其他」里就有学会技能(不过没有卸载时遗忘)  发表于 2020-4-21 18:50
那你还需要一个「装备附带技能」脚本?  发表于 2020-4-21 18:48
回复

使用道具 举报

梦石
0
星屑
640
在线时间
888 小时
注册时间
2007-4-3
回帖
53
 楼主| 发表于 2020-4-21 19:00:51 | 显示全部楼层
hyrious 发表于 2020-4-21 17:53
学习/遗忘技能的时候把剩余次数存到全局变量就行了

抱歉,是我没说清楚

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


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

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部