Jump to content
ToxaSM

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

Recommended Posts

Тупой вопрос, сам знаю.
Как сделать триггер на запрет покидания определенной зоны стороне. Т.е. оборона может только находиться на базе. И покидать ее не могут, иначе смерть.

Share this post


Link to post
Share on other sites

сделать тригер вокруг этой зоны

в условие player in thisList and (getPosATL player select 2) < 0.5;

в активацию player setdamage 1;

 

< 0.5; высота. что бы вертушки проходили нормально))

Share this post


Link to post
Share on other sites

@friend, рисовать кривыми прямоугольниками круглую зону для киллтриггера?

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

не?

Share this post


Link to post
Share on other sites

@friend, так ты нарисовал киллтриггер входа в зону, а юджин хочет триггер на выход.

@Randy, да ладно. одним больше, одним меньше. триггеры на кол-во оставшихся игроков сервер же не кладут.

Share this post


Link to post
Share on other sites

Randy, да ладно. одним больше, одним меньше. триггеры на кол-во оставшихся игроков сервер же не кладут.

причем тут падение сервера ? основной принцип - минимизирование нагрузки. Почитай, как триггеры обрабатывают события, сколько раз в какой период времени они обрабатываются.

Edited by Randy

Share this post


Link to post
Share on other sites

Правило, что mission.sqf не должен превышать 250кб ещё действует?

Смысл не в весе, а в количестве объектов. Не помню, чтоб на воге хоть одна такая миска взлетела нормально.

Edited by swatSTEAM

Share this post


Link to post
Share on other sites

Фундаментальные основы программирования, в частности по обработке событий, говорят о том, что событие должно обрабатываться тогда, когда по логике вещей что-то меняется от исходного значения. Это есть оптимизация. Я не программист, но суть я думаю понятна.

Перехватывать значение нужно не постоянно проверяя его (без задержки), а активировать проверку в те моменты, когда оно имеет вероятность поменяться. Понимаешь ? Арма 2 с эйсом слишком неоптимизированна, тем более, когда играет количество игроков близкое к максимальному техническому пределу.

Edited by Randy

Share this post


Link to post
Share on other sites

У БИСов целая игра на руках, а вы с триггерами разобраться не можете :D . Лучше уж цикл с задержкой проверки условия 5-10 секунд.

Edited by IHUNTERI

Share this post


Link to post
Share on other sites

Вы вот расскажите мне господа. Как правильно в 3D едиторе выставляются строения, таким образом, что бы они не принемали форму изгибов поверхности.

А стояли ровно. К примеру как это сделано на Сары-Санге? Там мешки и бункера на половину вкопаны в землю. У меня они как не ставь после сохранения стоят на земле. А мне хочется как то их устаканить по плоскости. Я так понимаю это какой то хитрый инит прописывается в каждый вехикл который ставится?

Edited by almost

Share this post


Link to post
Share on other sites

@almost,

воу воу воу.

расскажите как запустить 3D чудо-редактор. Где его взять, к примеру?

И какой конвертер в 2D самый чёткий и не даёт потерь?

Share this post


Link to post
Share on other sites

@crabe, alt+e из главного меню, после сохранения в 3д редакторе все равно объекты уезжают. Я делаю по схеме: поставил - сохранил - загрузил - поправил - сохранил. Потом уже при помощи 3de_conv  конвертирую в 2д.

Share this post


Link to post
Share on other sites

А зачем их конвертить, от этого файл мишшн станет отнюдь не 256к....

Имхо лучше подключать его как sqf  немного отредактировав, убрав шапку заголовка, оставив только виеклы.

Share this post


Link to post
Share on other sites

Я тут заметил, что у нас и кроме тошкиных миссий появляются такие, где выход после смерти в лобби и перезаход в спектатор сопровождается пропаданием всех звуков из игры. Так же нипайдёд!

Видел такое на "Заброшенной лесопилке" Тошки, "Восходе" Эксарона, "Sanaag bari" Дефендера.

 

причина в куске init.sqf, который эти славные картоделы используют

 

finishMissionInit;
0 fadeSound 0;
enableRadio false;
_camera = "camera" camCreate [(getPos player select 0),(getPos player select 1),100];
_camera cameraEffect ["internal","back"];
_camera camSetFOV 0.700;
_camera camCommit 0;
waitUntil {camCommitted _camera};
cutText["", "BLACK FADED", 60];
waitUntil {time > 0};
sleep 0.01;
 
if (!isDedicated && (player != player)) then {
waitUntil {player == player};
};
 
waitUntil {time > 20};
player cameraEffect ["terminate","back"];
camDestroy _camera;
cutText["", "BLACK IN", 5];
5 fadeMusic 0;
enableRadio true;
0 fadeSound 1;

 

А ещё точнее в команде fadeSound. Команда багнутая, о чём есть даже кейс в багтрекере. Там, правда, написано, что в OA оно работает, но, видимо, CO переняла эту багу из ванилы. Короче, это уже неважно.

 

Необходимо выпилить команду из init.sqf, если непременно хочется оставить вскусняшки возвращения в спектатор или удалить нафиг весь кусок, если наплевать на него.

Надеюсь, Тошка и Дефендер прочитают.

Edited by crabe

Share this post


Link to post
Share on other sites

enableSaving false;


finishMissionInit;
enableRadio false;

_camera = "camera" camCreate [(getPos player select 0),(getPos player select 1),100];
_camera cameraEffect ["internal","back"];
_camera camSetFOV 0.700;
_camera camCommit 0;
waitUntil {camCommitted _camera};
cutText["Синхронизация...", "BLACK FADED", 15];
waitUntil {time > 10};
player cameraEffect ["terminate","back"];
camDestroy _camera;
cutText["", "BLACK IN", 5];
Edited by Randy

Share this post


Link to post
Share on other sites

@crabe

fadeSound несправедливо обижен. Восстановим справедливость!

Он прекрасно работает и даже полезен, особенно, когда на старте какая-нибудь хрень гудит.

Проблема вот в этом куске говна.

if (!isDedicated && (player != player)) then {
waitUntil {player == player};
};

Так как

(objNull == objNull) //false

То это эквивалентно тому что ниже, если записать нормально

if (!isDedicated) then {
    waitUntil {!isNull player};
};

Теперь что оно делает:

У мертвых игроков переменная player возвращает ObjNull, а те, кто перезаходят в спектатор тоже мертвы и выполняют init sqf сначала. То есть при выполнение этого кода вы загоняете клиент в бесконечный цикл, так что код, который идёт позже никогда не выполняется. Это значит, что "0 fadeSound 1;" не выполнится и звук не разлочится.

Edited by swatSTEAM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.