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

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

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

Значит ли это, что аналогичная замена на классе гранат также бесполезна в оригинале ТЧ

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

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий
1 час назад, aromatizer сказал:

именно он возродит

Ну дык всё в их руках, а также ОГСР, как лучшая база (на мой вкус) с расширенными возможностями и дебагами, в т.ч. и старые версии с обратными совместимостями и лёгкими рендерами. Это конечно, если речь о ТЧ.

 

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

Здесь могла быть ваша реклама.

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

Доброго времени суток. У меня тут вылет образовался, довольно странный. Скину скрином, т.к. некоторые символы не копируются. Вылетает вообще в месте, где я ничего не спавнил, после сборки алл.спавна, предположительно. 

 PhaMMZ1HkpQ.jpg?size=709x191&quality=96&

подскажите, что за ерунда

God save Hatsune Miku!

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

Друзья, подскажите, как заставить НПС следовать за ГГ, и/или можно ли привязать к НПС схему follower, присвоив Актёра в виде лидера группы? 

 

1 час назад, Labadal сказал:

подскажите, что за ерунда

Сбитая кодировка или убитый конфиг, в следствии чего .spawn файл просто ломается. Скорее всего, используете "дряхленький" xrai. Рекомендую скомпилировать спавн, используя компиляторы из этой теме.

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

Z690 GAMING X DDR4, 12th Gen Intel(R) Core(TM) i7-12700KF, NVIDIA GeForce RTX 2060 SUPER, Windows 11.

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

Здрасьте.

 

Подскажите какой-нибудь практический пример применения "замыканий" (closures) вида "код с обычными функциями – 20 строк, решение той же задачи через замыкания – 10 строк".

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Здравствуйте, подскажите как сделать, чтобы мой нпс после диалога переходил на другие координаты? Пробовал переключить его логику на другую секцию walker с другими walk и look, но получал вылет. Спасибо!

God save Hatsune Miku!

Ссылка на комментарий
1 час назад, Labadal сказал:

Пробовал переключить его логику на другую секцию walker с другими walk и look, но получал вылет.

Наверное надо разобраться, что за вылет. Может сюда его принести, вдруг поможет.

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

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

Ну тут увы, ничем не помочь наверное.

А говорят, есть такие движки (я про X-Ray), на которых безлоговых вылетов не бывает. OGSR например...

  • Нравится 1
  • Согласен 3

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

 

 

Добрый вечер, товарищи. Подскажите: в сдк у спавн элементов есть такой флажочек, что-то типа привязки к аи_сетке, который в состоянии true - выкидывает мой заспавненный элемент с чердака дома на его пол, где есть аи сетка. Но если отключить его, он так и останется на чердаке, что мне и нужно. Теперь вопрос: как мне скриптом заспавнить нужный мне предмет, чтоб он с чердака не провалился на сетку? спасибо!

God save Hatsune Miku!

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

Всем привет. Можете подсказать пример логики для НПС, когда он может не уходя далеко от ГГ вести бой. Например, в определённой точке (рестрикторе, если угодно) вести бой, не уходя с этой самой точки, а уже после окончания боя следовать дальше.

Z690 GAMING X DDR4, 12th Gen Intel(R) Core(TM) i7-12700KF, NVIDIA GeForce RTX 2060 SUPER, Windows 11.

Ссылка на комментарий
19 часов назад, Labadal сказал:

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

Например, сняв искомый флаг в нет-пакете объекта с помощью модуля m_netpk от Артоса:

local sobj = alife():create(section, position, lvid, gvid)
if sobj then
	local pk = get_netpk(sobj)
	if pk:isOk() then
		local data = pk:get()
		data.object_flags = bit_and(data.object_flags, bit_not(object_flags.UsedAI_Locations)) -- сброс флага привязки к сетке (128)
		pk:set(data)
	end
end

 

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

Подскажите, как нпс убить? 
 

npc:kill(npc) - вроде и не подходит, мне нужно, например, после разговора с сидоровичем - убить, допустим, волка. 

God save Hatsune Miku!

Ссылка на комментарий
5 часов назад, Labadal сказал:

как нпс убить?

С помощью стандартной функции из xr_effects.script. В диалоге выдаешь инфопоршень, а в логике NPC'я:

on_info = {+inf_tebe_konec} nil %-inf_tebe_konec =kill%                   для ТЧ

on_info = {+inf_tebe_konec} nil %-inf_tebe_konec =kill_npc%           для ЗП

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

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

@WinCap ну я вот так и сделал, но такая проблема, что умирают они не сразу после выдачи поршня, успевают еще в округе пошарахаться от тех, кто умер первым. Оттого и думал, что может быть их скриптом как-то. (А может быть есть возможность, убить всех сталкеров - обитателей определённого смарттеррейна?)

God save Hatsune Miku!

Ссылка на комментарий
19 часов назад, Labadal сказал:

умирают они не сразу после выдачи поршня

В логике любого объекта, хитануть на 1000 урона кого-то с сидом 100:
=hit_npc(100:bip01_spine1:1000:0)

 

В логике убиваемого, path_name - путь, от которого будет урон:
=hit_npc(path_name:bip01_spine1:1000:0)

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

[ЗП 1.6.02]
Приведенный ниже код дает вылет без лога. В ТЧ и ЧН точно такой же код работает.
Нужна пояснительная бригада…

Spoiler
[scripts\ui_load_dialog.script]
function load_dialog:OnKeyboard(dik, keyboard_action)
(+) перед return true
	if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
		if dik == DIK_keys.DIK_UP or dik == DIK_keys.DIK_DOWN then
			get_console():execute("test")
		end
	end

 

 

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Подскажите, пожалуйста, логику для анимированного физического объекта. Пример того, что хочу получить, под спойлером.

Скрытый текст
[logic]
active = ph_idle
 
[ph_idle]
on_info = {+info} ph_idle@animation
 
[ph_idle@animation]
anim = idle


 

 

Z690 GAMING X DDR4, 12th Gen Intel(R) Core(TM) i7-12700KF, NVIDIA GeForce RTX 2060 SUPER, Windows 11.

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

@Nowislaw пример твой не работает?
Попробуй то же самое только под ph_button.

Ну, если не работает пример выше.

  • Спасибо 1

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

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...