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

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий
https://www.amk-team.ru/forum/topic/6185-skriptovanie/
27 минут назад, Okichi сказал:

Во-первых, судя по тому, что ..., _полную_ он пока сделать не сможет. )

Ну, сможет/не сможет, дело наживное. Хочет он вот этого, как мне показалось.

Возможно, показалось неправильно. Тут только он сам сможет прояснить.

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver Идея, вкратце, такая была:

Строю большую сложную сцену по выдуманному квесту для НПС с новыми анимациями и т.д. И в какой-то момент, при определённом развитии сюжета, этот НПС просто должен "уйти", стать обычным и пойти работать в гулаги. Почему для него не сделать отдельную работу в каком-нибудь гулаге - потому что еще была позаимствована dsh_walking_stalkers  у товарища DSH, которая позволяет неписям гулять по зоне от смартов к смартам. Соответственно и наш искомый непись будет бродить по всей зоне. 

Наверно изначально я неправильно описал свою "хотелку". Нужно как-то в процессе геймплея "забыть" индивидуальную логику НПС и передать его под работу смартов. 

@_Sk8_AsTeR_ , в кастом-дате:

[smart_terrains]

none = {-infoportion}

  • Спасибо 1
  • Нравится 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Вот с этим могут быть проблемы. Возможно я ошибаюсь за давностью, но в памяти сидит, что все, что не "none = true" - потенциальные грабли. Кажется как раз с Кротом эти грабли и вылазили. Хотя, повторюсь, могу с чем-то путать.

Такой вопрос, вешаю на худ имя нпс: 

 hud:AddCustomStatic("hud_name"):wnd():SetTextST(victim:character_name())

и тут же вешаю ещё один худ
hud:AddCustomStatic("hud_static") -- это картинка.

 

эти два худа hud_name  и hud_static конечно же прописаны в ui_custom_msgs, и координаты им прописаны. но вот в чём проблема, мне нужно, чтобы выводилось "имя нпс + рядом картинка", а имя нпс может быть разных размеров, и фиксированные координаты не подойдут. Может быть, вешая худ, можно указать его координаты? чтобы при любой длине имени нпс картинка была рядом с ним? Спасибо

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

God save Hatsune Miku!

@Labadal 

А сделать "картинка + имя нпс", тем самым решив проблему с длиной имени - не судьба?

@AndreySol нет, нужно именно имя + картинка, причем в зависимости от условий картинка либо будет, либо нет, а имя будет всегда. 

God save Hatsune Miku!

@Labadal Можно создать в [ui_custom_msgs.xml] пустышки вида <hud_st/>, а дальше задавать и менять взаимные координаты через Init() или SetWndRect() как для обычного окна по ссылке get_hud():GetCustomStatic(…):wnd().

  • Спасибо 1

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

Шпаргалка

Как скриптом зажечь фары у стоящей машины, в которой не сидит ГГ? Движок x-ray extensions.

Что-то запамятовал, как отловить момент первого спавна НПС? К примеру для того, чтобы дать ему рандомное начальное снаряжение.

@ARTLantist se_stalker.script - se_stalker:on_spawn.

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

7 часов назад, Zander_driver сказал:

@ARTLantist se_stalker.script - se_stalker:on_spawn.

А как через него поймать НПС, чтобы ему что-то заспавнить? Что-то используя self или self.object на выходе только вылеты.

Как вариант, мб кто-то знает, какой скрипт отвечает за заполнение инвентаря НПС вещами, прописанными в character_desx_xxx?

Здрасьте.

 

