#help my kill system doesn't work

1 messages · Page 1 of 1 (latest)

hidden orbit
cedar laurel
#

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.)

hazy capeBOT
#
Debug Result

There is an error in this [code](#1224371363016609822 message):

index.js:10:9 - error TS2532: Object is possibly 'undefined'.

10         world.scoreboard.getObjective(objective).addScore(player, score)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

hollow phoenix
#
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"] })
;