Доступ к архиву

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

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

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

Исправляем баг с арендой авто в моде rls

Статус
В этой теме нельзя размещать новые ответы.

Murder

Умник
Добрый день все, не нашёл на форуме исправление этого бага, если кто не знает он заключается в том , что когда берёшь транспорт в аренду можешь сесть в другой и не арендовать его, так вот сейчас я расскажу как вам его исправить, возмём например аренду такси:
Код:
if(newcar >= taxicar[0] && newcar <= taxicar[23]) 
        { 
        if(arenda[playerid] != 1) 
        { 
        ShowPlayerDialog(playerid,2343,DIALOG_STYLE_MSGBOX,"Аренда","Вы хотите арендовать такси за 500?","Да","Нет"); 
        TogglePlayerControllable(playerid, 0); 
        { 
            if(PlayerInfo[playerid][pJob] == 4 && PlayerInfo[playerid][pMember] == 0) {SendClientMessage(playerid, COLOR_WHITE, "Введите: /fare - чтобы установить тариф"); } 
            else 
            { 
                SendClientMessage(playerid, COLOR_WHITE, "Вы не таксист! /gps - Мэрия"); 
                RemovePlayerFromVehicleRich(playerid); 
            } 
        } 
        } 
        }
Код:
	case 2343: 
    { 
        if(response) 
        { 
                if(PlayerInfo[playerid][pCash] < 500) 
                { 
                    SendClientMessage(playerid, COLOR_RED, "Недостаточно денег"); 
                    RemovePlayerFromVehicleRich(playerid); 
                    TogglePlayerControllable(playerid, 1); 
                    return 1; 
                } 
				arenda[playerid] = 1;
                PlayerInfo[playerid][pCash] -= 500; 
				FracBank[0][fKazna] += 5000;
                TogglePlayerControllable(playerid, 1); 
                SendClientMessage(playerid, COLOR_GREEN, "Вы арендовали такси"); 
                return 1; 
        } 
        else 
        { 
            RemovePlayerFromVehicleRich(playerid); 
            TogglePlayerControllable(playerid, 1); 
            return 1; 
        } 
    }
Ну так вот здесь идёт проверка на аренду по человеку. Сейчас мы сделаем проверку на автомобиль:
PHP:
        if(newcar >= taxicar[0] && newcar <= taxicar[23]) 
        { 
        if(arenda[caridi] != 1) 
        { 
        ShowPlayerDialog(playerid,2343,DIALOG_STYLE_MSGBOX,"Аренда","Вы хотите арендовать такси за 500?","Да","Нет"); 
        TogglePlayerControllable(playerid, 0); 
        { 
            if(PlayerInfo[playerid][pJob] == 4 && PlayerInfo[playerid][pMember] == 0) {SendClientMessage(playerid, COLOR_WHITE, "Введите: /fare - чтобы установить тариф"); } 
            else 
            { 
                SendClientMessage(playerid, COLOR_WHITE, "Вы не таксист! /gps - Мэрия"); 
                RemovePlayerFromVehicleRich(playerid); 
            } 
        } 
        } 
        }
PHP:
	case 2343: 
    { 
        if(response) 
        { 
		new caridi = GetPlayerVehicleID(playerid);
                if(PlayerInfo[playerid][pCash] < 500) 
                { 
                    SendClientMessage(playerid, COLOR_RED, "Недостаточно денег"); 
                    RemovePlayerFromVehicleRich(playerid); 
                    TogglePlayerControllable(playerid, 1); 
                    return 1; 
                } 
				arenda[caridi] = 1;
                PlayerInfo[playerid][pCash] -= 500; 
				FracBank[0][fKazna] += 5000;
                TogglePlayerControllable(playerid, 1); 
                SendClientMessage(playerid, COLOR_GREEN, "Вы арендовали такси"); 
                return 1; 
        } 
        else 
        { 
            RemovePlayerFromVehicleRich(playerid); 
            TogglePlayerControllable(playerid, 1); 
            return 1; 
        } 
    }
Ну вот и всё проблема решена арендуется только одно авто, если сесть в другое снова запросит аренду, и ещё добавте в паблики : OnPlayerDisconnect и OnPlayerDeath
PHP:
new caridi = GetPlayerVehicleID(playerid);
arenda[caridi] = 0;
Автор : Murder
Думаю многим пригодится так что если дадите плюс я не обижусь
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу