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

Project1

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

[原创发布] 技能升级插件

[复制链接]

Lv1.梦旅人

梦石
0
星屑
78
在线时间
16 小时
注册时间
2025-3-5
帖子
3
跳转到指定楼层
1
发表于 昨天 20:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

这是一个通过调教ai写的插件,可以让技能有等级提升效果,每升一级,伤害提升一些,提升的量可以自己设定,也可以常驻为修炼技能,因为技能也可以每升一级提升一些基础属性,同样提升量可以自己设定,因为是调教ai写的所有多多少少有些毛病,但完全不影响使用,希望可以帮到各位,当然,希望有大佬完善一下,(很抱歉收一个星屑,因为我看上了一个插件星屑不够买不起)

73e39b0b1011d3c6a79ded323ac31d8e.jpg (1.83 MB, 下载次数: 0)

这是效果,层数代表等级,0/10是当前经验/升级需要的经验

这是效果,层数代表等级,0/10是当前经验/升级需要的经验

SkillUpgradePlugin.zip

3.59 KB, 下载次数: 6

售价: 1 星屑  [记录]

Lv3.寻梦者

梦石
0
星屑
1382
在线时间
170 小时
注册时间
2022-9-17
帖子
111
2
发表于 13 小时前 | 只看该作者
这段代码写得太妙了。我一开始的思路是拷贝dataskill,然后导致data数据越来越庞大。
这个JS新建了一个精简的$gameParty.skillUpgradeData(),方便调用、方便修改,又学到新知识了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1382
在线时间
170 小时
注册时间
2022-9-17
帖子
111
3
发表于 13 小时前 | 只看该作者
古树旋律 发表于 2025-6-30 07:25
这段代码写得太妙了。我一开始的思路是拷贝dataskill,然后导致data数据越来越庞大。
这个JS新建了一个精简 ...

MZ也测试了,可以使用
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
26
在线时间
0 小时
注册时间
2025-6-29
帖子
15
4
发表于 10 小时前 | 只看该作者
好好好,多谢楼主分享,我最近正在收集这些非常RPG的插件
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1382
在线时间
170 小时
注册时间
2022-9-17
帖子
111
5
发表于 7 分钟前 | 只看该作者
发现了一个严重BUG,升级后的技能只是显示数值提高了,但是实际伤害没有改变。使用这段代码替换来修复:
JAVASCRIPT 代码复制
  1. // 修改伤害应用部分
  2. Yours.skillUpgrade.alias.Game_Action_apply = Game_Action.prototype.apply;
  3. Game_Action.prototype.apply = function(target) {
  4.     if (this.subject() instanceof Game_Actor && this.isSkill()) {
  5.         const skillId = this.item().id;
  6.         if (this.subject().getSkillConfig(skillId)) {
  7.             // 先获取伤害系数
  8.             const damageCoefficient = this.subject().getSkillDamageCoefficient(skillId);
  9.  
  10.             // 检查是否为伤害性技能
  11.             if (this.item().damage.type > 0) {
  12.                 // 临时修改技能的基础伤害公式,加入伤害系数
  13.                 const originalFormula = this.item().damage.formula;
  14.                 if (damageCoefficient !== 1) {
  15.                     // 在公式中乘以系数
  16.                     this.item().damage.formula = `(${originalFormula}) * ${damageCoefficient}`;
  17.                 }
  18.  
  19.                 // 应用伤害
  20.                 Yours.skillUpgrade.alias.Game_Action_apply.call(this, target);
  21.  
  22.                 // 恢复原始公式
  23.                 this.item().damage.formula = originalFormula;
  24.  
  25.                 // 增加经验
  26.                 this.subject().gainSkillExp(skillId);
  27.                 return;
  28.             }
  29.         }
  30.     }
  31.  
  32.     // 非技能或不需要修改的情况
  33.     Yours.skillUpgrade.alias.Game_Action_apply.call(this, target);
  34. };
  35.  
  36. // 移除之前在apply中修改伤害结果的代码,因为现在已经在公式中处理了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-6-30 20:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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