Add @joinguild <idguild>

cumbe11

New member
Messages
46
Points
0
Hello, I really wanted to add a command to my server, basically the player could use @joinguild &lt;idguild&gt; and he would join the guild without needing an invitation

I did something similar to this but it doesn't work.
 

script.ccp

Code:
/*==========================================
 * @joinguild &lt;guild_id&gt; 
 *------------------------------------------*/
ACMD_FUNC(joinguild)
{
    std::shared_ptr&lt;MapGuild&gt; g; // Usar std::shared_ptr&lt;MapGuild&gt;
    int guild_id;
    nullpo_retr(-1, sd);

    if (!message || !*message || sscanf(message, "%d", &amp;guild_id) != 1) {
        clif_displaymessage(fd, "Error. (usage: @joinguild &lt;guild_id&gt;).");
        return -1;
    }

    // Procurar pela guilda usando o ID
    g = guild_search(guild_id); // Usar a função correta para procurar pela guilda
    if (!g) { // Verificar se a guilda foi encontrada
        clif_displaymessage(fd, "Guild not found.");
        return -1;
    }

    // Verificar se o jogador já está em uma guilda
    if (sd-&gt;status.guild_id &gt; 0) {
        clif_displaymessage(fd, "You are already in a guild.");
        return -1;
    }

    // Adicionar o jogador à guilda usando o sistema de convite
    sd-&gt;guild_invite = guild_id;
    sd-&gt;guild_invite_account = sd-&gt;status.account_id; // Definindo o account_id do próprio jogador

    if (guild_reply_invite(sd, guild_id, 1) == 1) { // Verificar se a função foi bem-sucedida
        clif_displaymessage(fd, "You have successfully joined the guild.");
        return 0; // Sucesso
    } else {
        clif_displaymessage(fd, "Failed to join the guild.");
        return -1; // Falha
    }
}
 
Back
Top