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 Ссылка на комментарий
_Val_ 2 225 Опубликовано 12 Января 2018 Поделиться Опубликовано 12 Января 2018 (изменено) @Rietmon По твоей логике. 1. Враждебность к актеру. actor_enemy ... ценность данного предусловия по моим скромным наблюдениям стремится к нулю. Попробуй лучше использовать fighting_actor. Угум...И все эти дела скорее относятся к проверке враждебности актора, чем к установке на его убийство. Потому я делаю так %=killactor% 2. По вылету. Поршень явно срабатывает, и персонаж переходит в следующую секцию. Секция имеет схему walker. А где в таком случае пути? Кстати - логика случаем не для ЗП? corpse_detection_enabled - это что? Изменено 12 Января 2018 пользователем _Val_ 1 Ссылка на комментарий
Fenrir02 199 Опубликовано 12 Января 2018 Поделиться Опубликовано 12 Января 2018 Здравствуйте! Как через ALL.SPAWN сделать нпс бессмертным? Например Волка. Пробовал ставить ему секцию Сахарова - не помогает. Подскажите Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
Rietmon 3 Опубликовано 12 Января 2018 Поделиться Опубликовано 12 Января 2018 4 часа назад, _Val_ сказал: @Rietmon corpse_detection_enabled - это что? Блин, дружище, спасибо! Никогда бы не додумался, что проблема в walker (не сарказм)! В таком случае, что такое meet в логике? И какую схему лучше использовать просто для того, что-бы ГГ не помогал раненым, не брал вещи и т.д.? 4 часа назад, _Val_ сказал: corpse_detection_enabled - это что? А это запрет на лут трупов. Ссылка на комментарий
_Val_ 2 225 Опубликовано 12 Января 2018 Поделиться Опубликовано 12 Января 2018 54 минуты назад, Rietmon сказал: что такое meet Ну в зависимости от того, как его применять. Если просто - meet = no_meet, то это запрет на разговор с ГГ. Если в отдельных секциях пишешь допустим - meet = meet@stalk, meet = meet@kamp - то это дает возможность прописывать разные диалоги и\или разную реакцию непися на действия ГГ. Чтобы ГГ не промогал раненым и т.д...Никакая схема не поможет. Это в мозгу у игрока. Не - ну можно забацать конечно логику - когда непись начнет материть ГГ после получения аптечки. А оно надо? Ссылка на комментарий
Dennis_Chikin 3 661 Опубликовано 13 Января 2018 Поделиться Опубликовано 13 Января 2018 Просто диалог на аптечку неписю убрать, и ага. Опять же, hp_state, hp_state_see, чтоб не орал. Но наличие смысла это запрещать - таки да. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
_Val_ 2 225 Опубликовано 13 Января 2018 Поделиться Опубликовано 13 Января 2018 (изменено) 30 минут назад, Dennis_Chikin сказал: и ага В смысле? Тогда нужно вообще запретить неписю быть раненым)) Там кстати еще интересный пунктик был. Цитата что-бы ГГ ... не брал вещи А это как сделать? Убрать вещи из игры, сделать их неберущимися...Чёт у меня фантазия разыгралась вплоть до запрета ГГ играть в Сталкера, чё уж. Изменено 13 Января 2018 пользователем _Val_ Ссылка на комментарий
Dennis_Chikin 3 661 Опубликовано 13 Января 2018 Поделиться Опубликовано 13 Января 2018 Ну, есть же у нас неписи с регеном и фэйкдесом... Полежал-полежал, и дальше пошел. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 530 Опубликовано 13 Января 2018 Поделиться Опубликовано 13 Января 2018 44 минуты назад, Dennis_Chikin сказал: Опять же, hp_state, hp_state_see, чтоб не орал. Проще заглушки на звуковые файлы воткнуть.... Сталкер - наше всё! Ссылка на комментарий
_Val_ 2 225 Опубликовано 13 Января 2018 Поделиться Опубликовано 13 Января 2018 Так тогда все раненые перестанут орать)) Имелось в виду очевидно вот это: Имеем hp_state = HP|anim@sound|HP|anim@sound Преобразуем в молчащего раненого hp_state = HP|anim|HP|anim Хотя можно сделать проще: [wounded] hp_state = 0|wounded_heavy@help_heavy hp_state_see = 0|wounded_heavy@help_heavy hp_victim = 0|nil hp_fight = 0|false hp_cover = 0|false Ссылка на комментарий
AndrewMor 530 Опубликовано 14 Января 2018 Поделиться Опубликовано 14 Января 2018 11 часов назад, _Val_ сказал: Так тогда все раненые перестанут орать)) Ну да, перестанут. Орать в Зоне, оказавшись раненым - себе дороже. Еще придет кто-нито на обед Сталкер - наше всё! Ссылка на комментарий
Graff46 598 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 (изменено) Подскажите, в ТЧ можно ли как-то определить тип хита который получил НПС? (Ожог, удар, взрыв...). И еще, что мы имеем на сегодня для того чтобы заставить НПС обходить физические предметы? Когда то на эту тему был разговор, про реализацию этого с помощью каких то флагов, "отключении" лодов под объектами и тд... Изменено 16 Января 2018 пользователем Graff46 Ссылка на комментарий
_Val_ 2 225 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 (изменено) 5 часов назад, Graff46 сказал: "отключении" лодов под объектами и тд Под объектами не должно быть нодов аи-сетки. Правится вручную при помощи СДК. Причём тут скриптование? ЗЫ. Ага - можешь понавешать на совсем уж глючные объекты запрещающих рестрикторов. Ну или сделать так, чтобы рядом небыло неписей. Это уже ближе к скриптованию. Изменено 16 Января 2018 пользователем _Val_ Ссылка на комментарий
HellRatz 2 896 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 (изменено) 16 минут назад, _Val_ сказал: Под объектами не должно быть нодов аи-сетки. Это не относится к динамическим объектам. Вопрос даже более чем к скриптованию/движку как раз таки. Изменено 16 Января 2018 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
_Val_ 2 225 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 @HellRatz Говорилось - физические предметы. Что хочешь, то и понимай)) Ссылка на комментарий
Dennis_Chikin 3 661 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 Как раз единственное осмысленное применение рестрикторов - динамически добавлять ограничения на вход/выход в указанную область. Ну а заранее - да, тип нодов и маска в terrains = - по каким ходить можно, по каким - нет. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
dsh 3 824 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 @Graff46 в x-ray extensions есть коллбек, вызываемый перед обработкой хита. В него передается структура, в которой есть, в том числе, и тип хита. Вот только я не помню, есть расшифровка этой структуры в XE или это уже из ogse.dll. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Graff46 598 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 6 часов назад, _Val_ сказал: Говорилось - физические предметы. Что хочешь, то и понимай)) Физические спавн объекты, всякие бочки, ящики, машины и тд... Ссылка на комментарий
Graff46 598 Опубликовано 16 Января 2018 Поделиться Опубликовано 16 Января 2018 Из луаХелп Скрытый текст C++ class CSpaceRestrictor : CGameObject { CSpaceRestrictor (); function Visual(); function _construct(); function getEnabled() const; function net_Import(net_packet&); function net_Export(net_packet&); function getVisible() const; function net_Spawn(cse_abstract*); function use(CGameObject*); }; Как понимать функции: Visual(), getVisable() и use() для рестрикторов? Ссылка на комментарий
Rietmon 3 Опубликовано 17 Января 2018 Поделиться Опубликовано 17 Января 2018 (изменено) Какой функцией можно заспавнить вещь в рюкзак-тайник? Все должно быть как-то так: после диалога в нем должен заспавниться калаш - забрал. Потом снова поговорил с НПС - вновь заспавнился калаш, и так до бесконечности. Изменено 18 Января 2018 пользователем Dennis_Chikin шрифт Ссылка на комментарий
Overfirst 637 Опубликовано 17 Января 2018 Поделиться Опубликовано 17 Января 2018 xr_effects.spawn_object_in(nil, nil, {"section", "story_id"}) Добавлено Overfirst, 17 Января 2018 DC, что сомнительно? Все работает прекрасно. А с бесконечным спавном после диалога пусть сам разбирается. 1 1 Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти