MegaScream
Новичок
Ребят помогите что надо прописать здесь чтобы игроку которого кикает/банит админ тоже выдавало причину.А то игроку выводиться только "server closed the connection" но админам и остальным игрокам видна причина...
Вот код на данный момент
/kick
Вот с /ban
Пожалуйста напишите где что надо добавить?Заранее спасибо
Вот код на данный момент
/kick
PHP:
else if(strcmp(cmd, "/kick", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Ââåäèòå: /kick [id] [ïðè÷èíà]");
if (dostup[playerid] != 1) return SPD(playerid,2934,DIALOG_STYLE_INPUT,"Äîñòóï àäìèíèñòðàòîðà","Ââåäèòå ïàðîëü îò àäìèíèñòðàòèâíîé ïàíåëè","Îê","Îòìåíà");
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pAdmin] > 8) return SendClientMessage(playerid, COLOR_GRAD2, "Àäìèíèñòðàòîð íå ìîæåò áûòü êèêíóò!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
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)) return SendClientMessage(playerid, COLOR_WHITE, "::: Ââåäèòå: /kick [id] [ïðè÷èíà]");
new year, month,day;
getdate(year, month, day);
PlayerInfo[giveplayerid][pRp] -=5;
format(string, sizeof(string), "Àäìèíèñòðàòîð %s êèêíóë %s. Ïðè÷èíà: %s", sendername,giveplayer, (result));
SendClientMessageToAll(COLOR_LIGHTRED, string);
Kick(giveplayerid);
return true;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "[Îøèáêà] Èãðîê íå íàéäåí!");
}
}
return true;
}
PHP:
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçîâàíèå: /ban [id] [Êîëè÷åñòâî äíåé] [ïðè÷èíà]");
return true;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçîâàíèå: /ban [id] [Êîëè÷åñòâî äíåé] [ïðè÷èíà]");
new days = strval(tmp);
new reason[128];
reason = bigstr(cmdtext, idx);
if (!strlen(reason)) return SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçîâàíèå: /ban [id] [Êîëè÷åñòâî äíåé] [ïðè÷èíà]");
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new year1, month1, day1, hour1, minute1, second1;
getdate(year1, month1, day1);
gettime(hour1, minute1, second1);
new year,month,day;
getdate(year, month, day);
day += days;
if (IsMonth31(month))
{
if (day > 31)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 31) day -= 31;
}
else while(day > 31) day -= 31;
}
}
else if (!IsMonth31(month))
{
if (day > 30)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 30) day -= 30;
}
else while(day > 30) day -= 30;
}
}
else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
{
if (day > 29)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 29) day -= 29;
}
else while(day > 29) day -= 29;
}
}
else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
{
if (day > 28)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 28) day -= 28;
}
else while(day > 28) day -= 28;
}
}
PlayerInfo[giveplayerid][pLocked] = 1;
format(string,256," Àäìèíèñòðàòîð %s çàáàíèë %s íà %d äíåé, ïðè÷èíà: %s.",sendername,giveplayer,days,reason);
SendClientMessageToAll(COLOR_LIGHTRED,string);
format(string,256,"%s, ïðîäîëæèòåëüíîñòü: %d, ïðè÷èíà: %s, äàòà ðàçáàíà:(%d.%d.%d)",sendername,days,reason, day, month, year);
BanEx(giveplayerid, string);
}
else
{
format(string, sizeof(string), " %d íå àêòèâíûé èãðîê.", giveplayerid);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Âû íå àäìèíèñòðàòîð!");
return true;
}
}
return true;
}
