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/
_Sk8_AsTeR_ 122 Опубликовано 28 Июля 2020 Поделиться Опубликовано 28 Июля 2020 (изменено) @Zander_driver, Пытаюсь по-всякому получить информацию, однако постоянно вылет. Сам скрипт: Скрытый текст function set_sound_play(npc_id,sound,cb_func) local snd_theme = theme[sound] if not snd_theme then return end if sound_table[npc_id] == nil then if snd_theme:play(npc_id) then snd_theme.npc[npc_id].cb = cb_func sound_table[npc_id] = snd_theme return true end else printf("rx_sound: cannot play sound [%s] because i'm [%s] already play snd [%s]",sound,npc_id,sound_table[npc_id].section) end end И вот любые мои попытки посмотреть, что же вначале ф-ции присваивается переменной snd_theme заканчивается вылетом "No such operator defined" с указанием на строку, где пытаюсь получить информацию. И через лог пытался, и через тип: Скрытый текст printf("имя звуковой темы: %s, говорить хочет нпс: %s, snd_theme = %s", tostring(sound), (npc_id), snd_theme) amk.send_tip("snd_theme", "тест", 1, 15, "death") Всегда один и тот же вылет. И виной именно эта переменная snd_theme, Чет я ничего уже не понимаю... UPD Лог таки выдал подробности, что звуковая тема прочиталась и приняла данные из INI файла: Скрытый текст Userdata: snd_theme [28.07.20 20:23:02.368] number snd_theme.max_delay : 0.000000 [28.07.20 20:23:02.368] string snd_theme.shuffle : rnd [28.07.20 20:23:02.368] Table: snd_theme.avail_communities [28.07.20 20:23:02.368] boolean snd_theme.avail_communities.stalker : true [28.07.20 20:23:02.368] boolean snd_theme.avail_communities.killer : true [28.07.20 20:23:02.368] boolean snd_theme.avail_communities.csky : true [28.07.20 20:23:02.368] boolean snd_theme.avail_communities.freedom : true [28.07.20 20:23:02.369] boolean snd_theme.avail_communities.dolg : true [28.07.20 20:23:02.369] boolean snd_theme.avail_communities.military : true [28.07.20 20:23:02.369] boolean snd_theme.avail_communities.bandit : true [28.07.20 20:23:02.369] string snd_theme.path : help\wounded\medkit_ [28.07.20 20:23:02.369] number snd_theme.min_idle : 20.000000 [28.07.20 20:23:02.369] string snd_theme.section : wounded_medkit [28.07.20 20:23:02.369] boolean snd_theme.prefix : true [28.07.20 20:23:02.369] Table: snd_theme.npc [28.07.20 20:23:02.369] number snd_theme.max_idle : 40.000000 [28.07.20 20:23:02.369] number snd_theme.min_delay : 0.000000 [28.07.20 20:23:02.369] number snd_theme.rnd : 1.000000 Почему он не играет... Проблему решил, огромное спасибо откликнувшимся. Проблема была в неточной адаптации скрипа rx_sound.script, некоторые необходимые функции "апдейты" не вызывались, хотя должны были. Изменено 28 Июля 2020 пользователем _Sk8_AsTeR_ 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342357
UriZzz 1 004 Опубликовано 29 Июля 2020 Поделиться Опубликовано 29 Июля 2020 (изменено) @Шипэтя, используя движка ogsr или ковыряя исходники. Изменено 29 Июля 2020 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342494
Шипэтя 0 Опубликовано 29 Июля 2020 Поделиться Опубликовано 29 Июля 2020 @UriZzz, исходник 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342523
_Sk8_AsTeR_ 122 Опубликовано 29 Июля 2020 Поделиться Опубликовано 29 Июля 2020 Ребят, а можно забиндить вызов функции из скрипта по клавише? Если да, то как? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342593
Graff46 623 Опубликовано 29 Июля 2020 Поделиться Опубликовано 29 Июля 2020 @_Sk8_AsTeR_, В стандартных движках костылями это делается. На модифицированных движках для этого коллбеки есть, как методы класса биндера актора. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342596
Norman Eisenherz 354 Опубликовано 30 Июля 2020 Поделиться Опубликовано 30 Июля 2020 @_Sk8_AsTeR_ Если функция относится к состоянию инвентаря или HUD и не требует вызова в бою, можно добавить привязку в главное меню [scripts\ui_main_menu.script] – см. описание выхода из игры на [Q]. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342606
UriZzz 1 004 Опубликовано 31 Июля 2020 Поделиться Опубликовано 31 Июля 2020 (изменено) Привет, у меня вопрос относительно последних версий модулей от Артоса: как пишется в рэдми, при установке модуля se_store сохраняемые таймеры сохраняются в расширенное хранилище, без него сохраняются в псторе актора. Я осмотрел модуль таймеров, насколько мне хватает знаний, получается так что сохраняемые таймеры сохраняются и там, и там.?Потому как lua_helper дублирует методы SetWer, GetWer, DelWer... Изменено 31 Июля 2020 пользователем UriZzz Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342821
UriZzz 1 004 Опубликовано 1 Августа 2020 Поделиться Опубликовано 1 Августа 2020 25.07.2020 в 08:52, UriZzz сказал: упд. Мне кажется я не правильно с пакетами работаю. упд2. Кажется я уловил структуру нэт пакета, но итемы, при разбитии ящика, всё равно не спавнятся Блин, пытаюсь ковырять нэт-пакеты, а ларчик та на самом деле просто открывается В x_ray ext есть метод use_ai_locations(bool) и всего делов 2 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342887
Moses 0 Опубликовано 1 Августа 2020 Поделиться Опубликовано 1 Августа 2020 Здравствуйте! Помогите пожалуйста со скриптом включения прожектора - в зависимости от времени суток, для ТЧ. Или подскажите мод для ТЧ, где такой скрипт использовался. Спасибо! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1342898
Graff46 623 Опубликовано 3 Августа 2020 Поделиться Опубликовано 3 Августа 2020 (изменено) А так должно быть, что при спавне НПС скриптом в ЗП, у НПС спавнятся не все предметы прописанные в супплес в хмл? Изменено 4 Августа 2020 пользователем Graff46 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343196
WinCap 323 Опубликовано 3 Августа 2020 Поделиться Опубликовано 3 Августа 2020 @Graff46, нет, так быть не должно. А почему ты решил, что не все предметы спавнятся? S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343258
AndrewMor 534 Опубликовано 4 Августа 2020 Поделиться Опубликовано 4 Августа 2020 @Graff46, наверно, все же в xml.... Сталкер - наше всё! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343328
Graff46 623 Опубликовано 4 Августа 2020 Поделиться Опубликовано 4 Августа 2020 @WinCap, @AndrewMor, потому что нет оружия у нпс, и при убийстве он почти пустой, в кастом дате нпс есть секция запрещающая спавн вещей дет менеджера, когда заспавнил этого нпс средствами сдк, все нормально стало Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343340
Kirgudu 1 342 Опубликовано 4 Августа 2020 Поделиться Опубликовано 4 Августа 2020 31.07.2020 в 18:11, UriZzz сказал: получается так что сохраняемые таймеры сохраняются и там, и там.?Потому как lua_helper дублирует методы SetWer, GetWer, DelWer... Если сделал всё правильно, у тебя в _g.script должно быть что-то вроде этого: function start_game_callback() --/ ... все предыдущие строки функции --/#+# [se_stor] --------------------------------------------------- se_stor.attach() -- инициализация модуля se_stor --/< --------------------------------------------------------------- end prefetch("lua_extension") --/#+# подключение модуля расширений Lua prefetch("lua_helper") --/#+# подключение модуля 'общих' хелп-функций Таким образом, определение функций SetVar и др. в lua_helper срабатывает уже при загрузке модуля, а определение тех же функций в se_stor - только при запуске функции start_game_callback (вызовом функции attach), то есть позже. И второе определение перезаписывает первое. Так что не бойся, сохранение будет происходить только в универсальное хранилище. 2 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343369
Stalkersof 216 Опубликовано 5 Августа 2020 Поделиться Опубликовано 5 Августа 2020 Тут заметил чем больше я цепляю на бинд сталкер тем дольше загрузка клиент синхронизация. Видел в модах разное подключение к бинд сталкеру. Модули артоса, модульная система скриптов в огср, еще вроде биндят с промежутком времени 4 раза в секунду. Это влияет на загрузку при синхронизации? Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343562
AndreySol 215 Опубликовано 5 Августа 2020 Поделиться Опубликовано 5 Августа 2020 7 часов назад, Stalkersof сказал: Тут заметил чем больше я цепляю на бинд сталкер тем дольше загрузка клиент синхронизация. 7 часов назад, Stalkersof сказал: Это влияет на загрузку при синхронизации? Ты сам себе ответил. Что еще не понятно? 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343643
Stalkersof 216 Опубликовано 6 Августа 2020 Поделиться Опубликовано 6 Августа 2020 Да просто еще уточнить хотел. Если я буду использовать модульную систему подключения скриптов к биндеру. Это даст какой нибудь значительный результат в производительности и уменьшении времени загрузки игры. Например если я перейду на песочницу от Экстрима. Будет результат, игра будет быстрее загружаться. Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343718
no0bear 0 Опубликовано 7 Августа 2020 Поделиться Опубликовано 7 Августа 2020 Здравствуйте, я хотел бы узнать кое что: можно ли как то убрать скриптовую смерть НПС в ЗП? Заранее спасибо! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1343849
AndreySol 215 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 06.08.2020 в 12:03, Stalkersof сказал: Если я буду использовать модульную систему подключения скриптов к биндеру. Это даст какой нибудь значительный результат в производительности и уменьшении времени загрузки игры. Я думаю, что не даст - какая разница чем ты будешь нагружать биндер, результат будет одинаков. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1344455
Stalkersof 216 Опубликовано 11 Августа 2020 Поделиться Опубликовано 11 Августа 2020 Да перешел на ОГСЕ сигнал. Ну так по ощущениям вроде пошустрее игра, по загрузке вроде тоже полегче. Ну еще ОГСР движок на новый билд перевел. Пошустрее вроде бы пошустрее. Freeplay Graphic Mod(FGM) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/523/#findComment-1344463
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти