- Совместимость с RAGE:MP
-
- 1.1 (prerelease)
Доброго времени суток.
Данный скрипт - мини игра Circuit Breaker, которая изначально появилась в обновлении для GTA V от RockStar.
Скрипт подойдёт к абсолютно любому моду.
Система выполнена на C# клиентской стороне, полностью на Scaleform без CEF'а.
Суть игры:
Дойти из точки А в точку Б играя за "змейку".
Нельзя соприкасаться со стенками, выходить за периметр игры или соприкасаться с телом змейки.
В игре всего 5 уровней сложности, повышая который изменяется:
Скорость движения змейки, шанс потери соединения с мини игрой и частота проверок потери соединения.
Уровней всего 6, выбирая количество уровней - они выбираются случайно из всех, то есть выбрав 3 уровня может получиться так, что нужно будет пройти 6, 1 и 4 уровни (например).
Система потери соединения работает следующим образом:
В зависимости от уровня сложности раз в определенное количество времени срабатывает проверка, по результату которой определяется отключить игрока или нет, если решение - отключить, то игрок теряет связь, экран становится красным и всё движение замораживается на случайное для игрока время (от 0.5 до 5 секунд). Из-за того, что игрок не знает, когда переподключение произойдёт - это создаёт некоторую дополнительную сложность при прохождении.
Скриншоты:
Важная информация:
За основу данного скрипта был взят скрипт для FiveM, который находится в публичном доступе.
Система была переписана для RAGE:MP, внесены изменения для оптимизации кода и некоторые улучшения, которые не работали в "оригинале".
Установка скрипта:
Все файлы из архива поместить в client_packages\cs_packages
Начало игры:
Для того, чтобы мини игра началась - нужно отправить на клиент событие с названием CircuitBreakerStart и 3мя аргументами:
Первый аргумент - количество жизней (от 1 до 10),
Второй аргумент - уровень сложности (от 0 до 4, где 0 - новичок, 4 - эксперт),
Третий аргумент - количество уровней для победы (от 1 до 6).
Пример вызова события с C# серверной стороны:
Пример вызова события с JS серверной стороны:
В таком случае начнётся мини игра с 5 жизнями, 1 уровнем сложности и 6 уровнями.
Результат игры:
Результат приходит в 2 события - CircuitBreakerWIN и CircuitBreakerLOSE в зависимости от итога.
Победное событие (CircuitBreakerWIN) вызывается на клиентской стороне в случае, если игрок закончил нужное количество уровней и у него остались жизни.
Проигрышное событие (CircuitBreakerLOSE) вызывается на клиентской стороне в случае, если игрок вышел из мини игры (кнопка Q) или у него закончились жизни до того, как он закончил нужное количество уровней.
Важная информация:
Если у вас клиентская сторона на JS, то вам нужно пересоздать на своём клиенте 2 события (каких - описано выше), которые будут принимать результат, аргументы для событий отсутствуют.
Если у вас клиентская сторона на C#, то оба обработчика для обоих событий уже существуют в Main.cs, можете работать с ними.
Предпросмотр мини игры, который сделан на этой же системе:
Данный скрипт - мини игра Circuit Breaker, которая изначально появилась в обновлении для GTA V от RockStar.
Скрипт подойдёт к абсолютно любому моду.
Система выполнена на C# клиентской стороне, полностью на Scaleform без CEF'а.
Суть игры:
Дойти из точки А в точку Б играя за "змейку".
Нельзя соприкасаться со стенками, выходить за периметр игры или соприкасаться с телом змейки.
В игре всего 5 уровней сложности, повышая который изменяется:
Скорость движения змейки, шанс потери соединения с мини игрой и частота проверок потери соединения.
Уровней всего 6, выбирая количество уровней - они выбираются случайно из всех, то есть выбрав 3 уровня может получиться так, что нужно будет пройти 6, 1 и 4 уровни (например).
Система потери соединения работает следующим образом:
В зависимости от уровня сложности раз в определенное количество времени срабатывает проверка, по результату которой определяется отключить игрока или нет, если решение - отключить, то игрок теряет связь, экран становится красным и всё движение замораживается на случайное для игрока время (от 0.5 до 5 секунд). Из-за того, что игрок не знает, когда переподключение произойдёт - это создаёт некоторую дополнительную сложность при прохождении.
Скриншоты:
Важная информация:
За основу данного скрипта был взят скрипт для FiveM, который находится в публичном доступе.
Система была переписана для RAGE:MP, внесены изменения для оптимизации кода и некоторые улучшения, которые не работали в "оригинале".
Установка скрипта:
Все файлы из архива поместить в client_packages\cs_packages
Начало игры:
Для того, чтобы мини игра началась - нужно отправить на клиент событие с названием CircuitBreakerStart и 3мя аргументами:
Первый аргумент - количество жизней (от 1 до 10),
Второй аргумент - уровень сложности (от 0 до 4, где 0 - новичок, 4 - эксперт),
Третий аргумент - количество уровней для победы (от 1 до 6).
Пример вызова события с C# серверной стороны:
C#:
player.TriggerEvent("CircuitBreakerStart", 5, 1, 6);
JavaScript:
player.call("CircuitBreakerStart", 5, 1, 6);
Результат игры:
Результат приходит в 2 события - CircuitBreakerWIN и CircuitBreakerLOSE в зависимости от итога.
Победное событие (CircuitBreakerWIN) вызывается на клиентской стороне в случае, если игрок закончил нужное количество уровней и у него остались жизни.
Проигрышное событие (CircuitBreakerLOSE) вызывается на клиентской стороне в случае, если игрок вышел из мини игры (кнопка Q) или у него закончились жизни до того, как он закончил нужное количество уровней.
Важная информация:
Если у вас клиентская сторона на JS, то вам нужно пересоздать на своём клиенте 2 события (каких - описано выше), которые будут принимать результат, аргументы для событий отсутствуют.
JavaScript:
mp.events.add('CircuitBreakerWIN', () =>
{
// Ваш код в случае победы
});
mp.events.add('CircuitBreakerLOSE', () =>
{
// Ваш код в случае проигрыша
});
Предпросмотр мини игры, который сделан на этой же системе: