В теме 9 сообщений

С помощью данного мануала, вы сможете запретить игрокам ездит на крыше, ведь мне кажется, что это nonRP. А как кажется вас? Поделись с этим в комментариях. 

Когда скорость авто более 30 км/ч игрока скинет, да и еще отнимет 15 ХП. 

А сейчас к мануалу.

Ко всем forward в моде:

forward NoRoof(playerid);
forward anim2(playerid);

В OnPlayerConnect (если нет индивидуального секундного таймера):

SetTimerEx("NoRoof", 1000, true, "i", playerid);

Далее создаем функцию. В любое место мода, главное не в сток и не в паблик:
 

public NoRoof(playerid)
{
    new carid = GetPlayerSurfingVehicleID(playerid); // получаем айди авто на котором игрок
    if(carid != INVALID_VEHICLE_ID ) // если айди правильный(тоесть игрок на авто)
    {
        new Float:speed = GetVehicleSpeed(carid); // получаем скорость авто
        new cm=GetVehicleModel(carid); // получаем модель авто
        switch(cm)
        {
            case 430,446,452,453,454,472,473,484,493,595:{return 1;} // если это лодка, скидывать ненадо)
        }
        if(speed > 30) // Если скорость больше 30км\час
        {
            new Float:slx, Float:sly, Float:slz;
            GetPlayerPos(playerid, slx, sly, slz);
            SetPlayerPos(playerid, slx, sly, slz+2.5); // Немного подкинем игрока чтоб он не остался на авто
            ApplyAnimation(playerid, "ped", "BIKE_fallR", 4.0, 0, 1, 0, 0, 0,0); // Применим анимку падения
            new Float:hp;
            GetPlayerHealth(playerid, hp);
            SetPlayerHealth(playerid, hp-15); // Отнимем 15хп
            SetTimerEx("anim2", 1100, 0, "d", playerid); // Поставим на таймер анимку чтобы игрок нормально встал
        }
    }
    return 1;
}

Чуть ниже того кода, который вставили:

public anim2(playerid)
{
        ApplyAnimation(playerid, "ped", "getup", 4.0, 0, 1, 0, 0, 0,0);
        return 1;
}

Если функции определения скорости нет, добавляем в конец мода:

stock GetVehicleSpeed(vehicleid)
{
    new Float:Px,Float:Py,Float:Pz;
    GetVehicleVelocity(vehicleid,Px,Py,Pz);
    return floatround(floatsqroot(Px*Px+Py*Py+Pz*Pz) * 100.0);
}

Автор: неизвестен.

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


Ссылка на сообщение
Поделиться на другие сайты
kusehsup
Постоянный
3 часа назад, HAPKOMAH сказал:

Как систему доработать, что бы администрация могла ездить на крыше?

Поставить проверку на админа ^_^

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


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

@HAPKOMAH я кого-то обвинял? Вам 150 раз одно и то же скидывали, вы все равно спрашиваете и задаете одни и те же вопросы. Что-бы что-то изучать, нужно это изучать. 

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


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

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

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

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

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


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

Войти

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


Войти

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

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

  • Похожий контент

    • HostX_
      От HostX_
      Доброго времени суток!
       
      Ищу маппера для SA-MP проекта в стилистике выживания и постапокалипсиса. Важно уметь создавать атмосферные и аутентичные локации.
       
      Возможно как разовое, так и долгосрочное сотрудничество. Писать только с примерами своих работ.
       
      Discord: hostmoney
      Почта:  host@obscur.tech
    • Vova_Zenko
      От Vova_Zenko
      Подскажите пожалуйста. 
      В моде авто для фракции не через мод вписаны, а покупаются в автосалоне и хранятся в базе данных MySQL. 
      В полиции есть эвакуатор, но с цветографикой гражданского. Хочу добавить две цветографики. towtruck.txd(гражданский) и towtruck1.txd(ДПС). 
      В базе данных есть строка cPaintJob, там тоже менял значение, результата 0.
      Как сделать, чтобы допустим администратор смог поменять цветографику?