想请教一下前辈,刚接触mythicmobs没几天,目前已经用自己做的模型实现近战攻击了,但是不知道如何实现远程攻击
我要的那种远程攻击是类似弹射物或者抛射物,最好是在接触方块或者实体时造成爆炸范围伤害,而且最重要的一点是抛射物要和扔出去的自定义模型同步。
拿我现在的课题来打比方就是把一把建模剑扔出去并对接触的物体造成范围伤害。
技能是要用Projectile或者Shoot嘛?如何做到与动画同步呢?范围伤害如何实现呢?
我要的那种远程攻击是类似弹射物或者抛射物,最好是在接触方块或者实体时造成爆炸范围伤害,而且最重要的一点是抛射物要和扔出去的自定义模型同步。
拿我现在的课题来打比方就是把一把建模剑扔出去并对接触的物体造成范围伤害。
技能是要用Projectile或者Shoot嘛?如何做到与动画同步呢?范围伤害如何实现呢?
首先应该新建一个mob和item 来作为抛射物模型 像我这样
之后这个item的 Model: 一栏就是你要用的模型的custommodeldata
mob的ItemHead: 一栏就是你的item的id
原理就是把抛射物看作一个实体 但是实体是隐身的 但实体头上戴的物品不会隐身 所以物品就是你要弄的模型
之后skill像我这样写 意思是:召唤一条抛物弹 击中物体后对范围内实体造成4点伤害 范围伤害调一调目标选择器就可以
不过这个抛射物是一条直线 你想改成扔出去之类的 改一改 projectile 那栏
造成伤害之后的效果(比如爆炸,点燃之类的)你可以自己加 加在抛射物伤害 那个技能里
抛射物实体:
Type: ARMOR_STAND
Pose:
Head: 0,0,0
ItemHead: 抛射物模型
Options:
Marker: true
Small: false
Invisible: true
Invincible: true
Skills:
- equip{item=抛射物模型:4} ~onSpawn
- look{headOnly=false;immediately=true} @forward{f=5;y=1.5} ~onSpawn
抛射物模型:
Id: paper
Display: "awa"
Model: 1234
Hide:
- ATTRIBUTES
抛射物技能:
Conditions:
Skills:
- projectile{bulletType=MOB;mob=抛射物实体;onHit=抛射物伤害;v=35;i=1;hR=1;vR=1;mr=35;hnp=true;hO=15;sE=true;sB=true;hs=false;hfs=0;syo=1.5;tyo=1.5} @Forward{f=20;y=0}
抛射物伤害:
TargetConditions:
Skills:
- damage{a=4} @EntitiesNearOrigin{r=3}
之后这个item的 Model: 一栏就是你要用的模型的custommodeldata
mob的ItemHead: 一栏就是你的item的id
原理就是把抛射物看作一个实体 但是实体是隐身的 但实体头上戴的物品不会隐身 所以物品就是你要弄的模型
之后skill像我这样写 意思是:召唤一条抛物弹 击中物体后对范围内实体造成4点伤害 范围伤害调一调目标选择器就可以
不过这个抛射物是一条直线 你想改成扔出去之类的 改一改 projectile 那栏
造成伤害之后的效果(比如爆炸,点燃之类的)你可以自己加 加在抛射物伤害 那个技能里
抛射物实体:
Type: ARMOR_STAND
Pose:
Head: 0,0,0
ItemHead: 抛射物模型
Options:
Marker: true
Small: false
Invisible: true
Invincible: true
Skills:
- equip{item=抛射物模型:4} ~onSpawn
- look{headOnly=false;immediately=true} @forward{f=5;y=1.5} ~onSpawn
抛射物模型:
Id: paper
Display: "awa"
Model: 1234
Hide:
- ATTRIBUTES
抛射物技能:
Conditions:
Skills:
- projectile{bulletType=MOB;mob=抛射物实体;onHit=抛射物伤害;v=35;i=1;hR=1;vR=1;mr=35;hnp=true;hO=15;sE=true;sB=true;hs=false;hfs=0;syo=1.5;tyo=1.5} @Forward{f=20;y=0}
抛射物伤害:
TargetConditions:
Skills:
- damage{a=4} @EntitiesNearOrigin{r=3}
Projectile,抛射物类型选择MOB,然后做一个MOB套上模型,各种参数自己看wiki,接触实体或者方块后爆炸用onhit=xx技能实现。
upupp 发表于 2022-11-27 05:14
首先应该新建一个mob和item 来作为抛射物模型 像我这样
之后这个item的 Model: 一栏就是你要用的模型的cus ...
麻烦再问一下,我自己做了一个抛射物技能,因为我套模型的方式是直接改实体来实现的,所以实体类型我没选盔甲架,但是每次抛射物出现的时候都没法像一个正常的抛射物一样被扔出去,而是停留在原地,如果把类型改为盔甲架则会直接消失,我也不太清楚是什么问题
mimicthrow1:
Cooldown: 8
Skills:
- setAI{ai=false} @self
- potion{type=SLOW;duration=80;level=10;p=false;force=true} @self
- animation{name=sowrdthrow;remove=false;time=1} @self
- look{headOnly=false;immediately=false} @Target
- delay 64
- skill{s=mimicflysowrd} @T
- setAI{ai=true} @self
mimicflysowrd:
Skills:
- projectile{bulletType=MOB;mob=MimicSowrd;onHit=mimicflysowrdonhit;v=5;hr=1;vR=1;md=160;} @Target
mimicflysowrdonhit:
Skills:
- explosion{yield=5} @PIR{r=4}
- potion{type=WEAKNESS;duration=100;level=1;p=false;force=true} @PIR{r=4}
HikariOrda 发表于 2022-12-2 09:29
麻烦再问一下,我自己做了一个抛射物技能,因为我套模型的方式是直接改实体来实现的,所以实体类型我没选 ...
- projectile{bulletType=MOB;mob=MimicSowrd;onHit=mimicflysowrdonhit;v=5;hr=1;vR=1;md=160;} @Target
的目标选择器@Target可以改成@Forward{f=20;y=0}
@forward{f=20;y=0} 的意思是将选取当前视角正前方 20格 位置的方块
盔甲架消失的问题会不会是 mob的Options:里的Invisible: true
upupp 发表于 2022-12-2 10:13
- projectile{bulletType=MOB;mob=MimicSowrd;onHit=mimicflysowrdonhit;v=5;hr=1;vR=1;md=160;} @Target ...
目标选择器改了好像也没效果...,顺带一提因为服务端是1.12的所以我用的模型插件是DragonCore。现在做出来的技能表现就是抛射物直接刷新在mob旁边,因为我把AI关掉了所以它一出现就一直站着不动,不过说到底它作为抛射物根本没有进行抛射......而且碰到玩家以后也触发不了onHit的效果..
这是我抛射物实体的设定
MimicSowrd:
Type: ZOMBIE
Health: 1
Damage: 1
Display: 'MimicSowrd'
Options:
AlwaysShowName: false
Silent: true
Skill:
- setAI{ai=false} @Self ~onSpawn
- look{headOnly=false;immediately=true} @forward{f=5;y=0} ~onSpawn