Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Команды /ban /sban /kick /skick

Статус
В этой теме нельзя размещать новые ответы.

Dis'kJokey

Новичок
Доброго времени суток. Помогите пожалуйста с перерписывание команд /ban /sban /kick /skick, чтобы админ не мог забанить админа, чтоб такая возможность была только при уровне 7 админки.


PHP:
CMD:skick(playerid, params[])
{
    if(pData[playerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть кикнут!");
    if(dikg3dadminslogin[playerid] == false) return 1;
    if(!pTemp[playerid][pLogined]) return 1;
	if(pData[playerid][pAdmin] < 4) return 1;
	if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, CYELLOW, "• [Подсказка]:{"#cWHITE"} /skick [id игрока]");
	if(!IsPlayerConnected(params[0]) || IsKicked(params[0])) return SendClientMessage(playerid,CWHITE,"Неверный ID");
	if(!strcmp(pData[params[0]][pNickname], "Ezio_Auditore", true)) return 1;
	if(!strcmp(pData[params[0]][pNickname], "Evan_Basinger", true)) return 1;
	new mes[128];
	format(mes,sizeof(mes), "»[A] Администратор %s тихо кикнул игрока %s",pData[playerid][pNickname],pData[params[0]][pNickname]);
	AdminChat(CGRAY,mes);
	NewKick(params[0]);
	return true;
}
CMD:kick(playerid, params[])
{
    if(pData[playerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть кикнут!");
    if(dikg3dadminslogin[playerid] == false) return 1;
    if(!pTemp[playerid][pLogined]) return 1;
    if(pData[playerid][pAdmin] < 2) return 1;
	if(sscanf(params, "us[36]", params[0], params[1])) return SendClientMessage(playerid, CYELLOW, "• [Подсказка]:{"#cWHITE"} /kick [id игрока] [причина]");
	if(!strcmp(pData[params[0]][pNickname], "Ezio_Auditore", true)) return 1;
	if(!strcmp(pData[params[0]][pNickname], "Evan_Basinger", true)) return 1;
	if(!IsPlayerConnected(params[0]) || IsKicked(params[0])) return SendClientMessage(playerid,CWHITE,"Неверный ID");
	if(IsPlayerNPC(params[0])) return SendClientMessage(playerid, -1, "Бота кикнуть нельзя");
	if(IsIp(params[1]))
    {
		new string[128];
		format(string, sizeof(string), "[АНТИРЕКЛАМА] %s[%d] /kick причина %s [Снят с поста]", pData[playerid][pNickname], playerid, params[1]);
		AdminChat(COLOR_LIGHTRED,string);
		pData[playerid][pAdmin] = 0;
	    UpdatePlayerData(playerid,"admin", pData[playerid][pAdmin]);
	    return true;
    }
	else
	{
		new mes[128];
		format(mes,sizeof(mes), "Администратор %s кикнул игрока %s. Причина: %s",pData[playerid][pNickname],pData[params[0]][pNickname],params[1]);
		SendAdminMessage(COLOR_LIGHTRED,mes,params[0]);
		NewKick(params[0]);
	}
	return true;
}
CMD:ban(playerid, params[])
{
    if(pData[playerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть забанен!");
    if(dikg3dadminslogin[playerid] == false) return 1;
    if(!pTemp[playerid][pLogined]) return 1;
    if(pData[playerid][pAdmin] < 3) return 1;
	if(sscanf(params, "uds[36]", params[0], params[1], params[2])) return SendClientMessage(playerid, CYELLOW, "• [Подсказка]:{"#cWHITE"} /ban [id игрока] [кол-во дней] [причина]");
	if(!IsPlayerConnected(params[0]) || IsKicked(params[0])) return SendClientMessage(playerid,CWHITE,"Неверный ID");
	if(!strcmp(pData[params[0]][pNickname], "Ezio_Auditore", true)) return 1;
	if(!strcmp(pData[params[0]][pNickname], "Evan_Basinger", true)) return 1;
	if(!pData[params[0]][pMysqlID])
	{
		NewKick(params[0]);
		return SendClientMessage(playerid,CWHITE,"Этот игрок не зарегистрирован, поэтому был кикнут");
	}
	if(params[1] < 1 || params[1] > 30 && pData[playerid][pAdmin] < 5) return SendClientMessage(playerid,CWHITE,"Неверное к-во дней");
	if(params[1] < 0 || params[1] > 30 && pData[playerid][pAdmin] >= 5) return SendClientMessage(playerid,CWHITE,"Неверное к-во дней");
	if(IsIp(params[2]))
    {
		new string[128];
		format(string, sizeof(string), "[АНТИРЕКЛАМА] %s[%d] /ban причина %s [Снят с поста]", pData[playerid][pNickname], playerid, params[2]);
		AdminChat(COLOR_LIGHTRED,string);
		pData[playerid][pAdmin] = 0;
	    UpdatePlayerData(playerid,"admin", pData[playerid][pAdmin]);
	    return true;
    }
    else
    {
		new mes[128];
		ServerBan(playerid,params[0],params[1],params[2]);
		format(mes,sizeof(mes),"Администратор %s[%d] забанил игрока %s на %d дней. Причина: %s",pData[playerid][pNickname],playerid,pData[params[0]][pNickname],params[1],params[2]);
		SendClientMessageToAll(COLOR_LIGHTRED,mes);
		NewKick(params[0]);
	}
	return true;
}
CMD:sban(playerid, params[])
{
    if(pData[playerid][pAdmin] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "Администратор не может быть забанен!");
    if(dikg3dadminslogin[playerid] == false) return 1;
    if(!pTemp[playerid][pLogined]) return 1;
    if(pData[playerid][pAdmin] < 6) return 1;
	if(sscanf(params, "uds[36]", params[0], params[1], params[2])) return SendClientMessage(playerid, CYELLOW, "• [Подсказка]:{"#cWHITE"} /sban [id игрока] [кол-во дней] [причина]");
	if(!IsPlayerConnected(params[0]) || IsKicked(params[0])) return SendClientMessage(playerid,CWHITE,"Неверный ID");
	if(!strcmp(pData[params[0]][pNickname], "Ezio_Auditore", true)) return 1;
	if(!strcmp(pData[params[0]][pNickname], "Evan_Basinger", true)) return 1;
	if(!pData[params[0]][pMysqlID])
	{
		NewKick(params[0]);
		return SendClientMessage(playerid,CWHITE,"Этот игрок не зарегистрирован, поэтому был кикнут");
	}
	if(params[1] < 1 || params[1] > 300) return SendClientMessage(playerid,CWHITE,"Кол-во дней [1-300]");
	new mes[128];
	ServerBan(playerid,params[0],params[1],params[2]);
	format(mes,sizeof(mes), "[A] Администратор %s[%d]  тихо забанил игрока %s на %d дней. Причина: %s",pData[playerid][pNickname],playerid,pData[params[0]][pNickname],params[1],params[2]);
	AdminChat(CRED,mes);
	NewKick(params[0]);
	return true;
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу