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 Ссылка на комментарий
Scarabay 98 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 Всем привет. Подскажите, можно ли скриптом изменить звуковую тему локации (с природной на подземную например)? Мой YouTube-канал Ссылка на комментарий
speczadanie 0 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 ещё вопрос. заспавнил нпс - он заспавнился, но не там где надо (хотя координаты точные). проблема скорее всего в отсутствии в нужном мне месте аи-сетки. можно это как-то исправить без рекомпиляции и т.п. локаций? ещё вопрос: делал нпс, сидящего на стуле. нпс нужную анимацию выполняет. стал с горем пополам делать подбор соотношения нпс и стула и заметил интересуню штуку: вижу что нпс сидит левее стула. изменяю координаты СТУЛА как надо, запускаю игру. стул переместился куда надо - но и нпс переместился туда же на столько же. в чём проблема? координаты нпс не меняю вообще!!! Ссылка на комментарий
ColR_iT 171 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 (изменено) speczadanie я думаю проблема не в АИ сетке, поскольку в случае спавна НПС в зоне, где сетки нет, например хатка за спиной у Волка, то он просто будет в судорожном состаянии "левитировать" к ближайшей точки АИ сетки, это я проверял лично. Что касается стула, то также постарайся все перепроверить, поскольку буквально полчаса назад, пытался вытащить Сидора и стул, точнее подсунуть под него другой стул, на поверхность - у меня получилось. З.Ы. присоеденяюсь к вопросу Scarabay Изменено 2 Декабря 2010 пользователем Куфзук Ссылка на комментарий
speczadanie 0 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 перепроверил про стул - безрезультатно Добавлено: перепроверил про стул - безрезультатно Строгое предупреждение от администратора n6260 Не безрезультатно. Еще одно сообщение без заглавных букв и знаков препинания - и тогда уж не обессудьте... Ссылка на комментарий
speczadanie 0 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 прописал нпсу такую логику: [logic] active = remark1 trade = misc\trade_generic.ltx on_death = death danger_ignore = danger_ignore [remark1] on_info = {+sidor_client_run} walker meet = meet [walker] path_walk = sidor_client_path def_state_moving1 = sprint def_state_moving2 = sprint def_state_moving3 = sprint meet = meet anim = sit_sleep target = actor [meet] use = false use_wpn = false meet_talk_enabled = false [danger_ignore] ignore_distance = 999999999 при получении поршна нпс бежит куда надо и тупо стоит там повернувшись неясно куда. а по логике надо чтобы там он пожизненно после этого выполнял анимку сит-слип и смотрел на гг. в чём недоработка? Ссылка на комментарий
ColR_iT 171 Опубликовано 2 Декабря 2010 Поделиться Опубликовано 2 Декабря 2010 speczadanie, какую анимацию ты используешь? На ком ставишь эксперементы? Ссылка на комментарий
speczadanie 0 Опубликовано 3 Декабря 2010 Поделиться Опубликовано 3 Декабря 2010 (изменено) Обычный непись. Анимация "chistit ruje_1" работает нормально. Пытаюсь заспавнить под него стул - последствия уже сообщил. Добавлю - непися сам создавал. -------------------------------------------------------------------- и ещё вопрос сразу: изменил место старта игры, но идти надо всё-равно к сидору. нужно, чтобы свой монолог он начинал, как только игрок проходит в дверь к нему. однако в оригинале сделано так, что спейс-рестриктор слишком большой - и монолог начинается ещё на лестнице. как исправить? // Даблпостинг на форуме запрещен, на 1-ый раз объединил посты, потом буду просто удалять. Министр. Изменено 3 Декабря 2010 пользователем Министр Ссылка на комментарий
speczadanie 0 Опубликовано 3 Декабря 2010 Поделиться Опубликовано 3 Декабря 2010 ещё вопрос. как назначить точке пути (way point) выдачу инфопоршня? (когда нпс прошёл по заданной точке - выдача)? Ссылка на комментарий
Garry_Galler 7 Опубликовано 3 Декабря 2010 Поделиться Опубликовано 3 Декабря 2010 speczadanie Как вариант: в utils.script есть готовая функция - проверяет достиг ли NPC нужной точки. Ставишь на апдейт(разумеется с передачей аргументов) и проверяешь. Если достиг - выдаешь поршень. Ссылка на комментарий
gruber 2 481 Опубликовано 3 Декабря 2010 Поделиться Опубликовано 3 Декабря 2010 (изменено) speczadanie, В любой точке пути можно поставить выдачу сигнала,а по нему выдавать инфо p2:name = wp02|sig=final(в качестве сигнала любое слово) В логике on_signal = final|{+info} еще можно установить в точке рестриктр который при попадании нпс будет выдавать инфо speczadanie, Кого именно ты спрашиваешь? Изменено 3 Декабря 2010 пользователем gruber Ссылка на комментарий
speczadanie 0 Опубликовано 3 Декабря 2010 Поделиться Опубликовано 3 Декабря 2010 а можно поподробнее как соордуить такую функцию? просто неясно откуда и какие аргументы ставить Строгое предупреждение от администратора n6260 Пункт 2.6. Трое суток режима чтения. Ссылка на комментарий
antreg 179 Опубликовано 4 Декабря 2010 Поделиться Опубликовано 4 Декабря 2010 (изменено) Добрый день! В аллспавне есть в секции респавна такой блок: [respawn] respawn_section = flesh_weak, flesh_normal,dog_normal max_count = 8 min_count = 3 max_spawn = 3 idle_spawn = medium conditions = {+agroprom_military_case_done} 80, 0 END За что отвечают две цифры после "вероятности", выделенные синим? Если 80 - понимать как вероятность в процентах, то на что тогда влияет значение "0". gruber, Хорошо, тогда, если вообще убрать эти цифры, тогда будет по умолчанию спавн всегда? Или можно так: conditions = {+agroprom_military_case_done} 100, что, по сути, то же самое, по всей видимости. Изменено 4 Декабря 2010 пользователем antreg "Тайные Тропы 2" техподдержка "Ф.О.Т.О.Г.Р.А.Ф" техподдержка Ссылка на комментарий
gruber 2 481 Опубликовано 4 Декабря 2010 Поделиться Опубликовано 4 Декабря 2010 (изменено) -------------------------------------------------------------------- и ещё вопрос сразу: изменил место старта игры, но идти надо всё-равно к сидору. нужно, чтобы свой монолог он начинал, как только игрок проходит в дверь к нему. однако в оригинале сделано так, что спейс-рестриктор слишком большой - и монолог начинается ещё на лестнице. как исправить? Попробуй убрать рестриктр вообще(тем более ,что он еще и задание убить стрелка дает),а звуковую схему разговора привяжи в логике к диалогу(или убери так же -без начального появления в бункере ,она не так актуальна) antreg, Это значит ,отсутствие вариантов именно 80% и никак иначе (хотя 20% вероятности,что не заспавнятся все же остается) Просто возможно если не ставить ноль-то респавн будет происходить в диапазоне от 0 до 80% т.е чистый рандом,а тут получается варианта всего два Изменено 4 Декабря 2010 пользователем gruber Ссылка на комментарий
F.O.B.O 0 Опубликовано 4 Декабря 2010 Поделиться Опубликовано 4 Декабря 2010 Подскажите пожалуйста! Как сделать, чтобы после взрыва определённой гранаты, на её месте спавнилась одна вещь! Оч надо! Прошу помощи... Точка ЛЦУ у вас на лбу это тоже чья-то точка зрения. Ссылка на комментарий
Старлей 88 Опубликовано 4 Декабря 2010 Поделиться Опубликовано 4 Декабря 2010 Народ! Я в ЧН сделал так что в группировку можно вступить (actor_army) прописал в game_relations.ltx(communities, [communities_relations], [actor_communities], [communities_sympathy]) и в sim_board.script (local actor_communitites) Игра начинается все ОК но при открытии ПДА раздел СТАТИСТИКА - вылет вот лог: Expression : fatal error Function : CScriptEngine::lua_error File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp Line : 180 Description : <no expression> Arguments : LUA error: ...Ð. - ×èñòîå Íåáî\gamedata\scripts\sim_faction.script:656: attempt to index field '?' (a nil value) В чем причина и причем здесь sim.faction?Если кто-то имел с этим дело то плиз скажите как правильно сделать! Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
MaximusTQ 0 Опубликовано 5 Декабря 2010 Поделиться Опубликовано 5 Декабря 2010 (изменено) Уважаемые дамы(если таковые тут есть ) и господа, у меня проблема с программой acdc, почитал туторы, вроде сделал всё правильно(засунул all.spawn в папку с прогой, запустил батник), а в появившемся окне написаны такие строки - "cannot open all.ltx", версия 1.0004, может может повлиять то что я откатывал с 1.0006, а не переустанавливал игру? // Что ты хоть делать пытаешься? Министр. Добавлено через 22 мин.: all.spawn распаковать // Насколько помню all.ltx требуется только при запаковке аллспауна. Может просто не так делаешь? Напиши как распаковываешь. Министр. Изменено 5 Декабря 2010 пользователем Министр Ссылка на комментарий
Alastar 0 Опубликовано 5 Декабря 2010 Поделиться Опубликовано 5 Декабря 2010 Старлей, sim_faction.script отвечает за симмуляцию группировок в игре (даже из названия понятно)). Ты не прописал группировку в скрипте пда, от этого и вылет (симмуляция в игре стартует, а в пда инфы о группировке нет). Ссылка на комментарий
Старлей 88 Опубликовано 5 Декабря 2010 Поделиться Опубликовано 5 Декабря 2010 Alastar разве надо в ПДА прописывать actor_army?!У меня вылетает при войне группировок Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Alastar 0 Опубликовано 5 Декабря 2010 Поделиться Опубликовано 5 Декабря 2010 Старлей, во-первых: разве надо в ПДА прописывать actor_army?!надо в самом скрипте прописывать, т.к. в ЧН половина функций пда реализована через него; во-вторых: У меня вылетает при войне группировок это происходит из-за "во-первых", в разделе пда статистика указывается статистика всех игровых группировок в симмуляции, твоя группировка в ней есть, но скрипт не может ее найти в своей кастом дате Ссылка на комментарий
Старлей 88 Опубликовано 5 Декабря 2010 Поделиться Опубликовано 5 Декабря 2010 Ага все разобрался терь все ОК Ну уж тода еще 2 вопроса: 1. Вот смотри заспавню я actora в другом месте и вся проблема будет в том что как я понял только после выброса и вступления в чистое небо запускается война группировок глобальная а вместе с ней чн и ренегатов у остальных стоит элементарное ограничение по заданию тип ток после отдавания хабара сидоровича нач война сталкеров и бандосов {+esc_take_habar_complete} а у чистого неба такой штуки нет с ренегатами да и ваще глобал вар не запуститься Как сделать чтоб война сразу запускалась? 2.Допустим я заспавню лидера торговца военным иль монолиту а вот награда за захват точки будет ли у него браться автоматически ? иль надо чето в логике прописать или еще где? Подскажи плиз Ray Of Hope - кооператив сталкера OldStory Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти