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

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

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


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

  Информация (Показать)

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

 

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

  Читать рекомендуется. (Показать)

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


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

Кстати чтобы узнать секцию костюма надо писать db.actor:item_in_slot(6):section()

И сравнивать outfit == "костюм". У меня луа чекер сломался так что попробуй пройтись им ещё

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

Вот этот фрагмент суров:

 

  фрагмент (Показать)
Изменено пользователем KD87
Ссылка на комментарий

И когда же над lua перестанут издеваться... Неужели так сложно запомнить простые правила этого простого языка?(уж поверьте мне - в lua они действительно простые - могу сравнивать так как знаю четыре языка и шапочно знаком с еще 5-6).

И писать код обдумав прежде и алгоритм и инструментарий, а не лишь бы что то написать.

  код (Показать)
Изменено пользователем Министр
Ссылка на комментарий

Привет всем. У меня есть скрипт:

  Вот здесь. (Показать)
Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

Прошу помощи в поиске ошибки:

Вновь созданные НПС по выдаче инфопоршня спавнятся в разных районах локации, 1-я группа которая возле ГГ передают сообщение по рации 2-й группе (суть ситуации напоминает ту когда при входе ГГ на Дикую Территорию снайперы вызывают Волкодава):

  Создается сам файл переговоров, (для эксперимента даже в двух вариантах) и регистрируется в gamedata\config\misc\script_sound (Показать)
Изменено пользователем SEA_CAT
Ссылка на комментарий

SEA_CAT,

1. [logic]

active = walker@zasada_pripyat

active = remark

 

Простите, но это несколько неправильно B)

 

Актив есть актив, два актива не бывает, второй - вы приобретёте, только запихав товариСЧа в гулаг.

Во вторых - если вы мало понимаете в ремарках - советую Вам о них забыть на время роста... Многие их пишут. но. мало что понимают - вернее, чем это оборачивается.... В чистом ТЧ - вам простится... Но - не более того.

 

Почитал ниже...

active = sr_sound_act

 

изучите мальца возможные варианты логики. Для старта рекомендую типичные валкер, кемпер и камп. :rolleyes:

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

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

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

Garry_Galler,

А по-сути, зачем тут вообще луа? :) Если данная проверка требуется постоянно, что скажется не + для памяти - сделать на нужных локах - по рестриктору нужного радиуса с проверкой данного итема. При получении актором такового - единственным тупым усилием удалить все рестрикторы, либо оставить нужные и не проверять более то, что имеем.

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

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

Доброго времени суток всем.Народ помогите пожалуйста такая проблема все наверно слышали про Interactive Music Mod дак вот я хочу сделать так что бы его можно было отключить в опциях меню игры в графе звуки такой же кнопкой как eax вот здесь

  EAX (Показать)
Изменено пользователем serega-gamer
  Реклама модов (Показать)
Ссылка на комментарий

Garry_Galler

Все же стОит сравнивать НЕ сами объекты (их юзердаты), а например их игровые идентификаторы (Id), т.е. типа:

 

local currentOutfit = nil

заменить на:

local idOutfit = nil

 

if currentOutfit and oOutfit and currentOutfit==oOutfit then

заменить на:

if idOutfit and oOutfit and idOutfit == oOutfit:id() then

...

currentOutfit=oOutfit

заменить на

idOutfit = oOutfit:id()

 

Также стОит добавить ветку/условие обнуления 'запомненного броника' (currentOutfit/idOutfit), т.к. актор может и снять его ...

 

 

Если еще принять во внимание, что броник ГГ может снять/одеть/поменять только в двух ситуациях:

а) если 'голенький' - подобрал/купил/заспавнился в инвентори броник - это коллбэк на получение предмета (on_item_take);

б) при 'ручном' переодевании, т.е. игроком в окне инвентори - коллбэк на закрытие окна инвентори.

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Arhara

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

В данной [logic] хотел вместо второго active поставить danger = danger_condition, но как то не придал этому особо значения - приоритет задачи был иной), ведь на ожидаемый результат это не повлияло, в своих рабочих [logic] для других засад под walker и снайперов под camper второго active пока не ставил (пока на время роста) :)

1. Но, для этого товарища логика бралась из (невымышленного) гулага BOMBER: WAVE на локации Припять (gamedata\config\misc\gulag_pripyat, строка 402 с небольшой корректировкой).

Главная суть этих экспериментов была не создать логику поведения для нового НПС, а именно отыграть звуковой эффект при входе ГГ в рестиктр, то и по совету других при тестировании их на локации Кардон посадил его на [remark] no_move = true - дабы не убежал пока я до него иду ;)

2. Для данного "старта" вроде и выбрал walker с подключением

  секции [sr_sound_act (Показать)
Ссылка на комментарий

Имеется таблица "belt = {}", которая с ходом игры наполняется и постоянно изменяется. Помогите составить скрипт, который проверяет, есть ли в таблице секция "XXX" и, если это так, выполняет действие.

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

if belt and next(belt) and belt[твой итем в кавычках] then
действие
end

Если я правильно понял вопрос

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

Более менее разобрался выдачей звуковых схем из логики НПС

  вот полезная инфа (Показать)
Ссылка на комментарий
  Цитата
Заспавнил несколько зомбей на кордоне скриптом. Поймал вылет:

Попробуйте выключить amk_offline_alife. С этими смартами вообще бардак какой-то творится - мало того, что прописывается в них чёрте знает что (предметы, к примеру), так ещё и убрать зависимость онлайн-статуса непися от статуса смарта - куча проблем.

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

Вобщем, ситуация такая.

У физических объектов (имеются в виду разбиваемые ящики и т.п. объекты) хит-колбэк биндится не в реините, а в апдейте, по довольно занятным условиям:

  update(delta) (Показать)

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Zander_driver

Во-первых,

  Раскрывающийся текст (Показать)
Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Прошу прощения :) увлекся. Просто, я обычно именно на таком языке и изъясняюсь - привык.

А по самой ситуации - мне просто нужно отследить хит всех тех предметов, которые можно сломать с помощью какого либо оружия. И ловить их непосредственно в игровом процессе, как мне представляется, неудобно. О том чтобы решать "нужен ли этому объекту колбэк" уже в момент когда в него стреляют - я и вовсе молчу, т.к. не представляю как это сделать.

 

death мне не подходит, т.к. какой-нибудь ящик может и несколько выстрелов выдержать, и надо обрабатывать каждый.

А поступить как с прожектором... блин, тоже не очень удобно. прожектор это один clsid.projector, а те объекты что нужны мне - это и деревянные ящики, и железные - те что поменьше, и (если я правильно понимаю) доски в заколоченных окнах и дверях некоторых домов. Я почему то думаю что это clsid."разные объекты"

Я даже не знаю как их по clsid узнать, как они называются?

А логика drop_box... разве не подразумевает что из сломанного объекта должно что то выпасть? В случае с ломающейся доской будет нелогично.

Я честно говоря эту сторону мало изучал.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

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

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

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

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

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

Войти

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

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

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