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

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

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

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

Делаем плавный шлакбаум на кнопку При нажатии на ALT откроется

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

Kostya0321

Компетентный
Привет всем! Решил выложить работу.

Первым делом в начало мода ко всем new добавим две переменные:
PHP:
new lspdslak1;
new lspdslak;
Потом создадим саму балку шлагбаума в public OnGameModeInit:
PHP:
lspdslak = CreateObject(968, 1544.69,-1631.00,13.10, 0.00,90.00,90.00); //в закрытом положении
968 - ID обьекта.
1544.69,-1631.00,13.10 - координаты по X, Y, Z.
0.00,90.00,90.00 координаты rotation

Итак, сам шлагбаум создали. Теперь нужно его заставить двигаться, и не просто двигаться, а плавно.

Переходим в public OnPlayerCommandText, и вставляем вот эту команду:
PHP:
//==============================================================================
if ((strcmp(cmd, "/slak", true)==0))// сама команда
{
        if(IsPlayerConnected(playerid))//проверка на подключение игрока
        {
        if (PlayerToPoint(15, playerid,1544.69,-1631.00,13.10)) //15 это радиус. Далее проверка где игрок должен находится чтоб сработала команда.
        {
                if((IsACop(playerid)) || (PlayerInfo[playerid][pAdmin]>=1))//проверка на тех кто может его открывать, у меня все законники и модеры с админами.
                {
                        if(lspdslak1 == 0)//проверка на запись в переменной, которую создали выше.
                        {
                                MoveObject(lspdslak, 1544.69,-1630.80,13.00, 0.2, 0.00,0.00,90.00);//здесь ставим координаты открытого шлакбаума, между координатами 0.2 - это скорость, не слишком медленно, но и не быстро.
                                lspdslak1 = 1;//записываем в переменную
                                SetTimer("lspdslakclose", 5000, 0);//запускаем таймер закрытия
                        }
                        else if(lspdslak1 == 1)//проверка на запись в переменной, которую создали выше.
                        {
                                MoveObject(lspdslak,1544.69,-1631.00,13.10, 0.2, 0.00,90.00,90.00);//кординаты закрытого шлакбаума, между координатами 0.2 - это скорость, не слишком медленно, но и не быстро.
                                lspdslak1 = 0;//записываем в переменную
                        }
                }
        }
        }
}
//==============================================================================
Команду открытия/закрытия создали, теперь добавим таймер, чтоб шлагбаум сам закрывался.

PHP:
//==============================================================================
stock lspdslakclose()
{
    if(lspdslak1 == 1)
        {
                MoveObject(lspdslak, 1544.69,-1631.00,13.10, 0.2, 0.00,90.00,90.00);//координаты закрытого шлакбаума, между координатами 0.2 - это скорость, не слишком медленно, но и не быстро.
                lspdslak1 = 0;
        }
}
//==============================================================================
Ну вот и всё закончили самое основное. Осталось это всё сделать на клавишу.
PHP:
//==============================================================================
if (newkeys == KEY_WALK || newkeys == KEY_CROUCH && IsPlayerInAnyVehicle(playerid)) OnPlayerCommandText(playerid,"/slak");
//==============================================================================
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу