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

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

02.05.2023 в 22:51, Norman Eisenherz сказал:

После попытки адаптации какой-то древней версии "amk_offline_alife"

А на кой тебе этот мод?

22.04.2023 в 06:06, Zander_driver сказал:
Дело было во время пересборки движка, делать было нечего... ) (Показать)

 

Как-то грустно мне стало от всего сабжа. Когда ради двух аномалий пилится непонятный костыль и вешается на апдейт - это не плохая идея. Это идея УЖАСНАЯ. Тем более на движке OGSR, имеющем море возможностей для того чтобы сделать хорошо и правильно.

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

 

local tech_pos = vector():set(-45,-2,-85) -- Это координаты техника? Замечательно. Если нет, впишите их сюда. local tech_dist = 30 -- На этой дистанции от него надо зачистить аномалии? Если не на этой, то впишите свою. local warn_anoms = { -- если из алл.спавна можно раздобыть имена этих аномалий, запишите их сюда. } function IsTargetAnomClass(obj) if get_clsid(obj) == clsid.zone_bfuzz_s or get_clsid(obj) == clsid.zone_galant_s or get_clsid(obj) == clsid.zone_mbald_s or get_clsid(obj) == clsid.zone_mincer_s then return true end return false end function OnAction() -- Это дергать из экшена инфопоршня / или при входе на локацию. local i = 1 while i < 65534 do local obj = level.object_by_id(i) if obj and IsTargetAnomClass(obj) then -- Здесь мы пользуем тот факт, что аномалии на локации везде онлайн. -- И потому их клиентские объекты можно получать. -- Более правильно это можно было бы сделать, получая гейм-вертексы объектов и по ним проверяя локацию. -- Такой вариант можно было бы вызывать с любой локации. А этот - только на той, где удаляем аномалии. local del = false local sobj = alife():object(obj:id()) if obj:position():distance_to(tech_pos) < tech_dist then del = true end if not del and #warn_anoms > 0 then for k, name in pairs(warn_anoms) do if sobj:name() == name then del = true break end end end if del then alife():release(sobj, true) -- Предварительные ласки в виде увода в оффлайн, нмв, тут совершенно излишни. -- Если в морг, значит сразу в морг. end i = i + 1 end end

local tech_pos = vector():set(-45,-2,-85) -- Это координаты техника? Замечательно. Если нет, впишите их сюда.
local tech_dist = 30 -- На этой дистанции от него надо зачистить аномалии? Если не на этой, то впишите свою.
local warn_anoms = {
	-- если из алл.спавна можно раздобыть имена этих аномалий, запишите их сюда.
}
function IsTargetAnomClass(obj)
	if get_clsid(obj) == clsid.zone_bfuzz_s or 
		get_clsid(obj) == clsid.zone_galant_s or 
		get_clsid(obj) == clsid.zone_mbald_s or 
		get_clsid(obj) == clsid.zone_mincer_s then
		return true
	end
	return false
end
function OnAction() -- Это дергать из экшена инфопоршня / или при входе на локацию.
	local i = 1
	while i < 65534 do
		local obj = level.object_by_id(i)
		if obj and IsTargetAnomClass(obj) then 
			-- Здесь мы пользуем тот факт, что аномалии на локации везде онлайн. 
			-- И потому их клиентские объекты можно получать.
			-- Более правильно это можно было бы сделать, получая гейм-вертексы объектов и по ним проверяя локацию. 
			-- Такой вариант можно было бы вызывать с любой локации. А этот - только на той, где удаляем аномалии.
			local del = false
			local sobj = alife():object(obj:id())
			if obj:position():distance_to(tech_pos) < tech_dist then del = true end
			if not del and #warn_anoms > 0 then
				for k, name in pairs(warn_anoms) do
					if sobj:name() == name then del = true break end
				end
			end
			if del then alife():release(sobj, true)
			-- Предварительные ласки в виде увода в оффлайн, нмв, тут совершенно излишни.
			-- Если в морг, значит сразу в морг.
		end
	i = i + 1
	end
end

Если надо потом запрещать спавн динамических аномалий в этом месте, то надо там проверять ту же дистанцию до тех же координат, насколько я понял задачу.

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

 

 

Прикол в том что люди не читают вики, эта информация там точно есть. Сейчас вопрос встает... А писать ли вики дальше, раз его не читают?

https://github.com/OGSR/OGSR-Engine/wiki/Подробное-описание-изменений#canomalydetector

  • Согласен 1
  • Полезно 1
Ссылка на комментарий
10 часов назад, I am Dead сказал:

писать ли вики дальше, раз его не читают?

В смысле не читают? Ещё как читают. И даже более того - удручены скудностью Вики. По сей причине вынуждены досаждать мастеру @dsh глупыми вопросами:big_boss:

Так что, @I am Dead , однозначно нужно.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

удручены скудностью Вики

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

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

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

@I am Dead я знаю. Но, как оказалось, всё не так просто, как казалось на первый взгляд.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Дорогие друзья, подскажите, пожалуйста, скрипт на изменение репутации у всей группировки по отношению к Игроку (без перевода самого Игрока в другую группировку).

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

У нас есть диалог X. После него, выдаётся функция, которая изменяет отношение у группировки "Долг" к Игроку в худшую сторону (например, отнимает 1000 очков репутации). 

 

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

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

отношение у группировки "Долг" к Игроку в худшую сторону

relation_registry.change_community_goodwill("dolg",db.actor:id(),-1000)

Минус 1000 - это много. 

Если по чуть-чуть менять в одну сторону, не все одинаково агрятся. Кто-то психанёт раньше других.

Изменено пользователем mole venomous
  • Спасибо 1
  • Согласен 1

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

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

Добрый вечер. А можно ли как-то скрыть контакт в ПДА с помощью скриптов/движка? Знаю точно, что можно скрыть метку на карте, но это немного не то.

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

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

не знаю куда спрашивать, спрошу тут: 

Можно ли сделать так, чтобы оружие наносило не обычный урон, а пси урон? (чтобы отнималось не helath, а psy_health)

God save Hatsune Miku!

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

@Labadal ,так ведь...

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

В конфиге ствола

hit_type                     = telepatic ;fire_wound 

 

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

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

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

А чего не работать то? За это мы и полюбили огнемёт из АМК, поджаривающий крепким зверушкам задницы до хрустящей корочки.

 

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

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

@mole venomous так ведь огенемет этот стрелял обыкновенной дробью. Я отлично помню, что только на OGSR смог назначить ему огненный урон. Хотя... Может я путаю? Может огненный урон можно было, а я исправлял наличие рикошетов, звука попадания и следов от пуль при использовании урона, отличного от пулевого? М-да, тут помню - тут не помню.

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

Может я путаю?

Не, не путаешь. Это я врос в ОГСР, поэтому не помню/не знаю всех ненормальностей оригинала. Однако, очень помню, что тогда огнемёт казался очень мощным, оттуда и уверенность, что он именно сжигал. 

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

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

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

Доброго времени суток! Подскажите, есть ли в ТЧ что-то типа xr_effects.disable_ui(db.actor, nil), только чтобы после отключения худа у меня была возможность двигать мышкой? 

upd: 
и подскажите, с чем связан данный вылет? 

 

Expression : error handler is invoked!
Function : handler_base
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 753
Description : pure virtual function call


происходит при вызове функции из диалога. 

God save Hatsune Miku!

Ссылка на комментарий
2 hours ago, Labadal said:

возможность двигать мышкой

1. Если речь о том, чтобы скрыть HUD, не отключая управление, можно взять часть того же скрипта: level.hide_indicators() без level.disable_input().

В ТЧ еще есть привязка клавиш [Numpad ±] для переключения видимости HUD без скрывания прицела.

 

2. Вылет "вызов функции без обязательных аргументов". Возможно, требуются ссылки на объекты ГГ и NPC: first_speaker, second_speaker или actor, npc.

  • Спасибо 1
  • Полезно 1

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

Шпаргалка

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

огнемёт казался очень мощным, оттуда и уверенность, что он именно сжигал.

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

 

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

https://github.com/dsh2dsh/OGSR-Engine/commit/7f153347fe9f1df60d43e1f52e9972f93b01a67f

 

  • Полезно 1
Ссылка на комментарий
39 минут назад, dsh сказал:

Так ведь это никак не связано с типом хита

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

ps - Значит ли это, что аналогичная замена на классе гранат также бесполезна в оригинале ТЧ и мои электрошоковые гранаты когда то били всё также фугасом? 

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

По моему, это всё становится оффтопом в этой теме. А вообще, зачем юзеры так сопротивляются переходу на ОГСР и продолжают изобретать костыли? 

 

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

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

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

зачем юзеры так сопротивляются переходу на ОГСР

Потому что идолопоклонники. :159::52:

Каждый из которых тешит себя мыслью, что именно он возродит "тот самый Сталкер".)

  • Смешно 1

Отношения между людьми- главная ценность в человеческом обществе.
Любая полученная информация- это только повод для размышлений, а не побуждение к действию.
Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAE
Накопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt

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

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

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

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

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

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

Войти

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

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

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