Chat family -
gmstrikker - 30.04.2014
A um tempo to tentando fazer um chat de famlia tentei de todos os jeitos que eu achava que ia dar, mas nгo deu, funciona assim:
pega seu sobrenome, Eu Gm_Strikker falo OOOOOOOI, todos que tem Nome_Strikker vгo ver esse OOOOOI os outros nгo
Tentei assim:
pawn Код:
if(strcmp(cmd, "/familia", true) == 0 || strcmp(cmd, "/fa", true) == 0)
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
return 1;
}
if(radio[playerid] == 0)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo tem um rбdio vб atй uma 24-7 (/gps)");
return 1;
}
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_R, "USE: (/fa)milia [radio chat]");
return 1;
}
if(TentouDivulgar(result))
{
if(cdivulgar[playerid] >= 6)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Mano aque e o Seguinte vc nгo Divulga Server!");
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou Derrubar ele HAHAHA");
PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
Kick(playerid);
}
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,playername,result);
ABroadCast(COLOR_YELLOW,string,1);
DivulgouLog(string);
cdivulgar[playerid] += 1;
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(strcmp(GetPlayerLastName(i), GetPlayerLastName2(i), true) == 0)
{
format(string, sizeof(string), "** Familia %s: %s over. **", sendername, result);
SendClientMessage(playerid, COLOR_BLUE, string);
}
}
printf("%s", string);
format(string, sizeof(string), "%s (rбdio): %s", sendername, result);
ProxDetector(20.0, playerid, string, COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
return 1;
}
return 1;
}
pawn Код:
stock GetPlayerLastName(playerid)
{
new namestring[2][MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
split(name, namestring, '_');
return namestring[1];
}
stock GetPlayerLastName2(playerid)
{
new namestring[2][MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
split(name, namestring, '_');
return namestring[1];
}
Mas o que ta acontecendo й que quando eu falo /fa OOOI sai uns 50 OIs (max_players) e ninguem com sobrenome ve, sу eu =( alguem ajuda ai
Re: Chat family -
Gii - 30.04.2014
Nгo testei, muito menos compilei.
pawn Код:
stock getLastName(nome_completo) {
strdel(nome_completo, 0, strfind(nome_completo, "_"));
return nome_completo;
}
CMD:fa(playerid, params[])
return cmd_familia(playerid, params);
CMD:familia(playerid, params[]) {
if ( isnull(params))
return SendClientMessage(playerid, -1, "Uso correto: /fa(milia) [mensagem]");
static
i,
e,
minha_familia[20],
nome[24],
str[128]
;
GetPlayerName(playerid, nome, 24);
format ( minha_familia, 20, getLastName(nome) );
format (str, 128, "CHAT DA FAMНLIA %s: %s diz %s", minha_familia, nome, params);
for ( i = 0, e = GetMaxPlayers(); i < e; ++i ) {
if ( IsPlayerConnected(i) ) {
GetPlayerName(i, nome, 24);
if ( !strcmp(minha_familia, getLastName(nome) ) )
SendClientMessage(i, -1, str);
}
}
return 1;
}