Как найти дыру в команде.
Вообщем такая проблема в команде /call дыра , игрок звонит другому игроку и пока он не взял пишет в чат и другие игроки это всё видят, с помощью этого рекламят.
Код:
PHP код:
else if(strcmp(cmd, "/call", true) == 0)
{
if(PlayerInfo[playerid][pBank] <= 0)
{
format(stringer, sizeof(stringer), "[0] Ñóììà íà âàøåì ñ÷åòó íå äîñòàòî÷íà äëÿ ñîâåðøåíèÿ çâîíêà");
if(PlayerInfo[playerid][pPayDayHad] < 4) return SendClientMessage(playerid, COLOR_STANDART, "{BBBBBB}[Îøèáêà] ×òî-áû Ïîçâîíèòü âàì íóæíî îòûãðàòü 4 ÷àñîâ êàê ìèíèìóì!");
SendClientMessage(playerid, COLOR_GREY, stringer);
format(stringer, sizeof(stringer), "%s íàáèðàåò òåëåôîííûé íîìåð", PlayerInfo[playerid][pNames]);
ProxDetector(5.0, playerid, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return true;
}
if(gag[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Ó Âàñ êëÿï, âû íå ìîæåòå ãîâîðèòü!");
if(takephone[playerid] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Ó Âàñ íåò òåëåôîíà");
tmp = strcharsplit(cmdtext, idx);
if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, 0xff6600AA, "Äîñòóï â ÷àò çàáëîêèðîâàí.");
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, " Ââåäèòå: /call [íîìåð]");
format(stringer, sizeof(stringer), "%s äîñòà¸ò òåëåôîí", PlayerInfo[playerid][pNames]);
ProxDetector(30.0, playerid, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new phonenumb = strval(tmp);
if(phonenumb == PlayerInfo[playerid][pPnumber])
{
SendClientMessage(playerid, COLOR_GRAD2, "Ëèíèÿ çàíÿòà");
SetPlayerSpecialAction(playerid,13);
return true;
}
foreach(Player,i)
{
if(phonenumb == 11888)
{
if(smsls == 0) return SendClientMessage(playerid, COLOR_GREY, "Ïðÿìîé ýôèð îòêëþ÷åí...");
format(stringer, sizeof(stringer), "[Çâîíîê] Â ñòóäèþ çâîíèò %s: Ââåäèòå /yes [%d], ÷òîáû îòâåòèòü",PlayerInfo[playerid][pNames], playerid);
SendFamilyMessage(16, COLOR_YELLOW2, stringer);
SendClientMessage(playerid, COLOR_WHITE, "×òîáû ïîâåñèòü òðóáêó ââåäèòå /h");
SetPlayerSpecialAction(playerid,11);
zvonok[playerid] = 1;
PlayerInfo[playerid][pBank] -= smspricels;
FracBank[0][fLsnews] += smspricels;
return true;
}
if(Mobile[playerid] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD2, "Âû óæå ðàçãîâàðèâàåòå ïî òåëåôîíó ");
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
{
giveplayerid = i;
Mobile[playerid] = giveplayerid; //caller connecting
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PhoneOnline[giveplayerid] > 0) return SendClientMessage(playerid, COLOR_GREY, "Òåëåôîí àáîíåíòà âûêëþ÷åí...");
if (Mobile[giveplayerid] == INVALID_PLAYER_ID)
{
format(stringer, sizeof(stringer), "Âõîäÿùèé çâîíîê îò: %s", PlayerInfo[playerid][pNames]);
SendClientMessage(giveplayerid, COLOR_YELLOW2, stringer);
SendClientMessage(giveplayerid, COLOR_WHITE, " Ââåäèòå /p, ÷òîáû îòâåòèòü ");
format(stringer, sizeof(stringer), "Ó %s çâîíèò ìîáèëüíèê", PlayerInfo[giveplayerid][pNames]);
SendClientMessage(playerid, COLOR_WHITE, " ×òîáû çàâåðøèòü çâîíîê ââåäèòå /h ");
ProxDetector(30.0, i, stringer, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerSpecialAction(playerid,11);
CellTime[playerid] = 1;
return true;
}
}
}
}
}
}
SendClientMessage(playerid, COLOR_GRAD2, "Îøèáëèñü íîìåðîì");
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
return true;
}