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

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

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

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

/offwarn /offban

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

DonJefferi

Умник
/offwarn /offban
Помогите нужны команды /offwarn [Ник] [Причина] и /offban [Ник] [Дни] [Причина]. Для DC_CMD SSCANF MSQL

Код:
CMD:ban(playerid, params[])
{
	if(PlayerLogged[playerid] == 0) return true;
	if(PlayerInfo[playerid][pAdmin] < 11 || AdminLogged[playerid] == false) return true;
	new ip[32], data[32], unbandate;
	new string[128];
	if(sscanf(params, "ids[32]", params[0], params[1], params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /ban [id игрока] [кол-во дней] [причина]");
	if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYEROFFLINE"");
	if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYERNLOGGED"");
	if(params[1] > 31 || params[1] < 1) return SendClientMessage(playerid, COLOR_GREY, "Кол-во дней от 1 до 31!");
	GetPlayerIp(params[0], ip, 32);
    format(string, 100, "Администратор %s забанил %s на %d дней. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]),params[1], params[2]);
	SendClientMessageToAll(COLOR_LIGHTRED,string);
	getdate(years, months, days);
	unbandate = gettime() + params[1]*86400;
	format(data, 32, "%02d.%02d.%04d", days, months, years);
	format(query, sizeof(query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s','%s', '%s', %d, %d, '%s')", sendername(params[0]), PlayerInfo[playerid][pSendername], ip, data, params[1], unbandate, params[2]);
	mysql_query(query);
	SendClientMessage(params[0], COLOR_WHITE, "Ваш акаунт заблокирован");
	SendClientMessage(params[0], COLOR_RED, "Для выхода /q");
	Kick(params[0]);
	ResetWeapon(params[0]);
	return true;
}
Код:
CMD:warn(playerid, params[])
{
	if(PlayerLogged[playerid] == 0) return true;
	if(PlayerInfo[playerid][pAdmin] < 4 || AdminLogged[playerid] == false) return true;
	new ip[32], data[32], unbandate, string[128];
	if(sscanf(params, "is[128]", params[0], params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /warn [id игрока] [причина]");
	if(!IsPlayerConnected(params[0]) || params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYEROFFLINE"");
	if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, ""TPLAYERNLOGGED"");
	PlayerInfo[params[0]][pWarn]++;
	if(PlayerInfo[params[0]][pWarn] < 3) format(string, sizeof(string), "Администратор %s выдал Warn %s. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]), params[1]);
	else
	{
		PlayerInfo[params[0]][pWarn] = 0;
		GetPlayerIp(params[0], ip, 32);
		format(string, sizeof(string), "Администратор %s забанил %s [Предуприждений: 3/3]. Причина: %s", PlayerInfo[playerid][pSendername], sendername(params[0]), params[1]);
		getdate(years, months, days);
		unbandate = gettime() + 7*86400;
		format(data, 32, "%02d.%02d.%04d", days, months, years);
		format(query, sizeof(query), "INSERT INTO bans (name, whobanned, ip, bandate, time, unbandate, reason) VALUES ('%s', '%s','%s', '%s', 7, %d, '%s')", sendername(params[0]), PlayerInfo[playerid][pSendername], ip, data, unbandate, params[1]);
		mysql_query(query);
	}
	SendClientMessageToAll(COLOR_LIGHTRED, string);
	if(PlayerInfo[params[0]][pLeader] > 0)
	{
		SetFractionStr(PlayerInfo[params[0]][pLeader], "leader", "None");
		strmid(FracInfo[PlayerInfo[params[0]][pLeader]][fLeader],"None",0,strlen("None"),MAX_PLAYER_NAME);
		if(PlayerInfo[params[0]][pLeader] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
		LeaveFractionPlayer(params[0]);
		ResetWeapon(params[0]);
	}
	PlayerInfo[params[0]][pMember] = 0;
	PlayerInfo[params[0]][pLeader] = 0;
	PlayerInfo[params[0]][pRank] = 0;
	Kick(params[0]);
	format(string, sizeof(string), "%s получил предупреждение от администратора %s. Причина: %s", sendername(params[0]), PlayerInfo[playerid][pSendername],params[1]);
	Log("WarnLog",string);
	return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу