#problem with forceShow and modalform

1 messages · Page 1 of 1 (latest)

white wedge
#

idk how to fix

[Scripting][error]-ReferenceError: Native function [ModalFormData::show] does not have required privileges.

forceShow```js
import { system } from "@minecraft/server";
import { FormCancelationReason } from "@minecraft/server-ui";

export async function forceShow(player, form, timeout = Infinity) {
const startTick = system.currentTick;
while ((system.currentTick - startTick) < timeout) {
const response = await (form.show(player));
if (response.cancelationReason !== FormCancelationReason.UserBusy) {
return response;
}
};
throw new Error(Timed out after ${timeout} ticks);
} js
export async function permissionsMenu(player) {
const playerRank = getPlayerRank(player);
if (playerRank !== "host") {
player.sendMessage("§cNur der Owner kann Berechtigungen verwalten!");
return;
}

const form = new ModalFormData();
form.title("Ränge verwalten");

const rankIds = Object.keys(ranksList);
form.dropdown("Wähle einen Rang", rankIds.map(rankId => ranksList[rankId].rankName));

try {
    const response = await forceShow(player, form);

    if (response.canceled) return;

    const selectedRank = rankIds[response.formValues[0]];
    openRankPermissionsMenu(player, selectedRank);
} catch (error) { console.error(`${error}`) }

}```

meager kindle
#

you need to put your code in world.afterEvents.worldLoad

white wedge
woven perchBOT
# white wedge idk how to fix ``` [Scripting][error]-ReferenceError: Native function [ModalForm...

Debug result for [code](#1354459513205297404 message)

Compiler Result

Compiler found 6 errors:

<REPL1>.js:2:24 - error TS2552: Cannot find name 'getPlayerRank'. Did you mean 'playerRank'?

2     const playerRank = getPlayerRank(player);
                         ~~~~~~~~~~~~~

  <REPL1>.js:2:11
    2     const playerRank = getPlayerRank(player);
                ~~~~~~~~~~
    'playerRank' is declared here.

``````ansi
<REPL1>.js:8:22 - error TS2304: Cannot find name 'ModalFormData'.

8     const form = new ModalFormData();
                       ~~~~~~~~~~~~~

``````ansi
<REPL1>.js:11:33 - error TS2304: Cannot find name 'ranksList'.

11     const rankIds = Object.keys(ranksList);
                                   ~~~~~~~~~

``````ansi
<REPL1>.js:12:61 - error TS2304: Cannot find name 'ranksList'.

12     form.dropdown("Wähle einen Rang", rankIds.map(rankId => ranksList[rankId].rankName));
                                                               ~~~~~~~~~

``````ansi
<REPL1>.js:15:32 - error TS2304: Cannot find name 'forceShow'.

15         const response = await forceShow(player, form);
                                  ~~~~~~~~~

``````ansi
<REPL1>.js:20:9 - error TS2304: Cannot find name 'openRankPermissionsMenu'.

20         openRankPermissionsMenu(player, selectedRank);
           ~~~~~~~~~~~~~~~~~~~~~~~

Lint Result

There are no errors from ESLint.

white wedge