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/
Norman Eisenherz 355 Опубликовано 14 Декабря 2024 Поделиться Опубликовано 14 Декабря 2024 Я уперся только в то, что счетчик стоит на месте – сам апдейт есть. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495759
RayTwitty 587 Опубликовано 14 Декабря 2024 Поделиться Опубликовано 14 Декабря 2024 (изменено) @Norman Eisenherz 3 дня выясняли что не так с апдейтом, почему он не работает, даже в игру полез проверять, как оказалось, что все работало, а дело совсем в другом Я же об этом еще в этом посте спрашивал... Значит кури класс CRenderDevice - https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkcijam-i-klassam/?do=findComment&comment=272244 time_global()\device().time_global() в меню использовать смысла нет, пробуй другие счетчики, например device().frame, а дельта между кадрами device().f_time_delta (у меня тоже нулевая, но я дальше главменю не загружал). Работу всего этого можно тестить с включенным vsync, залочит на 60 кадров, без него будет улетать на сотни-тысячи, разницу в показаниях видно будет сразу, "другой ПК" не нужен. P.S. Вопрос риторический - зачем считать время (его мы не получим), если можно считать скорость и расстояние (скролла)? Единственное, как учесть FPS, но это см. выше. Изменено 15 Декабря 2024 пользователем RayTwitty 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495817
Norman Eisenherz 355 Опубликовано 15 Декабря 2024 Поделиться Опубликовано 15 Декабря 2024 Эксперимент с device() описан чуть выше. 10 hours ago, RayTwitty said: можно считать скорость и расстояние (скролла) Их можно считать на уровне скриптов? Не просто править множителями до уровня "так пойдет"? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495832
RayTwitty 587 Опубликовано 16 Декабря 2024 Поделиться Опубликовано 16 Декабря 2024 14 часов назад, Norman Eisenherz сказал: Их можно считать на уровне скриптов? Не просто править множителями до уровня "так пойдет"? Сам реализуешь же. На каждом апдейте сдвигаешь скролл на определенный шаг, по сути это и есть скорость. Расстояние - разница между текущим и предыдущим положением, хотя может это вообще не понадобится, зависит от того как напишешь. Единственный тонкий момент, как уже выше писали, учесть FPS. Еще может быть каких-то скриптовых методов не экспортировано, никто же не знает чистый у тебя движок или нет. Если нет, то вообще лучше в движке сразу сделать и не мучаться. 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495889
Norman Eisenherz 355 Опубликовано 16 Декабря 2024 Поделиться Опубликовано 16 Декабря 2024 Подсветка при выборе смещается с шагом, равным высоте элемента списка – можно регулировать только частоту переключения. Отношение 5:1 или 50:1 – как раз результат теста в игре, и множители подставлены на уровне ощущений. Движок обычный, и начинку я могу только читать. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495942
RayTwitty 587 Опубликовано 16 Декабря 2024 Поделиться Опубликовано 16 Декабря 2024 @Norman Eisenherz если важно получить время, то скорее всего без правок движка никак. Или хотя бы расширить кастрированные луашные пространства имен ("лайтовые правки движка") - io, os и т.д. Вроде давно были эти библиотеки внедренные в xrLua.dll или проброшенные туда, без правки основного движка (xrGame.dll, .exe etc). Суть наводки - может быть можно будет получить текущее время системы в мс и уже это ловить на сталкерском апдейте вместо time_global(). 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1495983
Norman Eisenherz 355 Опубликовано 17 Декабря 2024 Поделиться Опубликовано 17 Декабря 2024 Нет, именно для этих действий точность не важна. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1496018
deniska9999den 3 Опубликовано 21 Декабря 2024 Поделиться Опубликовано 21 Декабря 2024 Вопрос, как повесить функцию на взрыв гранаты (платформа ЗП, граната Ф-1 или РГД-5). Например кидаем гранату и после взрыва используется аптечка (антирад, еда) или в месте взрыва появляется какой-нибудь предмет (мутант)? Или повесить функцию на исчезновение болта (после того как кинем, болт исчезает и на его месте пояляется предмет или используется предмет из инвентаря. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1496494
Капрал Хикс 567 Опубликовано 22 Декабря 2024 Поделиться Опубликовано 22 Декабря 2024 Кто-то делал дезориентацию НПС гранатой "Заря-2" в ТЧ? В OLR такой фишки нет... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1496573
Balavnik 178 Опубликовано 25 Декабря 2024 Поделиться Опубликовано 25 Декабря 2024 Как на чистом тч узнать координаты, куда смотрит прицел? Жить стало лучше, жить стало веселей. А когда веселей живётся, то работа скорится. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1496931
Капрал Хикс 567 Опубликовано 26 Декабря 2024 Поделиться Опубликовано 26 Декабря 2024 Есть мод на умное выпадение частей монстров, если в кость запчасти попала пуля, часть не выдаётся. Так вот там кости учитываются по номерам. Вопрос - где номера эти костей в моделях смотреть? Как эта нумерация высчитывается? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497031
Chypakabra 999 Опубликовано 26 Декабря 2024 Поделиться Опубликовано 26 Декабря 2024 @Капрал Хикс для npc есть вот это, https://www.amk-team.ru/forum/topic/4188-soc-raschet-povrezhdeniy-pri-strelbe-po-nepisyam/?do=findComment&comment=452177 для монстров скорее всего что-то похожее 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497033
Капрал Хикс 567 Опубликовано 26 Декабря 2024 Поделиться Опубликовано 26 Декабря 2024 @ted.80 , благодарю. Нашёл тулзу для просчёта, dump_ogf. Позволяет узнать всё о модели. https://synthira.ru/load/drugie_igry/s_t_a_l_k_e_r/s_t_a_l_k_e_r_2/dump_ogf/24-1-0-3265 1 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497038
Капрал Хикс 567 Опубликовано 28 Декабря 2024 Поделиться Опубликовано 28 Декабря 2024 Ищу готовый скрипт, который обводит рамочками в оптике людей и мутантов. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497260
Капрал Хикс 567 Опубликовано 29 Декабря 2024 Поделиться Опубликовано 29 Декабря 2024 Как добавить в скрипт проверку, что в опциях игры нажата определённая кнопка-"флажок"? Сама кнопка в опциях "Игра" успешно добавлена, флажок работает. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497382
Chypakabra 999 Опубликовано 29 Декабря 2024 Поделиться Опубликовано 29 Декабря 2024 @Капрал Хикс https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/?do=findComment&comment=1322813 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1497401
Norman Eisenherz 355 Опубликовано 16 Января 2025 Поделиться Опубликовано 16 Января 2025 (изменено) [ТЧ 1.0006] Задача: добавить субтитры к звуку "val_rob_guard_jeer" – угроза от охранника на ферме в ТД после покупки "гаусски за 800". В [xr_meet] приветствия вычитываются по шаблону "расстояние | анимация@звук | …" – добавлять в логику действие %…% без правок скрипта бесполезно. Попытался просто вывести название звука в сообщение в указанных ниже местах скрипта – никакой реакции. Куда надо привязаться для получения ссылки на звук? [Edit] После перезапуска игры обработался вызов meet_manager.sound. Снимаю вопрос. Spoiler [xr_meet.script] function action_meet_wait:execute () … xr_sound.set_sound(self.object, meet_manager.sound, nil, idle_timeout) sms(meet_manager.sound) -- тут … function Cmeet_manager:update() … self.state,self.sound = self.state_zone,self.sound_zone else self.state,self.sound = self:process_meet() end sms(self.sound) -- тут Изменено 16 Января 2025 пользователем Norman Eisenherz 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1498947
Black_Raven_03 43 Опубликовано 19 Января 2025 Поделиться Опубликовано 19 Января 2025 (изменено) Снова нужна помошь, опять Новый Арсенал 7, соотв. ОГСР 2020г. Мне нужно найти и удалить один предмет в инвентаре из нескольких одинаковых, когда делаю так: local item, sil_items db.actor:iterate_ruck( function(dummy, item) if item.section == sil_sect then table.insert(sil_items, item:id()) end end ) if sil_items[1] ~= nil then db.actor:mark_item_dropped(level.object_by_id(sil_items[1])) alife():release(alife():object(sil_items[1])) else return end получаю ошибку вида "attempt to index a local sil_items (a nil value)" Что я натворил не так?! Изменено 19 Января 2025 пользователем Black_Raven_03 Скрытый текст AMD Ryzen 5 3600, 32GB DDR4-3200, AFOX GeForce GTX1050Ti и нормально сталкерим в НА5.1, НА7, OGSE-0693, OGSR, НС2016, OLR, OFFLIFE, CoC, LADC, CoP Gunslinger, CoP SGM Gunslinger, ShoC GA, Legend Return, Anomaly, CS OGSM, ОП-2.2 ZC! Мозг состоит на 80 процентов из жидкости, и мало того, что она тормозная, так многим еще конкретно не долили...@Denikius136 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1499276
Kirgudu 1 370 Опубликовано 20 Января 2025 Поделиться Опубликовано 20 Января 2025 12 часов назад, Black_Raven_03 сказал: local item, sil_items Налицо ошибка объявления переменной. В таком виде движок ничего не знает о том, что sil_items - это таблица, и считает, что это простая переменная, значение по умолчанию которой - nil. Индексировать действительно нечего. Чтобы исправить ситуацию, достаточно в первой строке написать так: 12 часов назад, Black_Raven_03 сказал: local item, sil_items = nil, {} то есть присвоить начальные значения переменным явным образом. 1 2 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1499309
Norman Eisenherz 355 Опубликовано 20 Января 2025 Поделиться Опубликовано 20 Января 2025 @Black_Raven_03 При таких условиях можно прямо указать предмет: local item = db.actor:object(sect) if item then alife():release( alife():object( item:id() ) ) end Перебор инвентаря пригодится при удалении нескольких предметов с одинаковой секцией. 1 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/630/#findComment-1499362
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти