Project1

标题: [15.02.11]技能加点|被动技能|状态等级|属性强化|暴击伤害 [打印本页]

作者: 希忆    时间: 2014-11-22 18:16
标题: [15.02.11]技能加点|被动技能|状态等级|属性强化|暴击伤害
本帖最后由 希忆 于 2015-2-11 16:39 编辑

如题技能加点|被动技能|状态等级|属性强化|暴击伤害。我感觉我要超神了。
大坑注意



由于牵扯到make_damage_value,冲突可能,注意适配(话说一直有改那方法吧)



15.02.11 test.rar (1.52 MB, 下载次数: 1911)
更新内容:修正bug:注释属性修正对敌人无效的bug,附件更新,感谢 @黑曜秘法 的汇报
~顺便大家这两天祝小年快乐,预祝春节快乐~
小修:添加一小段。
  1. #属性伤害修正。
  2.   def element_rate(element_id)
  3.     super(element_id) * state_element_rate(element_id)
  4.   end
复制代码
添加位置:


其余历史更新和bug修正




请叫我
备注狂魔
公式狂魔
正则狂魔

各种狂魔



主要功能:
技能升级加点(应该算是仿dnf)这个是初衷,后来逐渐扩展
被动技能效果:包括增加固定普通能力,比率增加普通能力,增加添加能力,增加特殊能力,属性抗性和属性强化,暴击伤害。技能升级属性加(或减)得更多。
状态等级:状态也能有等级,还影响着它加属性的多少。
属性强化和暴击伤害也可在 角色|职业|装备 备注中按照要求添加。

听起来是不是好像很厉害的样子,但是做完了我才发现这是个大坑啊。
设定起来要花太多太多时间,适合节奏较慢的制作者一点一点慢慢悠悠地吧所有技能填完坑,而且数值平衡可能一不小心就又坑。
不过把sp点限制一下倒是不错的选择,提升可玩性吧,比如元素师,是单系单堆叼炸天呢,还是全面发展各种前置适应不同属性怪物好呢。
或者把洗点道具整成比较常见的,每打一种boss洗一次针对加点。不过,首先,你得把技能设置好。
反正不管怎么说,技能的设置成了个大工程,6R希忆或成最大输家~。


先来看看使用说明书吧。


来看看预览?加点界面兼容544的但有点挤,截图544的640的都有(分辨率)
首先是普通的职业
自动加点的职业就是好,全部技能直接到达现在等级说能到的最高级



使用场合为"无法使用" 的技能均默认为被动技能,不在战斗时出现。
请注意范例中145以下的技能备注的写法,一些装备的备注和27号状态的备注
我个人还是很喜欢里面天雷这个技能的,模仿dnf元素师的天雷,站桩霹雷,受伤害增加,装备改变霹雷次数什么的,可玩性草鸡好。
剩下的技能有些暂时没怎么用心做。。。普普通通中规中矩就是了。


范例附赠剧情。80级的老前辈带你游山玩水,好吧其实剧情到出图书馆,根本不算剧情,只是对话。
所谓的范例还有附带一些其它的小东西,默认640,想恢复544可以在main加#,不知道为什么就行觉得544不爽
下边的脚本大都是6R上大触们的杰作,都有作者和出处,有的有修改,没有出处的就是我自己整的。
包括写到一半的Window_Status,和一些零零散散的东西

话说原理其实很简单,开场学习职业全技能,在Game_Actor里新建两哈希表@skill_level @state_level 分别是id => 等级,初值为零。
基础等级为零的技能默认没学,不予添加到windowbattleskill等技能列表里,只有在加点页面才能看到。
敌人的技能,装备、状态附加的技能全部用lock_level 和 link_skill 锁定。
然后就是通过正则,找“公式id”,根据“公式id”在模块的方法里面找公式,然后带入等级,算出结果。
最后的就是查查游戏系统类,七算八算,全是比较基本的。

没怎么正式地学过脚本,可能由于水平所限,很多地方脚本的写法不算很好,不过能正常运作就行。
于是这玩意儿说起来不难,但是由于内容还是有那么多的,还是花费了一定时间的。
虽说脚本是写完了,我已经排除了一些写脚本时卖萌留下的bug,内容太多测试起来可太麻烦了,不可能面面俱到,
于是大家闲的没事的可以倒腾倒腾。欢迎汇报bug相关,我会 找时间 一点一点地 慢慢地 修复的
~最后感谢所有汇报bug和帮助我完善脚本的人~

才没有反白呢!
==============================   
作者: taroxd    时间: 2014-11-22 18:21
本帖最后由 taroxd 于 2014-11-22 18:24 编辑

关于 former 的设置,其实你可以用 String#scan 方法

顺便打点广告:
https://rpg.blue/thread-365969-1-1.html
https://rpg.blue/thread-365968-1-1.html
作者: chd114    时间: 2014-11-22 21:32
伤害公式能直接写level吗?
作者: 希忆    时间: 2014-11-22 23:04
chd114 发表于 2014-11-22 21:32
伤害公式能直接写level吗?

技能那里的伤害公式正常写,范例里没有特别异常的公式,
技能备注里写<type 2>计算结果就会乘上模块里formula方法中when 2对应的
return 【1.00 + 0.15*(level-1)】,其中的level是便技能的等级【a.skill_level(item.id)】
,(其实默认就是type 2)所有主动被动技能效果随技能等级变化的成长都是写在模块里的。
如果要调用某个角色某个技能的等级:
$game_actors[1].skill_level(skill_id)
技能公式里调用就a.skill_level(skill_id)
只要formula里写好成长公式,除非是增强特定技能威力的被动技能,否则不需要在公式里出现。
范例里的脚本我写了一些注释,你可以研究下。
作者: chd114    时间: 2014-11-23 09:35
希忆 发表于 2014-11-22 06:04
技能那里的伤害公式正常写,范例里没有特别异常的公式,
技能备注里写计算结果就会乘上模块里formula方法 ...

那就有点可惜了0.0我的技能几乎都不是用固定数值算的伤害···能把level直接写在技能那的伤害公式就好了···那敌人怎么办呢?敌人用的技能,比如火魔法师用的火球术是LV1,火焰精英用的是火球术LV2这个貌似不能用一个技能做了?
作者: diablo2x    时间: 2014-11-24 17:04
請教一下
我本身有自訂選單的腳本
是呼叫腳本式的
有辦法用呼叫腳本的方式叫出這個選單嗎
作者: diablo2x    时间: 2014-11-25 16:38
本帖最后由 diablo2x 于 2014-11-25 17:17 编辑

剛剛去測試了下戰鬥
一般戰鬥技能沒出問題
結果在選擇防禦的時候報錯跳出
錯誤訊息是系統類那邊的438行
ArgumentError Occurred.
wrong number of argument(2 for 1)

看來跟某些腳本還是有衝突的樣子orz
-----------------------------------------------
結果把樓主您的腳本調換到最下面就沒有報錯了
看來是不能放在最上面啊...
作者: diablo2x    时间: 2014-12-2 23:05
忘了問
element_rate這個指令的作用是?
受到特定屬性傷害的減傷或增傷嗎?
作者: 冰风时瞬    时间: 2014-12-8 15:13
可以把某个技能的等级设置成事件的条件吗?
作者: 侠客熊    时间: 2014-12-10 22:00
膜拜中......
测试时敌人对我方施加异常状态时,出现错误
脚本“游戏系统类”第354行:发生NoMethodError。
undefined method ’lock_level‘ for nil:Class

在两个工程中都测试过,出现同样问题。
小白新手,啥都不懂,请教下是什么问题?
多谢了
作者: xxyy116497    时间: 2014-12-13 08:48
好厉害!我好喜欢这个脚本
测试时候发现一个问题 被动提升属性强化好像无效,用楼主的范例也是

作者: 快乐小赵    时间: 2014-12-19 18:06
非常感谢LZ的贡献,个人照这个找很久了。(。◕∀◕。)
作者: 1397308421    时间: 2015-1-10 05:20
请问怎么设置武器装备精通啊  
作者: chd114    时间: 2015-1-10 08:06
这个修改位置是对应的14.12.13的BUG?话说前置技能的话不顺便修改一下吗
作者: 1397308421    时间: 2015-1-10 13:58
没看到就是玩家学习(爪精通)后装备武器爪就会提升攻击力 装备别的武器就不增加
作者: 冰风时瞬    时间: 2015-1-13 21:15
测试中,似乎状态对SPARAM的提升没有效果?
另外8是地形伤害9是经验比率
作者: duoduo1009215    时间: 2015-1-14 20:25
XAS的默认蓝耗该怎么修改成这个脚本设定的蓝耗?
  1.   #--------------------------------------------------------------------------
  2.   # ● enough_skill_cost?
  3.   #--------------------------------------------------------------------------         
  4.   def enough_skill_cost?(skill)
  5.       return false unless enough_mp_cost?(skill)         
  6.       return false unless enough_item_cost?(skill)      
  7.       return true
  8.   end
  9.   
  10.   #--------------------------------------------------------------------------
  11.   # ● Enough MP Cost
  12.   #--------------------------------------------------------------------------        

  13.   
  14.   def enough_mp_cost?(skill)  
  15.       if @force_action_times > 0
  16.          return true if @force_action == "All Shoot"
  17.          return true if @force_action == "Four Shoot"  
  18.          return true if @force_action == "Three Shoot"
  19.          return true if @force_action == "Two Shoot"
  20.       end
  21.       if self.battler.mp < skill.mp_cost
  22.          self.battler.damage = XAS_WORD::NO_MP
  23.          self.battler.damage_pop = true
  24.          return false
  25.       else   
  26.          self.battler.mp -= skill.mp_cost  #(skill.mp_cost * mcr* skill_mp_rate(skill))
  27.          return true
  28.       end
  29.       return true
  30.   end  
复制代码

作者: RM无节操小分队    时间: 2015-1-31 22:23
本帖最后由 RM无节操小分队 于 2015-1-31 22:47 编辑

LZ大大,我在使用你的脚本,希望能说一下怎么实现我想要的这个效果:
1.不要修改技能界面的人物脸图,因为我其余的地方有修改,只要在学技能界面增加一个脸图就好,
2、怎么样让所有任务只有一个技能学习界面,我想要的是所有人物都是一样的,效果就和LOL的天赋系统,可以选择不同的路线升级,在哪里修改

我自己画了一个,你大概看看,我想要修改成的效果
javascript:;

无标题.png (18.36 KB, 下载次数: 39)

无标题.png

作者: 黑曜秘法    时间: 2015-2-8 17:34
本帖最后由 黑曜秘法 于 2015-2-8 17:36 编辑

楼主你好,我正在使用你的豪华技能脚本,可以说是我接触RM以来所使用最强大的脚本了,首先点赞膜拜!
测试中状态的属性强化<element_damage 3,31>好像无效,也有可能是我没设置好,下附测试图,请你过目。


首先看看我设置的属性强化技能,对自己释放,技能方面我确信没弄错了,对应人物也用了auto sp备注,每一个设置好的技能都能够如期实现。


再来看看对应状态,<element_damage 10,39>属性强化正则见下图,<link_skill 206>对应上图技能。


39号正则我设置为每级增加7%效果,和上图结合起来看就是在设置人物auto sp时,状态提升造成暗属性伤害的35%(技能设置了满级五级)。


测试中我使用了这个攻击魔法,注意我设置了离散度为0,伤害在战斗中是固定的,而且伤害属性为暗,则状态的属性强化应有效。

开始测试。


没有属性强化时的攻击,伤害423.


下一回合,我们释放这个增益魔法。


可以从人物头像中见到,增益的状态已经成功施加给角色了。


不过在属性强化状态的增益之下,伤害仍然是423.

楼主看你更新日志中,是修复过属性强化无效的bug的,会不会是一时粗心忘记连状态一起修改过来啊?
作者: 黑曜秘法    时间: 2015-2-9 21:31
楼主你好,昨晚之后我又测试了一下你14号更新过的范例,发现仍然是同样的问题,所以我觉得可能还是脚本的bug吧,下附图。


选用希忆的“蓝色星光”攻击史莱姆,其中这个技能是根据敌人蓝耗来决定伤害的,不过史莱姆不会放技能,我去除离散度和不允许必杀之后,也就相当于固定伤害了。


可以看到,蓝色星光造成了1905伤害,而且触发了“元素紊乱”(提升光暗属性伤害,使用光暗魔法击中敌人后,有一定几率给对方附加上负面状态,略微增加对方受到的光暗魔法伤害。)效果。


下一回合再次蓝色星光攻击史莱姆的时候,可以看到这个史莱姆身上有元素紊乱的debuff。


但是伤害仍然是1905,并没有使光暗魔法伤害增加。

我这两层楼的回复可能比较啰嗦,造成的阅读不便敬请谅解。
作为一个脚本盲+伸手党,对功能强大而又健全的脚本是非常有依赖性的,所以真心希望能为楼主脚本的完善出分力。
期待楼主下次登录论坛。
作者: j5688793    时间: 2015-2-25 00:19
超级喜欢这个脚本,。。。不过   
skill.former.each do |former|
这句一直报错。
不知道为什么。。
作者: chd114    时间: 2015-2-25 00:48
j5688793 发表于 2015-2-24 07:19
超级喜欢这个脚本,。。。不过   
skill.former.each do |former|
这句一直报错。

这句在哪···
作者: j5688793    时间: 2015-2-25 14:42
chd114 发表于 2015-2-25 00:48
这句在哪···

在窗口相关的269行(=゚ω゚)=
作者: x7339255    时间: 2015-3-1 00:25
本帖最后由 x7339255 于 2015-3-9 04:46 编辑

這個腳本很好用只是我發現消耗欄只顯示MP
是否可以改出顯示TP的消耗量?

另外我發現<link_skill 122>這個似乎無法設置兩個技能來源?
這樣狀態方面不就要另外設很多了嗎?

作者: aheart909    时间: 2015-3-5 14:15
我想做如下设置。
技能需要在之前投入多少点才能学习,类似于一种前置。比如前边有5个技能,共计25点。第6个技能需要至少点出15点才能学习,这个15点怎么累计?
作者: 南星明日步    时间: 2015-3-21 22:32
原是想說單單只用天賦搞被動,主動技就靠技能湊合用。
觀望樓主文一臉後立馬也想搞個大坑,雖然不知道對腳本小白手的我來說有沒有辦法做到
作者: 血之月殇    时间: 2015-3-22 16:29
@希忆  、

这个脚本用了后,其他都正常。就是出现战斗时候没有技能出现!

作者: 玄机子    时间: 2015-3-23 13:17
本帖最后由 玄机子 于 2015-3-23 21:08 编辑

非常棒的系统{:2_275:}
作者: 过眼云烟    时间: 2015-3-27 15:06
我想请教一下lz,这个脚本不知道和碧之轨迹地图显血脚本有什么冲突,使用之后游戏掉帧很严重,游戏非常卡
作者: 2464843216    时间: 2015-6-8 08:59
楼主求教一个问题,如何修改技能最低等级等于1级,就是技能一学到就是1级。(表示同时用了VA超级整合的技能学习系统,结果……一个0级技能无限学……)还有就是能否将装备学习的技能也能升级……(表示我的设想就是装备A类套装的其中一件就可以学习A技能,然后装备都会给A技能增加等级,但是这个脚本装备学到的技能无论怎么升都只有0级……装备的等级加成对技能同样也只有0,求教QAQ)
作者: 792708308    时间: 2015-6-10 08:44
楼主你的脚本和
https://rpg.blue/thread-295517-1-1.html 加点有冲突
升级的时候只有你的脚本有效果但是属性加点脚本则无法获得属性点,我觉得是在两个脚本同时调用升级这个部分的时候覆盖了,是否有什么解决办法呢?
作者: oyxpp    时间: 2015-7-29 11:06
792708308 发表于 2015-6-10 08:44
楼主你的脚本和
https://rpg.blue/thread-295517-1-1.html 加点有冲突
升级的时候只有你的脚本有效果但 ...

这个我也发现了,把属性点脚本放下面好像就行了
作者: oyxpp    时间: 2015-7-29 11:07
请问楼主怎么在游戏中用事件使SP或者技能等级增减?
作者: acv255    时间: 2015-8-21 11:44
技能加点...可以考虑
作者: ♂雨    时间: 2015-9-6 21:36
你那个修改过血条和蓝条的脚本在哪?我想用原来的
作者: 凌美琪    时间: 2015-10-6 21:19
好厉害,研究一下
作者: p45844473    时间: 2015-11-17 10:56
請問大大
衛何我使用了您的腳本後 怪物給予我的物理傷害就一直無效失敗 怪物放法術卻有傷害
公式也沒寫錯 屎佣腳本前還可以正常讓怪物用一般攻擊 物理攻擊 物理既能給予傷害
使用後卻一直產生奇怪的無傷害 可否請大大告訴我是否我哪裡弄做?
作者: 冰风时瞬    时间: 2016-2-5 13:35
本帖最后由 冰风时瞬 于 2016-2-11 12:58 编辑

试验过好几次 发现element_damage的公式还是无效
伤害还是没有变化


设置在状态上的element_damage的公式会无效化,没有办法解决吗?
作者: popolox    时间: 2017-1-4 19:25
请问这个游戏开始某角色自带1级技能,但不是自动学习模式要怎么设置啊
作者: wan5337088    时间: 2017-12-20 01:06
请问楼主怎么在游戏中用事件使SP或者技能等级增减?




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