本帖最后由 ligthls 于 2022-2-4 15:24 编辑
Hi~ 这里是黑金工作室
最近我们发布了一个带有
模型技能
的怪物捏,今天来跟大家做一下思路分享!
先上视频
麻,模型在视频里面,技能也是
作为工作室的卑微技能(我自然是没有公开模型的权力)
所以,给大家分享一下制作技能的思路也是不错捏
![]() 本期主要公布如下机制
一,对Mc攻击的颠覆
二,召唤某生物后,主体无敌并且持续回血,生物被击杀后主体取消无敌
第一
攻击机制
啊,AKA - MC的攻击机制流程是这样子滴 搜寻目标---> 靠近目标 ----> 攻击 -----> 动画 也就是说(动画实在攻击后面 (也许?) 然后攻击锁定住玩家) 这就导致了,怪物的普通攻击并不能被闪避 所以,为了适应闪避技能 我使用mm对它进行了颠覆 技能如下 ![]() - stance{stance=CancelDamaged} true - skill{s=取消事件;sync=true} @self - stance{stance=skill} false - animation{name=skill5;remove=false;time=10} @Self - castskillapi{skill="粒子斩3";uml=false} @Origin{x=2;y=5} - setstance{stance=NoCancel} @Self - setstance{stance=CancelDamaged} @Self - potion{t=slow;d=40;l=2;force=true} @PIR{r=8} - throw{velocity=105;velocityY=0.002} @PlayersInRadius{r=8} 思路如下: 先用触发器 取消掉雪女所有的攻击 也就是彻底取消掉攻击事件 如上 使用 技能 取消事件 就可以取消掉雪女的攻击 (如何使用取消事件详见 Mythicmobs Wiki - 鲲鹏写的) 然后 让雪女在攻击的时候 播放我们的设定的动作 ------> 对模型的挥手进行卡点 -----> 在要造成伤害时 开启伤害事件(因为取消了伤害事件 自然不会有动画 也不会有伤害) 之后 使用 伤害事件[Damage] 造成伤害 -----> 关闭伤害事件 ----->达成效果 所以,我们先要在 取消伤害事件 设置一个开关{Stance 和 Aura 任意选 我觉得Stance简单就用它了XD} 首先保持这个开关永远开启 所以 我们需要在 怪物配置写上如下 雪帝: Type: HUSK Display: '冰天雪女' Health: 100 Damage: 0 KillMessages: - '&7&l<target.name>' Damage: 0 AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll AITargetSelectors: - 0 player Skills: - setstance{stance=CancelDamaged} @Self ~onSpawn #(让怪物出生时,便处于 关闭伤害 的姿态) - skill{s=取消事件;sync=true} @self ~onAttack #(这样子就可以让取消事件取消掉 在 Attack 时候的事件(sync是异步处理,一定要加上)) 如此, 将注意力放在这一行 - setstance{stance=NoCancel} @Self - damage{a=1} @Pir{r=5} - setstance{stance=CancelDamaged} @Self 我们以 CancelDamaged为开关 来检测是否要取消伤害 当我们讲姿态切换为 Nocancel的时候 自然不符合取消伤害的 stance条件 就会造成伤害拉! 而这个伤害 我们使用范围伤害 , 在怪物挥手后 瞬间按下闪避 跳出伤害范围圈以达到规避伤害的效果 然后再讲 stance切换为 CancelDamaged 就可以避免接下来会造成伤害 然后 为我们的攻击事件加上Cooldown冷却 就可以自定义我们需要的攻击间隔辣! (注意 如上仅支持模型攻击 因为模型攻击可以自定义动画) 那么你还要问,如果我有技能 我想让他在释放技能的时候 带有伤害 取消普通攻击 该怎么办捏? EASY 注意这一段雪女伤害事件: Conditions: - stance{stance=skill} false 我们只需要 在怪物释放技能的时候 为他在技能开头标记即可 - setstance{stance=skill} @self - setstance{stance=CancelDamaged} @self ![]() 无敌回血机制嘛,这个没有模型要求很适合大众 视频里面没有?我也bzd为什么捏! 雪帝: Type: HUSK Display: '冰天雪女' Health: 100 Damage: 0 KillMessages: - '&7&l<target.name>' Damage: 0 AIGoalSelectors: - 0 clear - 1 meleeattack - 2 randomstroll AITargetSelectors: - 0 player Options: MovementSpeed: 0.13 KnockbackResistance: 1 Silent: true Despawn: true RepeatAllSkills: false Skills: - skill{s=回血} @self ~onSignal:Heal - skill{s=无敌;sync=true} @self ~onDamaged - skill{s=雪女攻击;sync=true} @self ~onAttack - skill{s=获得无敌} @self ~onSignal:GetIgnore - skill{s=取消无敌} @self ~onSignal:RemoveIgnore
And
召唤回血机制: Type: pig Display: '雪帝技能3' Health: 50 Options: MovementSpeed: 0 KnockbackResistance: 1 NoAi: True Despawn: true Collidable: false BossBar: Enabled: true Title: '诅咒冰块血量' Range: 40 Color: WHITE Style: SEGMENTED_10 Skills: - effect:particleline{particle=reddust;color=#00FFFF;fromOrigin=true;y=0.5;a=1;hs=0;vs=0} @MIR{r=40;type=雪帝} ~onTimer:80 - effect:particleline{particle=reddust;fromOrigin=true;y=0.5;a=1;hs=0;vs=0} @MIR{r=40;type=雪帝} ~onTimer:80 - potion{t=SLOW;d=12000;l=400;force=true} @Self ~onSpawn - potion{t=SLOW;d=80;l=3;force=true} @PIR{r=40} ~onTimer:80 - signal{s=GetIgnore} @MobsInRadius{r=40;t=雪帝} ~onSpawn - signal{s=GetIgnore} @MobsInRadius{r=40;t=雪帝} ~onTimer:1 - signal{s=RemoveIgnore} @MobsInRadius{r=40;t=雪帝} ~onDeath - signal{s=Heal} @MobsInRadius{r=40;t=雪帝} ~onTimer:80
最主要看这几个技能 和 选择器 - signal{s=GetIgnore} @MobsInRadius{r=40;t=雪帝} ~onSpawn - signal{s=GetIgnore} @MobsInRadius{r=40;t=雪帝} ~onTimer:1 - signal{s=RemoveIgnore} @MobsInRadius{r=40;t=雪帝} ~onDeath - signal{s=Heal} @MobsInRadius{r=40;t=雪帝} ~onTimer:80
- skill{s=获得无敌} @self ~onSignal:GetIgnore - skill{s=取消无敌} @self ~onSignal:RemoveIgnore
- skill{s=回血} @self ~onSignal:Heal
技能这么写
![]()
获得无敌: Skills: - setstance{stance=SignalCancel} @Self
取消无敌: Skills: - setstance{stance=No} @Self 回血: Skills: - heal{a=20} @self - effect:particles{p=happyVillager;amount=40;speed=0;hS=0.45;vS=1.5;y=0} @Self - setstance{stance=SignalCancel} @Self
无敌: Conditions: - stance{stance=SignalCancel} true Skills: - CancelEvent
![]()
开始讲解! 很简单, 所谓 召唤回血,自然就是 先召唤 -----> 回血! 我们使用触发器 ~onSignal 来接受对于信号触发技能 如 - skill{s=回血} @self ~onSignal:Heal #用于接受信号 触发技能
- signal{s=Heal} @MobsInRadius{r=40;t=雪帝} ~onTimer:80 #用于间隔发送信号 选择器使用MIR来选中我们的mm怪物
而无敌自然就是取消事件, 将雪女受到攻击时的所有事件取消 自然就达到无敌的效果了捏! 无敌使用方法跟第一个技能相同, 让雪女先有一个无敌的开关,再接收信号后 开启无敌技能 (也就是打开无敌的开关),在 召唤生物死亡后 给雪女发送信号 关闭雪女的无敌开关, 就做到取消无敌的效果 你学废了嘛?
![]()
好喽
本期就到这里
在模型包更新下一个生物的时候
也会更新新的机制和技能分享捏 ---------------- 视频内地图,既然有人需要那就公开趴 提取码:ylz9 --来自百度网盘超级会员V5的分享 白嫖记得评分呐!!!!!
|