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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: zhufeng233
打印 上一主题 下一主题

[交流讨论] 基于YEP插件的一些技能设计与实现方法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
21
 楼主| 发表于 2023-4-17 11:14:10 | 显示全部楼层
更新个简单的技能咯,效果上大概是,攻击拥有处于该状态的人时,可以恢复造成伤害值20%的HP。
其实就是让对方变成血包,大家打它就能抽血。
需要用到状态核心

<Custom Respond Effect>  // 被命中且造成伤害时触发
if (value > 0 && this.isHpEffect()) {  // 如果受到大于0的伤害
  Hprecover = Math.floor(value * 0.2);  // 定义变量 值为伤害值的0.2倍
  user.gainHp(Hprecover);  // 攻击方回血
  user.startDamagePopup();   // 显示回血数字
}
</Custom Respond Effect>
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
22
 楼主| 发表于 2023-4-17 12:58:27 | 显示全部楼层
jie119168 发表于 2023-4-17 12:45
是不是漏了 var?我看js的变量第一次初始化都要写的。

我原本也是这么想的,但没有var也生效了,我不太懂js基本都是能跑就行
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
23
 楼主| 发表于 2023-4-17 13:08:51 | 显示全部楼层
又做了个状态,也比较简单:大概效果是拥有此状态的人,每受到一次攻击就会累加1层计数,当计数到5层时,下一次受到攻击后还会附加攻击者atk*2+mat*10的伤害。
原本应该是很简单的一个状态,但因为一个小问题卡了我一个小时真是头大。
需要用到状态核心

<Custom Apply Effect> //获得状态时生效
target._lei = target._lei || 0; //初始化计数变量并赋值
</Custom Apply Effect>

<Custom Respond Effect> //受到伤害时生效
if (value > 0 && this.isHpEffect() && target._lei >= 0 && target._lei <= 5) { //判断本次伤害是否大于0,且计数范围在0~5内
  target._lei += 1;  //计数+1
  target.addStateCounter(188, 1);  //计数+1
  target.clampStateCounter(188, 0, 5);  //限制计数范围在0~5之间
}
</Custom Respond Effect>  

<Custom Deselect Effect>  //这里就是我卡了一个小时的主要原因,原本这个时点下的指令我是放在了上面的时点里,按照我的理解,在造成伤害后判断计数值然后再造成额外伤害,逻辑上好像没问题,但实际上会出现奇妙的bug,具体我就不说了,总之实现不                 
                                          了功能。必须要放在这个时点下(一切结算完毕后)才能正常生效,如果是初学者想做类似功能请务必注意这一点。
if(target._lei >= 6){   //如果计数达到或超过6
  Hpdamage = Math.floor(a.atk * 2 + a.mat * 10);  //定义额外伤害变量,取角色atk*2+mat*10,向下取整
  target.gainHp(-Hpdamage);  //给予伤害
  target.startDamagePopup();  //弹出伤害数字
  target._lei = 0;  //将计数清零
  target.setStateCounter(188, 0);  //将计数清0
}
</Custom Deselect Effect>

<Custom Leave Effect>  //当移除状态时
target._lei = 0;  //计数清零
user.setStateCounter(188, 0);  //计数清零
</Custom Leave Effect>
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
24
 楼主| 发表于 2023-4-18 00:08:04 | 显示全部楼层
开始做一套完整体系的技能组,等做好了一并放出来,所以这段时间就不怎么更新新技能了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
25
 楼主| 发表于 2023-4-19 09:43:59 | 显示全部楼层
woliebe 发表于 2023-4-19 09:43
多谢了。这几天有别的事忙一直没上线。
刚才把你最新写的代码放到之前的后面了
但是还是显示Bug,我也搞 ...

不用放在之前的后面,单独拿那段代码做一个技能就好
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
26
 楼主| 发表于 2023-4-21 19:23:38 | 显示全部楼层
芜~经过几天的鏖战,终于把自己目前角色的技能做的差不多了,之后就挑一些有价值的技能来分享一下
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
27
 楼主| 发表于 2023-4-22 18:21:23 | 显示全部楼层
woliebe 发表于 2023-4-22 16:09
好的,知道了,谢谢
我用后面那一段实现了再次追击敌人一次的效果。
还想请问一个具体的参数

-1是目标,-1指的是随机一个目标,-2是上一个目标。前面的1是技能ID
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
28
 楼主| 发表于 2023-5-19 23:08:54 | 显示全部楼层
自己游戏目前几个主要角色的技能都设计完毕,初步测试也没有发现什么大的问题。
经过这段时间的学习,自己对YEP的这几个插件逐渐了解,能够独立设计一些不是很复杂的技能。
现在正在写一篇比较系统的,有关YEP设计技能相关的教程,会在里面尽可能的详细写下如何学习这些插件,如何独立设计技能。
可能要写一段时间,届时会重新发一贴,希望能够帮到有需要的人
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2392
在线时间
302 小时
注册时间
2022-3-24
帖子
115
29
 楼主| 发表于 2023-5-20 23:39:51 | 显示全部楼层
有关YEP设计技能的教程已发到P1论坛,大家有兴趣可以去看看,我有关用YEP设计技能的心得都写在那里面了,本贴也就不更新了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 15:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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