Перейти к содержанию
EgorTresh

/spawncars

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

EgorTresh

Не работает /spawncars

CMD:spawncars(playerid, params[])
{
	if(pInfo[playerid][pAdmin] < 4) return false;
	else if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, "[A] Вы не авторизованы. Используйте {33CCFF}/alogin");
    new string[256];
	format(string,sizeof(string), "Администратор {027BEB}%s {FFFFFF}обновит весь незанятый транспорт через {027BEB}40 {FFFFFF}секунд!",GetName(playerid));
	SendClientMessageToAll(COLOR_WHITE,string);
	SetTimerEx("SpcarsAvto",41000,false,"i",playerid);
	if(!IsPlayerInAnyVehicle(playerid))
	{
	    DestroyVehicle(GetPVarInt(playerid, "Arenda"));
		DeletePVar(playerid, "Arenda");
	}
	return true;
}
forward SpcarsAvto(playerid);
public SpcarsAvto(playerid)
{
	new string[256];
	for(new c=0; c<MAX_VEHICLES; c++)
	{
	    if(!IsPlayerInAnyVehicle(c))
		{
	    	DestroyVehicle(GetPVarInt(c, "Arenda"));
			DeletePVar(c, "Arenda");
		}
		UpdateCarInfo(c);
		if(!IsVehicleOccupied(c))
		{
			SetVehicleToRespawn(c);
		}
	}
	format(string,sizeof(string),"Администратор {027BEB}%s {FFFFFF}обновил весь незанятый транспорт!",GetName(playerid));
	SendClientMessageToAll(COLOR_WHITE,string);
	return true;
}

 

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


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

А в чём смысл первого условия в цикле? Цикл проходит по id машин, но использует переменную, как id игроков

for(new c=0; c<MAX_VEHICLES; c++)
	{
	    UpdateCarInfo(c);
		if(!IsVehicleOccupied(c)) SetVehicleToRespawn(c);
	}

Ну и покажите функцию IsVehicleOccupied или проверьте, правильно ли она работает.

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


Ссылка на сообщение
Поделиться на другие сайты
EgorTresh
1 час назад, 16Shadows сказал:

А в чём смысл первого условия в цикле? Цикл проходит по id машин, но использует переменную, как id игроков


for(new c=0; c<MAX_VEHICLES; c++)
	{
	    UpdateCarInfo(c);
		if(!IsVehicleOccupied(c)) SetVehicleToRespawn(c);
	}

Ну и покажите функцию IsVehicleOccupied или проверьте, правильно ли она работает.

stock IsVehicleOccupied(vehicleid)
{
    foreach(new i : Player) if(IsPlayerInVehicle(i,vehicleid)) return 1;
    return 0;
}

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

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

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