Перейти к контенту

Рекомендуемые сообщения

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

 

Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу.

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
зациклить скрипт

Сделай проверку на нахождение ГГ на локации, но тогда не на апдейт вешай, а на загрузку.

Изменено пользователем svarog2741

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий

 

 

при заходе на локацию Янтарь, происходит спавн живности в лабе х-16 один раз. Помогите зациклить скрипт.

Вообще-то, для этих целей - "зациклить спавн", ПЫСы придумали респавнеры... Пример скрипта - se_respawn.script. Смотрим в скрипт(включая его разновидности в различных модах), читаем на вики описание его работы(для базовой версии), рещаем свои проблемы\запросы...

Ссылка на комментарий

Вообще-то, для этих целей - "зациклить спавн", ПЫСы придумали респавнеры... Пример скрипта - se_respawn.script. Смотрим в скрипт(включая его разновидности в различных модах), читаем на вики описание его работы(для базовой версии), рещаем свои проблемы\запросы...

Что такое "рещаем"? :huh:

Все, что Вы написали, давно просмотрено и прочтено. Меня интересует конкретно - как в моем случае (вышеописанный скрипт спавна живности) сделать его (скрипт) циклическим.

Там реально несколько строк в коде нужно прописать - прошу подсказать опять же конкретно - где и что прописать/добавить.

 

1. Я не требую, а прошу, гордые вы мои :)

2. Да, просто, чтобы спавн происходил каждый раз при посещении локации и живность при каждой загрузке добавлялась к уже существующей ;) .

3. Если не хотите помочь с кодом - буду спрашивать на других ресурсах :)

Изменено пользователем Gerakruger
Добавлено Dennis_Chikin,

В bind_stalker:net_spawn()

Но вообще это отнюдь не несколько строчек (или Вам надо чтобы вся эта живность при каждой загрузке добавлялась каждый раз к уже имеющейся ?), и, в общем-то, это не та тема, чтобы в ней что-либо ТРЕБОВАТЬ.

Вам совершенно правильно посоветовали изучить, как это делается, и указали, где именно.

Ссылка на комментарий
Пример скрипта можете написать?

1. Мне лень 

2. Я забыл нужную функцию в бинде

3. Более года не использовал скриптовый спавн.

Изменено пользователем svarog2741

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий
Помогите зациклить скрипт.

По поводу спавна.

При загрузке уровня происходит спавн актёра и перевод его в онлайн, вызывается function actor_binder:net_spawn(data) (файл bind_stalker), соответственно, поместить сюда вызов вашей функции спавна, в которой перед спавном предмета проверять имя локации:

if level == "l08u_brainlab" then

 

таким образом при каждом заходе будет спавн.

Изменено пользователем Akello
  • Спасибо 1
%C0%EA%E5%EB%EB%EE.gif
Ссылка на комментарий

 

 

таким образом при каждом заходе будет спавн.

А еще при каждой загрузке сэйва...

 

 

 

а, просто, чтобы спавн происходил каждый раз при посещении локации и живность при каждой загрузке добавлялась к уже существующей.

Там реально несколько строк в коде нужно прописать - прошу подсказать опять же конкретно - где и что прописать/добавить.

Это смотря кто как понимает "циклический" спавн: не буду пальцем тыкать, но есть приличное кол-во (говно)модов в которых происходит спавн по запрошенному Вами выше варианту. Т.е. зашел на локу - заспавнилась какая-то тварь, и если просто зайти\выйти 5 раз, будем иметь 5 этих тварей. Вы серьезно считаете это правильным вариантом спавна ?

Ссылка на комментарий

@UnLoaded,

 

Нет конечно, идеальный вариант - спавн через временной интервал или в привязке к выбросу (опять же временной интервал). Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна. :)

Кроме того, я никого не заставляю играть в тот Сталкер, в котором будет использоваться мой примитивный циклический спавн ;)

Ссылка на комментарий

Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна.

 

возьми у меня из профиля скрипт и повесть на таймер спавн.
  • Спасибо 1

svarog2741.gif

 

НС - шлак, солянки - шлак.

Ссылка на комментарий

Нет конечно, идеальный вариант - спавн через временной интервал или в привязке к выбросу (опять же временной интервал)

Вариантов миллион, можешь как вариант использовать способ, как при выдаче Меченному первого квеста при запуске, "убить стрелка", там выдается инфопоршень "storyline_actor_start" когда ты появляешься на кордоне. Изменено пользователем Kirgudu
  • Спасибо 1
%C0%EA%E5%EB%EB%EE.gif
Ссылка на комментарий

 

 

Но мои скромные познания отнюдь не настолько обширны, чтобы использовать такой способ спавна.

Тогда, видимо, Вам стоит переместиться из темы "Скриптование" в тему "Ищу файлы\моды\аддоны" ? Правильно изложить свою просьбу, и вполне реально получить искомое...

 

P.S. Без обид, но если Вы задали вопрос в теме "Скриптование", то предполагается что Вы решили хоть как-то его освоить.

Ссылка на комментарий

  Gerakruger  зайди, вопрос решим, потому что всем пофиг, на твою проблемму, если ты ещё не в курил,ни у то твоё личное дело.

Изменено пользователем Akello
%C0%EA%E5%EB%EB%EE.gif
Ссылка на комментарий

Уважаемый @Struck, очень внимательно причитал acdc но не смог найти описания отличий STATE от UPDATE части нетпакета, не могли бы Вы подсказать - куда именно мне обратить свое внимание?

Ссылка на комментарий

@Struck, шикарный ответ. Человеку, слабо разбирающемуся в предмете, даёт исчерпывающий объём информации. Имхо, уж лучше вообще не отвечать, чем вот так.

 

@Winsor, касательно первого вопроса, как можно догадаться из названия методов, они предназначены для работы с update- и state-частями нетпакета соответственно. Общие сведения есть на форуме, например здесь.

Если же хочется понять, каким методом работать с определёнными свойствами определённого объекта, действительно, тут может помочь изучение файла acdc.pl. Но не абы какого - от «Universal ACDC» не пойдёт. Открой acdc.pl от bardak, предназначенный для нужной части игры. Там ищи таблицы upd_properties_info - для каждого объектного класса своя. В этих таблицах и описаны доступные свойства update-части нетпакета.

В качестве альтернативы можно ещё поизучать скриптовые модули нетпакетов (для m_netpk от Artos ищи таблицы up_props).

Изменено пользователем Kirgudu
  • Спасибо 3
  • Полезно 1
Ссылка на комментарий

 

 

Собственно основная соль в том что в UPDATE-пакетах можно получить доступ к данным, которых нет в STATE-пакетах.

И инверсионно. Сам капитан очевидность захлебнулся слюной. Я, например, одно время с бубном плясал, правда уже не помню помогало или нет, судя по результатам - помогало.

 

 

 

шикарный ответ.

Он верный, ты это знаешь. Если ты мне внятно объяснишь, где образованный человек (с логическим мышлением и работающей дедукцией) запутается (не отличит стейт от апдейт частей) в скрипте acdc.pl, то я скажу "есть сэр!". Другим надо-ли что-то объяснять? 

Ссылка на комментарий

Он верный, ты это знаешь.

Летят на воздушном шаре Шерлок Холмс и доктор Ватсон и видят на лугу

человека. Холмс спрашивет его:"Сэр! Где мы находимся?". Мужчина долго

думает и наконец отвечает:"На воздушном шаре." Это програмист говорит

Холмс. Почему вы так думаете спрашивает Ватсон. Это элементарно. Во

первых долго думал. Во вторых его ответ очень точен. А в третьих

абсолютно бесполезен!

  • Нравится 3
  • Согласен 2
Ссылка на комментарий
Ещё стоит учесть что у клиентских объектов также есть своя функция save\load.

 

Вот здесь, кстати, все странно и загадочно. Недавно, пытаясь сохранять свои данные через это место, обнаружил, что сохраняется только то, что было в онлайне на момент сэйва, и то не каждый раз.

Пришлось все переделывать под запихивание в custom через пакеты.

В все неписевые "менеджеры", которые там типа что-то куда-то сохраняли,  соответственнo, снес за полной бесполезностью.

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...