Emiliano 39 Опубликовано 11 марта, 2016 Ребят выручайте! Наделал тут. Проблема заключаться в том, что после аренды такси и перезахода в авто меня выкидывает из него и пишет мол вы уже арендовали транспорт. Когда вводишь команду /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 288 Опубликовано 11 марта, 2016 17 диалог покажи Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Emiliano 39 Опубликовано 12 марта, 2016 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 288 Опубликовано 12 марта, 2016 (изменено) Вот на эту проверку сами посмотрите внимательно, говно-код короче. 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) Изменено 12 марта, 2016 пользователем Ryslik42 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты