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

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

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

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

Отсчет времени

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

tryp

Изучающий
Пользователь
Регистрация
17 Авг 2011
Сообщения
483
Лучшие ответы
0
Репутация
161
Всем доброе время суток.Видел что на сервах делаю отсчет в чат(тоесть сами пишут) но я сделал более удобнее!
для начало идем в Public OnPlayerCommandText
PHP:
	if (strcmp(cmd, "/cd", true) == 0 || strcmp(cmd, ".св", true) == 0)
	{
		if (PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GRAD1, " Нет прав на использование команды!");
		//if(cd_sec>0) return SendClientMessage(playerid, COLOR_GRAD1, " Антинуб: отсчет уже запущен!");
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid,COLOR_WHITE,"/cd [время] [заморозка 1-да/0-нет , 2(рядом),3=рестарт");
			return 1;
		}
		cd_sec = strval(tmp);
		if(cd_sec < 0||cd_sec >1000)
		{
			SendClientMessage(playerid,COLOR_WHITE,"/cd [время] [заморозка 1-да/0-нет , 2(рядом),3=рестарт");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid,COLOR_WHITE,"/cd [время] [заморозка 1-да/0-нет , 2(рядом),3=рестарт");
			return 1;
		}
		cd_f = strval(tmp);
		if(cd_f < 0 || cd_f > 2)
		{
			SendClientMessage(playerid,COLOR_WHITE,"/cd [время] [заморозка 1-да/0-нет , 2(рядом),3=рестарт]");
			return 1;
		}
		if(cd_f == 1)
		{
			for(new i=0;i<GetMaxPlayers();i++)
			{
				if(gPlayerLogged[i])
				{
					TogglePlayerControllable(i,0);
	   				SendClientMessage(i, COLOR_GRAD1, " Администратор заморозил тебя на время отсчета.");
				}
			}
		}
		if(cd_f == 2)
		{
 			for(new i = 0; i < GetMaxPlayers(); i++)
   			{
 				if(GetDistanceBetweenPlayers(playerid,i) < 32 && playerid != i )
 				{
  					SetPlayerHealth(i,100);
					TogglePlayerControllable(i, 0);
	   				SendClientMessage(i, COLOR_GRAD1, " Администратор заморозил тебя на время отсчета.");
   				}
			}
		}
		cd_timer = SetTimer("CountDown",1000,3);
		return 1;
    }
дальше идем в конец мода и суем вот это!
PHP:
forward CountDown(mode);
public CountDown(mode)
{
	if(cd_sec == 0)
	{
		GameTextForAll("~r~™O!",1000,3);
		KillTimer(cd_timer);
		if(cd_f == 1 || cd_f == 2)
		{
			for(new i=0;i<GetMaxPlayers();i++)
			{
				if(gPlayerLogged[i])
				{
					TogglePlayerControllable(i,1);
					PlayerPlaySound(i, 1056, 0, 0, 0);
				}
			}
		}
		else if(cd_f == 3) GameModeInitExitFunc();
	}
	else
	{
		new string[128];
		format(string,sizeof(string),"~g~%d",cd_sec);
		GameTextForAll(string,1000,3);
		for(new i=0;i<GetMaxPlayers();i++)
		{
			if(gPlayerLogged[i])
			{
				PlayerPlaySound(i, 1057, 0, 0, 0);
			}
		}
	}
	cd_sec = cd_sec-1;
	return 1;
}
и создаем new
PHP:
new cd_f=0,cd_sec=0,cd_timer=0;
отсчеты можно делать от 0 и до 1к
данная команда хорошо подойдет для серверов: дм, тдм, дрифт, рп!
от ++сов не откажусь!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу