async function StatsALL(player) {
const form = new ModalFormData();
const playerNames = world.getAllPlayers().map(p=>p.name)
form.title(`§cView Player's Stats`);
form.dropdown('§c\nSelect The Player!', playerNames);
form.show(player).then(result => {
const displayName = result.formValues[0].toString()
for (const targetName of world.getDimension("overworld").getEntities({name:[displayName],type:["minecraft:player"]})) {
const kills = world.scoreboard.getObjective("Kills2").getScore(targetName)
const deaths = world.scoreboard.getObjective("Death").getScore(targetName)
const kdr = world.scoreboard.getObjective("KDR").getScore(targetName)
if (result.canceled) return;
if (!result.canceled) {return openStatsForm(player, displayName, kills, deaths, kdr)}
}})};
async function openStatsForm(player, displayName, kills, deaths, kdr) {
const form = new ActionFormData()
form.title(`${displayName}'s Stats`)
form.body(`${displayName}'s Stats\n\n§6Kills §r: ${kills}\n§4Deaths §r: ${deaths}\n§cKDR §r/: ${kdr}`)
form.button(`§9Achievements\n§8View Achievements`, "textures/ui/achievements")
form.button('§cExit\n§8Leave this menu.', 'textures/ui/realms_red_x')
const { selection, canceled } = await form.show(player);
if (canceled) return
if (selection == 0) return openAdvForm(player)
if (selection == 1) return
}```
#help
1 messages · Page 1 of 1 (latest)
@radiant valve whats the issue
Debug Result
There are 7 errors in this [code](#1167678570840199231 message):
[36m<repl>.js[0m:[33m7[0m:[33m33[0m - [31merror[0m[30m TS18048: [0m'result.formValues' is possibly 'undefined'.
[7m7[0m const displayName = result.formValues[0].toString()
[7m [0m [31m ~~~~~~~~~~~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m9[0m:[33m83[0m - [31merror[0m[30m TS2322: [0mType 'string[]' is not assignable to type 'string'.
[7m9[0m for (const targetName of world.getDimension("overworld").getEntities({name:[displayName],type:["minecraft:player"]})) {
[7m [0m [31m ~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m9[0m:[33m102[0m - [31merror[0m[30m TS2322: [0mType 'string[]' is not assignable to type 'string'.
[7m9[0m for (const targetName of world.getDimension("overworld").getEntities({name:[displayName],type:["minecraft:player"]})) {
[7m [0m [31m ~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m10[0m:[33m27[0m - [31merror[0m[30m TS2532: [0mObject is possibly 'undefined'.
[7m10[0m const kills = world.scoreboard.getObjective("Kills2").getScore(targetName)
[7m [0m [31m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m11[0m:[33m28[0m - [31merror[0m[30m TS2532: [0mObject is possibly 'undefined'.
[7m11[0m const deaths = world.scoreboard.getObjective("Death").getScore(targetName)
[7m [0m [31m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m12[0m:[33m25[0m - [31merror[0m[30m TS2532: [0mObject is possibly 'undefined'.
[7m12[0m const kdr = world.scoreboard.getObjective("KDR").getScore(targetName)
[7m [0m [31m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m25[0m:[33m40[0m - [31merror[0m[30m TS2304: [0mCannot find name 'openAdvForm'.
[7m25[0m if (selection == 0) return openAdvForm(player)
[7m [0m [31m ~~~~~~~~~~~[0m
Debug (Stable)
@prisma sable
Uh
Well I have the fixed get entity command
const entity = [...world.getDimension("overworld").getEntities({type:"minecraft:player",name:displayName})][0]
still getting the error
with this code
async function StatsALL(player) {
const form = new ModalFormData();
const playerNames = world.getAllPlayers().map(p=>p.name)
form.title(`§cView Player's Stats`);
form.dropdown('§c\nSelect The Player!', playerNames);
form.show(player).then(result => {
const displayName = `${result.formValues[0]}`
const targetName = [...world.getDimension("overworld").getEntities({type:"minecraft:player",name:displayName})][0]
const kills = world.scoreboard.getObjective("Kills2").getScore(targetName)
const deaths = world.scoreboard.getObjective("Death").getScore(targetName)
const kdr = world.scoreboard.getObjective("KDR").getScore(targetName)
if (result.canceled) return;
if (!result.canceled) {return openStatsForm(player, displayName, kills, deaths, kdr)}
})};
async function openStatsForm(player, displayName, kills, deaths, kdr) {
const form = new ActionFormData()
form.title(`${displayName}'s Stats`)
form.body(`${displayName}'s Stats\n\n§6Kills §r: ${kills}\n§4Deaths §r: ${deaths}\n§cKDR §r/: ${kdr}`)
form.button(`§9Achievements\n§8View Achievements`, "textures/ui/achievements")
form.button('§cExit\n§8Leave this menu.', 'textures/ui/realms_red_x')
const { selection, canceled } = await form.show(player);
if (canceled) return
if (selection == 0) return openAdvForm(player)
if (selection == 1) return
}```
does it say a line?
?
Mind if I just change up your code a little and send it back? I can highlight where I changed and why so you know what I did but its kinda difficult to fix it otherwise
u can
async function StatsALL(player) {
const form = new ModalFormData();
const players = world.getAllPlayers() //Removed the map because you need to save players in general
form.title(`§cView Player's Stats`);
form.dropdown('§c\nSelect The Player!', players.map(p=>p.name)); //Mapped players to player names because I removed the map at the declaration
form.show(player).then(result => {
const displayName = players.map(p=>p.name)[result.formValues[0]] //Changed to get the display name because result.formValues[0] returns the index of the choice not the name of the choice
const targetName = [...world.getDimension("overworld").getEntities({type:"minecraft:player",name:displayName})][0]
const kills = world.scoreboard.getObjective("Kills2").getScore(targetName)
const deaths = world.scoreboard.getObjective("Death").getScore(targetName)
const kdr = world.scoreboard.getObjective("KDR").getScore(targetName)
if (result.canceled) return;
if (!result.canceled) {return openStatsForm(player, displayName, kills, deaths, kdr)}
})};
async function openStatsForm(player, displayName, kills, deaths, kdr) {
const form = new ActionFormData()
form.title(`${displayName}'s Stats`)
form.body(`${displayName}'s Stats\n\n§6Kills §r: ${kills}\n§4Deaths §r: ${deaths}\n§cKDR §r/: ${kdr}`)
form.button(`§9Achievements\n§8View Achievements`, "textures/ui/achievements")
form.button('§cExit\n§8Leave this menu.', 'textures/ui/realms_red_x')
const { selection, canceled } = await form.show(player);
if (canceled) return
if (selection == 0) return openAdvForm(player)
if (selection == 1) return
}```
There
I put long comments on why I did what I did