#help my kill system doesn't work
1 messages · Page 1 of 1 (latest)
Original Code (I'm in mobile):```js
import { world, Player } from "@minecraft/server"
world.afterEvents.entityDie.subscribe((data) => {
addScore(data.deadEntity, 'Deaths', 1)
if (data.damageSource.cause === 'entityAttack' && (data.damageSource.damagingEntity instanceof Player)) return addScore(data.damageSource.damagingEntity, 'Kills', 1)
}, { "entityTypes": ['minecraft:player'] })
function addScore(player, objective, score) {
try {
world.scoreboard.getObjective(objective).addScore(player, score)
} catch (e) {
player.runCommand(scoreboard players add "${player.name}" ${objective} ${score})
}
}
After a few minutes of blindly analyzing the code, I have deemed that I'm maybe blind or this code potentially should work fine.
But for some unknown reason, it doesn't.
It could've been a manifest or a file placement issue.
(Or you just forget to set up the scoreboard objective in-game correctly.)
There is an error in this [code](#1224371363016609822 message):
[36mindex.js[0m:[33m10[0m:[33m9[0m - [31merror[0m[30m TS2532: [0mObject is possibly 'undefined'.
[7m10[0m world.scoreboard.getObjective(objective).addScore(player, score)
[7m [0m [31m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
const dobj = world.scoreboard.getObjective("death");
const kobj = world.scoreboard.getObjective("kills");
world.afterEvents.entityDie.subscribe(({ damageSource: { damagingEntity: player}, deadEntity: victim }) => {
if (victim.isValid())
dobj.addScore(victim, 1);
kobj.addScore(player, 1);
}, { entityTypes: ["minecraft:player"] })
;