[ЧН 1.5.10]
Навигация с клавиатуры в меню загрузки: при удалении файла, выбранного через SetFocusedItem(#) вместо обычного клика ЛКМ, пропадает часть фона меню.
https://drive.google.com/file/d/1Iux4pEohmr8ZPDu7aNieXQtvguXoc93B

 

Список базовый, метод удаления базовый, только индекс элемента передается через GetFocusedItem() вместо GetSelectedItem(). В ТЧ при аналогичной схеме текстуры в меню загрузки остаются на месте.

В чем может быть причина сбоя?

 

Spoiler
[scripts\ui_load_dialog.script]
function load_dialog:OnMsgYes()
function load_dialog:OnButton_del_clicked()
	local index = self.list_box:GetSelectedItem()
(+)
	if index == -1 then
		index = self.list_box:GetFocusedItem()
	end


function load_dialog:OnKeyboard(dik, keyboard_action)
(+) перед return true
	if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
		if dik == DIK_keys["DIK_DELETE"] then
			local lb = self.list_box
			if lb:GetSize() == 0 then return end

			lb:SetFocusedItem(0)
			self:OnButton_del_clicked()
		end
	end

 

 

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

Шпаргалка

27.08.2021 в 15:33, Norman Eisenherz сказал:

Здрасьте.

 

[ЧН 1.5.10]

Вообще-то, это тема по ТЧ, если что.

  • Не согласен 1

Сталкер - наше всё!

11 часов назад, AndrewMor сказал:

Вообще-то, это тема по ТЧ, если что.

С каких пор? Может, уже появились альтернативные темы по всем трём платформам, а народ-то и не в курсе?

Тема по ТЧ - это "[SoC] Ковыряемся в файлах" или, например, "[SOC] Мелкие правки движка". "Скриптование" же всегда было мультиплатформенной темой, не надо искусственно навязывать лишние рамки.

 

@Norman Eisenherz но тема всё равно вряд ли правильная, с таким вопросом, имхо, надо идти к тем, кто ковыряет движок.

Изменено пользователем Kirgudu
  • Согласен 1

Свои работы и совместные проекты: Инструмент, OGSM CS, Final Stroke, HARDWARMOD

Полезное: модули Артоса, XML парсер

11 часов назад, Kirgudu сказал:

Может, уже появились альтернативные темы по всем трём платформам, а народ-то и не в курсе

Точно, забыл, что я не ковырялке отвечал.

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

Сталкер - наше всё!

Здрасьте.

 

[ЧН 1.5.10]
Дублирование часов на HUD прямой ссылкой на статик часов в инвентаре: в 16:9 часы, согласно конфигу [actor_menu_16.xml], выводятся с координатой X = -82, то есть почти полностью за экраном.
В движке статик создается без дополнительного смещения, но часы в инвентаре выводятся все-таки в пределах экрана:
[xrGame\ui\UIActorMenuInitialize.cpp]
    m_clock_value                        = UIHelper::CreateStatic(uiXml, "clock_value", this);

 

Где задается смещение часов в инвентаре?

 

На всякий случай, код новых часов:

Spoiler
local sname = "time_hud"		-- пустое окно 1024x768
local main, frame


-- // actor_binder:update(delta) // --
function cycle()
	if db.actor:alive() then
		local static = get_hud():GetCustomStatic(sname)

		if not main then
			local xml = CScriptXmlInit()

			if device().aspect_ratio < 0.7 then				-- 16:9, 16:10
				xml:ParseFile("actor_menu_16")
			else
				xml:ParseFile("actor_menu")
			end

			get_hud():AddCustomStatic(sname)
			main = get_hud():GetCustomStatic(sname):wnd()

			frame = xml:InitStatic("clock_value", main)
			_utils.sms( frame:GetWidth() )
		end

		local t_hr = level.get_time_hours()
		local t_min = level.get_time_minutes()
		local text = string.format("%02d:%02d", t_hr, t_min)
		frame:SetText(text)
	else
		get_hud():RemoveCustomStatic(sname)
	end
end

 

 

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

Шпаргалка

ЗП
Неизвестно, в какой момент и по какой причине, сталкерам перестали вообще спавниться патроны в инвентарь. В Character_desc прописан спавн подходящих патронов, но они отстреливают магазин и меняют ствол на пистолет, после отстреливания магазина из пистолета убегают сломя голову, типа без оружия. И при их убийстве патроны не спавнятся в трупах. В чём может быть причина? Кто-то сталкивался с подобным? Вроде ни один скрипт, доспавнивающий патроны, не трогал. Или за это вообще движок отвечает? Если движок - то какой файл конкретно?

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

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

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

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

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

Войти

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

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

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