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

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий

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

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

Тимыч, аут_рестриктор(откуда он не может выходить) сделай в алл.спавне и в логике своему челу пропиши(пример: out_restr = jup_a6_sr_noweap)

плюс:Настройка логики

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

Люди, что делать, если ACDC при запаковке что то пропускает, из за чего all.spawn каждый раз становится меньше и меньше, да и игра с ним уже не запускается.

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

У меня такой простенький нубский вопрос.

 

            return tostring(db.storage[npc:id()].wounded.wound_manager.state) ~= "nil"

Это читается справа налево ведь?

 

И еще вопрос - как заблокировать использование отдельными персонажами отдельных анимаций?

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

Galil

Это читается справа налево ведь?

Типа так что ли?

'lin' =~ )etats.reganam_dnuow.dednuow.])(di:cpn[egarots.bd(gnirtsot nruter

Долго ползал пацтулом :rofl2:

 

TRAMP14

Дроп - это когда выбрасываешь из инвентаря. А перемещение предмета в слот это и есть "перемещение предмета в слот".

Хотя собственно в чем соль вопроса я не понял. Если брать аспект абстрактный - то и то и другое действие представляет из себя добавление в нетпакет объекта идентификатора нахождения. При дропе идентификатор владельца объекта становится равным 65535 - то есть объект "ничей". При перемещении в слот - идентификатор владельца остается прежним, но меняется идентификатор нахождения который определяет где конкретно находится объект - рюкзак\слот\пояс.

 

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

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

Garry_Galler, лучшая шутка сегодняшнего дня! :rofl2:

Но, конечно, думаю, что Galil имел в виду удобную для восприятия последовательность анализа сей части выражения: (db.storage[npc:id()].wounded.wound_manager.state). Название скрипта - название функции и т.п...

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

Старый сюжет ТЧ - в топку!

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

Disord

Вот так:

local item_count = 0
local target = ""

function get_item_count(target_section)
item_count = 0
target = target_section
if db.actor then db.actor:iterate_inventory(iterate_inventory_action, actor) end

return item_count
end

function iterate_inventory_action(actor, item)
if actor and item then
local section = item:section()
if section == target_section then item_count = item_count + 1 end
end
end

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Ссылка на комментарий
function CountItems(uWho, sSection)
    local count=0
    uWho:iterate_inventory(Iterate)
    local function Iterate(dummy, uItem)
    if uItem:section()==sSection then 
     count=count+1 end 
     end
return count
end

Изменено пользователем Garry_Galler
Ссылка на комментарий
TASTAN, acdc читает данные в пакете, а данные неожиданно кончились. ACDC, скорее всего, не для этой версии спавна. Изменено пользователем KD87
Ссылка на комментарий

Ребят,так как тема про скрипты,задам вопрос сюда :)

Как реализовать повреждение предметов на поясе от различных повреждений?

Чтобы было более понятно,обьясню:вместо артов на поясе будут прикрепленны бронепластины,так вот,как заставить их изнашиваться при получении какого либо дамага?Ведь арты на поясе урон не получают:)

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

Не совсем про неписей но:

А как сделать чтобы БТР атаковала и актора и неписей в зависимости от того кто есть?

Князь - http://www.stalkerin.gameru.net/wiki/index.php/SoC._Смартеррейны_и_гулаги

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

А как сделать Смарт Кавер для ТЧ?

есть такой мод или нет ?

если есть сслку пожалуйста

 

Добавлено через 31 мин.:

Я вытащил из Сталкера ЧН все Смарт каверы и перевел их в Сталкер ТЧ.

А как мне сделать что бы во время боя они использовались?

Моя жизнь это S.T.A.L.K.E.R.


 

Ссылка на комментарий
TASTAN, под каждый алл_спавн, acdc надо иметь свой.

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

Ссылка на комментарий
Miller Может и бредовая идея, но попробуй отслеживать изношенность костюма. К примеру: костюм = 75%, тогда бронепластины = 50% Изменено пользователем STARTS

 

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

STARTS, ну это просто логика, а вот если все сделать точно.

Как отследить хит, который попал в ГГ? Из этого плясать можно.

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

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

ТЧ 1.0004. SAP и Trans mod

github

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

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

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

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

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

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

Войти

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

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

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