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/
TRAMP14 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 (изменено) Чтото не вижу исправлений. Как не глупо но может заспавнить уже проверенных полтергейстов? Изменено 2 Июня 2011 пользователем TRAMP14 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598004
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598006
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_ Это мой стандартный конфиг, всё работает как часы и регистр значения не имеет Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598007
Disord 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 TRAMP14, разница лишь в том, что в спавне ставят секции m_poltergeist_normal_tele и m_poltergeist_normal_flame в которых как раз указана данная переменная с указанным мной регистром. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598010
TRAMP14 1 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 (изменено) Пустые споры, мы не знаем как автор спавнил, что именно он копал, в конце концов мы не можем посмотреть есть ли такие звуки в папке, предлагаю автору сделать всё по новой. А наши топики желательно потереть, всётаки не очень скриптово мы разговариваем Изменено 2 Июня 2011 пользователем TRAMP14 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598012
ZeeK 62 Опубликовано 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) Подсмотрел в другом моде, сделал все также, но у них не вылетает, а у меня да..... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598037
KD87 720 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 ZeeK, в mm.script синтаксическая ошибка. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598054
ZeeK 62 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 КД87, спасибо В общем вылетает из за строчки if not has_alife_info("start_mod") then Пытался зарегать инфопоршень в info_portions-не помогает....Как обойти данную проблему? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598057
_Призрак_ 11 Опубликовано 2 Июня 2011 Поделиться Опубликовано 2 Июня 2011 попробуй if db.actor:dont_has_info("start_mod") then Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598061
ZeeK 62 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 _Призрак_ к сожалению это тоже не помогает..... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598107
Гость max_max_08 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 А куда именно ставил проверку в бинд сталкер? И желательно выложить файл с ошибкой. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598108
Pihan13 9 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Если кому понадобится, выкладываю хелп по смарт террейнам, написанный мной http://narod.ru/disk/14779856001/smart_ter...pihan13.7z.html Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598118
ZeeK 62 Опубликовано 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598140
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598145
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598173
dPlayer 552 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Народ, возникла такая проблема: в AI pack НПС переодеваются только когда ГГ в 15 метров и их не видит. А где именно это прописано? Мне необходимо, чтобы нпс переодевался сразу, как только подберёт/получит броню. Смотрел в xrs_armor.script но решения выделить из кода не смог. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598189
ZeeK 62 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Благодарю всех, кто мне помогал! Еще вопрос, как отпустить из логики НПС обратно в симуляцию? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598275
*Shoker* 322 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 В логике пишешь типа переключение на другую секцию, только вместо имени секции напиши nil, вроде работает. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598299
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) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598305
Kirag 40 Опубликовано 3 Июня 2011 Поделиться Опубликовано 3 Июня 2011 Igor88.89 Добавлю, что условие на не_видимость НПС актором вполне осмысленное - смена визуала требует переписывания нет-пакета. Пока объект - в данном случае НПС - в онлайне, это делать бесполезно. Надо переводить сталкера в оффлайн, менять нет-пакет и возвращать в онлайн, но во время пребывания в оффлайне НПС станет невидим, и это пропадание и появление будет прекрасно заметно в игре. Но если актор смотрит в другую сторону = не видит НПС, это пройдет незамеченным игроком. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/96/#findComment-598319
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти