Jump to content

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

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

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

Recommended Posts

Думаю стоит здесь продолжить задавать вопросы по созданию МП-миссий

Изображение

 

Внимание вопрос:

1) Как сделать отображение на доске, в нашем случаем стенд с информацией, нашего текста или изображения?

2) Как сделать интерактивное меню телепортации по карте, как в провинг гроундсе, но активация колесиком чтобы была?

 

P.S. Все задающиеся вопросы и ответы на них постараюсь вкладывать в первое сообщение, т.е. сюда.

Share this post


Link to post
Share on other sites

@Kurbat,

1) Картинка по центру объекта будет ставиться? Если да, то по этому пункту вопросов больше нет (Да, ты мне показывал)

2) Мне нужно, чтобы как в провинг гроундсе после нажатия в меню Телепортация открывалась карта и человека перемещался в это место. 

Share this post


Link to post
Share on other sites

@ToxaSM,

не знаю как на пг, но на одной из моих карт я юзаю это:

closedialog 0; //закрытие диалога из которого вызываетсяsleep 0.5;TitleText [format["Click on the map"], "PLAIN DOWN"];openMap [true, false];onMapSingleClick "[_pos select 0, _pos select 1, _pos select 2] execVM ""ScriptsTeleport1.sqf""; True";

Telepor1.sqf:

_pos = [_this select 0, _this select 1,_this select 2];		if ((vehicle player isKindOf "Air")) then{				(vehicle player) setpos [_pos select 0, _pos select 1, 100];    }else    {    (vehicle player) setpos [_pos select 0, _pos select 1, 0];    };openMap [false, false];TitleText [format[""], "PLAIN DOWN"];onMapSingleClick "";

Share this post


Link to post
Share on other sites

@Kurbat, у тебя работает (карта эта есть у меня), но на ПГ карта открывается без каких-либо объектов, что по мне удобнее.

На ПГ в PG_Config.hpp вот такой пункт есть

class balca_teleport_btn : balca_debug_btn			{				x = column_weight; w = column_weight-column_div;				y = btn_height*3;				text = "Teleport";				action = "hint ""Click on map to teleport"";onMapSingleClick ""vehicle player setPos [_pos select 0,_pos select 1,0]; onMapSingleClick '';""; openMap true; closeDialog 0;"; 			}; 

Если я все правильно понял, то это конечный продукт (не считая х и у), но его нужно теперь переделать под колесико.

Share this post


Link to post
Share on other sites

@Kurbat, сделал менюшку, но сам экшон не хочет работать, никакого действия после нажатия не происходит

init.sqf

_Handle = player execVM "action.sqf";

action.sqf

player addAction ["<t color='#2222ff'>" + "Менюшка" + "</t>","menustart.sqf", "", 1, false, true, "", ""];player addMPEventHandler ["mprespawn", {Null = player execVM "action.sqf";}];

menustart.sqf (ничего не происходит)

hint ""Click on map to teleport"";onMapSingleClick ""vehicle player setPos [_pos select 0,_pos select 1,0]; onMapSingleClick '';""; openMap true; closeDialog 0;

P.S. делаю по образу и подобию бубуха  :)

Share this post


Link to post
Share on other sites

походу у тебя какая-то старая версия карты. я там менял вешалку экшена.

чуть позже распишу что куда писать. ;)

Share this post


Link to post
Share on other sites

где-то в ините:

[] spawn {	while {true} do {		_veh = vehicle player;		_act = _veh addAction ["<t color='#C0C0C0'>Телепорт</t>","tp.sqf",[],0.1];		waitUntil {sleep 1;(_veh != (vehicle player))};		_veh removeAction _act;	};};

tp.sqf:

_fnc_tp = {_pos = [_this select 0, _this select 1,_this select 2];		if ((vehicle player isKindOf "Air")) then{				(vehicle player) setpos [_pos select 0, _pos select 1, 100];    }else    {    (vehicle player) setpos [_pos select 0, _pos select 1, 0];    };openMap [false, false];TitleText [format[""], "PLAIN DOWN"];onMapSingleClick "";};TitleText [format["Click on the map to Tele-Port"], "PLAIN DOWN"];openMap [true, false];onMapSingleClick "[_pos select 0, _pos select 1, _pos select 2] spawn _fnc_tp; True";

зы: не тестил, не оптимизированно, но должно работать, даже из техники.

зыы: последняя(полугодовалая) версия моей мапы

Share this post


Link to post
Share on other sites

@Kurbat, почти работает, но после открытия карты и нажатия на ней, ничего не происходит.

З.Ы. А можно ли с открывшийся карты убрать компас и часы и если ещё чего будет?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Не нашел той самой ветки для вопросов, поэтому спрошу здесь.Как сделать сигнальную мину многоразовой и ограничить время ее работы заданным периодом времени? Что-то прописать в ините мины? При копировании объекта в редакторе эта строка сохранится, все скопированные мины будут иметь те же свойства?Можно сделать здание бессмертным, если оно там и росло, а не поставлено картоделом?

Share this post


Link to post
Share on other sites
Можно сделать здание бессмертным, если оно там и росло, а не поставлено картоделом?

 

obj1 = getPos this nearestObject 123456; obj1 allowDamage false;

(в инит любого юнита)

где obj1 - любое имя,

123456 - id объекта на карте

Edited by Skorpion

Share this post


Link to post
Share on other sites

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

 

или в нужном радиусе от маркера

_nearestHouses = nearestObjects [getMarkerPos "marker_disable_damage", ["HOUSE"], 100]; { _x allowDamage false} foreach _nearestHouses;

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Спасибо, сделал. Теперь остался старый вопрос и один новый. 

 

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

 

Как сделать таймер, отсчитывающий в углу время с начала миссии? Желательно с хинтами каждые 30 секунд по истечении двухминутного фризтайма.

Share this post


Link to post
Share on other sites

Сделал набор триггеров, срабатывающих на присутствие на всей карте кого угодно, с отсчетом времени и появляющимся текстом через 120, 150, 180 и т.д. секунд. Но отсчет не отображается, хотя хорошо, что можно присобачить звуки.

Share this post


Link to post
Share on other sites

в init.sqf отдельной строкой 

[] execVM "scripts\countdown.sqf";

в папку scripts кладешь countdown.sqf со следующим содержимым(только без ID строк, из форум сам дописал):

Otschet = 6000; // время отсчета
Ticktick = 10; //тики со звуком
Start_otschet = false;
waitUntil {time > 10};
Start_otschet = true;
 
 
if isDedicated then {
 
	while {Start_otschet} do
	{
       
		sleep 1;
		Otschet = Otschet - 1;
		publicVariable "Otschet";
		if (Otschet < 1) then {
			Start_otschet = false;
			publicVariable "Start_otschet";
		};
	};
	} else {
		TTick = {
			if (_this > 0) then {
       
				if (_this > Ticktick) then {
					hintSilent parsetext format ["До конца игры:<br/>%1 час. %2 мин. %3 сек.",floor(_this/3600),floor(_this/60)%60,_this%60];
				} else {
					hint parsetext format ["До конца игры:<br/>%1 час. %2 мин. %3 сек.",floor(_this/3600),floor(_this/60)%60,_this%60];
				};

			} else {
				hint "Время вышло! Ничья! ";
			end4 = true;
			publicVariable "end4";
			};
		};
		"Otschet" addPublicVariableEventHandler {(_this select 1) spawn TTick};
	};

ftp://wogames.info/WOG%20MP%20Mission%20Archive/A2/wog_129_com_station_11.Caribou.pbo

из миссии Банзая.

Edited by Randy

Share this post


Link to post
Share on other sites

Хренассе! Я нашел другой отсчет, но там попроще. Проблема только в том, что мне нужен не обратный отсчет, а таймер ) Для этого надо изменить выделенное жирным и убрать зачеркнутое?

 

[spoiler=]

 

  1. Otschet = 0; // время отсчета
  2. Ticktick = 10; //тики со звуком
  3. Start_otschet = false;
  4. waitUntil {time > 10};
  5. Start_otschet = true;
  6.  
  7.  
  8. if isDedicated then {
  9.  
  10. while {Start_otschet} do
  11. {
  12.  
  13. sleep 1;
  14. Otschet = Otschet + 1;
  15. publicVariable "Otschet";
  16. if (Otschet < 1) then {
  17. Start_otschet = false;
  18. publicVariable "Start_otschet";
  19. };
  20. };
  21. } else {
  22. TTick = {
  23. if (_this > 0) then {
  24.  
  25. if (_this > Ticktick) then {
  26. hintSilent parsetext format ["ВРЕМЯ:<br/>%1 час. %2 мин. %3 сек.",floor(_this/3600),floor(_this/60)%60,_this%60];
  27. } else {
  28. hint parsetext format ["ВРЕМЯ:<br/>%1 час. %2 мин. %3 сек.",floor(_this/3600),floor(_this/60)%60,_this%60];
  29. };
  30.  
  31. } else {
  32. hint "Время вышло! Ничья! ";
  33. end4 = true;
  34. publicVariable "end4";
  35. };
  36. };
  37. "Otschet" addPublicVariableEventHandler {(_this select 1) spawn TTick};
  38. };

 

А еще нужно две минуты обратного отсчета до начала этого таймера. И желательно с предупреждающими сигналами перед окончанием. Нашел вариант, но я даже не понимаю, куда все это пихать и как совмещать. В mission.sqm?

Я пока не планирую становиться картоделом, но планирую мероприятие для WOG'а, где без этого будет сложно и колхозно.

Edited by RamZesIV

Share this post


Link to post
Share on other sites

напиши полное ТЗ, еще лучше отдельной темой, чтобы в этой мусорной теме дальше в кучу не пихать все.

Edited by Randy

Share this post


Link to post
Share on other sites

@RamZesIV, таймер все еще актуален? Я могу скинуть миссию для так и не состоявшегося снайперского турнира, там все по твоим хотелкам, но разбираться в коде сам будешь, мне лень и забыл я уже, как оно там сделано. Но там все должно быть просто.

Теперь мой вопрос: можно как-то сделать бойца раненым (конкретнее - безногим, короче, чтобы он бегать/ходить не мог) так, чтобы ему не мог оказать помощь ни один медик?

Edited by dmb09

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

×

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.