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/
MJRamon 0 Опубликовано 22 Февраля 2017 Поделиться Опубликовано 22 Февраля 2017 Каким образом можно извне передать в игру команду на выполнение скрипта? Как пример - команда в чате на стриме. Существующая программа Rutony умеет передавать нажатия клавиш практически в любую игру, но только не в Сталкер. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1067943
_"ШНУР"_ 0 Опубликовано 22 Февраля 2017 Поделиться Опубликовано 22 Февраля 2017 Добрый день. Прошу помощи. Мне нужна функция для ЗП, чтобы удалить объект через ID скриптом. Только этот объект не находится в рюкзаке актора. Он просто заспавнен через скрипт на локации. Спасибо заранее. Жду вашего ответа) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1067971
UnLoaded 313 Опубликовано 22 Февраля 2017 Поделиться Опубликовано 22 Февраля 2017 @_"ШНУР"_ Для ТЧ\ЧН\ЗП, без разницы как объект был заспавнен в игре, существует единственная ф-ция удаления - release... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1067998
naxac 2 605 Опубликовано 22 Февраля 2017 Поделиться Опубликовано 22 Февраля 2017 @_"ШНУР"_, alife():release( alife():object( ID ), true ) Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1068065
Dennis_Chikin 3 665 Опубликовано 22 Февраля 2017 Поделиться Опубликовано 22 Февраля 2017 При этом еще убедиться, что alife():object( ID ) что-то вернуло. В противном случае - "нехватка памяти" или еще что-нибудь в этом роде через неопределенное время после "удаления". 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1068068
nego 35 Опубликовано 23 Февраля 2017 Поделиться Опубликовано 23 Февраля 2017 здравствуйте ВАМ. Подскажите, как файл скрипа АМК правильно сочленить с файлом скрипта бинд_сталкер чистой ТЧ? Заранее спасибо. 1 Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1068214
losiara 13 Опубликовано 26 Февраля 2017 Поделиться Опубликовано 26 Февраля 2017 (изменено) Добрый вечер! есть такой мини-мод называемый "лечение раненых врагов", он несложен, но суть в том, что после получения аптечки враждебный непись становится всегда "одиночкой", как возможно изменить скрипт так, что бы раненый оставался в своей группировке и соот. дружественным к ГГ. Вот сам скрипт: вырезано Скопировал весь скрипт, если правильно понял ответственным за то что мне нужно является последняя функция: "function help_wounded" Изменено 27 Февраля 2017 пользователем HellRatz Жизнь следует измерять поступками, а не временем... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1068835
dsh 3 824 Опубликовано 26 Февраля 2017 Поделиться Опубликовано 26 Февраля 2017 @losiara, так закомментируй set_character_community() и будет он у тебя оставаться в своей группировке 1 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1068840
_"ШНУР"_ 0 Опубликовано 1 Марта 2017 Поделиться Опубликовано 1 Марта 2017 Cпасибо за ответы. В прошлый раз всё помогло! Новый вопрос: какая логика должна быть у тайника, чтобы его нельзя было открыть без ключа? Обычный рюкзак, с вещами внутри, но без ключа он закрыт. Спасибо. Платформа ЗП Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069169
Dennis_Chikin 3 665 Опубликовано 1 Марта 2017 Поделиться Опубликовано 1 Марта 2017 Хм... А у нас вообще есть операция обратная add_precondition() и add_effect() ? Ибо, очень интересно получается, когда данные непися удаляют по случаю deactivate(), а эвалюатор продолжает пытается с ними что-то делать... или это из npc:motivation_action_manager():add_evaluator() уши торчат ? Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069230
Serge! 127 Опубликовано 1 Марта 2017 Поделиться Опубликовано 1 Марта 2017 (изменено) Вроде как и не «noob», а вопросы?... на вопросы наталкивают...Благодарю Вас за чрезвычайно содержательное сообщение. Несомненно, оно принесет огромную пользу всем, кто его прочитает. dc Изменено 1 Марта 2017 пользователем Dennis_Chikin 2 1 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069235
Kondr48 314 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 (изменено) Интересует способ по-человечески переписать эту функцию (и несколько подобных): function gui_mechanic_wnd:play_repair_sound() local rnd = math.random(1, 7) if rnd == 1 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_01]]) elseif rnd == 2 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_02]]) elseif rnd == 3 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_03]]) elseif rnd == 4 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_04]]) elseif rnd == 5 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_05]]) elseif rnd == 6 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_06]]) elseif rnd == 7 then gz_utils.s_play_no_feedback([[scripts\remkit\ui_repairweapon_07]]) end end Интересует, собственно как приписать номер на конец строки, ну что-то вроде: local snd = string.format("scripts\remkit\ui_repairweapon_%02d", rnd) только, чтобы при этом воспроизводился звук Изменено 5 Марта 2017 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069827
Kirgudu 1 370 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 (изменено) @Kondr48, function gui_mechanic_wnd:play_repair_sound() math.randomseed(device():time_global()) local snd_obj = sound_object("scripts\\remkit\\ui_repairweapon_0"..math.random(1, 7)) gz_utils.s_play_no_feedback(snd_obj) end Изменено 5 Марта 2017 пользователем Kirgudu 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069829
Kondr48 314 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 (изменено) Kirgudu, а для чего используется: math.randomseed(device():time_global()) ? --- Кстати, таким образом звук воспроизводится не хочет. Изменено 5 Марта 2017 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069872
Kirgudu 1 370 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 @Kondr48, для более-менее случайной инициализации генератора псевдо-случайных чисел. Использовать по желанию. звук воспроизводится не хочет Причины навскидку: плохой (тихий) звук, по указанному (сгенерированному) пути звука нет вообще (путь должен быть указан относительно папки gamedata\sounds), ошибочное содержимое функции gz_utils.s_play_no_feedback - выбирай на вкус. Получать звуковой объект указанием пути к нему строкой вполне валидно. 1 Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD Полезное: модули Артоса, XML парсер Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069887
Kober(BRUC) 99 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 для более-менее случайной инициализации генератора псевдо-случайных чисел @Kirgudu, у меня вообще без этого не работает, всегда одно число получается. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069893
losiara 13 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 Добрый вечер!!! Интересует возможность задавать исполнение функций например спавна по таймеру игрового времени! Получил задание днем, а выполнение его будет происходить ночью допустим в 22.00 (игровое время). Возможно подобное уже реализовано в каком нибудь моде, если да, то киньте ссылку по возможности!!! Спасибо!!! Жизнь следует измерять поступками, а не временем... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069898
Kober(BRUC) 99 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 @losiara, что приходит на ум: • На апдейте проверять время и вызывать метод, если проверка выполнена успешно. (бред) • С помощью таймера. То есть получать нынешнее время и вычитать его из положенного времени, а полученное число ставим на таймер, по истечению которого выполняется метод. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069900
Dennis_Chikin 3 665 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 Где-то выдают "таймеры", работающие не на апдейте, а на Святом Духе ? Мне, пожалуйста, парочку отложите - пригодятся в хозяйстве. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069919
UnLoaded 313 Опубликовано 5 Марта 2017 Поделиться Опубликовано 5 Марта 2017 Получил задание днем, а выполнение его будет происходить ночью Если я правильно понял, это что-то вроде: берем у Сидора в 14:00 задание - "Меченый, тут по ночам слепыши повадились выть близ деревни, спать мешают. Разберись". И этих слепышей возле деревни быть не должно до 22-23:00 и после 6-7:00. Ну так у тебя само задание - таймер: используй тег <function_complete>, в котором укажи ф-цию. Эта ф-ция будет выполняться на апдейте - вот тебе и таймер. В ф-ции проверяй игровое время и соответственно выполняй что-то по достижении нужного(к примеру спавни этих самых собачек в 22 и удаляй\уводи в офф-лайн в 6). Дешево и сердито... 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/417/#findComment-1069932
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти