ToxaSM 3 122 Жалоба Опубликовано 28 января, 2014 Думаю стоит здесь продолжить задавать вопросы по созданию МП-миссий Внимание вопрос: 1) Как сделать отображение на доске, в нашем случаем стенд с информацией, нашего текста или изображения? 2) Как сделать интерактивное меню телепортации по карте, как в провинг гроундсе, но активация колесиком чтобы была? P.S. Все задающиеся вопросы и ответы на них постараюсь вкладывать в первое сообщение, т.е. сюда. 2 AT_ и TeddyFear отреагировали на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kurbat 199 Жалоба Опубликовано 28 января, 2014 @ToxaSM, 1) http://community.bistudio.com/wiki/setObjectTexture (помоему я показывал тебе пример на а3?) 2) http://community.bistudio.com/wiki/displayAddEventHandler остальное гетпозы и сетпозы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ToxaSM 3 122 Жалоба Опубликовано 28 января, 2014 @Kurbat, 1) Картинка по центру объекта будет ставиться? Если да, то по этому пункту вопросов больше нет (Да, ты мне показывал) 2) Мне нужно, чтобы как в провинг гроундсе после нажатия в меню Телепортация открывалась карта и человека перемещался в это место. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kurbat 199 Жалоба Опубликовано 28 января, 2014 @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 ""; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ToxaSM 3 122 Жалоба Опубликовано 28 января, 2014 @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;"; }; Если я все правильно понял, то это конечный продукт (не считая х и у), но его нужно теперь переделать под колесико. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
[KND] Liquid 1 087 Жалоба Опубликовано 28 января, 2014 За пункты в колесе отвечает http://community.bistudio.com/wiki/addAction который по активации должен запустить скрипт телепорта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ToxaSM 3 122 Жалоба Опубликовано 28 января, 2014 @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. делаю по образу и подобию бубуха :) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kurbat 199 Жалоба Опубликовано 28 января, 2014 походу у тебя какая-то старая версия карты. я там менял вешалку экшена. чуть позже распишу что куда писать. ;) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kurbat 199 Жалоба Опубликовано 28 января, 2014 где-то в ините: [] 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"; зы: не тестил, не оптимизированно, но должно работать, даже из техники. зыы: последняя(полугодовалая) версия моей мапы 1 ToxaSM отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ToxaSM 3 122 Жалоба Опубликовано 29 января, 2014 @Kurbat, почти работает, но после открытия карты и нажатия на ней, ничего не происходит. З.Ы. А можно ли с открывшийся карты убрать компас и часы и если ещё чего будет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 5 февраля, 2014 Предлагаю не писать вопросы сюда, а создавать отдельную тему, дабы была возможность последовательного обсуждения, в отличие от кучи-малы. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 31 августа, 2014 Не нашел той самой ветки для вопросов, поэтому спрошу здесь.Как сделать сигнальную мину многоразовой и ограничить время ее работы заданным периодом времени? Что-то прописать в ините мины? При копировании объекта в редакторе эта строка сохранится, все скопированные мины будут иметь те же свойства?Можно сделать здание бессмертным, если оно там и росло, а не поставлено картоделом? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skorpion 35 Жалоба Опубликовано 1 сентября, 2014 (изменено) Можно сделать здание бессмертным, если оно там и росло, а не поставлено картоделом? obj1 = getPos this nearestObject 123456; obj1 allowDamage false; (в инит любого юнита) где obj1 - любое имя, 123456 - id объекта на карте Изменено 2 сентября, 2014 пользователем Skorpion Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DreadMoroz 327 Жалоба Опубликовано 1 сентября, 2014 Можно сделать здание бессмертным, если оно там и росло, а не поставлено картоделом? или в нужном радиусе от маркера _nearestHouses = nearestObjects [getMarkerPos "marker_disable_damage", ["HOUSE"], 100]; { _x allowDamage false} foreach _nearestHouses; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 1 сентября, 2014 Лабогадарю, только я не в теме, о каком маркере идет речь. Это в строку инициализации маркера? Что за маркер и где его искать? Я только в редакторе простые вещи умею, но очень нужно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 2 сентября, 2014 маркер - это F6 в редакторе и даблклик на карте, как юнита ставить. 1 Ram3esIV отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 3 сентября, 2014 Спасибо, сделал. Теперь остался старый вопрос и один новый. Как сделать сигнальную мину многоразовой и ограничить время ее работы заданным периодом времени? Как сделать таймер, отсчитывающий в углу время с начала миссии? Желательно с хинтами каждые 30 секунд по истечении двухминутного фризтайма. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 3 сентября, 2014 если никто не напишет - вечером из дома напишу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 3 сентября, 2014 Сделал набор триггеров, срабатывающих на присутствие на всей карте кого угодно, с отсчетом времени и появляющимся текстом через 120, 150, 180 и т.д. секунд. Но отсчет не отображается, хотя хорошо, что можно присобачить звуки. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 3 сентября, 2014 нет, нельзя так делать. перегрузка и доп. лаги. делается скриптом. 3 DreadMoroz, Ram3esIV и Dock отреагировали на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 4 сентября, 2014 (изменено) в 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 из миссии Банзая. Изменено 4 сентября, 2014 пользователем Randy 1 Ram3esIV отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 4 сентября, 2014 (изменено) Хренассе! Я нашел другой отсчет, но там попроще. Проблема только в том, что мне нужен не обратный отсчет, а таймер ) Для этого надо изменить выделенное жирным и убрать зачеркнутое? [spoiler=] Otschet = 0; // время отсчета 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}; }; А еще нужно две минуты обратного отсчета до начала этого таймера. И желательно с предупреждающими сигналами перед окончанием. Нашел вариант, но я даже не понимаю, куда все это пихать и как совмещать. В mission.sqm?Я пока не планирую становиться картоделом, но планирую мероприятие для WOG'а, где без этого будет сложно и колхозно. Изменено 4 сентября, 2014 пользователем RamZesIV Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Randy 820 Жалоба Опубликовано 4 сентября, 2014 (изменено) напиши полное ТЗ, еще лучше отдельной темой, чтобы в этой мусорной теме дальше в кучу не пихать все. Изменено 4 сентября, 2014 пользователем Randy 1 Ram3esIV отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
[FOX] dmb09 4 347 Жалоба Опубликовано 18 сентября, 2014 (изменено) @RamZesIV, таймер все еще актуален? Я могу скинуть миссию для так и не состоявшегося снайперского турнира, там все по твоим хотелкам, но разбираться в коде сам будешь, мне лень и забыл я уже, как оно там сделано. Но там все должно быть просто. Теперь мой вопрос: можно как-то сделать бойца раненым (конкретнее - безногим, короче, чтобы он бегать/ходить не мог) так, чтобы ему не мог оказать помощь ни один медик? Изменено 18 сентября, 2014 пользователем dmb09 1 Ram3esIV отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ram3esIV 2 218 Жалоба Опубликовано 18 сентября, 2014 Конечно, скидывай. Попробую разобраться, спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты