#Resolved
1 messages · Page 1 of 1 (latest)
remove the targetPlayer.name part
doesnt work
im trying to make it so it doesnt send this screen when they have the tag "IN_PVP"
async function inviteMemberUI(player, KeyGuild) {
const guildData = guildDB.get(KeyGuild);
const memberList = guildData?.member;
let memberLimit = 20;
if (memberList.length >= memberLimit) {
player.sendMessage("§aYou can't invite member, the guild is already in limit");
return;
}
const inviteUI = new ModalFormData()
.title("§3Invite Member")
.textField("Player Name", "Player name");
inviteUI.show(player).then((res) => {
if (res.canceled) {
player.sendMessage("§7Canceled.");
return;
}
const playerName = res.formValues[0];
if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
if (!playerName) {
player.sendMessage("§cNo player name specified.");
return;
}
const targetPlayer = world.getAllPlayers().find((player) => player.name === playerName);
if (player.hasTag("IN_PVP")) {
player.sendMessage("§cCannot send invite player is in pvp!");
return;
}
if (!targetPlayer) {
player.sendMessage(`§cPlayer "${playerName}" is not available.`);
return;
}
if (targetPlayer.name === player.name) {
player.sendMessage("§cYou can't invite yourself.");
return;
}
if (memberList.includes(targetPlayer.name)) {
player.sendMessage(`§cPlayer "${targetPlayer.name}" is already a member of the Guild.`);
return;
}
let inviteData = {
guild: KeyGuild,
inviter: player.name,
invitee: targetPlayer.name,
status: "pending",
};
const inviteLog = guildData.loginvite;
inviteLog.push(inviteData);
guildDB.set(KeyGuild, guildData);
const inviteMessage = new MessageFormData()
.title("§3Guild Invitation")
.body(`You have been invited by ${player.name} to join Guild "${KeyGuild}".`)
.button1("§aJoin")
.button2("§cReject");```
This is the function
if(!player.hasTag('tag')){
//show form here
}
async function inviteMemberUI(player, KeyGuild) {
const guildData = guildDB.get(KeyGuild);
const memberList = guildData?.member;
let memberLimit = 20;
if (memberList.length >= memberLimit) {
player.sendMessage("§aYou can't invite member, the guild is already in limit");
return;
}
const inviteUI = new ModalFormData()
.title("§3Invite Member")
.textField("Player Name", "Player name");
if(!player.hasTag('IN_PVP')){
inviteUI.show(player).then((res) => {
if (res.canceled) {
player.sendMessage("§7Canceled.");
return;
}
const playerName = res.formValues[0];
if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
if (!playerName) {
player.sendMessage("§cNo player name specified.");
return;
}
const targetPlayer = world.getAllPlayers().find((player) => player.name === playerName);
if (!targetPlayer) {
player.sendMessage(`§cPlayer "${playerName}" is not available.`);
return;
}
if (targetPlayer.name === player.name) {
player.sendMessage("§cYou can't invite yourself.");
return;
}
if (memberList.includes(targetPlayer.name)) {
player.sendMessage(`§cPlayer "${targetPlayer.name}" is already a member of the Guild.`);
return;
}
let inviteData = {
guild: KeyGuild,
inviter: player.name,
invitee: targetPlayer.name,
status: "pending",
};
const inviteLog = guildData.loginvite;
inviteLog.push(inviteData);
guildDB.set(KeyGuild, guildData);
const inviteMessage = new MessageFormData()
.title("§3Guild Invitation")
.body(`You have been invited by ${player.name} to join Guild "${KeyGuild}".`)
.button1("§aJoin")
.button2("§cReject");
inviteMessage.show(targetPlayer).then(async (res) => {
if (res.canceled) return player.sendMessage("§7Canceled.");
const selection = res.selection;
if (selection === 0) {
let joinData = {
guild: KeyGuild,
invitee: targetPlayer.name,
status: "joined",
};
let joinLog = guildData.logjoin;
joinLog.push(joinData);
guildDB.set(KeyGuild, guildData);
await memberList.push(targetPlayer.name);
guildDB.set(KeyGuild, guildData);
player.sendMessage(`§aPlayer "${targetPlayer.name}" has been successfully invited and joined the Guild.`);
} else if (selection === 1) {
const index = inviteLog.findIndex((data) => data.invitee === targetPlayer.name && data.status === "pending");
if (index !== -1) {
inviteLog.splice(index, 1);
guildDB.set(KeyGuild, guildData);
}
player.sendMessage(`§cPlayer "${targetPlayer.name}" has rejected the Guild invitation.`);
}
});
});
}}```
Did I put it in the right spot
yo did
It is still showing the form even when i have the tag
wired
let me see
Debug Result
There are 8 errors in this [code](#1181332952592941116 message):
[36m<repl>.js[0m:[33m2[0m:[33m23[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m2[0m const guildData = guildDB.get(KeyGuild);
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m21[0m:[33m26[0m - [31merror[0m[30m TS18048: [0m'res.formValues' is possibly 'undefined'.
[7m21[0m const playerName = res.formValues[0];
[7m [0m [31m ~~~~~~~~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m23[0m:[33m11[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m23[0m if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m23[0m:[33m66[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m23[0m if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m56[0m:[33m7[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m56[0m guildDB.set(KeyGuild, guildData);
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m78[0m:[33m11[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m78[0m guildDB.set(KeyGuild, guildData);
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m81[0m:[33m11[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m81[0m guildDB.set(KeyGuild, guildData);
[7m [0m [31m ~~~~~~~[0m
``````ansi
[36m<repl>.js[0m:[33m89[0m:[33m13[0m - [31merror[0m[30m TS2304: [0mCannot find name 'guildDB'.
[7m89[0m guildDB.set(KeyGuild, guildData);
[7m [0m [31m ~~~~~~~[0m
targetPlayer or player
targetPlayer
It works thank you
ur wlc
Resolved
@tender mist there is a tag for Resolved