[Crash] 使用由CompactSkill提供的某些方法后,会导致ZU崩溃
TUsama opened this issue · comments
能否发一下你使用的脚本?
脚本a:
import mods.compatskills.Unlockable;
mods.compatskills.VisibilityLock.addVisibilityLock(<skill:reskillable:apple>, "stage|apple");
脚本b:
import ...
//创建Trait
var apple1 = mods.compatskills.TraitCreator.createTrait("apple1 ", 2, 3, "compatskills:apple", 1, "compatskills:apple|5");
//Trait内容
events.onEntityLivingAttacked(function(event as crafttweaker.event.EntityLivingAttackedEvent) {
var entity as IEntity = event.damageSource.getTrueSource();
var mob1 as IEntity = event.entity;
//确保击中者与被击中者的类型正确
if (!entity instanceof IPlayer || !mob1 instanceof IEntityLivingBase || mob1 instanceof IPlayer) return;
var player as IPlayer = entity;
var mob as IEntityLivingBase = event.entity;
var remote as bool = player.world.remote;
if (remote) return;
if (!(isNull(player.data.thedeath) || player.data.thedeath == false)) return;
//此处将 catenation 用为冷却时间计数
var catenation = player.world.catenation()
.run(function(world, context){
var cooldownCheck1 as IData = {thedeath : true};
dataUpdate(player, cooldownCheck1);
})
.sleep(100)
.then(function(world, context){
var cooldownCheck2 as IData = {thedeath : false};
dataUpdate(player, cooldownCheck2);
})
.stopWhen(function(world, context) {
return !player.alive;
})
.start();
var randomInt as int = player.world.random.nextInt(100);
var lossHealth as float = player.maxHealth - player.health;
var bound as int = 10 + lossHealth - 1;
if (randomInt <= bound) {
mob.health = 0.0;
} else {
mob.health -= mob.maxHealth * 0.1;
}
});
友谊老师,好像是我的问题,我把Trait注释掉了还是会崩,我先关了issue自个研究一下吧(