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/
Dennis_Chikin 3 665 Опубликовано 26 Июня 2018 Поделиться Опубликовано 26 Июня 2018 Это примерно как с меткой на непися. При внимательном рассмотрении оказывается, что нужны 2 строчки. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186158
_Val_ 2 336 Опубликовано 26 Июня 2018 Поделиться Опубликовано 26 Июня 2018 Две строчки для чего? Для спавна нужного девайса в нужном месте с нужным дирекшен...или для логики работы девайса? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186175
UriZzz 1 004 Опубликовано 26 Июня 2018 Поделиться Опубликовано 26 Июня 2018 @_Val_, для логики, моя думай. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186184
_Val_ 2 336 Опубликовано 26 Июня 2018 Поделиться Опубликовано 26 Июня 2018 Моя думай, что хотелось бы посмотреть на логику bar_dolg_megafone.ltx в двух строчках... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186193
Dennis_Chikin 3 665 Опубликовано 26 Июня 2018 Поделиться Опубликовано 26 Июня 2018 Давно на него ножик точу... И таки доберусь, ибо типичный случай того, где адЪ и сОтона мохнатый. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186218
exDeMODER 100 Опубликовано 28 Июня 2018 Поделиться Опубликовано 28 Июня 2018 Есть какие-нибудь идеи, как отключить игровой эмбиент скриптовыми методами в ТЧ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186610
Graff46 621 Опубликовано 28 Июня 2018 Поделиться Опубликовано 28 Июня 2018 @XMODER амбиент локаций скриптами не отключить, можно в конфигах убрать амбиент, а скриптами сделать подобие амбиент с нужными вам функциями. 2 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186648
buffy 4 Опубликовано 29 Июня 2018 Поделиться Опубликовано 29 Июня 2018 @XMODER, os движка давно доступен всем, в чём проблема взять и копать? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1186977
Jekyll 92 Опубликовано 30 Июня 2018 Поделиться Опубликовано 30 Июня 2018 Здравствуйте. Как выполнить проверку на визуал фантома в ТЧ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1187258
aka_sektor 1 478 Опубликовано 30 Июня 2018 Поделиться Опубликовано 30 Июня 2018 Как сделать, чтобы при создании скриншота, в левом верхнем углу экрана писало: "Создан скриншот: имя_скриншота.png" ? Есть ли функции в игре отслеживающие это? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1187299
_Sk8_AsTeR_ 122 Опубликовано 1 Июля 2018 Поделиться Опубликовано 1 Июля 2018 Господа, не нашел темы про конфиги, поэтому напишу сюда. Отчасти мой вопрос и скриптования касается, наверное... Так вот вопрос: прикрутил к соли погодный мод. Но теперь НПС не выдают динамические сообщения о погоде. Вообще. Подскажите пожалуйста, куда ковырять, чтобы исправить? Мои соображения: как минимум были изменены названия циклов. В News_main есть функция, ответственная за выдачу этих сообщений: Скрытый текст function on_weather_change(old_weather, new_weather) -- clear, pasmurno, rain, groza local rnd = math.random if (old_weather and new_weather) then if (amk.game_minutes() - timer_weather_showed > timer_weather_freq) then local s_weather = old_weather.."_"..new_weather local m_h = level:get_time_hours() local s_list = nil if m_h >= 6 and m_h < 21 then s_list = news_data.weather_templates_day else s_list = news_data.weather_templates_night end if (s_list and s_list[s_weather]) then local s_text = s_list[s_weather][rnd(#s_list[s_weather])] if (rnd() < prob) then local name, sname = amk_names_lists.get_strings() --mylog("on_weather_change ["..s_weather.."] "..s_text) -- show_news(s_text, name.." "..sname, rnd(timer_weather, timer_weather * 5), 15, "gen_info") amk.send_tip( s_text, name.." "..sname, 2, 15, "common_channel") timer_weather_showed = amk.game_minutes() end end end end end Так же имеем в News_data базу сообщений: Скрытый текст weather_templates_day = { ["clear"] = {"Эх, какая погода классная! И не верится, что Зона...", "А погода всё-таки супер. Позагорать бы :)", "Тучка прячется за лес,\\nСмотрит солнышко с небес.\\nИ такое чистое,\\nДоброе, лучистое...\\n\\nЭх, что-то меня на лирику потянуло..."}, ["clear"] = {"Эх, какая погода классная! И не верится, что Зона...", "А погода всё-таки супер. Позагорать бы :)", "Тучка прячется за лес,\\nСмотрит солнышко с небес.\\nИ такое чистое,\\nДоброе, лучистое...\\n\\nЭх, что-то меня на лирику потянуло..."}, ["clear_pasmurno"] = {"Что-то хмурится. Как бы дождь не пошёл...", "Тучи какие-то мрачные...", "Сдаётся, дождь будет. А мы только за хабаром собрались..."}, ["clear_rain"] = {"Кажется, дождь начинается...", "Ну вот - опять дождь.", "Ну и кто там рассказывал, что будет хорошая погода?"}, ["clear_storm"] = {"Ого, нехилая гроза будет.", "Слышали гром? Бабахнуло неслабо.", "У нас тут такое светопредставление - молнии лупят, не переставая."}, ["pasmurno_clear"] = {"А вот и солнышко выглянуло.", "Я же говорил - погода будет хорошая.", "Ух, как здорово! Все тучи разошлись."}, ["pasmurno_pasmurno"] = {"Что-то пасмурно...", "Похоже, солнца мы ещё долго не увидим."}, ["pasmurno_rain"] = {"Мдя, вот и дождик...", "Я же говорил, будет дождь.","И вновь дожди обрушились на землю,\\nИ капли разрывают тишину.\\nВокруг вода стекает с мутной пеной,\\nСмывая за собой пожухлую листву."}, ["pasmurno_storm"] = {"Ого, нехилая гроза будет.", "Слышали гром? Бабахнуло неслабо.", "У нас тут такое светопредставление - молнии лупят, не переставая."}, ["rain_clear"] = {"А вот и солнышко выглянуло.", "Я же говорил - погода будет хорошая.", "Ух, как здорово! Все тучи разошлись."}, ["rain_pasmurno"] = {"Хорошо, хоть дождь закончился.", "Хоть капать перестало.", "Похоже, дождь закончился.", "Не радуйтесь, что дождь закончился - на тучи посмотрите."}, ["rain_rain"] = {"Кто знает, этот дождь вообще закончится когда-то?", "Все льёт и льёт...", "Дробь дождя по тёмным крышам – \\nПерезвоны кастаньет. \\nТихий шорох еле слышен. \\nВ сером дыме сигарет \\nРастворились ароматы \\nС неба льющейся воды... \\nИ под звонкие раскаты \\nСоткан мир из пустоты. \\n\\nЭх... А я ведь когда-то серьёзно стихи писал."}, ["rain_storm"] = {"Гром гремит. Значит, не просто дождик - гроза.", "Слышали гром? Бабахнуло неслабо."}, ["storm_clear"] = {"А вот и солнышко выглянуло.", "Я же говорил - погода будет хорошая.", "Ух, как здорово! Все тучи разошлись."}, ["storm_pasmurno"] = {"Хоть лить перестало.", "Похоже, гроза закончилась.", "Не радуйтесь, что гроза закончилась - на тучи посмотрите."}, ["storm_rain"] = {"Все льёт и льёт...", "А ведь больше не слышно грома, заметили?", "Молний не видно. Похоже, гроза заканчивается."}, ["storm_storm"] = {"Все льёт и льёт...", "Интересно, гроза вообще прекратится?", "Вот, блин! Только соберёшься идти, сразу дождь, как из ведра."} Так вот, продолжим. Как я понял, раньше были подключены циклы погоды типа "pasmurno", "clear" и тд. Однако я нигде не нашел конфига, где подключаются данные библиотеки с указанными погодными циклами. Или я не в ту сторону копаю? Сориентируйте, пожалуйста В продолжение своего вопроса. Скриптование. Подскажите пожалуйста, никак разобраться не могу откуда вызывается ф-ция "on_weather_change" в скрипте "News_main.script", отвечающая как раз за сообщения о погоде. Откуда передаются в эту функцию параметры и откуда она вызывается? Поиском с фрагментом текста уже все игровые *.db архивы прошерстил, не нашел ничего. Подскажите пожалуйста! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1187438
nego 35 Опубликовано 4 Июля 2018 Поделиться Опубликовано 4 Июля 2018 Здравствуйте ВАМ. Подскажите есть проверка на выданный тайник? Если тайник выдан, то нужно другое действие. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1188158
blackwings 0 Опубликовано 10 Июля 2018 Поделиться Опубликовано 10 Июля 2018 Всем доброго времени суток! Подскажите, плиз, в каком файле можно исправить предметы и деньги, которые забирает Гавр после того, как ГГ засыпает. Хочу сделать так, чтобы деньги оставались в полном объёме, иначе нет смысла их копить до этого момента (у меня он спёр 700 000, а такие суммы никто с собой не носит!), а остальное он бы ВСЁ забирал, т.е. ГГ просыпается в "одних трусах". Заранее спасибо. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1189521
Dennis_Chikin 3 665 Опубликовано 10 Июля 2018 Поделиться Опубликовано 10 Июля 2018 @_Sk8_AsTeR_, Вы уверены, что она вообще откуда-либо вызывается ? Если да - то делаем поиск по файлам. @nego, внезапно, проверка на выданный тайник есть в treasure_manager. Собственно, большая его часть именно ради этого и существует. @blackwings, я название файла по батарее азбукой морзе настучал. Специально аж 4 раза повторил. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1189562
Shkiper2012 35 Опубликовано 11 Июля 2018 Поделиться Опубликовано 11 Июля 2018 [ЗП, СоС] Можно ли скриптово отловить момент(...какой-либо флаг, поршень, окно...), когда при разговоре с механиком, открыто окно с ремонтом/апгрейдами для предметов? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1189763
Overfirst 637 Опубликовано 11 Июля 2018 Поделиться Опубликовано 11 Июля 2018 actor_menu.upgrade_wnd_opened() 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1189765
Jekyll 92 Опубликовано 14 Июля 2018 Поделиться Опубликовано 14 Июля 2018 Здравствуйте. Необходимо при выбрасывании предмета А из инвентаря удалить его и заспавнить на его место предмет Б. Функция прописана в колбэк on_item_drop Скрытый текст for k,v in pairs(mf) do if obj and obj:section()==k then local sobj= alife():object(obj:id()) alife():create(v,obj:position(),obj:level_vertex_id(),obj:game_vertex_id()) alife():release(sobj,true) end end Проблема в том, что при "съедании" предмета А происходит вылет (как я понял - потому, что движок пытается удалить несуществующий объект). Как это исправить? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1190322
AndreySol 215 Опубликовано 14 Июля 2018 Поделиться Опубликовано 14 Июля 2018 5 часов назад, Jekyll сказал: при выбрасывании предмета А из инвентаря 5 часов назад, Jekyll сказал: что при "съедании" предмета А Сначала разобраться, что-же все таки происходит с предметом... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1190400
Graff46 621 Опубликовано 15 Июля 2018 Поделиться Опубликовано 15 Июля 2018 (изменено) @AndreySolнаверное, ф-ция должна работать когда объект дропается, а она вызывается когда объект съедают и вылетает. Вообще-то код ф-ции странный, мягко говоря, перебор айди делать не надо, если она вызывается из коллбека, то там будет дропающиеся объект передан, как аргумент функции коллбека, а что бы объект не елся, на следуйте его секцию от другого класса, не еды и не лекарств. Изменено 15 Июля 2018 пользователем Graff46 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1190621
Dennis_Chikin 3 665 Опубликовано 17 Июля 2018 Поделиться Опубликовано 17 Июля 2018 @Jekyll, https://www.amk-team.ru/forum/topic/13054-ispolzovanie-predmetov-aktorom/ "Что умного может сказать человек, если тема, созданная им, аж на второй странице", да ? 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/460/#findComment-1190766
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти