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

Project1

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

[交流讨论] 【记录贴】状态、BUFF和一些技能效果

[复制链接]

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
跳转到指定楼层
1
发表于 2022-11-26 10:37:55 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
自己想要很多效果,当时一直找都找不到例子,所以现在自己在这里立一个帖子,记录一些我写的东西,虽然不一定有用,但是万一有人需要呢,对吧,嘿嘿嘿!

评分

参与人数 3+3 收起 理由
woliebe + 1
Abyssstew + 1 精品文章
liz_fly + 1 塞糖

查看全部评分

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
2
 楼主| 发表于 2022-11-26 10:45:39 | 显示全部楼层
本帖最后由 红手湘潭玉簟秋 于 2022-11-26 11:01 编辑

叠加伤害类的buff:例如毒素 需要”状态核心“插件,原名YEP_BuffStatesCore
此状态可以设定为武器或者角色或者装备的攻击附加状态当中
//定义毒素这个状态每次攻击增加2
<Custom Apply Effect>
target._du = target._du || 0;                     //target._du这个可以自行修改,改成自己能力的变量
target._du += 2;
</Custom Apply Effect>

//每回合毒素减少1层
<Custom Regenerate Effect>
if (target._du >= 0) {
  target._du -= 1;
  target.setStateCounter(34, target._du);    //显示层数计数,34是状态编号, target._du是调用了之前定义的变量,需要跟随最开始的变量名进行修改
}
</Custom Regenerate Effect>

//计算每次行动后的血量减少
<Custom Action Start Effect>
var damage = Math.floor(target._du);        //定义一个伤害变量 并进行计算
target.gainHp(-damage);                          //进行血量的增减,示例中是减少
target.startDamagePopup();                     //伤害弹出
</Custom Action Start Effect>

//状态结束后将毒素变量清零
<Custom Leave Effect>
target._du = 0;
</Custom Leave Effect>
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
3
 楼主| 发表于 2022-11-26 11:08:32 | 显示全部楼层
为角色添加专属武器,需要”状态核心“插件,原名YEP_BuffStatesCore
需要”自动添加被动“插件,原名YEP_AutoPassiveStates

//下文中的Weapon和Weapons可以替换为Armor和Armors,其中Weapon代表武器,Armor代表防具,
//2替换为武器\防具的编号
//11替换为专属武器对应附加的状态编号
<Custom Battle Effect>
if (user.hasWeapon($dataWeapons[2])) {
origin.addState(11);
}
</Custom Battle Effect>

点评

如果2号角色出现在战斗中会获得XX状态,应该怎么写?  发表于 2022-11-27 18:47
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
4
 楼主| 发表于 2022-11-28 08:45:59 | 显示全部楼层
本帖最后由 红手湘潭玉簟秋 于 2022-11-28 08:49 编辑

加成固定伤害的装备如何制作,需要”状态核心“插件,原名YEP_BuffStatesCore

<Custom Confirm Effect>
//如果造成了伤害,并且伤害(<0代表治疗,>0代表伤害,如果你非要等于0.....你八成是......)
if (this.isHpEffect() && value < 0) {
//定义一个变量,用来确定增减固定伤害的装备或者技能
  var zhiliao = 100;
//这个例子是个加治理量的
//因此以下公式用的是-如果是加固定伤害的就用+,记得将zhiliao替换为你定义的变量名称
  value -= Math.round(zhiliao);
}
</Custom Confirm Effect>

//最后补充一点,这个代码是写在状态里的,需要你装备自带这个状态,需要“自动状态插件”,原名YEP_AutoPassiveStates
//需要在装备里写
<Passive State: 状态编号>
//一定要记得把状态编号换了......
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
5
 楼主| 发表于 2022-11-28 09:11:34 | 显示全部楼层
红手湘潭玉簟秋 发表于 2022-11-26 11:08
为角色添加专属武器,需要”状态核心“插件,原名YEP_BuffStatesCore
需要”自动添加被动“插件,原名YEP_A ...

每太听明白意思,意思是,只判断这一个人还是将多个人一起判断,例如羁绊这样?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
6
 楼主| 发表于 2022-11-28 13:37:01 | 显示全部楼层
本帖最后由 红手湘潭玉簟秋 于 2022-11-28 15:14 编辑
fnhjjrrk 发表于 2022-11-28 09:45
就是羁绊,如果2号和3号角色或者更多同时在场时,获得XX状态,这个应该怎么实现? ...


//那我简单举个例子
角色2
//以下的开头代表战斗开始进行的处理
<Custom Battle Effect>
//将变量681,设置为1
$gameVariables.setValue(681, 1);
</Custom battle Effect>
角色3
//以下的开头代表战斗开始进行的处理
<Custom Battle Effect>
//将变量682,设置为1
$gameVariables.setValue(681, 1);
</Custom battle Effect>


//-------------以下全写在一个状态里--------------
//有相同羁绊的角色都需要自带以下被动状态
//在角色哪里输入<Passive State: 状态编号>    需要”自动添加被动“插件,原名YEP_AutoPassiveStates
//以下为每回合判定的效果
<Custom Turn Start Effect>
//如果变量681和682都等于1的情况下
//可以考虑继续&& 更多的角色,就是一个角色一个变量就行,或者开关也行不过开关一般用的敌方比较多,变量可以额外定义,所以我喜欢用变量代替角色
if (($gameVariables.value(681)==1) && ($gameVariables.value(682)==1)) {
//添加状态47(可自行修改)
target.addState(47);
}
</Custom Turn Start Effect>


//战斗胜利后将两个变量归零,作用是用来检测角色有没有离开队伍
<Custom Victory Effect>
$gameVariables.setValue(681, 0);
$gameVariables.setValue(682, 0);
</Custom Victory Effect>
//同上一个,不过这个是逃跑归零的
<Custom Escape Effect>
$gameVariables.setValue(681, 0);
$gameVariables.setValue(682, 0);
</Custom Escape Effect>

点评

非常有用,感谢大佬帮忙。  发表于 2022-11-28 14:20
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
7
 楼主| 发表于 2022-12-7 12:10:40 | 显示全部楼层
可以复活一次的装备如何制作,需要”状态核心“插件,原名YEP_BuffStatesCore
                                             需要“武器释放”插件,原名YEP_WeaponUnleash

//将以下程序输入状态1(也就是死亡状态)中
<Custom Apply Effect>
//判断死亡状态的角色是否是玩家
  if(target.isActor()) {
//判断变量681是否等于1
  if($gameVariables.value(681)==1) {
//如果成立,则变量681设定为0
     $gameVariables.setValue(681, 0);
//回复生命999,可以给更多
     target.gainHp(999);
//播放动画49(rmmv自带的复活动画)
     target.startAnimation(49, 0, 0);
//回复数值弹出
     target.startDamagePopup();
}
}
</Custom Apply Effect>

//以下输入在一个空状态中
//战斗开始时
<Custom Battle Effect>
//将变量681设定为1
$gameVariables.setValue(681, 1);
</Custom Battle Effect>

//以下输入在武器中
<Passive State: 空状态的编号>

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
8
 楼主| 发表于 2022-12-7 14:31:11 | 显示全部楼层
一定回合数后给自己添加一个状态,需要”状态核心“插件,原名YEP_BuffStatesCore
\\为装备\角色添加以下这条代码,X替换为状态编号
<Passive State: X>

\\以下部分添加到X号状态中
\\战斗开始时
<Custom Battle Effect>
\\设定一个角色的冷却值(3可以替换为几回合加状态)
user._Cooldown = 3;
</Custom Battle Effect>
\\每回合循环发生
<Custom Regenerate Effect>
user._Cooldown = user._Cooldown || 0;
\\如果冷却时间大于0
if (user._Cooldown > 0) {
\\冷却时间减少1
  user._Cooldown -= 1;
如果冷却时间小于或等于0
if (user._Cooldown <= 0) {
\\播放35号动画,当然你可以任选
  user.startAnimation(35);
\\添加Y状态Y为状态编号,不是这个状态的编号,是你想要固定回合刷新的状态
  user.addState(Y);
\\重新设定冷却时间为3(或者你想要的数字)
  user._Cooldown = 3;
  }
}
</Custom Regenerate Effect>
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
9
 楼主| 发表于 2023-8-16 17:46:29 | 显示全部楼层
船走听雨眠 发表于 2023-1-5 14:08
支持楼主。另外我想咨询一下,有办法让毒素类状态或者持续伤害类的这些状态,不用gainHp命令吗?这条命令绕 ...

其实你想要不绕过那些判定可以把最终你想要的结算计算公式判定加入gainHp里,你技能造成的伤害不也是通过公式实现的么,最终形成扣血和离散,你可以定义一个掉血的公式然后在gainHp时候加进去就可以了,没啥区别,离散也可以自己定义一个随机系数给你的持续伤害离散
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
343
在线时间
36 小时
注册时间
2022-4-17
帖子
30
10
 楼主| 发表于 2024-4-17 18:50:18 | 显示全部楼层
xin6429 发表于 2024-2-12 15:56
大佬,这个可以把一定回合数,改为生命下降到指定百分百?


我记得好像状态核心里有对应代码,是生命百分比附加,不需要疯狂模式的代码就可以实现
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-15 16:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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