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 Ссылка на комментарий
TRAMP14 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 (изменено) Чтото не вижу исправлений. Как не глупо но может заспавнить уже проверенных полтергейстов? Изменено 2 Июня 2011 пользователем TRAMP14 Ссылка на комментарий
Disord 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 (изменено) herurg, да нет же, тебе нужно в секции [m_poltergeist_e]: [m_poltergeist_e]:monster_base ... ;--------------------------------------------------------- ; Sounds and sound parameters ;--------------------------------------------------------- Sound_Idle = monsters\biting\def_ sound_eat = monsters\biting\def_ sound_aggressive = monsters\biting\def_ sound_attack_hit = monsters\biting\def_ sound_take_damage = monsters\biting\def_ sound_die = monsters\biting\def_ sound_threaten = monsters\biting\def_ sound_landing = monsters\biting\def_ sound_steal = monsters\biting\def_ sound_panic = monsters\biting\def_ sound_growling = monsters\biting\def_ sound_die_in_anomaly = monsters\biting\def_ TRAMP14, там как раз не найдена переменная. Изменено 2 Июня 2011 пользователем Disord Ссылка на комментарий
TRAMP14 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 Disord ;--------------------------------------------------------- ; Sounds and sound parameters ;--------------------------------------------------------- sound_idle = monsters\biting\def_ sound_eat = monsters\biting\def_ sound_aggressive = monsters\biting\def_ sound_attack_hit = monsters\biting\def_ sound_take_damage = monsters\biting\def_ sound_die = monsters\biting\def_ sound_threaten = monsters\biting\def_ sound_landing = monsters\biting\def_ sound_steal = monsters\biting\def_ sound_panic = monsters\biting\def_ sound_growling = monsters\biting\def_ sound_die_in_anomaly = monsters\biting\def_ Это мой стандартный конфиг, всё работает как часы и регистр значения не имеет Ссылка на комментарий
Disord 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 TRAMP14, разница лишь в том, что в спавне ставят секции m_poltergeist_normal_tele и m_poltergeist_normal_flame в которых как раз указана данная переменная с указанным мной регистром. Ссылка на комментарий
TRAMP14 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 (изменено) Пустые споры, мы не знаем как автор спавнил, что именно он копал, в конце концов мы не можем посмотреть есть ли такие звуки в папке, предлагаю автору сделать всё по новой. А наши топики желательно потереть, всётаки не очень скриптово мы разговариваем Изменено 2 Июня 2011 пользователем TRAMP14 Ссылка на комментарий
ZeeK 57 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 Кто нибудь объясните мне почему у меня при попытке добавить что-нибудь в бинд_сталкер все время происходит такой вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\nn.script:2: attempt to index global 'mm' (a nil value) Подсмотрел в другом моде, сделал все также, но у них не вылетает, а у меня да..... Не соответствует. N6260 Ссылка на комментарий
KD87 718 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 ZeeK, в mm.script синтаксическая ошибка. Ссылка на комментарий
ZeeK 57 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 КД87, спасибо В общем вылетает из за строчки if not has_alife_info("start_mod") then Пытался зарегать инфопоршень в info_portions-не помогает....Как обойти данную проблему? Не соответствует. N6260 Ссылка на комментарий
_Призрак_ 11 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 попробуй if db.actor:dont_has_info("start_mod") then Freedom Ссылка на комментарий
ZeeK 57 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 _Призрак_ к сожалению это тоже не помогает..... Не соответствует. N6260 Ссылка на комментарий
Гость max_max_08 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 А куда именно ставил проверку в бинд сталкер? И желательно выложить файл с ошибкой. Ссылка на комментарий
Pihan13 9 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Если кому понадобится, выкладываю хелп по смарт террейнам, написанный мной http://narod.ru/disk/14779856001/smart_ter...pihan13.7z.html Локация "Жилище Картографа" Хелп по созданию смарт террейнов Ссылка на комментарий
ZeeK 57 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 max_max_08 Проверку ставил после function actor_binder:update(delta), а точнее после --' Апдейт саундменеджера xr_sound.update(self.object:id()) В бинд_сталкере у меня написано nn.nn_main_update() в nn.script function nn_main_update() mm.start_nn_mod() end а в mm.script function start_nn_mod() if db.actor:dont_has_info("start_nn_mod") then alife():create("zat_b30_owl_stalker_trader",vector():set(-320.413361,19.349314,616.026245), 308687, 212) db.actor:give_info_portion("start_nn_mod") end Ивсе прекрасно работает пока не добавляю if db.actor:dont_has_info("start_nn_mod") then Не соответствует. N6260 Ссылка на комментарий
iDreD 5 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 (изменено) if db.actor:dont_has_info("start_nn_mod") thenПоставь это в бинд сталкер. ... --- Лагерь новичков, Волк: -- Волк: escape_tasks.wolf_message() -- Лагерь прощает обиды: escape_tasks.esc_lager_forgive() if not has_alife_info("start_nn_mod") then alife():create("zat_b30_owl_stalker_trader",vector():set(-320.413361,19.349314,616.026245), 308687, 212) db.actor:give_info_portion("start_nn_mod") end Вот так. И все дела. Изменено 3 Июня 2011 пользователем iDreD Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Desertir 202 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 (изменено) ZeeK, для условия тоже нужен end. В этом и была синтаксическая ошибка. Т.е. нужен еще один "конец" в функции start_nn_mod() function start_nn_mod() if db.actor:dont_has_info("start_nn_mod") then alife():create("zat_b30_owl_stalker_trader",vector():set(-320.413361,19.349314,616.026245), 308687, 212) db.actor:give_info_portion("start_nn_mod") end --вот еще один, всего делов :) end Вариант от iDreD безусловно будет работать. Изменено 3 Июня 2011 пользователем Desertir ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
dPlayer 530 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Народ, возникла такая проблема: в AI pack НПС переодеваются только когда ГГ в 15 метров и их не видит. А где именно это прописано? Мне необходимо, чтобы нпс переодевался сразу, как только подберёт/получит броню. Смотрел в xrs_armor.script но решения выделить из кода не смог. Самый некомпетентный на форуме. Ссылка на комментарий
ZeeK 57 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Благодарю всех, кто мне помогал! Еще вопрос, как отпустить из логики НПС обратно в симуляцию? Не соответствует. N6260 Ссылка на комментарий
*Shoker* 322 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 В логике пишешь типа переключение на другую секцию, только вместо имени секции напиши nil, вроде работает. Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
Garry_Galler 7 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Igor88.89 Решение находится поиском по цифре 15 - за пару секунд. if ((not db.actor:see(npc) and npc:position():distance_to(db.actor:position())>15) Ссылка на комментарий
Kirag 39 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Igor88.89 Добавлю, что условие на не_видимость НПС актором вполне осмысленное - смена визуала требует переписывания нет-пакета. Пока объект - в данном случае НПС - в онлайне, это делать бесполезно. Надо переводить сталкера в оффлайн, менять нет-пакет и возвращать в онлайн, но во время пребывания в оффлайне НПС станет невидим, и это пропадание и появление будет прекрасно заметно в игре. Но если актор смотрит в другую сторону = не видит НПС, это пройдет незамеченным игроком. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти