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

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

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

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

Команда /offban

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

JimmyJohnson

Новичок
Вот у меня есть команда /ban:
Код:
else if(strcmp(cmd, "/ban", true) == 0)
	{
		if(PINFO[playerid][pAdminLVL] < 2) return SendMe(playerid, CGRADD, YouCanNot);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendMe(playerid, 0xFF0000AA, "- Подсказка:{FFFFFF} /ban [ID] [Кол-во дней] [Причина]");
		giveplayerid = strval(tmp);
		if (!IsPlayerConnected(giveplayerid)) return SendMe(playerid, CGRADD, NotFoundID);
		if(gPlayerLogged[giveplayerid] == false) return SendMe(playerid, CGRADD, NoLogin);
		if(PINFO[giveplayerid][pAdminLVL] > PINFO[playerid][pAdminLVL]) return SendMe(playerid,CGRADD,"Нельзя забанить администратора");
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendMe(playerid, 0xFF0000AA, "- Подсказка:{FFFFFF} /ban [ID] [Кол-во дней] [Причина]");
		new chislo = strval(tmp);
		if(chislo > 20) return SendMe(playerid, 0xFF0000AA, "Подсказка: {FFFFFF}Допустимые значения: 1 - 20");
		if(giveplayerid != INVALID_PLAYER_ID)
		{
			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 SendMe(playerid, 0xFF0000AA, "- Подсказка:{FFFFFF} /ban [ID] [Кол-во дней] [Причина]");
			format(string, sizeof(string), "Администратор %s заблокировал %s. Причина: %s. Дата: [%i/%i/%i]",GN(playerid),GN(giveplayerid),(result),day,month,year);
			SendClientMessageToAll(0xFF0000AA,string);
			new ip[15];
			GetPlayerIp(giveplayerid,ip,15);
			format(string, sizeof(string), "- Ник: [%s] | R-IP: [%s] | L-IP: [%s] | IP: [%s]",GN(giveplayerid),pTemp[giveplayerid][pRegIP_Player],pTemp[giveplayerid][pIP_Player],ip);
			AdminMessege(0xFF0000AA,string,1);
			AddBan(giveplayerid, GN(playerid), chislo, result);
		}
		return true;
	}
Вот моя команда /offban:
Код:
else if(strcmp(cmd, "/offban", true) == 0)
	{
		if(PINFO[playerid][pAdminLVL] < 2) return SendMe(playerid, CGRADD, YouCanNot);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))  return SendMe(playerid, 0xFF0000AA, "- Подсказка:{FFFFFF} /offban [Ник] [Причина]");
		new reason[128];
		reason = bigstr(cmdtext, idx);
		if (!strlen(reason)) return SendMe(playerid, 0xFF0000AA, "- Подсказка:{FFFFFF} /offban [Ник] [Причина]");
		for(new i,namex[MAX_PLAYER_NAME]; i<GetMaxPlayers(); i++)
		{
			if(IsPlayerConnected(i))
			{
				GetPlayerName(i,namex,MAX_PLAYER_NAME);
				if(!strcmp(tmp,namex,true)) return SendMe(playerid, CGRADD, PlayerOnline);
			}
		}
		format(string, sizeof(string), "Files/Players/%s.ini", tmp);
		if(!fexist(string)) return SendMe(playerid,CYELLOW,"Аккаунт не найден");
		if(fexist(string))
		{
			new totalban = 86400*7;
			format(string, sizeof(string), "Files/Players/%s.ini", tmp);
			new File = ini_openFile(string);
			ini_setInteger(File, "BanTime", gettime());
			ini_setInteger(File, "UnBanTime", gettime()+totalban);
			ini_setString(File, "PlayerBan",GN(playerid));
			ini_setString(File, "Reason", reason);
			ini_setInteger(File, "BanStatus", 1);
			ini_closeFile(File);
			format(string, sizeof(string), "[OFFBAN]: Администратор %s: заблокировал %s на 7 дней. Причина: %s ",GN(playerid),tmp,reason);
			log("Offban", string);
			AdminMessege(0xFF0000AA,string,1);
		}
		return true;
	}
Как мне сделать, что бы в команде /offban тоже можно было указывать дни, а не оно само давало бан на 7 дней?Помогите пожалуйста, с меня куча плюсиков!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу