RU/Resource:Realdriveby

From Multi Theft Auto: Wiki

Вступление

RealDriveby - полностью настраиваемый ресурс, предоставляющий гибкую систему driveby (драйвбаев) для вашего сервера.

Все совместимые с драйвбаем оружия GTA, включая дробовики, пистолеты, M4 и AK-47 поддерживаются и данным ресурсом. Задержка между выстрелами для такого оружия, как пистолеты, доведена до нормальной.

По умолчанию пользователи могут переключаться между оружием по клавишам "Vehicle Look Left" и "Vehicle Look Right" в режиме драйвбая.

Как бы то ни было, все это идет на усмотрение админа: используя систему настроек MTA, задержки между выстрелами можно отрегулировать; доступность оружия для драйвбая водителю можно задать; доступность оружия для драйвбая пассажирам тоже можно задать.

Доступно две опции для отключения драйвбая - только на время руления или полное отключение, но настроить это можно отдельно для разных транспортных средств.

К тому же, RealDriveby предоставляет функции для скриптинга на клиентской стороне, так что атрибуты могут меняться в зависимости от игрока, позволяя разным игрокам давать возможности стрелять с разными видами оружия и задержками.

Настройки

Все настройки могут быть изменены через MTA'шные функции set(), изменение meta.xml ресурса или изменение settings.xml.

Доступное водителю оружие

  • Название настройки: driveby_driver
  • Описание: Задает оружия, с которых сможет стрелять водитель. Чтобы полностью отключить ему возможность к драйвбаю, просто оставьте таблицу пустой. Совместимые виды оружия смотрите здесь.
  • XML-образец:
    <setting name="driveby_driver" value="[[ 22,23,24,26,28,29,32 ]]"/>

Доступное пассажирам оружие

  • Название настройки: driveby_passenger
  • Описание: Задает оружия, с которых смогут стрелять пассажиры. Чтобы полностью отключить им возможность к драйвбаю, просто оставьте таблицу пустой. Совместимые виды оружия смотрите здесь.
  • XML-образец:
    <setting name="driveby_passenger" value="[[ 22,23,24,25,26,28,29,32,30,31,33 ]]"/>

Задержка между выстрелами

  • Название настройки: driveby_shot_delay
  • Описание: Задает задержку между выстрелами для каждого из указанных оружий отдельно. Неуказанные оружия будут иметь GTA'шную задержку по умолчанию. Задается в формате таблицы, где ключ - строка с ID оружия, а значение - задержка в миллисекундах.
  • XML-образец:
    <setting name="driveby_shot_delay" value="[{ '22':300,'23':300,'24':800,'26':700 }]"/>

Заблокированный для драйвбая транспорт

  • Название настройки: driveby_blocked_vehicles
  • Описание: Задает транспортные средства, в которых режим драйвбая недоступен. Полезен для блокировки таких странностей, как драйвбай из танка. В формате массива из ID транспортных средств.
  • XML-образец:
    <setting name="driveby_blocked_vehicles" value="[[ 432,601,437,431,592,553,577,488,497,548,563,512,476,447,425,519,520,460,417,469,487,513,441,464,501,465,564,538,449,537,539,570472,473,493,595,484,430,453,452,446,454,606,591,607,611,610,590,569,611,435,608,584,450 ]]"/>

Руление авто во время драйвбая

  • Название настройки: driveby_steer_cars
  • Описание: Задает возможность водителю рулить вправо/влево в режиме драйвбая для транспорта, помимо двухколесного транспорта. Формат - булевая переменная, где true дает возможность полноценно рулить.
  • XML-образец:
    <setting name="driveby_steer_cars" value="[true]"/>

Руление двухколесным транспортом во время драйвбая

  • Название настройки: driveby_steer_bikes
  • Описание: Задает возможность водителю двухколесного транспортного средства рулить вправо/влево в режиме драйвбая. Если на false, это придаст больше реализма. Формат - булевая переменная, где true дает возможность полноценно рулить.
  • XML-образец:
    <setting name="driveby_steer_bikes" value="[true]"/>

Авто-оснащение оружием для драйвбая

  • Название настройки: driveby_auto_equip
  • Описание: Задает возможность включения драйвбай-режима сразу при посадке игрока в транспорт.
  • XML Example:
    <setting name="driveby_auto_equip" value="[false]"/>

Клавиша переключения в режим драйвбая

  • Название настройки: driveby_toggle_mode
  • Описание: Задает клавишу, которая будет использоваться в качестве переключателя в драйвбай-режим.
  • XML-образец:
    <setting name="driveby_toggle_mode" value="mouse2"/>

Клавиша переключения на следующее оружие драйвбая

  • Название настройки: driveby_next_weapon
  • Описание: Задает клавишу, которая будет использоваться для переключения на следующее оружие (если таковое есть).
  • XML-образец:
    <setting name="driveby_next_weapon" value="vehicle_look_right"/>

Клавиша переключения на предыдущее оружие драйвбая

  • Название настройки: driveby_prev_weapon
  • Описание: Задает клавишу, которая будет использоваться для переключения на предыдущее оружие (если таковое есть).
  • XML-образец:
    <setting name="driveby_prev_weapon" value="vehicle_look_left"/>

Функции скриптинга

Все функции скриптинга - клиентские, так что будут затрагивать только local player (локального игрока). Все функции должны вызываться через функцию call, например:

call(getResourceFromName("realdriveby"),"setWeaponShotDelay",22,300)

setDriverDrivebyAbility

Эта функция позволяет задавать оружия, которые будут доступны локальному игроку для драйвбая, когда он - водитель.

bool setDriverDrivebyAbility ( table weapons )
  • weapons: Массив/таблица, содержащая ID оружий, которые смогут использоваться водителем для драйвбая. Совместимые виды оружий смотрите здесь.


getDriverDrivebyAbility

Эта функция позволяет вам запрашивать оружия, которые доступны локальному игроку для драйвбая, когда он - водитель.

table getDriverDrivebyAbility ()

Возвращает таблицу оружий, которые могут использоваться водителем для драйвбая.

setPassengerDrivebyAbility

Эта функция позволяет задавать оружия, которые будут доступны локальному игроку для драйвбая, когда он - пассажир.

bool setPassengerDrivebyAbility ( table weapons )
  • weapons: Массив/таблица, содержащая ID оружий, которые смогут использоваться пассажиром для драйвбая. Совместимые виды оружия смотрите здесь.


getPassengerDrivebyAbility

Эта функция позволяет вам запрашивать оружия, которые доступны локальному игроку для драйвбая, когда он - пассажир.

table getPassengerDrivebyAbility ()

Возвращает таблицу оружий, которые могут использоваться пассажиром для драйвбая.


setWeaponShotDelay

Эта функция позволяет задавать задержку между выстрелами для каждого из оружий локального игрока.

bool setWeaponShotDelay(int weaponID, int delay)
  • weaponID: Целое число, представленное weapon ID, задержку между выстрелами для которого вы хотите задать.
  • delay: Целое число, которое отвечает за время будущей задержки в миллисекундах.


getWeaponShotDelay

Эта функция позволяет запрашивать задержку между выстрелами для каждого из оружий локального игрока.

int getWeaponShotDelay(int weaponID)
  • weaponID: Целое число, представленное weapon ID, задержку для которого вы хотите запросить.

Возвращает целое число, представляющее собой задержку между выстрелами запрошенного оружия.


setDrivebySteeringAbility

Эта функция позволяет задавать локальному игроку возможность рулить в режиме драйвбая.

bool setDrivebySteeringAbility( bool otherVehicles, bool bikes )
  • otherVehicles: Булевая переменная, отвечающая за возможность рулить ТС, кроме двухколесного транспорта, где true ее дает, а false - отнимает.
  • bikes : Булевая переменная, отвечающая за возможность рулить двухколесным транспортом, где true ее дает, а false - отнимает.


getDrivebySteeringAbility

Эта функция позволяет запрашивать, может ли локальный игрок рулить в режиме драйвбая.

bool getDrivebySteeringAbility( string drivebyType )
  • drivebyType : Строка, которая может быть либо "bike" (отвечает за двухколесный транспорт), либо "car" (отвечает за весь остальной).

Возвращает булевую переменную, отвечающую за доступность опредленного вида драйвбая, где true обозначает доступность, а false - недоступность.


setDrivebyAutoEquip

Эта функция позволяет задавать возможность авто-оснащения локального игрока оружием для драйвбая при посадке в транспорт.

bool setDrivebyAutoEquip( bool enabled )
  • enabled : Булевая переменная, отвечающая за то, должно ли быть включено авто-оснащение.


getDrivebyAutoEquip

Эта функция позволяет запрашивать, авто-оснащается ли локальный игрок оружием для драйвбая при посадке в транспорт.

bool getDrivebyAutoEquip()

Возвращает булевую переменную, отвечающую за то, включено ли авто-оснащение.

Совместимые с драйвбаем оружия в GTA

Это - оружия, совместимые с драйвбаем в GTA/MTA, они могут быть использованы в этом скрипте.

NameID NameID
Pistol22 Silenced Pistol23
Desert Eagle24 Chrome Shotgun25
Sawn-Off Shotgun26 Combat Shotgun27
Uzi28 MP529
Tec-932 AK-47 30
M431 Country Rifle33
Minigun38