[Pedido] Criar Chat
#1

qeria criar um chat com os comandos

►/crx "criar chat [nome]"
►/cx "convidar pro chat"
►/epx "expulsar do chat"
►/f "falar no chat"

Bem simples eu acho..... -'
Reply
#2

bcmd, strcmp, zcmd ou o que ?
Reply
#3

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
bcmd, strcmp, zcmd ou o que ?
Zcmd
Reply
#4

Sistema de Chat. Comandos:
/Crx [Nome Chat] - Cria um chat
/cx [ID Player] - Convida um jogador para o chat
/epx [ID Player] - Expulsa um jogador do seu chat
/f [Texto] - Fala no chat
/dx - Para o dono deletar seu chat
/setdx - Para setar um player dono de um chat (tem que ser admin ou dono do chat)
/deletarchats - Deleta todos chats
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf>

#define MAX_CHATS 26

new ChatJ[MAX_PLAYERS];
new DonoC[MAX_PLAYERS];
new ChatNome[MAX_CHATS][50];
new chatid;



CMD:crx(playerid, params[])
{
    if(DonoC[playerid] >= 1) return SendClientMessage(playerid, -1, "Vocк jб й dono de um chat!");
    if(isnull(params)) return SendClientMessage(playerid, -1, "Use: /Crx [Nome do Chat]");
    chatid ++;
    format(ChatNome[chatid], 50, "%s", params);
    new string[110];
    format(string, sizeof(string),"Chat %s [%d] criado com sucesso! Use: /Cx para convidar um jogador.", params, chatid);
    SendClientMessage(playerid, -1, string);
    ChatJ[playerid] = chatid;
    DonoC[playerid] = chatid;
    return 1;
}
CMD:cx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    new giveplayerid;
    if(sscanf(params,"u", giveplayerid)) return SendClientMessage(playerid, -1, "Use: /Cx [ID]");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    new string[90];
    format(string, sizeof(string),"%s te chamou para fazer parte do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(giveplayerid, -1, string);
    format(string, sizeof(string),"%s agora estб conectado ao chat.", Nome(giveplayerid));
    SendClientMessage(playerid, -1, string);
    ChatJ[giveplayerid] = DonoC[playerid];
    return 1;
}
CMD:epx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    new giveplayerid;
    if(sscanf(params,"u", giveplayerid)) return SendClientMessage(playerid, -1, "Use: /epx [ID]");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    if(ChatJ[giveplayerid] != DonoC[playerid]) return SendClientMessage(playerid, -1, "Esse jogador nгo estб no seu chat.");
    new string[90];
    format(string, sizeof(string),"%s te expulsou do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(giveplayerid, -1, string);
    format(string, sizeof(string),"%s foi expulsado do seu chat.", Nome(giveplayerid));
    SendClientMessage(playerid, -1, string);
    ChatJ[giveplayerid] = 0;
    return 1;
}
CMD:f(playerid, params[])
{
    if(DonoC[playerid] < 1 && ChatJ[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo faz parte de um chat.");
    new string[128];
    format(string, sizeof(string),"%s: %s", Nome(playerid), params);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == ChatJ[playerid])
        {
            SendClientMessage(i, -1, string);
        }
    }
    return 1;
}
CMD:dx(playerid)
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    new string[110];
    format(string, sizeof(string),"Chat %s deletado com sucesso!", ChatNome[DonoC[playerid]]);
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string),"O chat %s foi deletado, adeus :)", ChatNome[DonoC[playerid]]);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == DonoC[playerid])
        {
            SendClientMessage(i, -1, string);
            ChatJ[i] = 0;
        }
    }
    format(ChatNome[DonoC[playerid]], 50, "Deletado");
    DonoC[playerid] = 0;
    ChatJ[playerid] = 0;
    return 1;
}
CMD:setdx(playerid, params[])
{
    new IDchat, idPlayer;
    if(sscanf(params,"ud", idPlayer, IDchat)) return SendClientMessage(playerid, -1, "Use: /setdx [Jogador] [ChatID]");
    if(!IsPlayerAdmin(playerid) && DonoC[playerid] != IDchat) return SendClientMessage(playerid, -1, "Sem permissгo!");
    DonoC[idPlayer] = IDchat;
    new string[110];
    format(string, sizeof(string),"Agora vocк й dono do Chat %s (%d) by: %s.", ChatNome[IDchat], IDchat, Nome(playerid));
    SendClientMessage(idPlayer, -1, string);
    format(string, sizeof(string),"Vocк setou %s como dono do chat %s (%d)", Nome(idPlayer), ChatNome[IDchat], IDchat);
    SendClientMessage(playerid, -1, string);
    return 1;
}
CMD:deletarchats(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й admin.");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        DonoC[i] = 0;
        ChatJ[i] = 0;
    }
    for(new c = 0; c < MAX_CHATS; c++)
    {
        strdel(ChatNome[c], 0, sizeof(ChatNome));
    }
    chatid = 0;
    new string[90];
    format(string, sizeof(string),"O admin %s deletou todos chats.", Nome(playerid));
    SendClientMessageToAll(-1, string);
    return 1;
}
Nome(playerid)
{
    new nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, sizeof(nome));
    return nome;
}
Код:
Crйditos: by Aninhaah. Mantenha os crйditos :P
Reply
#5

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Tб. Vou fazer e jб posto...

#Edit
Fiz aqui, se tiver algum bug fala aн, nгo estou muito bem hoje :S

pawn Код:
#include <a_samp>
#include <zcmd>

#define MAX_CHATS 26

new ChatJ[MAX_PLAYERS];
new DonoC[MAX_PLAYERS];
new ChatNome[MAX_CHATS][50];
new chatid;



CMD:crx(playerid, params[])
{
    if(DonoC[playerid] >= 1) return SendClientMessage(playerid, -1, "Vocк jб й dono de um chat!");
    if(isnull(params)) return SendClientMessage(playerid, -1, "Use: /Crx [Nome do Chat]");
    chatid ++;
    format(ChatNome[chatid], 50, "%s", params);
    new string[110];
    format(string, sizeof(string),"Chat %s criado com sucesso! Use: /Cx para convidar um jogador.", params);
    SendClientMessage(playerid, -1, string);
    ChatJ[playerid] = chatid;
    DonoC[playerid] = chatid;
    return 1;
}
CMD:cx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    if(isnull(params) || !strval(params)) return SendClientMessage(playerid, -1, "Use: /Cx [ID]");
    if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    new string[90];
    format(string, sizeof(string),"%s te chamou para fazer parte do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(strval(params), -1, string);
    format(string, sizeof(string),"%s agora estб conectado ao chat.", Nome(strval(params)));
    SendClientMessage(playerid, -1, string);
    ChatJ[strval(params)] = DonoC[playerid];
    return 1;
}
CMD:epx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    if(isnull(params) || !strval(params)) return SendClientMessage(playerid, -1, "Use: /epx [ID]");
    if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    if(ChatJ[strval(params)] != DonoC[playerid]) return SendClientMessage(playerid, -1, "Esse jogador nгo estб no seu chat.");
    new string[90];
    format(string, sizeof(string),"%s te expulsou do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(strval(params), -1, string);
    format(string, sizeof(string),"%s foi expulsado do seu chat.", Nome(strval(params)));
    SendClientMessage(playerid, -1, string);
    ChatJ[strval(params)] = 0;
    return 1;
}
CMD:f(playerid, params[])
{
    if(DonoC[playerid] < 1 && ChatJ[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo faz parte de um chat.");
    new string[128];
    format(string, sizeof(string),"%s: %s", Nome(playerid), params);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == ChatJ[playerid])
        {
            SendClientMessage(i, -1, string);
        }
    }
    return 1;
}

Nome(playerid)
{
    new nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, sizeof(nome));
    return nome;
}
funciono certinho mais desculpa falto um negocio ;( /dx (deletar chat) apenas para donos
Reply
#6

fiz aqui
pawn Код:
CMD:dx(playerid)
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    new string[110];
    format(string, sizeof(string),"Chat %s deletado com sucesso!", ChatNome[DonoC[playerid]]);
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string),"O chat %s foi deletado, adeus :)", ChatNome[DonoC[playerid]]);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == DonoC[playerid])
        {
            SendClientMessage(i, -1, string);
            ChatJ[i] = 0;
        }
    }
    format(ChatNome[DonoC[playerid]], 50, "Deletado");
    DonoC[playerid] = 0;
    ChatJ[playerid] = 0;
    return 1;
}
Reply
#7

Brigadгo ai
Reply
#8

De nada, testa lб.
Reply
#9

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Sistema de Chat. Comandos:
/Crx [Nome Chat] - Cria um chat
/cx [ID Player] - Convida um jogador para o chat
/epx [ID Player] - Expulsa um jogador do seu chat
/f [Texto] - Fala no chat
/dx - Para o dono deletar seu chat
/setdx - Para setar um player dono de um chat (tem que ser admin ou dono do chat)
/deletarchats - Deleta todos chats
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf>

#define MAX_CHATS 26

new ChatJ[MAX_PLAYERS];
new DonoC[MAX_PLAYERS];
new ChatNome[MAX_CHATS][50];
new chatid;



CMD:crx(playerid, params[])
{
    if(DonoC[playerid] >= 1) return SendClientMessage(playerid, -1, "Vocк jб й dono de um chat!");
    if(isnull(params)) return SendClientMessage(playerid, -1, "Use: /Crx [Nome do Chat]");
    chatid ++;
    format(ChatNome[chatid], 50, "%s", params);
    new string[110];
    format(string, sizeof(string),"Chat %s [%d] criado com sucesso! Use: /Cx para convidar um jogador.", params, chatid);
    SendClientMessage(playerid, -1, string);
    ChatJ[playerid] = chatid;
    DonoC[playerid] = chatid;
    return 1;
}
CMD:cx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    if(isnull(params) || !strval(params)) return SendClientMessage(playerid, -1, "Use: /Cx [ID]");
    if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    new string[90];
    format(string, sizeof(string),"%s te chamou para fazer parte do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(strval(params), -1, string);
    format(string, sizeof(string),"%s agora estб conectado ao chat.", Nome(strval(params)));
    SendClientMessage(playerid, -1, string);
    ChatJ[strval(params)] = DonoC[playerid];
    return 1;
}
CMD:epx(playerid, params[])
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    if(isnull(params) || !strval(params)) return SendClientMessage(playerid, -1, "Use: /epx [ID]");
    if(!IsPlayerConnected(strval(params))) return SendClientMessage(playerid, -1, "Jogador nгo conectado.");
    if(ChatJ[strval(params)] != DonoC[playerid]) return SendClientMessage(playerid, -1, "Esse jogador nгo estб no seu chat.");
    new string[90];
    format(string, sizeof(string),"%s te expulsou do chat %s.", Nome(playerid), ChatNome[DonoC[playerid]]);
    SendClientMessage(strval(params), -1, string);
    format(string, sizeof(string),"%s foi expulsado do seu chat.", Nome(strval(params)));
    SendClientMessage(playerid, -1, string);
    ChatJ[strval(params)] = 0;
    return 1;
}
CMD:f(playerid, params[])
{
    if(DonoC[playerid] < 1 && ChatJ[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo faz parte de um chat.");
    new string[128];
    format(string, sizeof(string),"%s: %s", Nome(playerid), params);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == ChatJ[playerid])
        {
            SendClientMessage(i, -1, string);
        }
    }
    return 1;
}
CMD:dx(playerid)
{
    if(DonoC[playerid] < 1) return SendClientMessage(playerid, -1, "Vocк nгo й dono de um chat.");
    new string[110];
    format(string, sizeof(string),"Chat %s deletado com sucesso!", ChatNome[DonoC[playerid]]);
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string),"O chat %s foi deletado, adeus :)", ChatNome[DonoC[playerid]]);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i) && ChatJ[i] == DonoC[playerid])
        {
            SendClientMessage(i, -1, string);
            ChatJ[i] = 0;
        }
    }
    format(ChatNome[DonoC[playerid]], 50, "Deletado");
    DonoC[playerid] = 0;
    ChatJ[playerid] = 0;
    return 1;
}
CMD:setdx(playerid, params[])
{
    new IDchat, idPlayer;
    if(sscanf(params,"ud", idPlayer, IDchat)) return SendClientMessage(playerid, -1, "Use: /setdx [Jogador] [ChatID]");
    if(!IsPlayerAdmin(playerid) && DonoC[playerid] != IDchat) return SendClientMessage(playerid, -1, "Sem permissгo!");
    DonoC[idPlayer] = IDchat;
    new string[110];
    format(string, sizeof(string),"Agora vocк й dono do Chat %s (%d) by: %s.", ChatNome[IDchat], IDchat, Nome(playerid));
    SendClientMessage(idPlayer, -1, string);
    format(string, sizeof(string),"Vocк setou %s como dono do chat %s (%d)", Nome(idPlayer), ChatNome[IDchat], IDchat);
    SendClientMessage(playerid, -1, string);
    return 1;
}
CMD:deletarchats(playerid)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й admin.");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        DonoC[i] = 0;
        ChatJ[i] = 0;
    }
    for(new c = 0; c < MAX_CHATS; c++)
    {
        strdel(ChatNome[c], 0, sizeof(ChatNome));
    }
    chatid = 0;
    new string[90];
    format(string, sizeof(string),"O admin %s deletou todos chats.", Nome(playerid));
    SendClientMessageToAll(-1, string);
    return 1;
}
Nome(playerid)
{
    new nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, sizeof(nome));
    return nome;
}
Код:
Crйditos: by Aninhaah. Mantenha os crйditos :P
pawn Код:
Alguns bugs q encontrei quando digito /cx 0 > ID 0 Ele nao faz nada so aparece Use:cx [ID]
Outro tbm que quando eu digito /setdx 0 > 0 Chat "headshot" ele nao vai aconteзe a mesma coisa
por inquanto so vi esses pq nao deu de testar o /f la com o meu amigo ele testando ;S e
Reply
#10

Quote:
Originally Posted by Owtsiixx_Twd
Посмотреть сообщение
pawn Код:
Alguns bugs q encontrei quando digito /cx 0 > ID 0 Ele nao faz nada so aparece Use:cx [ID]
Outro tbm que quando eu digito /setdx 0 > 0 Chat "headshot" ele nao vai aconteзe a mesma coisa
por inquanto so vi esses pq nao deu de testar o /f la com o meu amigo ele testando ;S e
Testa agora, dei uma atualizada no post. Agora vocк pode usar /cx [ID] ou /cx [Nome/Parte do Nome]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)