AndrewMor 527 Опубликовано 18 Апреля 2015 Поделиться Опубликовано 18 Апреля 2015 @Карлан, Именно, что не додумался. Но я сделал маленько по другому, не вынося обработку в отдельный файл, все в биндерах прописал. Теперь работает, как задумывал. Но твой скрипт все равно помог допереть до истины. Сталкер - наше всё! Ссылка на комментарий
Romann 623 Опубликовано 23 Апреля 2015 Поделиться Опубликовано 23 Апреля 2015 Всем доброго времени суток, вопрос такой: я выдернул тепловизор из ОГСЕ на ОП2, прописал его в экзе, работает, включается, но выключаться не хочет, так и работает, даже если сменить или снять броню, до перезагрузки - подскажите это ему надо отдельный скрипт написать? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Сталкер-Стрелок 12 Опубликовано 23 Апреля 2015 Поделиться Опубликовано 23 Апреля 2015 (изменено) Номера аи-нод статичны? Как получить номер нужной ноды (всяких выкрутасов с позицией не предлагать, неточно работает)? Наверное вопрос даже так стоит: как получить размеры ноды? Она же не всегда 0.7 на 0.7. Изменено 23 Апреля 2015 пользователем Сталкер-Стрелок Ссылка на комментарий
V92 417 Опубликовано 24 Апреля 2015 Поделиться Опубликовано 24 Апреля 2015 Всем привет. Столкнулся с такой проблемой - двери как-то странно работают. Похоже, это связано с логикой, но я так и не понял, в чем именно проблема. Выглядит это так: http://rghost.ru/6D4cy5cpN Это с большинством новых дверей, хотя файлы логики одни и те же. Особенно запущенно всё на Предбаннике, там вообще непонятно что происходит: http://rghost.ru/6fhtHB9qY При этом и закрытые, и открытые двери имеют надписи, хотя в спавне прописана только одна пара. Но закрытую пару никак не открыть, а открытая ведет себя как на первом скрине. Такая же ситуация со всеми дверьми предбанника, которые были до меня. Те, что поставил я - просто ведут себя как на первом скрине. На остальных локаж тоже встречаются подобные двери. Подскажите, что это такое, и как исправить? И дело точно не в моделях - точно такие же двери на других локах могут вести себя и корректно, и нет. Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь. Ссылка на комментарий
AndrewMor 527 Опубликовано 24 Апреля 2015 Поделиться Опубликовано 24 Апреля 2015 V92, в логике дело. Выложи логику. А если двери спавнил сам, смотри дирекцию по Y. Сталкер - наше всё! Ссылка на комментарий
V92 417 Опубликовано 24 Апреля 2015 Поделиться Опубликовано 24 Апреля 2015 @AndrewMor, дело не в дирекции, двери в сдк расставлял. Логика стандартная: [logic] active = ph_door@close[ph_door@close]locked = falseclosed = truesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@openhit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@open]locked = falseclosed = falsesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@closehit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@free]locked = falseclosed = trueno_force = trueon_use = ph_door@open [logic]active = ph_door@close[ph_door@close]locked = falseclosed = truesnd_open_start = wood_large_opensnd_close_start = wood_large_close_startsnd_close_stop = wood_large_close_stopon_use = ph_door@openhit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@open]locked = falseclosed = falsesnd_open_start = wood_large_opensnd_close_start = wood_large_close_startsnd_close_stop = wood_large_close_stopon_use = ph_door@closehit_on_bone = 1|ph_door@free|2|ph_door@free[ph_door@free]locked = falseclosed = trueno_force = trueon_use = ph_door@open Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь. Ссылка на комментарий
AndrewMor 527 Опубликовано 25 Апреля 2015 Поделиться Опубликовано 25 Апреля 2015 V92, а зачем тебе сия строка "hit_on_bone = 1|ph_door@free|2|ph_door@free"? Вот моя логика, все отлично работает: [logic]аctive = ph_door@locked[ph_door@locked]closed = truelocked = truesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@unlocked[ph_door@unlocked]closed = falselocked = truesnd_open_start = trader_door_open_startsnd_close_start = trader_door_close_startsnd_close_stop = trader_door_close_stopon_use = ph_door@locked Сталкер - наше всё! Ссылка на комментарий
V92 417 Опубликовано 25 Апреля 2015 Поделиться Опубликовано 25 Апреля 2015 а зачем тебе сия строка А без понятия, это стандартная логика двери из оригинала еще. Я там ничего не правил, только путь до нее прописал в спавне. Попробую твою, вдруг и прокатит. Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 28 Апреля 2015 Поделиться Опубликовано 28 Апреля 2015 А мы можем в открытом через ini_file файле, скриптово обнаружить инклюд? речь идет о том чтобы из игры построить таблицу вида local opened_file = { section1 = {line_1, line_2, ..., line_n}, section2 = {...}, included_file = { section = {...}, included_file = {...} } } Известных мне методов для такого не хватит, 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. Ссылка на комментарий
abramcumner 1 159 Опубликовано 28 Апреля 2015 Поделиться Опубликовано 28 Апреля 2015 @Zander_driver, нет, нельзя. Инклудов нет даже в движке, они убираются прямо при загрузке конфигов. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 29 Апреля 2015 Поделиться Опубликовано 29 Апреля 2015 (изменено) А будут ли какие непредвиденные последствия, если методы биндера, являющиеся колбеками движковых событий, будет дергать не только движок? Допустим я получил объект биндера актора, и дернул у него actor_binder:on_item_take (obj), передав ему (методу) некий итем. но не давая этот итем актору на самом деле. Вопрос собственно в том, будет ли из-за этого что-нибудь кроме того, что очевидно вытекает из поведения биндера как скриптового класса. Ну неужели никто не пробовал, "прикинуться движком", для биндера? Я вот попробовал уже. И пока это, полет нормальный. Изменено 29 Апреля 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. Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 29 Апреля 2015 Поделиться Опубликовано 29 Апреля 2015 А чего ему сделается-то ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Zander_driver 10 334 Опубликовано 29 Апреля 2015 Поделиться Опубликовано 29 Апреля 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. Ссылка на комментарий
Nazgool 250 Опубликовано 1 Мая 2015 Поделиться Опубликовано 1 Мая 2015 (изменено) А мы можем в открытом через ini_file файле, скриптово обнаружить инклюд? речь идет о том чтобы из игры построить таблицу И по этой же теме цитата из ковырялки Можно ли при таком описании узнать что item* наследуются от std_item? Стандартных способов конечно нет, но если бы мне это нужно было, то я бы распарсил все конфиги с помощью io и "пар(с)ился" бы. Это заняло бы это несколько секунд при загрузке (текста ведь не мало) и 3-4 Мб памяти. Но если очень нужно, то можно пережить. Изменено 1 Мая 2015 пользователем Nazgool Ссылка на комментарий
nego 35 Опубликовано 15 Мая 2015 Поделиться Опубликовано 15 Мая 2015 (изменено) Здравствуйте ВАМ. Есть скрипт рабочий. Написан по урокам скриптования. Кто может сделать Замечания и Советы? Прошу отписатся о том как можно улучшить. function ceck_medkits()if db.actor:object("medkit") ~= nil thenlocal news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю медицинскую аптечку. %c[default]"db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)db.actor:eat(db.actor:object("medkit"))elseif db.actor:object("medkit_army") ~= nil thenlocal news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю армейскую аптечку. %c[default]"db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)db.actor:eat(db.actor:object("medkit_army"))elseif db.actor:object("medkit_scientic") ~= nil thenlocal news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю научную аптечку. %c[default]"db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)db.actor:eat(db.actor:object("medkit_scientic"))elseif db.actor:object("medkit") == nil anddb.actor:object("medkit_army") == nil anddb.actor:object("medkit_scientic") == nil thenmed.mcomplex_open()endend Очевидно - понять, как он работает, и что делает, и выбросить лишнее.А при постах сюда - использовать кнопку "код". dc Изменено 16 Мая 2015 пользователем Dennis_Chikin Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
Nazgool 250 Опубликовано 16 Мая 2015 Поделиться Опубликовано 16 Мая 2015 (изменено) @nego, Можно так local medkits = { {'medkit' , 'медицинскую'}, {'medkit_army' , 'армейскую' }, {'medkit_scientic', 'научную' }, } function ceck_medkits() local actor = db.actor for i = 1, #medkits do local medkit = actor:object(medkits[i][1]) if medkit then local news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю "..medkits[i][2].." аптечку. %c[default]" actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000) actor:eat(medkit) return end end med.mcomplex_open() end Или так function ceck_medkits() local actor = db.actor local medkit = actor:object('medkit') or actor:object('medkit_army') or actor:object('medkit_scientic') if medkit then local section = medkit:section() local what = (section == 'medkit') and 'медицинскую' or (section == 'medkit_army') and 'армейскую' or (section == 'medkit_scientic') and 'научную' local news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю "..what.." аптечку. %c[default]" actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000) actor:eat(medkit) return end med.mcomplex_open() end В принципе вариантов не мало. Замечания : 1. Взять любое из условий. Например если у ГГ есть медицинская аптечка, то 4 раза производится обращение к глобальным данным "db". Правильнее кешировать эту глобальную "db" в локальной переменной. local actor = db.actor 2. Если снова взять это же условие, то происходит два раза получение одного и того же объекта db.actor:object("medkit") ... db.actor:eat(db.actor:object("medkit")) Напрасная трата процессорного времени. Достаточно получить один раз и потом использовать local medkit = actor:object(medkits[1]) ... actor:eat(medkit) 3. В каждом из условий объявлена переменная local news_text = ... Компилируется каждая из трех строк. Они отличаются одним словом. Напрасная трата памяти. Есть возможность съэкономить. local news_text = ... ..medkits[2].. ... 4. Последние проверки лишние elseif db.actor:object("medkit") == nil and db.actor:object("medkit_army") == nil and db.actor:object("medkit_scientic") == nil then Если ни одно из условий выше не сработает, то очевидно что аптечек нет. Изменено 16 Мая 2015 пользователем Nazgool 2 1 1 Ссылка на комментарий
Zander_driver 10 334 Опубликовано 19 Мая 2015 Поделиться Опубликовано 19 Мая 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. Ссылка на комментарий
Kirgudu 1 217 Опубликовано 19 Мая 2015 Поделиться Опубликовано 19 Мая 2015 (изменено) @Zander_driver, смотри свойство нет-пакета weapon_state. Если оружие заклинило, будет иметь значение 7. Свойство есть и в стандартной, и в update-части. Изменено 19 Мая 2015 пользователем Kirgudu 2 Инструмент Ссылка на комментарий
svarog2741 83 Опубликовано 21 Мая 2015 Поделиться Опубликовано 21 Мая 2015 @Nazgool,соглашусь с тобой насчёт local *** = bla, bla, bla. А вот насчёт текстов и иконок, мне кажется было бы лучше сделать через xml'ку. НС - шлак, солянки - шлак. Ссылка на комментарий
vampirnik77 121 Опубликовано 23 Мая 2015 Поделиться Опубликовано 23 Мая 2015 (изменено) Всем здравия! Возник вопрос, спавню скриптом итем и хочу поставить на него метку, но не отлавливается его id, где я ошибся? local taynik_tbl = {"rykzak", "konteiner", "yashik"} local taynik = taynik_tbl[math.random(#taynik_tbl)]local taynik_id = taynik.idalife():create(taynik, vector():set(-660.22509765625,19.935060501099,72.809051513672), 125131, 314)level.map_add_object_spot_ser(taynik_id, "ui_pda2_actor_box_location" , "DEBAG") Изменено 23 Мая 2015 пользователем vampirnik77 Официальная страница проекта Neof-One Crew Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти