Sistema de Chat. Comandos:
/setdx - Para setar um player dono de um chat (tem que ser admin ou dono do chat)
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;
}