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

Работа такси

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

Emiliano

Ребят выручайте! Наделал тут.

Проблема заключаться в том, что после аренды такси и перезахода в авто меня выкидывает из него и пишет мол вы уже арендовали транспорт. Когда вводишь команду /unrent и садишься в авто ничего не вылазит и ты спокойно можешь ездить в этом авто. Помогите решить эту проблему. 

 	if(newstate == PLAYER_STATE_DRIVER)
	{
	if(GetPlayerVehicleID(playerid) >= taxcar[0] && GetPlayerVehicleID(playerid) <= taxcar[5])
	{
	if(Player[playerid][pTaxyJob] == 0)
	{
	SCM(playerid, -1, "{FFFFFF}У вас нет лицензии на вождение {FFB675}такси!");
	RemovePlayerFromVehicle(playerid);
	}
	if(taxrend[playerid] != GetPlayerVehicleID(playerid) && taxrend[playerid] == 1)
	{
	SCM(playerid, -1, "{FFFFFF}Вы уже арендовали {FFB675}транспорт!");
	SCM(playerid, -1, "{FFFFFF}Чтобы отменить аренду введите: {FFB675}/unrent");
	RemovePlayerFromVehicle(playerid);
	return 1;
	}
	else
	{
	if(taxrend[playerid] == INVALID_VEHICLE_ID)
	{
  	SPD(playerid, 17, DSM, "{A2E38A}Такси", "{FFFFFF}Вы действительно хотите арендовать {56BAFC}такси?\n{FFFFFF}Стоймость аренды такси: {56BAFC}100руб.", "Аренда", "Выход");
	}
	}
	}
	}
CMD:unrent(playerid)
{
	if(taxrend[playerid] == 0) return SCM(playerid, -1, "{FFFFFF}Вы не арендовывали {FFB675}автомобиль!");
	if(taxrend[playerid] == 1)
	{
	taxrend[playerid] = 0;
	SCM(playerid, -1, "{FFFFFF}Вы отменили аренду {FFB675}автомобиля!");
	}
	return true;
}

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


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

17 диалог покажи

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


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

case 17:
{
if(response)
{
if(Player[playerid][pMoney] SCM(playerid, -1, "{FFFFFF}Вы успешно арендовали {56BAFC}такси!");
SCM(playerid, -1, "{FFFFFF}Ожидайте {56BAFC}заказов!");
Player[playerid][pMoney] -= 100;
taxrend[playerid] = 1;
}
}

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


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

Вот на эту проверку сами посмотрите внимательно, говно-код короче.

if(taxrend[playerid] != GetPlayerVehicleID(playerid) && taxrend[playerid] == 1)

Для чего вы сравниваете значени texrend с ид-ом авто в котором сидит игрок, если значение вы приравниваете всегда к единице?

 

Вам нужно изменить taxrend[MAX_PLAYERS]; на taxrend[MAX_VEHICLES];

Чтобы у вас именно было занято авто, а не игрок

 

А так же, в 17 диалог добавьте

taxrendid[playerid] = GetPlayerVehicleID(playerid);

и проверку поменяйте 

if(taxrendid[playerid] != GetPlayerVehicleID(playerid) && taxrend[playerid] == 1)
Изменено пользователем Ryslik42
  • Like 1

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


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

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

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

×

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

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