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

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

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

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

проблема с командами /oban /ban

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

San0

Новичок
Всем привет. На днях тстирвал мод, и не смог забанить читера. Пришлось банить 3 wanr ами
Вот собственно команды
/ban
Код:
CMD:ban(playerid, params[]) { new string[144];
	if(!pl->isAdmin(playerid, STD_ADMIN)) return Send(playerid, COLOR_GREY, "* Недостаточно прав!");
	if(sscanf(params, "uis[64]", params[0], params[1], temp)) return Send(playerid, COLOR_GREY, "Введите: /ban [id] [days (1-360)] [reason]");
	if(!IsPlayerConnected(params[0])) return Send(playerid, COLOR_GREY, "* Этот игрок не подлючен!");
	if(pl->Info[params[0]][pID] == -1) return Send(playerid, COLOR_GREY, "* Этот игрок не зарегистрирован!");
	if(pl->isAdmin(params[0], 1) && !IsPlayerAdmin(playerid)) return Send(playerid, COLOR_GREY, "* Нельзя банить админа!");
	static const maxdays[] = {0, 10, 20, 60, 90, 360};
	if(!(1 <= params[1] <= maxdays[pl->Info[playerid][pAdmin]])) {
		format(string, sizeof string, "* Кол-во дней бана может быть от 1 до %i!", maxdays[pl->Info[playerid][pAdmin]]);
		Send(playerid, COLOR_GREY, string);
	} else {
		AddBanList(params[0], playerid, params[1]*1440, temp, 1);
	}
	return 1;
}
Команда /oban
Код:
CMD:oban(playerid, params[]) { new string[144], sendername[24], playername[24];
	if(!pl->isAdmin(playerid, SENIOR_ADMIN)) return Send(playerid, COLOR_GREY, "* Недостаточно прав!");
	if(sscanf(params, "s[24]is[64]", playername, params[0], temp)) return Send(playerid, COLOR_GREY, "Введите: /oban [id] [days (1-360)] [reason]");
	if(IsPlayerConnected(ReturnUser(playername))) return Send(playerid, COLOR_GREY, "* Этот игрок подлючен!");
	static const maxdays[] = {0, 10, 20, 60, 90, 360};
	if(!(1 <= params[0] <= maxdays[pl->Info[playerid][pAdmin]])) {
		format(string, sizeof string, "* Кол-во дней бана может быть от 1 до %i!", maxdays[pl->Info[playerid][pAdmin]]);
		Send(playerid, COLOR_GREY, string);
	}

	new banid = GetIDFormName(playername);
	if(banid == -1) return Send(playerid, COLOR_GREY, "* Нет такого игрока на сервере!");
	if(isBanned(banid)) return Send(playerid, COLOR_GREY, "* Этот игрок уже забанен!");

	new unbandate, currdate = gettime(), reason[64];
	unbandate = currdate + (params[0]*1440)*60;
	db->real_escape_string(temp, reason);
	GetPlayerName(playerid, sendername, 24);
	format(query, sizeof query, "INSERT INTO `"#db_PREFIX"banned` (`user_id`,`admin_id`,`date`,`unbandate`,`reason`) VALUES (");
	scf(query, src, "'%i','%i',", banid, pl->Info[playerid][pID]);
	scf(query, src, "'%i','%i','%s')", currdate, unbandate, reason);
	db->query(query, playerid);

	format(query, sizeof query, "[OFFBAN] Админ %s забанил игрока %s, причина: %s", sendername, playername, reason);
	SendToAdmin(COLOR_LIGHTBLUE, query, 1, 3);
	return 1;
}
stock бана (AddBanList)
Код:
stock AddBanList(playerid, adminid, mins, reason[], type = 1) {
	new unbandate, currdate = gettime();
	unbandate = currdate + mins*60;

	new safestr[36];
	db->real_escape_string(reason, safestr);
	format(query, sizeof query, "INSERT INTO `"#db_PREFIX"banned` (`user_id`,`admin_id`,`ip`,`date`,`unbandate`,`reason`) VALUES (");
	scf(query, src, "'%i','%i','%s',", pl->Info[playerid][pID], adminid==-1 ? adminid : pl->Info[adminid][pID], GetPIP(playerid));
	scf(query, src, "'%i','%i','%s')", currdate, unbandate, safestr);
	db->query(query, playerid);

	switch(type) {
		case 1 : {
			format(query, sizeof query, "*[RP]GrandWorld: %s был забанен администратором %s, причина: %s", GetName(playerid), GetName(adminid), reason);
			SendToAll(COLOR_LIGHTRED, query);
		}
		case 2 : {
			format(src, sizeof(src), "* Вы были забанены, причина: %s", reason);
			Send(playerid, COLOR_LIGHTRED, src);
			format(src, sizeof(src), "[AdmWarn] * %s[%i] был забанен, причина: %s", GetName(playerid), playerid, reason);
			SendToAdmin(COLOR_LIGHTRED, src, 1, 3);
		}
		case 3 : {
			format(src, sizeof(src), "* Вы были забанены, причина: %s", reason);
			Send(playerid, COLOR_LIGHTRED, src);
			format(src, sizeof(src), "[античит] * %s[%i] был забанен, причина: %s", GetName(playerid), playerid, reason);
			SendToAdmin(COLOR_LIGHTRED, src, 1, 1);
		}
		default : {
			format(query, sizeof query, "[SBAN] Админ %s забанил игрока %s[%i], причина: %s", GetName(adminid), GetName(playerid), playerid, reason);
			SendToAdmin(COLOR_LIGHTBLUE, query, 1, 3);
		}
	}
	return BanEx(playerid, reason);
}
Прошу помочь, так как не могу понять в чм проблема, весь сток пересмтрел, что-то не втуплю
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу