Перейти к содержанию

Добро пожаловать на проект
Weekly Open Games

Weekly Open Games — это проект для людей, которым интересен хардкорный тип игры. Мы стараемся максимально эффективно использовать структуру, слабые и сильные стороны, а также технику и вооружение различных сторон конфликта, но не ставим перед собой цель провести 100% сбалансированного боестолкновения. Командная игра, командное взаимодействие — фундамент нашего проекта.
О проекте WOG Как начать играть Правила серверов
ToxaSM

Вопросы по созданию МП-миссий

Рекомендуемые сообщения

Картостроение и аутизм.

Подскажите, планируется ли на WOG3 запускать карту AL Rayak? А то я миссию делал, делал, а она в сборке минивога только оказывается :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы хотел чтобы её удалили, а не добавили на вог :D

Изменено пользователем Kato

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос такой: при создании миссии хочу сделать условие "в самолёт не может никто садиться кроме пилота самолёта", это надо делать скриптом (подскажите как он выглядит, буду благодарен), либо можно прописать в условиях миссии и расчитывать на совесть играющих?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


можно прописать в условиях миссии и расчитывать на совесть играющих?

На что рассчитывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, ну вот получается условно - имя пилота допустим 123, имя самолёта asd.

123 addEventHandler ["Getin",{hint format ["%1 was killed by %2",name (_this select 0),name (_this select 1)];}]

Вот что дальше писать после команды Getin? Я просто первый раз с этим столкнулся, хз че тут как.

 

И да, на совесть лучше не рассчитывать))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо.

Ну вот по типу того что было в миске, сделал.

 
 
 
 
enableSaving [false, false];
 
execVM "briefing.sqf";
 
sleep 1;
 
_size = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize");
_arrayOfPlane = [_size/2,_size/2] nearObjects ["Plane", _size/sqrt(2)];
typesOfVehPlane = ["rhsusf_airforce_jetpilot"];
EjectSeat = {if !(typeOf (_this select 1) in typesOfVehPlane) then {moveOut (_this select 1)};};
{
    _x addEventHandler ["GetIn", {
    if (((_this select 1) == "Pilot") && !((typeOf (_this select 2)) in typesOfVehPlane)) then {
    moveOut (_this select 2);
    };
}];
} forEach _arrayOfPlane;
 
 
Не хочет такое работать :(
Изменено пользователем arhond

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
[member=arhond], помогать решать решать задачу - это одно дело, решать её за тебя - совсем другое.
Оформи код как полагается, дополни комментариями, укажи структуру файлов, приложи ошибку компиляции - вот тогда может кто и поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[b][member=arhond][/b],  этот код в миске рабочий

 

в комментах написал куда стоит обратить внимание.

enableSaving [false, false];
 
execVM "briefing.sqf";
 
sleep 1;
 
_size = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize");
_arrayOfPlane = [_size/2,_size/2] nearObjects ["Plane", _size/sqrt(2)]; // проверть что твой вертолет самолет  является предком PLANE (через просмотр конфигурации)
typesOfVehPlane = ["rhsusf_airforce_jetpilot"]; // тут если чо класс пилота
EjectSeat = {if !(typeOf (_this select 1) in typesOfVehPlane) then {moveOut (_this select 1)};}; // этот кусок не нужен, и нигде не используется у тебя.
{
    _x addEventHandler ["GetIn", {
    if (((_this select 1) == "Pilot") && !((typeOf (_this select 2)) in typesOfVehPlane)) then { //проверь (можешь через hint str _this) как точно называется место пилота (возможно драйвер или cargo), возможна проблема
    moveOut (_this select 2);
    };
}];
} forEach _arrayOfPlane;
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как определить, на каком именно месте в технике сидит игрок? Желательно для любой техники чтобы работало, а не только для той, которой я дал имя в редакторе.

Где посмотреть как называются зоны повреждений для техники (колеса, башня и т.д.)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


Как определить, на каком именно месте в технике сидит игрок?

C помощью ивентхендлера GetIN можно получить машинку, место и юнита.

 


Желательно для любой техники чтобы работало, а не только для той, которой я дал имя в редакторе.

Выше на один пост пример, как объект для команды addeventhandler берётся из заранее заготовленного массива самолётиков, причём без названий - сразу по типу. Можно, наверное, вообще заюзать  foreach vehicles, но хз сработает ли это и как отразится на производительности.

 


Где посмотреть как называются зоны повреждений для техники (колеса, башня и т.д.)?

Для каждой машинки всё может быть разное, так что точно только в конфиге.

Но вообще вот

http://arma.at.ua/forum/77-5089-1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


Выше на один пост пример, как объект для команды addeventhandler берётся из заранее заготовленного массива самолётиков, причём без названий - сразу по типу. Можно, наверное, вообще заюзать  foreach vehicles, но хз сработает ли это и как отразится на производительности.

Вроде как !(isNull (objectParent player)) работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как определить, на каком именно месте в технике сидит игрок

 

Присмотрись к этой команде 

 


Где посмотреть как называются зоны повреждений для техники (колеса, башня и т.д.)?

 

Я через конфигурацию это смотрю, но есть эта команда

Изменено пользователем StDIABLO

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Следующий квэшн мои более опытные друзья.

Есть к примеру миномёт. Есть зона в которую с этого миномёта стрелять нельзя. Условность к примеру.
Необходим скрипт который при атаке определённого триггера делал бы что то, ну скажем рубил миссию.
В общем который был бы способен тринкнуться именно на попадание в него из этого миномёта. Изменено пользователем almost

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не, хит не покатит. Вдруг мина шлёпнется и никого не убъёт и не покоцает. Но атака запретной зоны будет налицо.

Тут надо юзать хендлер fired, который выдаёт помимо всего прочего в массиве ещё и саму мину. Берём мину, определяем её координаты и вычисляем дистанцию до центра запретной зоны: тупо командой distance. Если расстояние меньше положенного, значит мина нарушила воздушное пространство и надо рубить.

Изменено пользователем crabe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не проще сделать наоборот, чтобы мина удалялась, если она попадает в "запретную зону"?

Зачем завершать миссию, если можно "спасти ребят" и опозорить стрелков хинтом : "А-та-та! Нельзя так делать!"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так он же для А3 делает  :trollface:

Нехай завершает миску, пасаны будут рады.

С удалением мины - это же будет моя противоминомётная РЭБ, скрипт которой я ленюсь писать вот уже почти год.

Изменено пользователем crabe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[b][member=crabe][/b], я думаю тебе стоит подумать над этим, либо чтобы нас обстреляли с миномета на респе :)

8efb942f02.jpg 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

противоминомётная РЭБ

 

Противоминомётная радиоэлектронная борьба?

Но она же не удаляет минки... 

Зоопарк

https://www.youtube.com/watch?v=1KVr8NsND2Y

 

У пендосов вот это может работать вот с этим (этим2) и сбивать мины на подлёте. Даже в А3 есть мод, и он даже работает.

 

Но ты ведь не хочешь вводить нам Pook SAM pack.

 

 

Я к тому что удаление мин долетающих в триггер, это решение плохое.

А вот просчёт запуска хотя бы приблезительный с помощью какойто техники от это уже классная штука. Тем более что с ванили а А2 тянется артилерийский радар.

Изменено пользователем almost

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


А вот просчёт запуска хотя бы приблезительный с помощью какойто техники

Как ты себе это представляешь? Ну, интерфейс показа места выстрела хотя бы опиши.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


это решение плохое.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извращенцы  :army_yoba: А не проще написать скрипт, который просто будет удалять все мины, подлетающие на определенное расстояние к некоторой точке, расположенной в в центре респа?  :army_yoba: Или еще проще: удалять мину при выстреле из миномета, если таймер не отсчитал положенного времени?  :army_yoba:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так! Гражданин, вы пересекли границу вашей резервации! Асстанавитесь!

 

 

 


если таймер не отсчитал положенного времени

Придётся для разных чарджей свичи писать, зачем усложнять? Да и не всегда же миномёт по запретному месту будет стрелять.

Как-то не приколько когда у тебя законные мины удаляются.

Изменено пользователем crabe

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.