思望文宣 发表于 2019-4-27 12:53:27

[1.7.10][ECMA]LOL船长桶

这个是船长桶的脚本
效果和船长的一样:三格血,两秒少一格,到最后一格停止少血,一下A爆桶后引爆周围所有的桶。效果就这么简单
首先需要自己设置一下NPC
名字为"桶"
血量回复全是0
发现敌人无反应
击退抗性100%
阵营中立
禁止复活
然后就上代码了

运行钩子
npc.setMaxHealth(3)
npc.setHealth(3)

更新钩子
var sj = (sj==null)?1:sj;
sj++;
if(sj==4&&npc.getHealth()!==1){
npc.setHealth(npc.getHealth()-1)
sj=0;
}
var a = npc.getHealth();
if(a==0){
for(f=0;f<npc.getSurroundingEntities(10,2).length;f++){
var e = npc.getSurroundingEntities(10,2);
var x=e.getX();
var y=e.getY();
var z=e.getZ();
}
var q=Math.sqrt((x-npc.getX())*(x-npc.getX())+(y-npc.getY())*(y-npc.getY())+(z-npc.getZ())*(z-npc.getZ()))
if(q<=10){
for(x=0;x<e.length;x++){
var s = e.getName();
if(s=="桶"){
e.setHealth(0);
}}}
world.explode(npc.x,npc.y,npc.z,0,false,false)
}
var r=5,x0=npc.getX(),y0=npc.getZ();
for(var times=0;times<60;times++){
var hudu = 2*Math.PI/360*6*times;
var x1 = x0 + Math.sin(hudu)*r;
var y1 = y0 - Math.cos(hudu)*r;
world.spawnParticle("largesmoke",x1,npc.getY(),y1,0,0,0,0,2)}

伤害钩子
if(npc.getHealth()!==1){
event.setDamage(0)
npc.setHealth(npc.getHealth()-1)
}


就这样,当两个圈重合的时候就是引爆范围了
由于船长的伤害无法叠加,所以我这里的伤害用的是瞬间伤害
想修改伤害,就修改瞬间伤害的效果就好:P

版权声明:
1.您不能转载本帖
2.您不能声称作者是自己
页: [1]
查看完整版本: [1.7.10][ECMA]LOL船长桶