svarog2741 83 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 (изменено) зациклить скрипт Сделай проверку на нахождение ГГ на локации, но тогда не на апдейт вешай, а на загрузку. Изменено 8 Июня 2015 пользователем svarog2741 НС - шлак, солянки - шлак. Ссылка на комментарий
Gerakruger 18 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 Пример скрипта можете написать? Ссылка на комментарий
UnLoaded 313 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 при заходе на локацию Янтарь, происходит спавн живности в лабе х-16 один раз. Помогите зациклить скрипт. Вообще-то, для этих целей - "зациклить спавн", ПЫСы придумали респавнеры... Пример скрипта - se_respawn.script. Смотрим в скрипт(включая его разновидности в различных модах), читаем на вики описание его работы(для базовой версии), рещаем свои проблемы\запросы... Ссылка на комментарий
Gerakruger 18 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 (изменено) Вообще-то, для этих целей - "зациклить спавн", ПЫСы придумали респавнеры... Пример скрипта - se_respawn.script. Смотрим в скрипт(включая его разновидности в различных модах), читаем на вики описание его работы(для базовой версии), рещаем свои проблемы\запросы... Что такое "рещаем"? Все, что Вы написали, давно просмотрено и прочтено. Меня интересует конкретно - как в моем случае (вышеописанный скрипт спавна живности) сделать его (скрипт) циклическим. Там реально несколько строк в коде нужно прописать - прошу подсказать опять же конкретно - где и что прописать/добавить. 1. Я не требую, а прошу, гордые вы мои 2. Да, просто, чтобы спавн происходил каждый раз при посещении локации и живность при каждой загрузке добавлялась к уже существующей . 3. Если не хотите помочь с кодом - буду спрашивать на других ресурсах Изменено 8 Июня 2015 пользователем Gerakruger Добавлено Dennis_Chikin, 8 Июня 2015 В bind_stalker:net_spawn() Но вообще это отнюдь не несколько строчек (или Вам надо чтобы вся эта живность при каждой загрузке добавлялась каждый раз к уже имеющейся ?), и, в общем-то, это не та тема, чтобы в ней что-либо ТРЕБОВАТЬ. Вам совершенно правильно посоветовали изучить, как это делается, и указали, где именно. Ссылка на комментарий
svarog2741 83 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 (изменено) Пример скрипта можете написать? 1. Мне лень 2. Я забыл нужную функцию в бинде 3. Более года не использовал скриптовый спавн. Изменено 8 Июня 2015 пользователем svarog2741 НС - шлак, солянки - шлак. Ссылка на комментарий
Akello 175 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 (изменено) Помогите зациклить скрипт. По поводу спавна. При загрузке уровня происходит спавн актёра и перевод его в онлайн, вызывается function actor_binder:net_spawn(data) (файл bind_stalker), соответственно, поместить сюда вызов вашей функции спавна, в которой перед спавном предмета проверять имя локации: if level == "l08u_brainlab" then таким образом при каждом заходе будет спавн. Изменено 8 Июня 2015 пользователем Akello 1 Ссылка на комментарий
UnLoaded 313 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 таким образом при каждом заходе будет спавн. А еще при каждой загрузке сэйва... а, просто, чтобы спавн происходил каждый раз при посещении локации и живность при каждой загрузке добавлялась к уже существующей.Там реально несколько строк в коде нужно прописать - прошу подсказать опять же конкретно - где и что прописать/добавить. Это смотря кто как понимает "циклический" спавн: не буду пальцем тыкать, но есть приличное кол-во (говно)модов в которых происходит спавн по запрошенному Вами выше варианту. Т.е. зашел на локу - заспавнилась какая-то тварь, и если просто зайти\выйти 5 раз, будем иметь 5 этих тварей. Вы серьезно считаете это правильным вариантом спавна ? Ссылка на комментарий
Gerakruger 18 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 @UnLoaded, Нет конечно, идеальный вариант - спавн через временной интервал или в привязке к выбросу (опять же временной интервал). Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна. Кроме того, я никого не заставляю играть в тот Сталкер, в котором будет использоваться мой примитивный циклический спавн Ссылка на комментарий
svarog2741 83 Опубликовано 8 Июня 2015 Поделиться Опубликовано 8 Июня 2015 Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна. возьми у меня из профиля скрипт и повесть на таймер спавн. 1 НС - шлак, солянки - шлак. Ссылка на комментарий
Akello 175 Опубликовано 9 Июня 2015 Поделиться Опубликовано 9 Июня 2015 (изменено) Нет конечно, идеальный вариант - спавн через временной интервал или в привязке к выбросу (опять же временной интервал)Вариантов миллион, можешь как вариант использовать способ, как при выдаче Меченному первого квеста при запуске, "убить стрелка", там выдается инфопоршень "storyline_actor_start" когда ты появляешься на кордоне. Изменено 9 Июня 2015 пользователем Kirgudu 1 Ссылка на комментарий
UnLoaded 313 Опубликовано 9 Июня 2015 Поделиться Опубликовано 9 Июня 2015 Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна. Тогда, видимо, Вам стоит переместиться из темы "Скриптование" в тему "Ищу файлы\моды\аддоны" ? Правильно изложить свою просьбу, и вполне реально получить искомое... P.S. Без обид, но если Вы задали вопрос в теме "Скриптование", то предполагается что Вы решили хоть как-то его освоить. Ссылка на комментарий
Akello 175 Опубликовано 9 Июня 2015 Поделиться Опубликовано 9 Июня 2015 (изменено) Gerakruger зайди, вопрос решим, потому что всем пофиг, на твою проблемму, если ты ещё не в курил,ни у то твоё личное дело. Изменено 9 Июня 2015 пользователем Akello Ссылка на комментарий
Winsor 177 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 Уважаемые, подскажите, где можно прочитать про отличия UPDATE_Read/Write от STATE_Read/Write нетпакета? Ссылка на комментарий
Struck 61 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 @Winsor, acdc.pl 1 Ссылка на комментарий
Winsor 177 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 Уважаемый @Struck, очень внимательно причитал acdc но не смог найти описания отличий STATE от UPDATE части нетпакета, не могли бы Вы подсказать - куда именно мне обратить свое внимание? Ссылка на комментарий
Kirgudu 1 207 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 (изменено) @Struck, шикарный ответ. Человеку, слабо разбирающемуся в предмете, даёт исчерпывающий объём информации. Имхо, уж лучше вообще не отвечать, чем вот так. @Winsor, касательно первого вопроса, как можно догадаться из названия методов, они предназначены для работы с update- и state-частями нетпакета соответственно. Общие сведения есть на форуме, например здесь. Если же хочется понять, каким методом работать с определёнными свойствами определённого объекта, действительно, тут может помочь изучение файла acdc.pl. Но не абы какого - от «Universal ACDC» не пойдёт. Открой acdc.pl от bardak, предназначенный для нужной части игры. Там ищи таблицы upd_properties_info - для каждого объектного класса своя. В этих таблицах и описаны доступные свойства update-части нетпакета. В качестве альтернативы можно ещё поизучать скриптовые модули нетпакетов (для m_netpk от Artos ищи таблицы up_props). Изменено 10 Июня 2015 пользователем Kirgudu 3 1 Инструмент Ссылка на комментарий
Это популярное сообщение. *Shoker* 322 Опубликовано 10 Июня 2015 Это популярное сообщение. Поделиться Опубликовано 10 Июня 2015 (изменено) Вообще с пакетами там интересная ситуация в движке. Практически у всех игровых объектов есть две версии - клиентская и серверная (онлайн\оффлайн). Серверные это объекты, которые находятся на другом уровне, либо далеко от игрока (упрощённо), а клиентские это те, которые активны в данный момент. Серверный объект существует всегда, а клиентский лишь на уровне с игроком. Далее к делу: STATE_Write используются (если я ничего не путаю) лишь во время перехода объекта в оффлайн (тут правда на 100% не уверен) и в момент сохранения игры. + иногда при создании объекта. Его суть собственно - записать в сохранение те данные серверного объекта, которые точно нужно хранить. STATE_Read аналогично - при загрузке сохранения считывает данные из него в серверный объект. В остальных случаях они обычно не используются. UPDATE_-пакеты же обновляются (в зависимости от объекта) раз-два в секунду (+\-). Они служит для синхронизации (в реальном времени) некоторых данных клиентского объекта и серверного. (В том числе для мультиплеера, передавая данные между игроками) Например для физических объектов это их текущая линейная скорость, для оружия это текущее состояние, патроны и прочее. Эти данные не всегда сохраняются в сейве (для серверного объекта), но всегда передаются между игроками в мультиплеере. То-есть они обрабатывают те данные, которые нужно обновлять как можно чаще и передавать между игроками. Отсюда и название - update. Кстати по функциям net_Export\net_Import - это как раз те функции, которые собирают\считывают UPDATE_ - пакет. Они экспортированы в Lua и через них можно там в реальном времени этот UPDATE_- пакет править или считывать. Ещё стоит учесть что у клиентских объектов также есть своя функция save\load. При сохранении игры идёт запись данных всех серверных объектов, а потом запись данных всех клиентских (которые существовали на момент сохранения) Соответственно при загрузке игры этот клиентский объект сперва считывает данные из своего серверного объекта, а потом считывает\перезаписывает их сохранёнными данными клиентского объекта. (они имеют приоритет) ------------------------------------------------------- Собственно основная соль в том что в UPDATE-пакетах можно получить доступ к данным, которых нет в STATE-пакетах. Но нужно учитывать что эти данные обновляются с различной небольшой задержкой. Изменено 10 Июня 2015 пользователем *Shoker* 1 2 2 Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О Мастер аномалий на свою заднюю точку. Ссылка на комментарий
Struck 61 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 Собственно основная соль в том что в UPDATE-пакетах можно получить доступ к данным, которых нет в STATE-пакетах. И инверсионно. Сам капитан очевидность захлебнулся слюной. Я, например, одно время с бубном плясал, правда уже не помню помогало или нет, судя по результатам - помогало. шикарный ответ. Он верный, ты это знаешь. Если ты мне внятно объяснишь, где образованный человек (с логическим мышлением и работающей дедукцией) запутается (не отличит стейт от апдейт частей) в скрипте acdc.pl, то я скажу "есть сэр!". Другим надо-ли что-то объяснять? Ссылка на комментарий
abramcumner 1 148 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 Он верный, ты это знаешь. Летят на воздушном шаре Шерлок Холмс и доктор Ватсон и видят на лугу человека. Холмс спрашивет его:"Сэр! Где мы находимся?". Мужчина долго думает и наконец отвечает:"На воздушном шаре." Это програмист говорит Холмс. Почему вы так думаете спрашивает Ватсон. Это элементарно. Во первых долго думал. Во вторых его ответ очень точен. А в третьих абсолютно бесполезен! 3 2 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 10 Июня 2015 Поделиться Опубликовано 10 Июня 2015 (изменено) Ещё стоит учесть что у клиентских объектов также есть своя функция save\load. Вот здесь, кстати, все странно и загадочно. Недавно, пытаясь сохранять свои данные через это место, обнаружил, что сохраняется только то, что было в онлайне на момент сэйва, и то не каждый раз. Пришлось все переделывать под запихивание в custom через пакеты. В все неписевые "менеджеры", которые там типа что-то куда-то сохраняли, соответственнo, снес за полной бесполезностью. Изменено 10 Июня 2015 пользователем Dennis_Chikin Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти