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 Ссылка на комментарий
Gektor 0 Опубликовано 17 Декабря 2010 Поделиться Опубликовано 17 Декабря 2010 Добрый вечер, люди, ткните пожалуйста меня носом на скриптовый файл в котором содержатся настройки секции (функция ответственная за эту секцию?) логики [spawner]... Заранее спасибо. Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу. Ссылка на комментарий
ColR_iT 171 Опубликовано 17 Декабря 2010 Поделиться Опубликовано 17 Декабря 2010 Gektor, почему не срабатывает, не делает то, что ты задумал или делает, но не так? Вертолет. А при чем тут вертолет? Секция [spawner] ему не нужна. Wiki Эта секция, которая присутствует как у NPC, так и у монстров, спавнит их по определенному условию (выводит в онлайн). ... где здесь про вертолет то сказано!? Например, тот же вертолет на кордоне, что мимо вагончика пролетает, спавниться при старте игры. Когда игрок входит в space_restrictor c именем esc_heli_attack_zone, то он получает инфопорцию esc_heli_go, по которой в логике вертолета начинается его движение. И к тому же, разве вертолет можно переводить в online?... С нпц тоже попадается такая проблема. ...всмысле "попадается"? Спавнется в начале игры? Вероятно срабатывает условие спавна, нужно проверить нет ли у тебя его при старте игры. Лис, Фанат, Наемники, все у того же вагончика, три кабана и с десяток псов, появляется на Кордоне, именно благодаря этой секции, взгляни на них, возможно тебе они помогут. Ссылка на комментарий
ColR_iT 171 Опубликовано 17 Декабря 2010 Поделиться Опубликовано 17 Декабря 2010 (изменено) Gektor, а схема отвечающая за секцию [spawner] находится в файле xr_spawner.script. Изменено 18 Декабря 2010 пользователем Куфзук Ссылка на комментарий
Гость max_max_08 Опубликовано 18 Декабря 2010 Поделиться Опубликовано 18 Декабря 2010 Условие пишется вроде так. В секции [spawner] впиши cond = {+info} Ссылка на комментарий
DiXares 1 Опубликовано 18 Декабря 2010 Поделиться Опубликовано 18 Декабря 2010 Товарищи! Существует ли callback на юзание нычки? Очень надо... Ссылка на комментарий
gruber 2 481 Опубликовано 18 Декабря 2010 Поделиться Опубликовано 18 Декабря 2010 Clips, Да есть такая беда -статьи по логике на вики не корректные местами и кое что приходится выяснять опытным путем. Точку валк и лук попробуй связать флагом (в точке где должен стоять поставт флаг 01 и в точке куда смотреть должен тот же) Ссылка на комментарий
IQDDD 5 Опубликовано 18 Декабря 2010 Поделиться Опубликовано 18 Декабря 2010 Насчёт коллбека на юзание нычки смотри treasure_manager.script. ищи функцию, которая содержит в себе удаление метки нычки на карте. Ссылка на комментарий
Garry_Galler 7 Опубликовано 19 Декабря 2010 Поделиться Опубликовано 19 Декабря 2010 DiXares Не совсем на юзание - в оригинале используется каллбек на полное опустошение тайника: сначала вызывается take_item_from_box(box, box_story_id) - из экторского каллбека на тейк из ящика -actor_binder:take_item_from_box(box, item). Затем проверяется опустошение ящика: (if box:is_inv_box_empty() == true) и если true вызывается метод CTreasure:treasure_empty(box, box_story_id) который и снимает метку. А если нужен именно каллбек на юз - то через set_callbek() можно ставить на нужный объект. Ссылка на комментарий
DiXares 1 Опубликовано 19 Декабря 2010 Поделиться Опубликовано 19 Декабря 2010 Garry_Galler, спасибо за толковали. В данном случае я хочу рассмотреть каждую нычку при старте игры и объекты, находящиеся в них. Привести в скрипте к виду: local treasure_id = nil local table_objects = {} Тут парсим нычки, и заменяем treasure_id и table_objects. Мои действия. Ссылка на комментарий
Vano_Santuri 33 Опубликовано 19 Декабря 2010 Поделиться Опубликовано 19 Декабря 2010 http://rghost.ru/3667218 CallBack System Выкладываю систему калбэков. Кто знает, что это такое, сам поймет как подключать. -- Copyright: 2009-2010 ARS Team -- Authors: Red75, sokol_jack & xStream -- Last edit: Xmk, Skunk -- End edit ^ VanoSanturi http://rghost.ru/3667218 Все рабочее, патч 1.6.02 . Добавил апдейт для выброса, я просто интересные фишки творил, и чтоб не использовать таймеры, делал таймы на апдейте... Просьба добавить в шапку, сразу отпадут кучи вопросов, как сделать вывод, апдейт и пр. Что-то кончается, что-то начинается... Ссылка на комментарий
Clips 0 Опубликовано 19 Декабря 2010 Поделиться Опубликовано 19 Декабря 2010 (изменено) Здравстуйте господа.У меня все еще не разрешен мой вопрос по поводу смотрения НПС,то есть он у меня спавнится куда надо,но не смотрит куда надо,по совету товарища grubera глянул флаги в way,они стоят и собственно ничего не меняют.То есть проблема осталась .И главное что это такое-мой НПС спавнится в сидячем положении,когда я убираю флаг в way-look он встает- но на меня ноль реакции,и даже смотрит в мою сторону.....Я понимаю всех достал мой глупый вопрос...Но помогите кто может... PS:Возможно неправильное определение координат,моим съемщиком координат?Может в этом проблема?Прошу прощенья за длинноту... И еще..Ребята что за ерунда...Один раз мой НПС спавнится правильно, то есть смотрит в нужную мне сторону-один раз неправильно,то есть в противоположную сторону..Товарищи помогите...У кого есть догадки?Можно в ЛС чтоб не засорять эфир. Это way [tupoi_1_look] points = p0 p0:name = name00 p0:flags = 0x1 p0:position = -0.194,0.053,0.980 p0:game_vertex_id = 6 p0:level_vertex_id = 1393813 [tupoi_1_walk] points = p0 p0:name = name00 p0:flags = 0x1 p0:position = 249.628,15.154,486.614 p0:game_vertex_id = 6 p0:level_vertex_id = 1393813 Не ужели ни кто помочь не может? Вопрос закрыт. Изменено 22 Декабря 2010 пользователем Clips Ссылка на комментарий
Stalk15 27 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 Clips Ты покажи, как ты прописал way точки своему НПС. Может там что-то не правильно. Ссылка на комментарий
Painter 3 488 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 Доброго времени суток! Решил сделать провеку на отсутствие инфопоршня и отсутствие брони, после чего ГГ должен по моей задумки погибнуть. Во время тестирования обнаружил баг, из-за которого ГГ умирал в любом случае, есть у него броня или нет. В чём я допустил ошибку? function start_mod() if not has_alife_info("maior_barsakov_info") and db.actor:object("specops_outfit") ~= nil then db.actor:kill(db.actor) end end Портфолио Ссылка на комментарий
_Призрак_ 11 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 у тебя написано: если нет поршня и актор имеет обджект (неодетым, а в инвенторе) то тогда убиваем Freedom Ссылка на комментарий
Painter 3 488 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 В данном случае, мне все-равно, одет броник на ГГ или просто лежит у него в инвентаре. Главное - сделать правильно провеку на "отсутвствие" броника, что, собственно, у меня и не выходит сделать. Портфолио Ссылка на комментарий
ColR_iT 171 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 (изменено) Jurok, а какова вероятность того, что необходимый инфопоршен отсутствует? И попробуй инфопоршен проверить не not has_alife_info, а через dont_has_info. Изменено 21 Декабря 2010 пользователем Куфзук Ссылка на комментарий
Painter 3 488 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 (изменено) 100% вероятность, ибо мы получаем инфопоршен после проходение определённых квестов, а умираю я сразу же в начале игры (имея в инветаре броник), выходит, что вся проблема лежит в проверки на его отсутствие. Куфзук, зачем через dont_has_info? Изменено 26 Ноября 2019 пользователем Jurok Портфолио Ссылка на комментарий
ColR_iT 171 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 (изменено) Jurok, так вот именно dont_has_info и проверяет отсутствие инфопоршня у актора. bool dont_has_info(string <имя инфопоршена>); // проверка на отсутствие инфопоршена Это из темы "Справочник по функциям и классам" Просто почему я склоняюся к инфопоршню. Всего лишь потому, что проверка на наличие костюма правильная. Попробуй убрать проверку инфопоршня... Постой. ...а умираю я сразу же в начале игры (имея в инветаре броник)...так у тебя же проверка стоит на его наличие! С _Призрак_ом полностью согласен! Изменено 21 Декабря 2010 пользователем Куфзук Ссылка на комментарий
Painter 3 488 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 (изменено) Цитата так у тебя же проверка стоит на его наличие! А как сделать проверку на его отсутствие? _Призрак_, сейчас попробую. Изменено 26 Ноября 2019 пользователем Jurok Портфолио Ссылка на комментарий
_Призрак_ 11 Опубликовано 21 Декабря 2010 Поделиться Опубликовано 21 Декабря 2010 Jurok Нужно сделать так: function start_mod() if dont_has_info("maior_barsakov_info") and db.actor:object("specops_outfit") == nil then db.actor:kill(db.actor) end end Freedom Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти