Доступ к готовым решениям

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

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

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

Респавн авто и отмена спавна последнего транспорта

A-G Арслан

Изучающий
Пользователь
Регистрация
24 Дек 2012
Сообщения
734
Лучшие ответы
0
Репутация
118
Ко всем new добавить:
PHP:
new gLastCar[MAX_PLAYERS];
new allspcarstimeview = 0;
new killallspcarstime;
new killallspcars;
В OnPlayerConnect:
PHP:
gLastCar[playerid] = -1;
В OnPlayerSpawn или ваш паблик spawn'a:
PHP:
gLastCar[playerid]          = -1;
Далее ищем такую строчку:
PHP:
if(newstate == PLAYER_STATE_DRIVER) //Когда игрок сел в машину 
{
И после вставляем:
PHP:
gLastCar[playerid] = newcar;
В enum pInfo:
PHP:
pNoSpcars,
Далее ко всем пабликам/стокам добавить сток(Если есть заменить на этот):
PHP:
stock IsVehicleOccupied(vehicleid)
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if (IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER) return 1;
		if (gLastCar[i] == vehicleid && PlayerInfo[i][pNoSpcars] == 1)
		{
		    PlayerInfo[i][pNoSpcars] = 0;
			return 1;
		}
	}
	return 0;
}
forward allspcars();
forward allspcarstime();
public allspcars()
{
	KillTimer(killallspcarstime);
	for(new c=0; c<MAX_VEHICLES; c++)
	{
		if(!IsVehicleOccupied(c))
		{
		    if (!IsATrailer(c))	SetVehicleToRespawn(c);
		}
	}
	SendClientMessageToAll(COLOR_BLUE, " Сервер: Все не занятые людьми машины обновлены");
	return 0;
}
public allspcarstime()
{
	new string[20];
	if (allspcarstimeview >=0)
	{
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{

				format(string, sizeof(string), "~y~%d", allspcarstimeview);
				GameTextForPlayer(i, string, 1000, 6);
			}
		}
		allspcarstimeview --;
	}
	return 1;
}
Теперь ко всем командам в OnPlayerCommandText:
[HIDE=5]
PHP:
else if(strcmp(cmd, "/ns", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			if(gLastCar[playerid] != -1 && PlayerInfo[playerid][pNoSpcars] != 1)
			{
				PlayerInfo[playerid][pNoSpcars] = 1;
				SendClientMessage(playerid, COLOR_WHITE, "Ваш последний транспорт не будет спавниться");
			}
		}
		return true;
	}
и команду:
PHP:
else if(strcmp(cmd, "/spcars", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
		    if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!");
			KillTimer(killallspcarstime);
			KillTimer(killallspcars);
			format(string, sizeof(string), " %s: Внимание автореспавн через 10 секунд", sendername);
			SendClientMessageToAll(COLOR_BLUE, string);
			SendClientMessageToAll(COLOR_BLUE,  " *Если хотите чтобы ваш последний транспорт не спавнился введите {FFFFFF}/ns");
			killallspcars = SetTimer("allspcars", 11000, 0);
			killallspcarstime = SetTimer("allspcarstime",1000,true);
			allspcarstimeview = 10;
		}
		return 1;
	}
Команды на ZCMD:
PHP:
CMD:ns(playerid, params[])
{
	if(!IsPlayerConnected(playerid)) return true;
	{
		if(gLastCar[playerid] != -1 && PlayerInfo[playerid][pNoSpcars] != 1)
		{
			PlayerInfo[playerid][pNoSpcars] = 1;
			SendClientMessage(playerid, COLOR_WHITE, "Ваш последний транспорт не будет спавниться");
		}
	}
	return true;
}
CMD:spcars(playerid, params[])
{
	if(!IsPlayerConnected(playerid)) return true;
	if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду!");
	KillTimer(killallspcarstime);
	KillTimer(killallspcars);
	format(string, sizeof(string), " %s: Внимание автореспавн через 10 секунд", sendername);
	SendClientMessageToAll(COLOR_BLUE, string);
	SendClientMessageToAll(COLOR_BLUE,  " *Если хотите чтобы ваш последний транспорт не спавнился введите {FFFFFF}/ns");
	killallspcars = SetTimer("allspcars", 11000, 0);
	killallspcarstime = SetTimer("allspcarstime",1000,true);
	allspcarstimeview = 10;
	}
	return true;
}
[/HIDE]

Автор: Umid_Sam
 
Последнее редактирование:
Сверху Снизу