Mnemonic Posted October 14, 2009 Share Posted October 14, 2009 С разрешения Alex O'kean решил перенести некоторые посты из ветки про патч 1.0.1. http://forums.eagle.ru/showthread.php?t=38870&page=19 Класс, то шо треба, искал сегодня пол-дня! Link to comment Share on other sites More sharing options...
hawk1 Posted October 14, 2009 Share Posted October 14, 2009 Кстати, хотелось узнать, можно-ли в сингле пользовать ЛУА для "нестандартных" решений? Например, до ППМ1 юнит противоположной коалиции считается "нейтральным" и не может атаковаться ботами(любой коалиции). После прохождения ППМ1 юнит считается врагом и мочится всеми видами ботов и ПВО(своими). Или обратная ситуация(миссия угон из ЛО ГС): до определенного ППМ, времени миссии, юнит считается своим, после времени Ч(прохода ППМ) свой юнит считается чужим, а также чужой врагам становится своим, и враги его яростно защищают? Тяжелая поступь, Суровые лица Штурмовики идут похмелиться Link to comment Share on other sites More sharing options...
edwardpashkov Posted October 15, 2009 Share Posted October 15, 2009 (edited) Было бы время еще на эксперимент. Можо конечно и custom {} позабивать посоидеть... как нить проверю. Хотя исправить не так то и долго в сотне строк, зная чего где... Тем более, пока сложных условий чаще 10-30 раз не бывает (остальных хватает)... А вопрос.. к примеру код может иметь вид return((c_flag_is_false(\"1\") or c_flag_is_false(\"2\")) AND (c_flag_is_false(\"3\") or c_flag_is_false(\"4\"))) вроде скобок прально поставил.... соответсвенно в trigfunc = и conditions = ... ПыСы еще списки переменных и иповое описание у многоэтажных.. а то все выковыривать типа c_flag_is_false ,a_set_flag, что бы время на анализ не тратить - а то скажем, я разберусь - а другие, кто захочет - такой маленький подарок от разработчика :) Edited October 15, 2009 by edwardpashkov [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
Dmut Posted October 15, 2009 Share Posted October 15, 2009 (edited) Было бы время еще на эксперимент. Можо конечно и custom {} позабивать посоидеть... как нить проверю. Хотя исправить не так то и долго в сотне строк, зная чего где... Тем более, пока сложных условий чаще 10-30 раз не бывает (остальных хватает)... А вопрос.. к примеру код может иметь вид return((c_flag_is_false(\"1\") or c_flag_is_false(\"2\")) AND (c_flag_is_false(\"3\") or c_flag_is_false(\"4\"))) вроде скобок прально поставил.... соответсвенно в trigfunc = и conditions = ... так где вопрос? если ты про выражение - то может использоваться любое корректное в терминах LUA выражение ПыСы еще списки переменных и иповое описание у многоэтажных.. а то все выковыривать типа c_flag_is_false ,a_set_flag, что бы время на анализ не тратить - а то скажем, я разберусь - а другие, кто захочет - такой маленький подарок от разработчика :) переменных нет. есть только функции для предикатов, начинаются с "с_" и функции для действий, начинаются с "a_" список и структуру параметров предикатов можно глянуть в me_predicates.lua пример описания в редакторе: name = "c_time_since_flag", fields = { { -- первый параметр номер флага id = "flag", type = "spin", default = 1, }, { -- второй параметр кол-во секунд с момента установки флага id = "seconds", type = "spin", default = 10, min = 1, max = 10000000000, step = 1 } } пример использования: c_time_since_flag(2, 200) список и структуру параметров действий можно узнать в me_trigrules.lua пример описания в редакторе name = "a_out_text_delay_s"; fields = { { -- первый параметр название коалиции id = "coalitionlist", type = "combo", comboFunc = coalitionLister, displayFunc = coalitionIdToName, serializeFunc = null_transform, default = "", }, {-- второй параметр текст для вывода id = "text", type = "medit", default = "", displayFunc = convertMultilineText, serializeFunc = convertMultilineText2, }, {--третий параметр кол-во секунд для задержки сообщения на экране id = "seconds", type = "spin", default = 10, }, }, пример использования: a_out_text_delay_s("blue","my custom text",20) Edited October 15, 2009 by Dmut "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
Lemon Lime Posted October 16, 2009 Share Posted October 16, 2009 но! этот момент мы конечно предусмотрели, поэтому есть блок custom {}, который не интерпретируется редактором и напрямую сохраняется из миссии в миссию. вот через него и можно сделать нужную пачку триггеров )))Что-то не соображу, чего туда писать. Любой код, по образу и подобию блока trigfunc?custom = { [1] = "if c_time_after(\"20\") then a_out_text_delay(\"Работает\", \"10\"); end;", }, -- end of customНе работает. Коричневые очки никогда не поранят мозг. Они небьющиеся. Brown-coloured spectacles will never harm a brain. They are unbreakable. (с) Me сфсвсг I'm the future of the Russian government. According to Scott Lofgren, Bentley Systems global director. Link to comment Share on other sites More sharing options...
Flаnker Posted October 17, 2009 Share Posted October 17, 2009 парни,а с помощью какой программы можно осуществлять поиск в файлах LUA? Мои авиафото Link to comment Share on other sites More sharing options...
Mnemonic Posted October 17, 2009 Share Posted October 17, 2009 парни,а с помощью какой программы можно осуществлять поиск в файлах LUA? Открываешь блокнотом, жмешь "CTRL+F" вводишь что искать :) Если тебе нужно искать кусок текста в куче ЛУА-файлов, и ты не знаешь где он находится - можно использовать поиск ТоталКомандера к примеру - там есть поиск по фразе среди всех файлов из указанной папки. 2 Link to comment Share on other sites More sharing options...
Flаnker Posted October 18, 2009 Share Posted October 18, 2009 (edited) Если тебе нужно искать кусок текста в куче ЛУА-файлов, и ты не знаешь где он находится - можно использовать поиск ТоталКомандера к примеру - там есть поиск по фразе среди всех файлов из указанной папки. Вот это мне и надо, пасиб. Так товарищи, а как узнать "Name_of_weapon" оружия(блок НАРов? Edited October 18, 2009 by Flаnker Мои авиафото Link to comment Share on other sites More sharing options...
Dmut Posted October 19, 2009 Share Posted October 19, 2009 Что-то не соображу, чего туда писать. Любой код, по образу и подобию блока trigfunc?custom = { [1] = "if c_time_after(\"20\") then a_out_text_delay(\"Работает\", \"10\"); end;", }, -- end of customНе работает. написал вроде правильно, буду выяснять почему не работает. приаттач всю миссию, может не в том блоке написал. "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
Lemon Lime Posted October 19, 2009 Share Posted October 19, 2009 Вот:CustomTriggerLL.miz Коричневые очки никогда не поранят мозг. Они небьющиеся. Brown-coloured spectacles will never harm a brain. They are unbreakable. (с) Me сфсвсг I'm the future of the Russian government. According to Scott Lofgren, Bentley Systems global director. Link to comment Share on other sites More sharing options...
edwardpashkov Posted October 20, 2009 Share Posted October 20, 2009 (edited) Вопрос еще. ADDITIONAL.lua описывается, что будет нарисовано в АБРИСе... Пока видел линии (рисовать так не проблема), а не дадите весь список к ["additional_objects"]= , а то ковырять долго через редактор, вернее классы все. Просто работы море, на полетать времени мало, а на расковыривать и того меньше.. Да и для сетевых миссий нудо что то по иному описывать или как? Спасибо. Edited October 20, 2009 by edwardpashkov [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
ED Team Alex Okean Posted October 20, 2009 ED Team Share Posted October 20, 2009 Вопрос еще. ADDITIONAL.lua описывается, что будет нарисовано в АБРИСе... Пока видел линии (рисовать так не проблема), а не дадите весь список к ["additional_objects"]= , а то ковырять долго через редактор, вернее классы все. Просто работы море, на полетать времени мало, а на расковыривать и того меньше.. Да и для сетевых миссий нудо что то по иному описывать или как? Спасибо. в ADDITIONAL.lua только линии , дополгительные точки в NAVIGATION.lua , маршруты в ROUTES.lua 1 Link to comment Share on other sites More sharing options...
Dmut Posted October 20, 2009 Share Posted October 20, 2009 Вот: жаль что поздно заметили. значит так - механизм кастомных триггеров в симе есть и он работает. но в редакторе я его забыл прописать. поэтому: 1) в файле me_mission.lua в районе строки 1056 вставляем такую сентецию (это что бы кастомные триггеры сохранялись при сохранении миссии) um.customtrigfunc = mission.customtrigfunc or {} после чего заходим в редактор, сохраняем миссию и получаем новую таблицу customtrigfunc = { }, -- end of customtrigfunc 2) прописываем туда кастомные триггеры customtrigfunc = { [1] = "if c_time_after(\"20\") then a_out_text_delay(\"Работает\", \"10\"); end;", }, вроде все. попробуй Сергей и скажи что получится. "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
edwardpashkov Posted October 23, 2009 Share Posted October 23, 2009 (edited) Вот вам и к патчу нашли :) А так, чтобы огороды не городить, может все таки добавите в редактор функию "или".. И по миссиям столкнулся нужно триггеры - "любой юнит каолиции" и "любой юнит группы" в конкретной зоне и т.п. Плюс к сетевому игроку по (нику привязку бы неплохо) - перерождение не более N-раз, или перерождение не ранее чем через N-времени. И чуть офтоп - возможност рисовать path и присваивать его группе. А то разрисовывать кучу групп и потом их через генератор активировать - лишняя немного работа.. (Хоть и можно стерпеть).. а тогда к такому триггеру еще RND в диапазоне от 0 до 16 скажем.. нарисуем 16 маршрутов (или сколь нужно и соответвенно рнд до этого числа) и в зависимости от числа присваивать номер маршрута группе... типа attach path(rnd(n)) c_group_(имя группы) или типа такого.. Больше разнообразия будет.. ПыСы Править me_mission.lua только на машине где пишем или везде? А то вдруг еще чего забыли? Edited October 23, 2009 by edwardpashkov [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
DruiD Posted October 23, 2009 Share Posted October 23, 2009 Редактор тоже на lua написан, так что если шаришь и/или времени много свободного - добавь сам :) =012= A..a..are you gangsters??? No! We are RUSSIANS! Link to comment Share on other sites More sharing options...
edwardpashkov Posted October 24, 2009 Share Posted October 24, 2009 Вот его то совсем нет. Или почти не бывает. Летать хочеться иногда, а не код ковырять вместо отдыха.. Просто не одному мне такое интересно, слышал такие же предложения. Или втыкать руками еще можно на отлаженной миссии, хотя приходитсья искать другие пути, что есть грусть. Не смотрел еще в англоязычном форуме на счет таких, но если не было, то ИМХО там тоже может такое интересно... [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
ED Team Chizh Posted October 25, 2009 ED Team Share Posted October 25, 2009 Расширение функционала редактора и триггеров у нас в планах. В том числе и логическое "или", и более гибкое управление маршрутами юнитов. Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted October 26, 2009 Share Posted October 26, 2009 Расширение функционала редактора и триггеров у нас в планах. В том числе и логическое "или", и более гибкое управление маршрутами юнитов.Вы умрете визуализировать и раскладывать по кнопкам и менюшкам все фантазии разработчиков миссий. И не нужно это. Лучше просто дать возможность удобно работать с кодом - то есть рисовать в редакторе маршруты, а ВСЕ остальное - просто вызовом. Всем будет проще, и вам тоже. JGr124 "Katze" Link to comment Share on other sites More sharing options...
dragony Posted October 26, 2009 Share Posted October 26, 2009 O_o Вызовом чего? И откуда? WBR, =FV=BlackDragon. [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted October 26, 2009 Share Posted October 26, 2009 O_o Вызовом чего? И откуда?Вызовом соответствующих функций и/или хуков. :) JGr124 "Katze" Link to comment Share on other sites More sharing options...
dragony Posted October 26, 2009 Share Posted October 26, 2009 Хммм... А мне казалось, что текущая реализация редактора весьма хороша, главное - накодить нужный функционал в луа... WBR, =FV=BlackDragon. [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
edwardpashkov Posted October 27, 2009 Share Posted October 27, 2009 (edited) Кстати, чтобы огород не городить, триггер с зоной - типа "если обект в зоне цел/уничтожен" .. для мостов хотябы, а то сейчаз придется хитро проверять на целостность некоторых стратегических мостов... ПыСы Кастом тригерры пашут после правки конфижного файла секция пральная стоновится :) Спасибо за поправки :) Edited October 28, 2009 by edwardpashkov [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
hawk1 Posted November 19, 2009 Share Posted November 19, 2009 вроде все. попробуй Сергей и скажи что получится. Попробовал - получается что миссия вылетает. :( Тяжелая поступь, Суровые лица Штурмовики идут похмелиться Link to comment Share on other sites More sharing options...
edwardpashkov Posted November 19, 2009 Share Posted November 19, 2009 У меня счаз на серваке крутится с кастомными триггерами миссии. Народ вроде летает. Ваш код { [1] = "return(c_unit_in_zone(\"1\", \"lua_tst\") or c_unit_in_zone(\"2\", \"lua_tst\") or c_unit_in_zone(\"3\", \"lua_tst\") or c_unit_in_zone(\"4\", \"lua_tst\") or c_unit_in_zone(\"5\", \"lua_tst\") or c_unit_in_zone(\"6\", \"lua_tst\") or c_unit_in_zone(\"7\", \"lua_tst\") or c_unit_in_zone(\"8\", \"lua_tst\") or c_unit_in_zone(\"9\", \"lua_tst\") or c_unit_in_zone(\"10\", \"lua_tst\") )", }, -- end of customtrigfunc resultBlue = return??? а не if вроде должно быть, причем в конце должно быть условие, что сделать. к примеру так then a_set_flag(\"1\"); end;", т.е. [1] = "if(c_unit_in_zone(\"1\", \"lua_tst\") or c_unit_in_zone(\"2\", \"lua_tst\") or c_unit_in_zone(\"3\", \"lua_tst\") or c_unit_in_zone(\"4\", \"lua_tst\") or c_unit_in_zone(\"5\", \"lua_tst\") or c_unit_in_zone(\"6\", \"lua_tst\") or c_unit_in_zone(\"7\", \"lua_tst\") or c_unit_in_zone(\"8\", \"lua_tst\") or c_unit_in_zone(\"9\", \"lua_tst\") or c_unit_in_zone(\"10\", \"lua_tst\") ) then a_set_flag(\"1\"); end;",, }, -- end of customtrigfunc Далее где нить просто флаг проверите. Если есть - то отработать. в редакторе кустамны не видно, но работают зато. Ну или сразу опишите событе, после then типа так then a_out_text_delay(\"Restart in 3 min\", \"10\"); end;" Вроде так.. Пишу с мелкого экрана, мог спутать синтаксис. Пусть меня поправят. [sIGPIC][/sIGPIC] АКА =TMS= Count _ Полеты на = T M S = dedicate server На точке работает РП (РП+РПП) Набор вирпилов на вертикальную, штурмовую и истребительную авиацию со времен ВОВ и по настоящее время Комсостав и инструкторы - летавшие в горячих точках (и не только) и действующие летчики. Link to comment Share on other sites More sharing options...
Dmut Posted November 19, 2009 Share Posted November 19, 2009 Попробовал - получается что миссия вылетает. :( как написал edwardpashkov, в customtrigfunc нужно использовать полный триггер, а не только предикат. посмотри, как сделано в моём сообщении http://forums.eagle.ru/showpost.php?p=769279&postcount=116 "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
Recommended Posts