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

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

По мотивам всего вышенаписанного.

06.07.2022 в 10:28, HellRatz сказал:

shape0:axis_x = 2.64159965515137,0,0 --ширина зоны по X
shape0:axis_y = 0,2.22759985923767,0 --ширина зоны по Y
shape0:axis_z = 0,0,2.64159965515137 --ширина зоны по Z
shape0:offset = 0,0,0 --поворот по осям (x,y,z)

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

 

@Zander_driver, респект.

  • Спасибо 1
  • Нравится 1
  • Согласен 1
Ссылка на комментарий

@Labadal Возможно Вам нужно обратить внимание на минимод "Артефакт Воскрешения" (Kolmogor), может там найдете способ реализации своих наработок. В раритетах для ТЧ должно быть.

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

Не срабатывает проверка в чём проблема?

Скрытый текст

local rad_level = {
    ["l01_escape"] = true,
    ["ai_test"] = true
}

function ItTank(obj)
    if not obj then return false end
    local list = {

    ["test_att"] = true,
}
    return list[obj:section()]
end


local dmg = 0.00002

 

function on_update()
    local tl = rad_level[level.name()]
    if db.actor and tl then
    db.actor.radiation = dmg
end
end

 

--// вот тут

function item_to_slot(obj)
    local st = db.actor:item_in_slot(11)
    if st and ItTank(obj) then
    dmg = dmg - 0.0
end
end

 

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

@Colder, а что значит "проверка не срабатывает"?

Может она срабатывает и всё дело в:

dmg = dmg - 0.0

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

Здравствуйте, я, можно сказать ещё новичок в моддинге. Сейчас работаю над квестом и такой вопрос: Как заспавнить НПС после выдачи инфопорции? В моём случае инфопорция выдаётся при взятии артефакта. Понимаю что тут ещё было пару таких вопросов, но та-же секция [spawner] в логике НПС попросту не работает, как и другие способы. Либо вылет игры, либо НПС попросту не спавнится. Пробовал ещё сделать так, что-бы игра проверяла скриптом этот поршень и при его наличии - давала скрипт на спавн НПС, но тоже не работает. Подскажите, пожалуйста, как это сделать...

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

Как заспавнить НПС после выдачи инфопорции?

Примерно так:

     <info_portion id="твой_инфопоршень">
		<action>твой_скрипт.твоя_функция</action>
    </info_portion>

и

твой_скрипт:

function твоя_функция()
	local obj = alife():create("секция_нпс", vector():set(координаты, куда, спавнить), левел_вертекс, гейм_вертекс)
  	--/ А тут можно с переменной obj еще что-нибудь сделать. По желанию.
end

 

3 часа назад, egorkaufman1 сказал:

Пробовал ещё сделать так, что-бы игра проверяла скриптом этот поршень и при его наличии - давала скрипт на спавн НПС, но тоже не работает.

Дай угадаю, игра проверяла на апдейте, да? :crazy2: ужас) Не надо так делать, сам факт выдачи инфопоршня можно использовать для вызова функции напрямую (см.выше). Хотя, если это делать через апдейт, работать тоже будет. Но делать так не надо.

Вообще любое действие в моддинге, как правило можно сделать несколькими разными способами. Можно так, можно эдак, и еще вот эдак с подвывертом. И как правило среди этого множества способов, есть один хороший, один плохой, и несколько очень плохих. Но они тоже работают, да... Если что-то работает, это еще не значит что оно сделано хорошо.

А еще, в ситуациях когда "либо вылет, либо не работает" - полезно читать логи. Как правило, там можно узнать, что именно пошло не так.

 

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

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

spawner

Что значит не работает? Оллспавновый НПС, имеющий эту секцию, будет спавниться по условию (выдать/забрать инфопорцию). Если всё правильно сделано. 

Ссылка на комментарий
09.07.2022 в 03:17, egorkaufman1 сказал:

но та-же секция [spawner] в логике НПС попросту не работает

НПС как создан? Правка алл.спавн с исп. АСДС или СДК+xrAI? Если первое, то давай сюда код секции, поглядим на ошибки.

 

@Colder 

В item_to_slot(obj) что  передается в качестве obj? Точнее, что там должно быть? По коду ф-ции ItTank там должен быть объект с секцией "test_att"?

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

Здравствуйте, хотелось бы задать вопрос:

 

Есть ли в ЗП метод, позволяющий отслеживать включение определенного постэффекта? 

 

Возникла идея сделать худ ПНВ, отдельный для каждого поколения(по типу того, как для каждого ЭОП в Таркове разный худ), при его включении. И хоть статические элементы выводить - дело нехитрое, но с поиском условия для if возникли проблемы

(Если есть метод менее геморройный, чем отслеживание ppe-шек, подскажите, буду благодарен) 

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

1. Изменение HUD согласно типу ПНВ есть в Anomaly 1.5.1, но как именно реализовано переключение – не знаю.

2. Можно подключить скриптовый кейлоггер и включать эффекты ПНВ самостоятельно с любыми условиями при нажатии клавиши (обычную привязку отключить).

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

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

метод, позволяющий отслеживать включение определенного постэффекта? 

А еще есть скриптовые постэффекты, которые не только запускаются, но и управляются скриптом. Соответственно, скриптом можно получать всю информацию об их состоянии, а также это состояние из скрипта изменять, прямо в процессе работы постэффекта.
 

Скрытый текст

 

Пример такого эффекта из СЗ. Правда, это выброс, и ТЧ. Но на ЗП такое вроде тоже можно делать. И ПНВ на этих эффектах делается, принцип тот же.

-- класс
class "SurgeFade" (effector) -- Скриптовый постэффект со скриптовым же управлением.
function SurgeFade:__init(  ) super( 6669, 1000 )
		self.params = effector_params(  )
		self.params.color_base    	= color( 0.50, 0.50, 0.50 )
		self.params.color_gray    	= color( 0.50, 0.50, 0.50 )
		self.params.color_add     	= color( 0.0, 0.0, 0.0 )
		self.params.gray 			= 0.0
		self.params.dual        	= duality( 0.0,  0.0 )
		self.params.noise        	= noise( 0, 0, 0 )
		self.params.blur        	= 0.0
		self.on_last 				= nil
		self:run(0)
		effector.process( self,  self.params )
		self:start(  )
end
function SurgeFade:run(st) -- Запуск указанной стадии
	self.stage 					= st
	self.stage_time 			= time_global(  )
end
function SurgeFade:set_callback(f) -- Функция будет вызвана на последнем кадре эффекта
	self.on_last = f
end

function SurgeFade:process( pp )
    local dt = time_global(  ) - self.stage_time
	if dt < 0 then return true end
    if self.stage == 0 then
		local stageFactor = dt / 5000
		self.params.noise        	= noise( stageFactor, 0.5, 10 )
		self.params.color_base    	= color( 0.60 - (stageFactor / 2), 0.50 - (stageFactor / 2), 0.50 - (stageFactor / 2) )
		self.params.gray 			= stageFactor
	elseif self.stage == 1 then
		self.params.noise        	= noise( 1.0, 0.5, 10 )
		local clrAmp = math.sin( dt / 1000.0 )
		local r = 0.0 + (math.random() * clrAmp * 0.001)
		local g = 0.0
		local b = 0.0
		self.params.color_base    	= color( r, g, b )
		self.params.gray 			= 1.0
	elseif self.stage == 2 then
		local stage2Factor = 1 - (dt / 10000)
		if stage2Factor < 0 then 
			if self.on_last ~= nil then self.on_last() end
			self:finish()
		else
			self.params.noise        	= noise( stage2Factor, 0.5, 10 )
			self.params.color_base    	= color( 0.50 * stage2Factor, 0.50 * stage2Factor, 0.50 * stage2Factor )
			self.params.gray 			= stage2Factor
		end
	end
    effector.process( self,  pp )
    pp:assign( self.params )
    return true
end

-- использование
surge_fade_effector = nil -- объявление

surge_fade_effector = surge_day_system.SurgeFade() -- запуск
surge_fade_effector:set_callback(begin_drop_effects)

if surge_fade_effector then surge_fade_effector:run(1) -- переключение состояний постэффекта 
  --(в принципе любое управление его параметрами в процессе его активности)
  
function begin_drop_effects()
   	-- будет вызвана когда постэффект завершит работу. 
end

Если вместо параметров выброса, вписать сюда эффекты ПНВ, то примерно то что нужно и получится.

 

 

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

чем отслеживание ppe-шек

Наверное, надо состояние ПНВ отслеживать, а не рре-эффекты?

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

Наверное, надо состояние ПНВ отслеживать, а не рре-эффекты?

Исходя из мной прочитанного, я знаю можно просто отследить включено/выключено ПНВ. Без привязки к поколению. 

 

Я же изначально уточнил, что худ должен отображаться в зависимости от поколения ЭОПа. 

Ссылка на комментарий
43 минуты назад, ElPablo сказал:

худ должен отображаться в зависимости от поколения ЭОПа

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

Ссылка на комментарий
12 минут назад, AndreySol сказал:

читаем из секции текущего ПНВ настройки для этого худа. 

Ввиду недостатка опыта, немного не понимаю. Под секцией ПНВ подразумевается конфиг?

 

 

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

@ElPablo 

Естественно. Каждый вариант(поколение, как ты называешь) ПНВ - это отдельная уникальная секция в конфиге. В ней прописаны все св-ва ПНВ, в т.ч. и худ, который будет отображаться, если этот ПНВ активен(т.е. надет\включен). Ловим смену состояния текущего ПНВ - отображаем худ или скрываем.

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

Возможно ли вернуть текущий вес поклажи ГГ (без горождения переборов и прочего)? ОГСР. 

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

Присоединиться к обсуждению

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

Гость
К сожалению, ваш пост содержит слова, запрещенные в нашем сообществе. Пожалуйста, измените ваш текст так, чтобы в нем не оставалось слов, указанных ниже. Помните, что публикация вами даже видоизмененного запрещенного слова может нарушать законодательство РФ и Правила форума.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

AMK-Team.ru

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