#Resolved

1 messages · Page 1 of 1 (latest)

tender mist
#
  const targetPlayer = world.getAllPlayers().find((player) => player.name === playerName);

        if (targetPlayer.name === player.hasTag("IN_PVP")) {
        player.sendMessage("§cCannot send invite player is in pvp!");
        return;
      }

I'm trying to cancel the form opening if the player has the tag "IN_PVP"

left lodge
tender mist
#

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

molten pelican
#

if(!player.hasTag('tag')){
//show form here
}

tender mist
# molten pelican 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
tender mist
molten pelican
#

let me see

mild phoenixBOT
#
Debug Result

There are 8 errors in this [code](#1181332952592941116 message):

<repl>.js:2:23 - error TS2304: Cannot find name 'guildDB'.

2     const guildData = guildDB.get(KeyGuild);
                        ~~~~~~~

``````ansi
<repl>.js:21:26 - error TS18048: 'res.formValues' is possibly 'undefined'.

21       const playerName = res.formValues[0];
                            ~~~~~~~~~~~~~~

``````ansi
<repl>.js:23:11 - error TS2304: Cannot find name 'guildDB'.

23       if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
             ~~~~~~~

``````ansi
<repl>.js:23:66 - error TS2304: Cannot find name 'guildDB'.

23       if (guildDB.keys().find(key => key.startsWith("Guild-") && guildDB.get(key).member.includes(playerName))) return player.sendMessage("§7Player is already in a Guild");
                                                                    ~~~~~~~

``````ansi
<repl>.js:56:7 - error TS2304: Cannot find name 'guildDB'.

56       guildDB.set(KeyGuild, guildData);
         ~~~~~~~

``````ansi
<repl>.js:78:11 - error TS2304: Cannot find name 'guildDB'.

78           guildDB.set(KeyGuild, guildData);
             ~~~~~~~

``````ansi
<repl>.js:81:11 - error TS2304: Cannot find name 'guildDB'.

81           guildDB.set(KeyGuild, guildData);
             ~~~~~~~

``````ansi
<repl>.js:89:13 - error TS2304: Cannot find name 'guildDB'.

89             guildDB.set(KeyGuild, guildData);
               ~~~~~~~

molten pelican
tender mist
tender mist
molten pelican
#

ur wlc

tender mist
#

Resolved

molten pelican
#

@tender mist there is a tag for Resolved