Svoboда 3 Опубликовано 23 Апреля 2009 Поделиться Опубликовано 23 Апреля 2009 Тема для обсуждения скриптов всего и всех в серии игр STALKER. Задавая вопрос (!): 1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего; 2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме); 3. Изучите информацию которая может вам помочь: Stalkerin. Там есть много хороших статей касательно данной темы.Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения. Справочное руководство по языку Lua 5.1https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ruСправочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены. Логика со вступлением и четырьмя частями: ВступлениеЧасть перваяЧасть втораяЧасть третьяЧасть четвертая. Smart_terrain (в простонароде - гулаг)Интересный способ настроики логики для гулаговСкриптовая часть игровой логики 4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос; 5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе; 6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода; 7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины. 8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ. 9. И помните: «Правильно заданный вопрос – половина ответа». Какие вопросы следует задавать, а какие нет... Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу. Вопросы которые будут удалятся, следовательно их задавать не нужно:-- Где находится та или иная функция? Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;-- Как сделать что-то/то-то? С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов? В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос. И последнее: очень рекомендовано к прочтению Правила форума 1 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/
Charsi 441 Опубликовано 28 Июня 2015 Поделиться Опубликовано 28 Июня 2015 @Simonov50, метод работает именно так - set(x, y, x+width, y+height). Т.е. если сначала ширина активной области окна была 420-0 = 420, то потом стала 420-200 = 220. И всё, что уехало правее 420 - уже не активно. Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947025
Simonov50 2 Опубликовано 28 Июня 2015 Поделиться Опубликовано 28 Июня 2015 @naxac, Прости засранца, я был сильно неправ (задолбали собственные ошибки). Сергей. метод работает именно так - set(x, y, x+width, y+height). Спасибо ! Понял всё. У меня минимум 3 ошибки:1. Неверно выбрал метод для сдвига.2. В моём "поминальнике" ошибка (width, height вместо x2, y2)3. Не перепроверив незаслуженно обидел человека. Поскольку, читал (и конспектировал) все Ваши предыдущие ответы, рискнузадать очень важный для меня ворос - не понимаю суть. (непонятки прономерованы в спойлере) class "lbx_kv" (CUIListItemEx) -- Скриптовой лист-бокс, + к основномуfunction lbx_kv:__init() super()self.text = CUIStatic() -- имя только .text (фишка, игра слов)self:AttachChild(self.text) -- дополняем класс-- класс "висит в воздухе", не связан с экраном (и с XML)end class "kovir" (CUIScriptWnd)-- bla_bla -- self.lb_kv = xml:InitList("lbx_wnd_kv:list",self) -- основной лист-боксself:Register(self.lb_kv, "lbox_kv") -- для калбака----- function add_string(name) записываем строкуlocal _itm = lbx_kv() -- указатель на скрипт.класс_itm.text:SetText(name) -- пишем name в доп.статик !!! 1)Как это через статик добраться до класса (с другими методами !) ??? self.lb_kv:AddItem(_itm) -- пишем в основной лист kovir.lb_kv 2) ??? что пишем ??? в основной лист (ему нужен тип "string")end -- Читаем строку, именно здесь важно имя .text (фишка, игра слов)-- индекс берём с основного листа, а текст из дополнительного статика name = self.lb_kv:GetItem(index).text:GetText() ???? 3) ??? здесь self== kovir: но!!! .text из другого класса!!! == lbx_kv: И это всё работает, но как совершенно не понятно.Это текст уже из моего скрипта, принцип прямо заимствован из скриптовдля Спавен мода Повелитель Зоны. Нужен был работающий лист-бокс. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947033
naxac 2 595 Опубликовано 29 Июня 2015 Поделиться Опубликовано 29 Июня 2015 @Simonov50, доступ к экземпляру другого класса ты получаешь через self.lb_kv:GetItem(item_index). Точнее, этим методом ты и получаешь экземпляр класса lbx_kv, и далее можешь делать с ним всё, что угодно его методами. Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947142
RayTwitty 575 Опубликовано 29 Июня 2015 Поделиться Опубликовано 29 Июня 2015 (изменено) Но может есть другие варианты?По хорошему, на бы в самом движке перед созданием биндера проверять, а существует ли такой файл\функция вообще. Но если движок не вариант, значит на выходе в онлайн читаем секцию у объекта, в этой секции читаем параметр script_binding, разбиваем строку на [файл].[функция], далее известными способами проверяем наличие и вылетам если чего-то не хватает. В случае если всё окей, добавляем секцию в табличку "проверенных секций", чтобы несколько раз не сканировать одно и тоже. Изменено 29 Июня 2015 пользователем Shadows 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947192
UnLoaded 313 Опубликовано 29 Июня 2015 Поделиться Опубликовано 29 Июня 2015 значит на выходе в онлайн читаем секцию у объекта, в этой секции читаем параметр script_binding, разбиваем строку на [файл].[функция], далее известными способами проверяем наличие и вылетам если чего-то не хватает. Ну тогда наверное проще будет: local obj_bind = obj:binded_object() if obj_bind then .... Если биндер смогли получить - значит все ок с файлом\ф-цией ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947193
RayTwitty 575 Опубликовано 29 Июня 2015 Поделиться Опубликовано 29 Июня 2015 @UnLoaded, не у всех объектов, выходящих в онлайн, должен быть биндер. Без чтения конфига не обойтись. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947194
Zander_driver 10 348 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 значит на выходе в онлайн читаем секцию у объекта А как мы поймаем выход в онлайн, если у объекта не работает биндер? binder:net_spawn() в таком случае не вызывается тоже. Вообще конечно да. по идее такие вещи должны в движке проверяться, и тот факт что этого нет, это очередной косяк его разрабов. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947200
Charsi 441 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 @Zander_driver, с помощью level.client_spawn_manager():add( object_id, 0, spawn_callback ). Колбек на выход в онлайн вызывается после возможного binder:net_spawn(), поэтому на момент вызова уже будет известно, забинден ли объект. Проверка в движке всё же есть, но без обрушения игры. luabind::functor<void> lua_function; if (!ai().script_engine().functor(pSettings->r_string(section,"script_binding"),lua_function)) { ai().script_engine().script_log (ScriptStorage::eLuaMessageTypeError,"function %s is not loaded!",pSettings->r_string(section,"script_binding")); return; } Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947202
RayTwitty 575 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) Ещё такой вариант - перебрать вообще все секции и посмотреть у них параметры биндинга, ну и потом проверить наличие всего необходимого. Другими словами, отладка ещё до выхода объектов в онлайн. Изменено 30 Июня 2015 пользователем Shadows Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947203
Zander_driver 10 348 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) Ну про перебор уже говорилось ранее. Метод надежный в плане результата, но, кхм, не слишком удобный. Проверка в движке всё же есть, но без обрушения игры. Это какая версия движка? Я что-то не видел у себя никаких сообщений в лог, когда у меня в bind_physic_object.script синтаксическая ошибка оказалась. А на него ведь сотни и тысячи объектов на любой локации вешаются. level.client_spawn_manager():add( object_id, 0, spawn_callback ). Чтобы так проверить все объекты игры, тоже вообще-то перебор надо устраивать. тогда уж проще так while a < 65535 do local obj = alife():object(a) -- перебираем все объекты if obj then local section = obj:section_name() -- берем их секцию if ltx:line_exist(section, "script_binding") then -- смотрим нужен ли ему вообще биндер local binder_x = ltx:r_string(section, "script_binding") -- читаем что он хочет --- далее разбираем на файл.функция и проверяем что все нужное существует. end end end Изменено 30 Июня 2015 пользователем Zander_driver Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947206
RayTwitty 575 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) Ну про перебор уже говорилось ранее.Ранее говорилось про перебор объектов, я же написал про перебор _секций_. Секций всегда будет меньше, следовательно меньше нагрузка + их нельзя изменять\добавлять без перезагрузки игры. Чтобы так проверить все объекты игры, тоже вообще-то перебор надо устраивать. тогда уж проще такНу проверишь в начале уровня, дальше что? Если какой-нибудь новый объект в игре появится, снова проверка? На апдейте будешь делать?)) Изменено 30 Июня 2015 пользователем Shadows Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947207
Zander_driver 10 348 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 Ранее говорилось про перебор объектов, я же написал про перебор _секций_ Кстати а как получить список всех существующих секций? Чтобы перебирать. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947209
NL-Vincenz 12 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) Подскажите скрипт динамической выдачи предметов? Платформа ТЧ! Хочу что-бы при старте игры ГГ выдавалось разная еда\оружие\медикаменты. Есть скрипт: function main () local r, r2 = math.random(0,4), math.random(0,2) if r == 0 then alife():create("wpn_bm16",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("ammo_12x70_buck",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r == 1 then alife():create("wpn_mp5",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,2 do alife():create("ammo_9x19_fmj",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r == 2 then alife():create("wpn_colt1911",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("ammo_11.43x23_fmj",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r == 3 then alife():create("wpn_pm",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,2 do alife():create("ammo_9x18_fmj",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r == 4 then alife():create("wpn_pb",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("ammo_9x18_fmj",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end end if r2 == 0 then alife():create("antirad",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("medkit",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r2 == 1 then alife():create("kolbasa",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("bandage",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end elseif r2 == 2 then alife():create("bread",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) for a=1,3 do alife():create("conserva",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end end alife():create("wpn_knife",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) alife():create("grenade_rgd5",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end Но это совсем не то что я хочу. Изменено 30 Июня 2015 пользователем NL-Vincenz Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947256
Zander_driver 10 348 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 @NL-Vincenz, Это не скрипт, это ужас... Почему бы не использовать что-нибудь вроде такого? function mmm() local items = { --- список итемов которые могут быть заспавнены kolbasa = {30, 5}, --- первое число - вероятность в процентах wpn_pm = {50, 1}, --- второе - максимально возможное количество bandage = {80, 10} } local pos = db.actor:position() local lv = db.actor:level_vertex_id() local gv = db.actor:game_vertex_id() for k, v in pairs(items) do if math.random(0, 100) < v[1] then local count = 1 if v[2] > 1 then count = math.random(1, v[2]) end local spawned = 0 while spawned < count do alife():create(k, pos, lv, gv, 0) spawned = spawned + 1 end end end end 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947292
RayTwitty 575 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) Кстати а как получить список всех существующих секций? Чтобы перебирать.Так просто наверно не получить. Я думаю, надо пропарсить system.ltx и все его вложения, найти все строки, которые обозначают секцию (по заданному шаблону), после чего, найденную секцию на всякий случай проверить при помощи section_exist, ну и добавить её в табличку. Далее, пройтись по этой табличке и посмотреть наличие нужного параметра в секциях. Правда, для чтения файла наверно понадобятся расширения RvP (io namespace). Изменено 30 Июня 2015 пользователем Shadows Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947307
vampirnik77 121 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 Подскажите пожалуйста, как отловить в кого стреляет\выстрелил ГГ? Официальная страница проекта Neof-One Crew Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947336
Zander_driver 10 348 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 колбек выстрела Shoker выкладывал в былые времена. Посмотри в справочнике по функциям и классам, там лежит. Если надо именно попадание - то можно вообще обойтись хит-колбеком неписей, мутантов, и тех кто тебе еще понадобится (если понадобится). Просто проверить кто нанес хит, и все. Если надо отследить так же случай "в кого-то стреляет, но не попадает" - тогда можно использовать связку вышеупомянутого колбека выстрела и вот такой функции, написанной по мотивам гравипушки. Денису спасибо. local cone_cmax = 0.8 * 0.999 local string_find, string_sub, string_match = string.find, string.sub, string.match local table_insert, table_remove = table.insert, table.remove local math_floor, math_random = math.floor, math.random local lobj_by_id = level.object_by_id local sim, gg = alife(), game_graph() local dev = device() local items_by_id, items_t, items_n = {}, {}, 0 -- найденые "бросаемые" предметы function validate_capture_obj(tartgergt) if IsStalker(tartgergt) and not tartgergt:alive() then return true elseif IsMonster(tartgergt) and not tartgergt:alive() then return true elseif get_clsid(tartgergt) == clsid.inventory_box then return true else return false end end function capture( cone, dist ) -- (cos угла захвата, дистанция) if dist then dist = dist + 0.5 -- смещение конуса захвата за спину актора else dist = 3.5 end local dist_min = 1.2 * dist local cone_max if cone then cone_max = 0.8 * cone else cone, cone_max = 0.999, cone_cmax end local id, v, rvec, r, cos_a, item local n -- scan_n = scan_n + 800 --if scan_n >= 65535 then scan_n, n = 1, 800 end -- перебор --for i = n, scan_n do -- плавный апдейт (поиск новых предметов) local i = 1 while i < 65535 do --- а у меня не плавный, т.к. это не пушка а гуи интерфейс. Если игрок полез всякие окошки открывать, значит бегать-прыгать он не собирается. --- и лучше хоть подвесить игру, но найти объект сразу v = lobj_by_id( i ) if v and (not items_by_id[i]) and events.validate_capture_obj(v) then table_insert( items_t, i ) items_n = items_n + 1 -- предмет подходит items_by_id[i] = true -- добавляем end --end i = i + 1 end n = 1 dist = dist * 1.1 local cam_v = dev.cam_pos:mad( dev.cam_dir, -2.0 ) while items_n >= n do id = items_t[n] v = lobj_by_id( id ) if v --[[and v:get_physics_shell() ]]then -- проверяем, что предмет ни куда не делся n = n + 1 -- следующий элемент rvec = v:center():sub( cam_v ) r = rvec:magnitude() if r < dist and r >= 3 then -- в радиусе захвата, но перед актором cos_a = rvec:dotproduct( dev.cam_dir ) / r if cone < cos_a then -- попадает в конус прицеливания if ( cos_a >= cone_max ) and ( r < dist_min ) then -- если предмет хотя бы не дальше от оси прицеливания, -- но ближе по расстоянию, чем уже выбранный dist_min, cone_max = r, cos_a item, target = v, id end end end else -- убирать из таблицы items_by_id[id] = nil table_remove( items_t, n ) items_n = items_n - 1 end end return item end функцию отбора подходящих объектов validate_capture_obj можно переписать под свои нужды, дистанцию захвата брать из конфига используемого оружия - дистанция стрельбы, а конус захвата очень узкий сделать. Так просто наверно не получить. Вдвоем с Дезертиром как-то раз пробовали подсчитать, сколько времени займет поиск существующих секций, если просто прогнать все возможные комбинации символов с длинной строки до 30, через ltx:section exist. Не помню уже точно что там получилось, но что-то близкое к годам. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947349
RayTwitty 575 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 (изменено) @Zander_driver, а причем тут прогнать все возможные комбинации символов с длинной строки до 30, через ltx:section exist? Я построчное чтение файла предлагал вообще-то. поиск объектов на линии прицеливания или около нееПроще поставить xray-ex и заюзать трассировку лучей RayPick. Изменено 30 Июня 2015 пользователем Shadows Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947378
vampirnik77 121 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 , Проще? А если Cop?) Официальная страница проекта Neof-One Crew Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947381
RayTwitty 575 Опубликовано 30 Июня 2015 Поделиться Опубликовано 30 Июня 2015 @vampirnik77, ну тогда используй скриптовый аналог)) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/317/#findComment-947392
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти