-
Публикаций
3 494 -
Зарегистрирован
-
Посещение
-
Победитель дней
73
Тип контента
Профили
Форумы
Календарь
Блоги
Отряды
Формы
Видео
Весь контент Vincen
-
У синих всего 3 медика на сторону, и те, находятся со взводными Или хотя бы отделение медиков на сторону... Зато ПТшников у тебя в отделениях по 4-6 штук. Сократить вдвое! Ванильные броники заменить на РХС (синие) Подпихни может аккуратно бетонные плиты под людей. Вечно народ на авианосце проваливается! Относится к отделению "десанта" у красных, которое ближе всего ко врагу. Убери одну иглу и 2 снаряда и повыдавай в зоны ЗУ-23-2 (штуки 3-4). Можно шишиги или уралы вместо стационаров. Контейнеры висят На стороне синих таких отделений 7: Вообще, у тебя и на блокпостах летают мешки... Все укрепления перепроверить @DenusKO
-
Просто скинь код своего брифинга сюда или залей куда-нибудь и дай ссылку. А то гадание на кофейной гуще выходит какое то
-
Что за бред? Причем тут АСЕ3 и пробитие техники?
-
Ура, ура!
-
ТЕХНИКУ ЭКИПАЖУ! Описание: Скрипт предназначен для ограничения доступа лиц, не причисленных к экипажу, от управления специализированной техникой. Принцип работы очень прост - вешаем Event Handler (Обработчик событий) на нужную технику/класс техники и каждый раз, когда в указанную вами технику кто то будет садиться, класс-нейм этого человека будет сравниваться с указанным в массиве. Список использованных команд и выражений: worldSize nearEntities ! && forEach addEventHandler moveOut switch assignedVehicleRole Рассмотрим пример: В данном примере рассмотрим принцип реализации скрипта и для наземной техники и для воздушных судов (вертолетов). В init.sqf вставляем следующий код: Разберем его по частям для того, чтобы понять, что за что отвечает: _arrayOfVeh = [worldSize/2,worldSize/2] nearEntities ["Tank", worldSize/sqrt 2]; _arrayOfHeli = [worldSize/2,worldSize/2] nearEntities ["Helicopter", worldSize/sqrt 2]; typesOfVehCrew = ["wog_ksor_sergeant", "wog_ksor_officer_armored", "wog_ksor_driver_armored", "wog_ksor_crew_commander", "wog_ksor_crew_gunner", "wog_ksor_crew_driver", "wog_army_ucp_crew_commander", "wog_army_ucp_crew_gunner", "wog_army_ucp_crew_driver", "wog_army_ucp_squadleader", "wog_army_ucp_officer", "wog_army_ucp_Plsg"]; typesOfVehHeli = ["wog_ru_Helipilot"]; EjectSeat = {if !(typeOf (_this select 1) in typesOfVehCrew) then {moveOut (_this select 1)};}; 1. Зададим 4 массива: а) _arrayOfVeh && _arrayOfHeli - с помощью nearEntities из центра карты будем искать всю технику с родительскими классами "Tank" (это танки, БМПшки и пр.) и "Helicopter" (соответственно вертолеты). Центр карты задаем в виде: [worldSize/2,worldSize/2] где worldSize - это функция (или скорее переменная), которая возвращает длину/ширину карты. Ну и соответственно делим длину и ширину на 2, таким образом получая координаты x и y для центра; последний worldSize/2, который идет в массиве после классов "Tank" и "Helicopter", есть радиус описанной окружности вокруг квадрата: б) Все, с наполнением массивов техникой мы покончили. Теперь зададим вручную два новых массива typesOfVehCrew и typesOfVehHeli. Если честно, сейчас я и не припомню, почему они не приватные. Видимо на момент написания возникали проблемы с их чтением в EH (Event Handler - будет объяснено ниже). В первый массив мы записываем класс-неймы (не путать с названием бойца) бойцов, которые могут управлять боевой наземной техникой с классом "Tank". В данном примере, это офицеры (КО) и непосредственно экипаж. Во второй массив вносим пилотов. 2. Зададим функцию EjectSeat, которая понадобится нам позже. Для тех, кто не совсем понимает, в чем разница между функцией и переменной, попытаюсь на пальцах объяснить разницу не претендуя на преподавательское искусство, ибо сам в некоторых моментах не силен -_- (в конце концов, можете сами почитать =)): Переменная, это такая коробочка на которой написано название. Она хранит в себе какой-то объект (число, массив, символ). Функция - фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. a = 1; - переменная _b = worldSize; - приватная переменная c = [0,1,2,3]; - переменная doCount = { count с; }; - функция. В ней содержит код, который посчитает кол-во элементов в массиве c Вторая часть: Здесь мы создаем 3 Event Handler'a Если мы обратимся к английскому словарю и дословно переведем Event - событие и Handler - обработчик, то получим Обработчик событий. Принцип его действия в арме довольно таки прост. Товарищи из BIS заранее подготовили для нас список действий, на которые можно повесить Event Hadler, дабы выполнять по завершению указанного действия свой код. Вам нужно зарядить снаряд в РПГ после выстрела? Воспользуйтесь EH на действие Fired. Хотите дать под пятую точку тому, кто не должен сидеть на месте стрелка танка? EH на GetIn в вашем распоряжении! Обращаю ваше внимание на то, что разные EH отрабатывают на разных объектах. Так например EH на действии "GetIn" должен висеть только на технике (таково его изначальное устройство и функционал). А вот если вы будете использовать "GetInMan" , то EH отрабатывать на человеке, а не на технике. Запутались? Это легко! EH "GetIn" в нашем примере работает на массив из техники -> _arrayOfHeli и _arrayOfVeh. Когда любой боец будет залезать в данную технику, EH будет передавать определенный массив данных. Для нас это будет выглядеть так: [класс техники, в которую залез боец, место которое он занял в машине (стрелок, водитель, пассажир), имя бойца, позиция на турели (у каждой техники это разный массив)]. EH "GetInMan" будет работать только на указанного/-ых вами игроков. Вам нужно сделать так, чтобы VIP не мог залезть в технику и уехать? Самое время повесить на него EH! Теперь, самое важное. Как я уже написал выше, когда вы создаете в своей миссии какой-либо EH, то после того, как будет совершено действие, на которое EH повешен, этот самый EH передаст игроку массив данных, которым вы сможете оперировать в своих целях. Разберемся на самом первом EH из примера: { _x addEventHandler ["GetIn", { if (((_this select 1) == "driver") && !((typeOf (_this select 2)) in typesOfVehCrew)) then { moveOut (_this select 2); }; }]; } forEach _arrayOfVeh; Синтаксис для создания EH: объект addEventHandler [Тип, {команда/код на выполнения после действия определенного типа}] _x это зарезервированная переменная для многих команд, в том числе и для команды forEach Таким образом, команда forEach будет перебирать каждый/-е объект/-ы из массива, который будет указан после него. Для того, чтобы нам не подставлять каждый раз класс-нейм техники, мы просто берем каждый класс-нейм автоматически с помощью forEach и подставляем его на место _x. Список таких переменных как _x и соответствующие им команды вы можете глянуть в блоге KK. Итак, создаем (addEventHandler) EH на действие "GetIn" (Войти в технику) и прикрепляем этот EH на все элементы массива _arrayOfVeh, каждый из которых подставится сам вместо _x. Дело за малым. Теперь, когда кто то залез в технику, мы должны понять, есть ли у него разрешение на то, чтобы сесть в эту технику и, если нет, то выгоняем. Еще раз напоминаю вам вид массива, который мы получим конкретно на EH "GetIn": [класс техники в которую залез боец, место которое он занял в машине (стрелок, водитель, пассажир), имя бойца, позиция на турели (у каждой техники это разный массив)] или на англ. [vehicle (object), position, unit, turret] Записываем простенькое условие: if (((_this select 1) == "driver") && !((typeOf (_this select 2)) in typesOfVehCrew)) then { moveOut (_this select 2); }; Если (игрок залез на водителя && игрок не находится в списке typesOfVehCrew) тогда { выкинуть этого игрока из машины}; где && - это символьная альтернатива союзу И; символ "!" является отрицанием, т.е. заменяет собою отрицание "не", _this select цифра - считываем нужный элемент массива. Нумерация элементов во всех массивах начинается с 0. В нашем массиве 4 элемента - [0,1,2,3]. Ну и далее по аналогии делаем тоже самое для вертолетов и для отслеживания на наземной технике момента, чтобы игрок не мог сесть еще и на стрелка. Заключительная часть: Нам осталось разобрать последнюю часть кода, которая отвечает за создание EH на действие "SeatSwitched" (пересесть): { _x addEventHandler ["SeatSwitched", { _assignedVehicleRoleArray = assignedVehicleRole (_this select 1); switch (_assignedVehicleRoleArray select 0) do { case "driver": { //driver call EjectSeat; }; case "Turret": { switch (str (_assignedVehicleRoleArray select 1)) do { case "[0]": { //gunner call EjectSeat; }; default {}; }; }; default {}; //cargo }; }]; } forEach _arrayOfVeh; Создание EH происходит по стандарту. Массив, который выводит EH: [техника на которую закреплен EH, место на которое пересел игрок, некорректно отрабатывающийся параметр] или на англ. [vehicle, unit1, unit2]; [0, 1, 2]; Создадим приватную переменную, в которую по действию "пересесть" будет записываться массив с названием места и номером туррели, на которое пересел игрок (т.к. в вертолете невозможно пересесть со стрелка на пилота и обратно, то данный EH подключаем только на наземную технику). Затем, используем switch. Эта команда будет искать в "case'-ах совпадения и если таковые будут найдены, то будет выполнен код. В нашем случае это работает так: //Переносы строк в представленном описании сделаны для вашего удобства при чтении switch (условие: выбрать 0й элемент массива _assignedVehicleRoleArray, в котором указано название места, на которое пересел игрок) делай { если условие совпадает с "driver" то тогда вызвать функцию EjectSeat, которая проверит, указан ли класс-нейм бойца, за которого играет игрок в качестве экипажа или нет и если нет, то выкинет его из техники }; Тот же самый ход был проделан и со стрелком, но там брали 1й элемент массива, т.к. с 0м при пересадке на стрелка были какие-то проблемы. На этом все. Хотелось охватить и представить как можно больше информации и донести ее доступно, дабы ею могли действительно воспользоваться. Надеюсь, получилось достаточно информативно и в то же время не сильно скомкано. Особую благодарность хотелось бы вынести г-у @StDIABLO, который помог во всем этом деле разобраться. P.S. Не уверен в корректной работе некоторых EH, в частности "SeatSwitched", ибо их работоспособность зависит от BIS'ов. Для более прошареных игроков - используйте альтернативные функции CBA
- 19 ответов
-
- WOG³
- StDIABLO&Co
-
(и ещё 2 )
C тегом:
-
Принято на рассмотрение.
-
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
Весь оффтоп потер. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
Любые доказательства, которые по вашему мнению могут доказать вашу непричастность. Читаем внимательнее текст в трибунале. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
Мы получили сведения о массовом использовании Steam overlay. Доказательства, которые были представлены, изобличали нарушения со стороны КО отряда - т.е. основы отряда. Рядовые игроки - так же часть отряда и они несут общую ответственность за массовые нарушения. Если у вас есть какие то претензии по поводу бана - для начала предъявите их своему командиру. Администрация не побуждала никого использовать стим для получения выгоды. Если вы невиновны - вам не повезло. Если у вас есть доказательства своей невиновности - вы можете представить их в ответной апелляции. Все апелляции будут рассматриваться в индивидуальном порядке. Напоминаю вам, что в задачи администрации входит обеспечение прав и порядка на подпроекте. В случае массовых нарушений, мы оставляем за собой право действовать жестко и без промедлений на свое усмотрение. Это уже второй случай массового нарушения 0.4.4. В прошлый раз, так же был забанен весь отряд. Тема в трибунале - не место для дискуссий и не заявка, ожидающая решения. Это завершенный процесс с определенными последствиями для конкретных игроков. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
@Amfib если есть вопрос - сначала его сформулируйте адекватно. В противном случае, ответа не последует. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
@Met Нет -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
@Zwierdik скорее всего с 1 стороны будет перекинут 1 отряд. Выводы можно будет делать только после предстоящих игр -
@WasteLandR Мы в курсе, что данный игрок так же мог нарушать правила, однако конкретно ваше доказательство - не авторитетно и приниматься во внимание не будет. В любом случае, с указанным игроком проведена разъяснительная беседа. Игроку @Mushketer выносится строгий выговор, вместо перманентного бана. Обоснование смягчения наказания: за предоставление информации. Благодарю за содействие @sup, @Ocelot, @Dock. Тема закрыта.
-
Никнейм нарушителя: Отряд [FORECON] Нарушенный пункт правил: 0.4.4 Дополнительные нарушенные пункты: Дата нарушения: 02/05/18 Номер миссии: Название миссии: В отношении кого были нарушены правила: Участники подпроекта WOG³ Свидетели нарушения (если имеются): Свидетель 1. Ник-нейм не публикуется. Описание нарушения: В управление куратора поступила информация о массовом использовании Steam overlay для переписки в отряде [FORECON]. Позднее, было предоставлено следующее доказательство: Учитывая подтверждение части показаний свидетеля, считаем заслуживающими доверия показания, которые не были подкреплены вещественными доказательствами. Вынесены следующие решения: Отряд [FORECON] лишается статуса зарегистрированного отряда; Все участники отряда отстранены от игр перманентно; Бронирование отделений отряда обнулено. Просим администрацию соседних подпроектов по возможности продублировать баны (@sup, @Ocelot, @Dock, @Jg0re). Бан-лист: 76561198054146127 // [FORECON] Louise | Perm STEAM 76561198167720320 // [FORECON] HixS | Perm STEAM 76561198033671548 // [FORECON] Voeniy | Perm STEAM 76561198115571563 // [FORECON] Vspishka | Perm STEAM 76561198125147460 // [FORECON] JayTee | Perm STEAM 76561198065713132 // [FORECON] WasteLandR | Perm STEAM 76561198054708498 // [~FORECON~] Uraha | Perm STEAM 76561198018994281 // [FORECON] MaDKoT | Perm STEAM 76561198080060409 // [~FORECON~]Skynet.1910 | Perm STEAM 76561197995660022 // [~FORECON~] Amfib | Perm STEAM 76561198091408904 // [~FORECON~] Malevich | Perm STEAM От себя, хотелось бы добавить следующее: Совсем весь стыд потеряли, мерзавцы. Надеюсь оно того стоило. Наслаждайтесь. Администраторам @Smittsam и @Bon Jonson выносится благодарность. Рассмотрено: @Vincen, @Taciturn, @Smittsam, @Bon Jonson, @MILLER, @CTPEJIKuH, @Ocelot, @Jastik, @Gravelandmp3
-
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
@ToTCamblu Это связано с обновлением АСЕ. Мы работаем над поиском изменений произошедших по этому вопросу. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
Она не лечится, она просто перевязана и не кровоточит. Шанс открытия раны достаточно высок. В задумках, после анализа результатов и отзывов, немного переработать перевязки + подумать на счет медицинских построек и машин + изменения в требованиях к миссиям по медика. -
Нарушение п.п. 0.4.1 игроком [-FORECON-] Uraha , ком отряда [FORECON], 02/02/18 на 2 миссии
Vincen ответил Voker в теме Архив
Свидетельских показаний достаточно. Ожидайте принятия на рассмотрение. -
@Coder Если все на hdd - первая проверка займет очень много времени
-
@CTPEJIKuH вот тебя и выделим на это дело
-
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
@DenusKO Нет, на данный момент это не возможно. -
Тема для вопросов/жалоб/предложений к администрации.
Vincen ответил Vincen в теме Кубовог (WOG³): Большие Игры
Читать строку запуска для большого ВОГа! -
@ZAMPOLIT можно и обычных игроков звать (если требуется) , т. к. КО особо не доносят результаты собраний до рядового состава. Шоб не было флуда, есть возможность сделать так, чтобы ко и кс могли говорить, а рядовые по-умолчанию с заглушенным микрофоном и могли говорит только когда выдадут привилегии (функционал тс). Соответствующие права на время собрания для реализации выдать можем.
-
Желаем вам успеха в начинании! Так держать!
-
Заявка закрыта за недостатком доказательств. @Frost
-
Никнейм нарушителя: [13th] Fenya Нарушенный пункт правил: 0.6.4 Дополнительные нарушенные пункты: Дата нарушения: 01/20/18 Номер миссии: 1 Название миссии: ООН на Алтисе В отношении кого были нарушены правила: Игроки проекта Свидетели нарушения (если имеются): Десант KSB,FORECON,OF Описание нарушения: @Fenya Ожидаются ваши комментарии