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 Ссылка на комментарий
dPlayer 533 Опубликовано 6 Апреля 2018 Поделиться Опубликовано 6 Апреля 2018 @Graff46попробуй [dont_spawn_character_supplies] [dont_spawn_loot] Но иногда всё равно может что-нибудь выпасть. Непонятно в целом)) Самый некомпетентный на форуме. Ссылка на комментарий
Graff46 598 Опубликовано 7 Апреля 2018 Поделиться Опубликовано 7 Апреля 2018 Кто может описать свойства cse_aliafe_object? Вот наткнулся на этот пост, у объекта. предположительно cse_aliafe_object, есть поле angle, через которое можно задавать поворот объекту, проверил - на ТЧ - работает (я с нэт-пакетами мучался). Я в луа_хелп не нашёл такого поля, упоминание об этом параметре только в том посте. Если кто знает ещё какие свойсва\методы опишите... Я смотрел исходники, но ничего не нашёл... Ссылка на комментарий
Akcok 164 Опубликовано 7 Апреля 2018 Поделиться Опубликовано 7 Апреля 2018 Такой вот вопросик, прошу помочь. Мод: USF BETA 2 (ЗП 1.6.02) Решил почистить ресурсы, удалить многие неюзаемые конфиги и остаточные файлы из ЗП (скрипты не трогал). Удалил многое, теперь по факту USF это как проект использующее двигло ЗП. Но... Невозможно заспавнить любого НПС, вылетает. До чистки такого не было. Лог: FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...ta 2\usf beta 2\bin\gamedata\scripts\xr_logic.script:943: bad argument #1 to 'gfind' (string expected, got nil) stack trace: На всякий случай xr_logic.script - https://yadi.sk/d/9-MJeCvT3UCJRh В чём может быть причина? Что-то удалил не то... Но что? С монстрами (да и в остальном) всё ОК. Ссылка на комментарий
WinCap 316 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 13 часов назад, power-cat сказал: В чём может быть причина? В xr_logic.script перед строкой 943 впиши следующий код: if src == nil then abort_syntax_error_in_cond(npc, section, field) end Будет понятно какой конфиг вызывает вылет. 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Akcok 164 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 @WinCap , не помогает, тот-же самый вылет, просто номер строки сдвинуло. Ссылка на комментарий
_Val_ 2 225 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 @power-cat Хм..На мой непросвещенный взгляд - вылет связан с проверкой инфо-поршней. Восстанавливай значит все удаленные файлы с поршнями. Ссылка на комментарий
Akcok 164 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 @_Val_ , точно не они, так как уже до глобальной чистки там было почищено и всё работало с НПС. Ссылка на комментарий
abramcumner 1 184 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 5 часов назад, power-cat сказал: не помогает, тот-же самый вылет, просто номер строки сдвинуло. А что в логе строчкой выше написано? Там должны быть имя НПЦ, имя секции. Ссылка на комментарий
Akcok 164 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 (изменено) @abramcumner , полный лог https://yadi.sk/i/rWIUwN8o3UDa3b P.S. любой НПС при спавне вылетает (с помощью например Повелителя Зоны). Вот ес чо как выглядит папка configs https://yadi.sk/d/wAMInwBC3UDaQT Пробовал возвращать разные дефолт файлы (squads, script_sound, dialogs, infoportions), но не помогало. Изменено 8 Апреля 2018 пользователем power-cat Ссылка на комментарий
WinCap 316 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 @power-cat Странно, что в лог не выводится имя секции... Не знаю, есть ли в этом моде какой-то вывод в лог, но попробуй вместо предложенного ранее кода добавить этот: local fi = io.open("game_log.lxt", "a") if fi ~= nil then fi:write(string.format("object '%s', section '%s', field '%s' \n", tostring(npc and npc:name()), tostring(section), tostring(field))) fi:close() end В последней строчке будет указана проблемная секция. 1 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Akcok 164 Опубликовано 8 Апреля 2018 Поделиться Опубликовано 8 Апреля 2018 (изменено) @WinCap, (UPD) помогло (правда не с первой попытки в лог чо надо написалось, ещё там в _g.script покопал). Оказалось виновата папка trade, которую удалил из папки misc. Игра жаловалась на отсутствие секций покупки. Папку вернул, всё стало окей. Большое спасибо! Кусок кода пригодится Изменено 8 Апреля 2018 пользователем power-cat Ссылка на комментарий
Graff46 598 Опубликовано 9 Апреля 2018 Поделиться Опубликовано 9 Апреля 2018 Может кто знает... Что первее вызывается: initialize_obj из логики или метод Инит из мотиватора для НПСов? Ссылка на комментарий
dsh 3 824 Опубликовано 9 Апреля 2018 Поделиться Опубликовано 9 Апреля 2018 @Graff46 под методом Инит ты имеешь ввиду __init()? Он первый вызывается. Если я правильно помню, initialize_obj() вызывается на апдейте, либо самого неписи, либо из xr_gulag. А если бы было наоборот, то initialize_obj() нечего бы было инициализировать, обьект-то ещё не создан, раз __init() не вызывался. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Graff46 598 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 Как можно заспавнить НПС на высоте? Я хотел что-бы мёртвые НПС падали сверху, я увеличил позицию по Y, но не помогло, наверно НПС привязаны к сетке, может стоит спавнить физ. объект с визуалом НПС? Ссылка на комментарий
Overfirst 637 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 26 минут назад, Graff46 сказал: может стоит спавнить физ. объект с визуалом НПС? Я так и делал в некоторых сценках. Другого варианта не знаю. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Graff46 598 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 1 минуту назад, Overfirst сказал: Я так и делал Можно пример секции такого объекта? Ссылка на комментарий
_Val_ 2 225 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 Не фига оне не привязаны. Я как-то на Болотах утомился мертвого непися находить. Чего только не делал, даже думал уже ему профиль Сахарова прописать. Подойду - труп. Потом чухнулся в спавне глянуть координаты, а он в ста метрах выше земли спавнится)) Ссылка на комментарий
Overfirst 637 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 44 минуты назад, Graff46 сказал: Можно пример секции такого объекта? [val_bandits_fake_corpse_1]:physic_object $spawn = "ts_dynamics\corpse\val_bandits_fake_corpse_1" visual = actors\stalker_bandit\stalker_bandit_1.ogf story_id = val_bandits_fake_corpse_1 Добавлено Overfirst, 10 Апреля 2018 Это секция из ЗП. Стори айди можешь убрать, его в ТЧ так не задашь, как известно. Заметка изменена 10 Апреля 2018 Добавлено Graff46, 10 Апреля 2018 В ТЧ можно устанавливать стори ид через нэт-пакет или (скриптами, если движок модифицирован x-ray extensions-ом). Заметка изменена 10 Апреля 2018 1 Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Graff46 598 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 Запускаю партикл так: local a = particles_object("monsters\\polter_idle") a:play_at_pos(vector():set(432.160187, -24.736188, 141.855270)) a:looped() Но партикл через некоторое время гаснет... Ссылка на комментарий
Overfirst 637 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 @Graff46 могу предложить поглядеть, как воспроизведение партиклов реализовано в sr_particle.script. Я не юзал, но должно же быть исправно, м? Там и параметр зацикленности тоже есть, погляди там схему. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти