razor2211_
Умник
Благодаря этому инклюду теперь стало намного удобнее создавать ворота/шлакбаумы и т. д. Можно также сделать ворота только для определенной фракции, тем самым разрешить не всем игрокам их открывать.
Параметры:
modelid - ID модели ворот
Float:x, Float:y, Float:z - Координаты закрытых ворот
Float:rx, Float:ry, Float:rz - Углы поворота закрытых ворот
Float:x2, Float:y2, Float:z2 - Координаты открытых ворот
Float:rx2, Float:ry2, Float:rz2 - Углы поворота открытых ворот, (Установите все значения на -1000, чтобы объект не вращался)
Float:trigx, Float:trigy, Float:trigz - Если какой-либо игрок в данных координатах, ворота открываются, если никого нет, ворота закрываются.
Float:trig_range - Радиус, в котором открываются ворота
Float:movespeed - скорость открытия ворот
condition - Если переменная 'condition' принимает значение 0, то данные ворота могут открываться всеми игроками, если 1 - вызывается функция OnPlayerRequestGate. Там можно указать проверку на фракцию/работу или даже на ник
Возвращает: ID только что созданных ворот, либо -1, если ворота не созданы (исчерпан лимит)
Пример использования функции:
==================================================
FUNCTIONS
==================================================
==================================================
CALLBACKS
==================================================
Этот паблик вызывается в случае открытия или закрытия ворот. В общем вызывается 4 раза: Когда ворота открываются, когда ворота открыты, когда ворота закрываются и когда ворота закрыты
gatex, gatey, gatez - это координаты ворот в настоящее время (будь то открытие или закрытие). Может использоваться, например, для воспроизведения звука для игроков.
Ядро состояния системы.
Если эта функция вернет 1 то ворота игроку откроются, иначе не откроются
Вызывается, когда игрок запускает открытие ворот
Видео:
Автор: MP2 (
Ссылка на скачивание:
---------- Post added at 22:14 ---------- Previous post was at 22:11 ----------
Ах да, забыл, для работы данного инклюда требуется наличие инклюдов foreach.inc и y_hook.inc (YSI)
PHP:
CreateAutomaticGate(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:x2, Float:y2, Float:z2, Float:rx2, Float:ry2, Float:rz2, Float:trigx, Float:trigy, Float:trigz, Float:trig_range, Float:movespeed, condition=0);
modelid - ID модели ворот
Float:x, Float:y, Float:z - Координаты закрытых ворот
Float:rx, Float:ry, Float:rz - Углы поворота закрытых ворот
Float:x2, Float:y2, Float:z2 - Координаты открытых ворот
Float:rx2, Float:ry2, Float:rz2 - Углы поворота открытых ворот, (Установите все значения на -1000, чтобы объект не вращался)
Float:trigx, Float:trigy, Float:trigz - Если какой-либо игрок в данных координатах, ворота открываются, если никого нет, ворота закрываются.
Float:trig_range - Радиус, в котором открываются ворота
Float:movespeed - скорость открытия ворот
condition - Если переменная 'condition' принимает значение 0, то данные ворота могут открываться всеми игроками, если 1 - вызывается функция OnPlayerRequestGate. Там можно указать проверку на фракцию/работу или даже на ник
Возвращает: ID только что созданных ворот, либо -1, если ворота не созданы (исчерпан лимит)
Пример использования функции:
PHP:
new BARRIER_LSPD;
public OnGameModeInit()
{
BARRIER_LSPD = CreateAutomaticGate(968, 1544.692993, -1630.822509, 13.08, 0.000000, 90.000000, 90.000000, 1544.692993, -1630.822509, 13.08+0.01, 0.000000, 10.000000, 90.000000, 1544.6627, -1627.4036, 13.1099, 20.0, 0.003);
return 1;
}
FUNCTIONS
==================================================
PHP:
OpenGate(gateid);
Параметры:
gateid - ИД ворот, которые нужно открыть (Возвращается функцией CreateAutomaticGate)
Возвращает:
-1, если ворота не найдены
0, если ворота уже открыты
1, в случае успеха
PHP:
CloseGate(gateid);
Параметры:
gateid - ИД ворот, которые нужно открыть (Возвращается функцией CreateAutomaticGate)
Возвращает:
-1, если ворота не найдены
0, если ворота уже закрыты
1, в случае успеха
PHP:
GateStatus(gateid);
Параметры:
gateid - ИД ворот, которые нужно открыть (Возвращается функцией CreateAutomaticGate)
Возвращает:
-1, если ворота не найдены
GATE_STATUS_CLOSED 0 - Ворота уже закрыты
GATE_STATUS_OPENING 1 - Ворота открываются, но еще не открыты
GATE_STATUS_OPEN 2 - Ворота уже открыты
GATE_STATUS_CLOSING 3 - Ворота закрываются, но еще не закрыты
CALLBACKS
==================================================
PHP:
public OnGateOpenClose(gateid, openclose, Float:gatex, Float:gatey, Float:gatez)
gatex, gatey, gatez - это координаты ворот в настоящее время (будь то открытие или закрытие). Может использоваться, например, для воспроизведения звука для игроков.
PHP:
public OnPlayerRequestGate(playerid, gateid)
Если эта функция вернет 1 то ворота игроку откроются, иначе не откроются
PHP:
public OnPlayerTriggerGate(playerid, gateid)
Видео:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Автор: MP2 (
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
)Ссылка на скачивание:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
(откроется текст, скопируйте его, откройте блокнот, вставьте скопированный код и сохраните (у файла должно быть расширение .inc)---------- Post added at 22:14 ---------- Previous post was at 22:11 ----------
Ах да, забыл, для работы данного инклюда требуется наличие инклюдов foreach.inc и y_hook.inc (YSI)
Последнее редактирование модератором:
