Лидеры
Популярный контент
Показан контент с высокой репутацией 28.11.2016 в Сообщения
-
5 баллов
-
5 баллов
Обсуждение прошедших игр
SMOL1N и 4 других отреагировал LEYDEN CTU за сообщение в теме
Great JOB Mortair on Takistan -
4 балла"Увеличена убойная дистанция для бронебойных M242 и 2А42" с LAV25A2 дистанция 750 метров по rhs_bmp2 : слабое повреждение гусеницы (бледно-зеленый) , выпущено ~ 50 снарядов с LAV25A2 дистанция 420 метров по rhs_bmp2 : радуга из критованных модулей , выпущено ~ 50 снарядов БМП2(рхс) дистанция 780 метров по LAV25A2 : коробочка горит, выпущено 15 снарядов деды воевале
-
2 баллаWOG Закат Короля Просмотреть файл Поставленная задача: US Аrmy - Захватить Wadiah ТА - Удержать Wadiah Условия: Для захвата зоны силами US необходимо двукратное преимущество. Если данное условие не выполняется, контроль переходит к ТА. Для победы US Аrmy, необходимо удерживать зону в течение 3х минут. Ограничение на миссию - 2 часа 10 минут. Техника: US Аrmy: 4x CH-47F 'Chinook', 2x M60A3, 1x HMMWV, 1x HMMWV Med, 1x ATV, 2x M47 Dragon. ТА: 5х БМП-1, ЗСУ-23-4М3 'Шилка', 2С1 'Гвоздика', 2х УАЗ-469, 2х Урал-2320, ЗУ-23-2. Автор Rob Добавлен 11/28/16 Категория WOG - ARMA 2 Количество участников 146/163/180 Год 1989 Остров Reshman Province Тип WOG Радио оснащение Полное В атаке U.S.Army В обороне Takistani Army Режим Захват/оборона
-
2 баллаЗаявка рассмотрена, За нарушение пп 3.1, псп 2.4.2, псп 2.4.4, псп 2.4.5 а так же богатую историю подобных нарушений в прошлом, игрок Pavelzing отстраняется от игр на 175 дней (По 16.05.2017 включительно) С наилучшими пожеланиями, Егор
-
2 балла
-
2 балла
-
1 балл
Скрипт доступа к управлению техникой только для экипажа
KOHCTPYKTOP отреагировал Vincen за сообщение в теме
ТЕХНИКУ ЭКИПАЖУ! Описание: Скрипт предназначен для ограничения доступа лиц, не причисленных к экипажу, от управления специализированной техникой. Принцип работы очень прост - вешаем 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 -
1 баллПри скачке аддонов появляется такое окно,подскажите в чем проблема?
-
1 баллЗдравствуйте, сегодня первый раз поиграл у вас на сервере IF, все вроде бы нормально было сначала, но как только мы высадились во франции(день Д), фпс упал до 8-7, если смотреть в край карты то все ок, а если в гущу карты то все проседает, решает это только ограничением видимости до 300 метров примерно, хотя в сингле все ок до 2500!! это у всех так? amd fx8320, geforce 1060, 8gb ram
-
1 балл
-
1 баллв Гвоздике и всех вариантах и расцветках М60 присутствуют встроенные рации?
-
1 балл> не рекомендуется мять траву бесконтрольно Краб, как насчет ввести квоту на примятие определенной площади(?) в промежуток времени/на миссию?
-
1 балл1) пп 3.1 Неподчинение игрока командиру своей группы/отделения/стороны, игнорирование его приказов. (WOG основной свод) псп 2.4.2 Каждый игрок обязан ознакомиться с брифингом и поставленными задачами во время брифинга или фризтайма. (WOG IF) псп 2.4.4 Если в итоге огневого контакта или по собственной невнимательности игрок остался один, он в первую очередь обязан предпринять всё возможное для воссоединения со своим или соседствующим подразделением. (WOG IF) псп 2.4.5 При гибели прямого командира каждый игрок обязан в первую очередь сделать всё возможное что бы выйти на связь с вышестоящим командованием, доложить о ситуации и запросить дальнейшие инструкции. Если это возможно то необходимо перегруппироваться с остатками своей группы или влиться в состав соседствующих частей. (WOG IF) 2) Игроком Pavelzing в отношении участников Проекта на миссии "Sonderkommando" 27/11/16 3) Доказательство:
-
1 баллХОПАВЫСН, читай
-
1 баллНик нечитаемый, так же только нагибаторы из танков и КС себя называют. Не, я пас.
-
1 балл4. Я думаю в этом причина: waitUntil {sleep 5; WMT_pub_frzState >= 3}; Код с EH выполнится только после окончания фризтайма, соответственно waitUntil нужно перенести в конец кода.
-
1 баллВнимание! Всем игрокам, использующим прокси во время игр, будет ограничиваться доступ к серверу.
-
1 баллРекомендую удалять последний скаченный (скорее всего недокаченный) файл при краше. Найти его просто, фильтранув файлы, по дате создания.
-
1 баллТак как прошел почти год и за это время так и не вспомнили про эту тему, предлагаю закрыть её и разойтись с миром.
-
1 баллПрокручиваю темы, смотрю сообщение от Шульмана в теме "Вступление в KND Tactical" , думаю все... а нет, показалось.
-
0 балловпсп. 3.1 - запрещено нарушать указанные картоделом игровые условности. 27.11.16 Hazelnut Решение: Игрок [13th] RED STAR отстранен до 2.12.2016 (включительно)
-
-1 балл
ГОСПОДИ ПОМОГИТЕ МНЕ ЗАЙТИ НА ЛЮБОЙ СЕРВЕР WOG
DevastaTOR отреагировал XOTTABbICH за сообщение в теме
У меня уже истерика. Я ВООБЩЕ НЕ ПОНИМАЮ ЧТО КУДА И К ЧЕМУ. Помогите пожалуйста. Могу включить демонстрацию в скайпе. Профиль скайпа-kermen_moschkina -
-2 баллаВот тебя пастух найдет и то же самое с тобой сделает
-
-3 балла
Важная информация
Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.