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

Project1

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

[RMVA发布] [15.02.11]技能加点|被动技能|状态等级|属性强化|暴击伤害

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
185 小时
注册时间
2014-9-4
帖子
82
跳转到指定楼层
1
发表于 2014-11-22 18:16:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 希忆 于 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和帮助我完善脚本的人~

才没有反白呢!
==============================   

评分

参与人数 2星屑 +60 收起 理由
火烧兔子 + 20 赞!!!
chd114 + 40 前置技能处理好评

查看全部评分

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-11-22 18:21:48 | 只看该作者
本帖最后由 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

点评

好吧,刚刚在搜索也发现了,汗||。  发表于 2014-11-22 18:52
不,scan 就是用正则……  发表于 2014-11-22 18:46
首先,膜拜元编程大触,直接字符串处理倒是没想到,脑子里进了正则。我这个被动技能可是可以加点提升的哦,虽然设置起来很麻烦(自满ing)  发表于 2014-11-22 18:30
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2014-11-22 21:32:38 | 只看该作者
伤害公式能直接写level吗?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
185 小时
注册时间
2014-9-4
帖子
82
4
 楼主| 发表于 2014-11-22 23:04:21 | 只看该作者
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里写好成长公式,除非是增强特定技能威力的被动技能,否则不需要在公式里出现。
范例里的脚本我写了一些注释,你可以研究下。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
发表于 2014-11-23 09:35:11 | 只看该作者
希忆 发表于 2014-11-22 06:04
技能那里的伤害公式正常写,范例里没有特别异常的公式,
技能备注里写计算结果就会乘上模块里formula方法 ...

那就有点可惜了0.0我的技能几乎都不是用固定数值算的伤害···能把level直接写在技能那的伤害公式就好了···那敌人怎么办呢?敌人用的技能,比如火魔法师用的火球术是LV1,火焰精英用的是火球术LV2这个貌似不能用一个技能做了?

点评

太长了一行写不下貌似也不行吧···直接写在一个module里面不就好了···反正一个技能的升级前置又不可能不停地换···  发表于 2014-11-28 21:08
主要是正则匹配还不太懂。同时整多个前置就不知道怎么匹配了,下一个版本可能会按楼上大触版主的建议重做这部分,前提是我得把正则搞懂了.  发表于 2014-11-23 15:23
升级前置你弄得好麻烦···直接former [X,Y](需要X号技能Y级)数组不行吗···  发表于 2014-11-23 14:25
·····那我看看你一共用了多少个设置吧···  发表于 2014-11-23 11:37
想设计好技能太麻烦了,备注狂魔我自己都记不清,数字平衡也需要长时间测试,反正大坑坑新手吧,最后感谢支持。  发表于 2014-11-23 11:34
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
857
在线时间
397 小时
注册时间
2008-1-1
帖子
84
6
发表于 2014-11-24 17:04:44 | 只看该作者
請教一下
我本身有自訂選單的腳本
是呼叫腳本式的
有辦法用呼叫腳本的方式叫出這個選單嗎

点评

相关部分在场景相关最后(145行),可自行修改,调用的是 SceneManager.call(Scene_AddSkill)  发表于 2014-11-24 19:12
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
857
在线时间
397 小时
注册时间
2008-1-1
帖子
84
7
发表于 2014-11-25 16:38:28 | 只看该作者
本帖最后由 diablo2x 于 2014-11-25 17:17 编辑

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

看來跟某些腳本還是有衝突的樣子orz
-----------------------------------------------
結果把樓主您的腳本調換到最下面就沒有報錯了
看來是不能放在最上面啊...

点评

哦哦,我再試試看  发表于 2014-11-26 07:33
眼拙。選擇防禦没看到,那就确定是item_effect_add_state_normal。可以尝试全局搜索查看是否有插件脚本重定义这玩意儿。  发表于 2014-11-25 21:26
摆在前面的插件脚本应该重定义了make_damage_value或item_effect_add_state_attack|item_effect_add_state_normal,光这样可能还会有一些问题(摆在前面的一些脚本失效等)  发表于 2014-11-25 21:20
冲突方法可能是apply_critical或是add_state  发表于 2014-11-25 21:13
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
857
在线时间
397 小时
注册时间
2008-1-1
帖子
84
8
发表于 2014-12-2 23:05:01 | 只看该作者
忘了問
element_rate這個指令的作用是?
受到特定屬性傷害的減傷或增傷嗎?

点评

嗯,是的,收到属性伤害的修正  发表于 2014-12-3 13:40
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
118
在线时间
197 小时
注册时间
2011-1-23
帖子
41
9
发表于 2014-12-8 15:13:33 | 只看该作者
可以把某个技能的等级设置成事件的条件吗?

点评

不能,状态绑定技能是指状态的等级等于该状态来源的该技能等级(来源是敌人或是事件附加状态则取1),因此1个状态只能有1个link生效(第一个)  发表于 2015-1-9 18:46
感谢,再问一下,一个状态能link多个技能吗?  发表于 2015-1-8 22:54
谢谢  发表于 2014-12-10 20:56
条件分歧->脚本 $game_actors[3].skill_level(196) >= 5 #3号角色196号技能等级大于等于5(包括装备的提升)  发表于 2014-12-8 19:11
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
7392
在线时间
65 小时
注册时间
2012-7-12
帖子
1
10
发表于 2014-12-10 22:00:21 | 只看该作者
膜拜中......
测试时敌人对我方施加异常状态时,出现错误
脚本“游戏系统类”第354行:发生NoMethodError。
undefined method ’lock_level‘ for nil:Class

在两个工程中都测试过,出现同样问题。
小白新手,啥都不懂,请教下是什么问题?
多谢了

点评

小bug,感谢汇报,已修复  发表于 2014-12-11 06:40
回复 支持 0 反对 1

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 05:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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