0

I am making a PVP game and I need to detect when a player dies, but I also only want to detect that if the player is in the PVP arena. I want to be able to detect the last man standing and the one that died only inside the arena (part of the game mode). I have seen how to detect the death, but never how to limit it to a certain area/while they are in that game.

  • Can people go out of the area in other ways? Otherwise you just need to check if there is more than one person (with /execute store … if entity and then checking the scoreboard). – Fabian Röling Mar 25 at 21:05
0

depending on the shape of your arena (square or circle), you can restrict a command to run only if entity is within a certain range. i usually use, also, execute as @a at @s, as it quite literally targets (as) everyone (@a) as if (at) they were the individual (@s).

in the instance of a cuboid (square/rectangular area), you'd want to use the x, y, z, dx, dy, and dz arguments (or settings you need to specify) to choose the area you want to limit it to;

  • x is the X coordinate of your first corner.
  • y is the Y coordinate.
  • z is the Z.
  • dx is the distance on the X axis to the opposite corner.
  • dy is the distance on Y.
  • dz is the distance on Z.

so, for an example, if i want to make a player say "hi" while in a 5x5x5 cube area, assuming the center is x0 y3 z0;

execute as @a at @s if entity @s[x=2,y=1,z=2,dx=-4,dy=4,dz=-4] run say hi

this would make it so if someone is in the area between the block at x2 y1 z2 and x-2 y5 z-2, it will run "say hi" as if that person ran the command itself.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.