03.12.2012, 00:50
Bom, consegui fazer o sistema de familia de outra forma, definida pelo nome usado.
Enfim queria fazer um chat para a familia da mesma forma, sendo autorizado apenas para quem tem o nome.
Stock dafamilia.
como fica nos cmds.
Exemplo de chat admin
o que preciso criar й uma public do chat, para subistituir a ABroadCast correto ?
sу nгo sei fazer isto da forma que quero pelo name do player . obg desde jб
Enfim queria fazer um chat para a familia da mesma forma, sendo autorizado apenas para quem tem o nome.
Stock dafamilia.
pawn Код:
stock DaFamilia(playerid, familia[])
{
new NickName[MAX_PLAYER_NAME];
GetPlayerName(playerid, NickName, MAX_PLAYER_NAME);
strdel(NickName, 0, strfind(NickName, "_") + 1);
return (strcmp(NickName, familia)) ? (false) : (true);
}
pawn Код:
if(!strcmp(cmdtext, "/kitams", true))
{
if(!DaFamilia(playerid, "AmS")) return SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nгo й da famнlia AmS !");
GivePlayerWeapon(playerid, 32, 500);
GivePlayerWeapon(playerid, 22, 500);
SendClientMessage(playerid, 0x33CCFFAA, "Vocк se equipou com o Kit AmS.");
new name1[MAX_PLAYER_NAME];
GetPlayerName(playerid, name1, sizeof(name1));
format(string, 128, " %s Pegou Seu Kit AmS.",name1);
ProxDetector(30.0, playerid, string, COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE);
return true;
}
pawn Код:
if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
return true;
}
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_GRAD2, "USE: (/a)dmin [admin chat]");
return true;
}
if(TentouDivulgar(result))
{
if(cdivulgar[playerid] >= 4)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
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 true;
}
if (PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "*%d Admin %s: %s", PlayerInfo[playerid][pAdmin], PlayerName(playerid), result);
ABroadCast(0xFBB8FFAA, string, 1);
}
format(string, sizeof(string), "[%d/%d/%d] [%d:%d:%d] *%d Admin %s: %s", v[2], v[1], v[0], v[3], v[4], v[5] , PlayerInfo[playerid][pAdmin], sendername, result);
AChatLog(string);
}
return true;
}
sу nгo sei fazer isto da forma que quero pelo name do player . obg desde jб