Перейти к содержанию
Авторизация  
Lev_Elistratov

Проблема с командой

Рекомендуемые сообщения

Lev_Elistratov

Решил я сделать перекраску авто в определённом месте с таймером и заморозкой.

Сначала с просто таймером всё шло отлично, машина перекрашивалась, но с заморозкой игрока машина перестала перекрашиваться.

	if(strcmp(cmd, "/chcolor", true) == 0)
	{
 		if(!PlayerToPoint(30.0,playerid,2562.9187,-2044.8689,21.9431)) return SendClientMessage(playerid, -1, "Вы должны находиться в автомастерской!");
		if(PlayerInfo[playerid][pCKey]==0)
		{
			SendClientMessage(playerid, COLOR_GRAD1, "У вас нет личной машины!");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_GRAD1, "Используйте: /chcolor [0-129] [0-129]");
			return 1;
		}
		//new color=strval(tmp);
		new para1;
		new para2;
		para1 = strval(tmp);
		para2 = strval(tmp);
		//tmp = strtok(cmdtext, idx);
		if(para1<0||para1>129&&para2<0||para2>129)
		{
			SendClientMessage(playerid, COLOR_GRAD1, "Используйте: /chcolor [0-129] [0-129]");
			return 1;
		}
		new summa;
		summa = 5000;
		if(PlayerInfo[playerid][pCash]<summa)
		{
			SendClientMessage(playerid, COLOR_GRAD1, "У вас недостаточно денег!");
			return 1;
		}
/*		for(new i5=0; i5<MAX_PLAYERS;i5++)
		{
			if(IsPlayerConnected(i5)&&gPlayerLogged[i5]==1)
			{
				if(IsPlayerInVehicle(i5,GetVID(PlayerInfo[playerid][pCKey])))
				{
					SendClientMessage(playerid, COLOR_GRAD1, "В машине кто-то находится!");
					return 1;
				}
			}
		}*/
		TogglePlayerControllable(playerid, 0);
		GameTextForPlayer(playerid, "~y~T/C ®A ЊOKPACKE", 5000, 3);
		SetTimerEx("UnFreezePlayer", 5*1000, false, "i", playerid);
		SetPVarInt(playerid,"InPerekras",1);
		return 1;
	} 
forward UnFreezePlayer(playerid);
public UnFreezePlayer(playerid)
{
	if(GetPVarInt(playerid,"InPerekras") == 1)
	{
	    new para1;
		new para2;
		new string[128];
	    new summa;
		summa = 5000;
		format(string,sizeof(string),"Вы поменяли цвет машины за %d рублей.",summa);
		GivePlayerMoney(playerid,-summa);
		ChangeVehicleColor(GetVID(PlayerInfo[playerid][pCKey]),para1,para2);
		VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe1]=para1;
		VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe2]=para2;
		PlayerInfo[playerid][pCash]-=summa;
		SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		SavePlayer(playerid);
		SaveCar(PlayerInfo[playerid][pCKey]);
		SetPVarInt(playerid,"InPerekras",0);
		TogglePlayerControllable(playerid, 1);
	}
} 

В чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

А для чего делать заморозку сделай что бы игрок заехал в опредёлный гараж и он закрылся а после перекраски открылся!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lev_Elistratov

@Na'Vi, Я хотел сделать так: Человек заезжает в сервис, пишет команду, перекрашивается (Для этого и таймер на 5 секунд) и после уезжает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Na'Vi

@Lev_Elistratov, аа ты вон как хотел, а готовую систему не можешь вырезать насколько я знаю в Геймере есть такая! вроде версия 5.1 там команда /carcolor

Изменено пользователем Na'Vi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lev_Elistratov
@Na'Vi,так я взял команду /chcolor и переделал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Происходит заморозка с помощью TogglePlayerControllable, по этому и не происходит покраски.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lev_Elistratov

, и на какую функцию переделать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Как вариант: вызвать функцию покраски после разморозки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.