virusweb
Ученик
Нужно сделать проверку на расстояние при шепоте вот код:
PHP:
if(strcmp(cmd, "/wisper", true) == 0 || strcmp(cmd, "/w", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsIP(cmdtext) || CheckString(cmdtext))
{
format(string,sizeof(string),"[id:%d]%s возможно реклама. {FEFEFE}Сообщение: %s",playerid,Name(playerid),cmdtext);
ABroadCast(COLOR_LIGHTRED,string,1);
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Залогинься!");
return true;
}
if(PlayerInfo[playerid][pLevel] <= 1)
{
SendClientMessage(playerid, COLOR_GREY, "Чтобы отправлять ПМ, вам нужен 2 уровень!");
return true;
}
// if(PlayerInfo[playerid][pLevel] < 2)
// {
// SendClientMessage(playerid, COLOR_WHITE, "* Личные сообщения можно писать после 4 часов игры, вопросы можно задать в /report! ");
// return true;
// }
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Администратор отнял у вас возможность говорить в чате!");
return true;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, " Используйте: (/w)isper [playerid/PartOfName] [whisper text]");
return true;
}
if(offpm == 1)
{
SendClientMessage(playerid,COLOR_GREY,"* Личные Сообщения отключены!");
return true;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(HidePM[giveplayerid] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "* Этот игрок отключил Личные Сообщения!");
return true;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
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, " Используйте: (/w)isper [playerid/PartOfName] [whisper text]");
return true;
}
spaceGroupsToSpaces(result);
trimSideSpaces(result);
format(string, sizeof(string), "ЛС от %s(ID:%d): %s", sendername, playerid, (result));
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
format(string, sizeof(string), "ЛС к %s(ID:%d): %s", giveplayer, giveplayerid,(result));
SendClientMessage(playerid, COLOR_YELLOW, string);
SBizzInfo[2][sbTill] += txtcost / 2;
ExtortionSBiz(2, txtcost / 2);
//prosluwka
for(new admin = 0; admin < MAX_PLAYERS; admin ++)
{
if(adminreadpm[admin] ==1)
{
format(string,sizeof(string),"AdmCmd: %s (id:%i), шепнул к %s (id:%i): %s",sendername,playerid,giveplayer,giveplayerid,result);
SendClientMessage(admin,COLOR_LIGHTRED,string);
}
}
//prosluwka
return true;
}
}
else
{
format(string, sizeof(string), " %d не активный игрок.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return true;
}
