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

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

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

Есть script vars storage.

Тут вопрос возник - а разве в движке  ОГСР нельзя делать любых ( нужных автору ) неписей совершенно неуязвимыми для любых аномалий? В версии ОГСР в dsh-моде такое было, емнип. Потому что когда перетаскивала в NLC обходчик аномалий оттуда, то вот именно этот кусочек скрипта был "движково-ориентированный", и его  адаптировать не удалось.

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

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

След от кругов на воде - это тоже след (с)

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

разве в движке  ОГСР нельзя делать любых ( нужных автору ) неписей совершенно неуязвимыми для любых аномалий? В версии ОГСР в dsh-моде такое было

Тут я могу с уверенностью говорить только за старый OGSR, с которого я начинал свои наработки в 2019-м году. Там такого не было.

Возможно, позже появилось, а возможно, это @dsh-специфичная технология. Тут автору виднее)

  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

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

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

[ТЧ 1.0006]

 

После попытки адаптации какой-то древней версии "amk_offline_alife" игра случайным образом падает на переходах с ошибкой чтения сейва и руганью на пустое значение game_difficulty. Вроде такого: https://www.amk-team.ru/forum/topic/14288-soc-kovyryaemsya-v-faylah/?do=findComment&comment=608408

 

Если в actor_binder:save и …load изменений нет, что еще может портить сейв? Среди файлов мода есть [amk_tools.script] с таймерами – может, это они криво записываются?

В целом, что и как стоит проверять при таких вылетах?

 

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

Шпаргалка

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

какой-то древней версии "amk_offline_alife" игра случайным образом падает на переходах с ошибкой чтения сейва и руганью на пустое значение game_difficulty.

Видимо оно что-то делает с нетпакетом/пстором актора. Или не только актора.

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

  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

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

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

"Видимо, что-то случилось…"

 

Есть ссылка на более современную версию оффлайн-симулятора отдельным модом?

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

Шпаргалка

Ссылка на комментарий
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
Ссылка на комментарий
24 минуты назад, I am Dead сказал:

А писать ли вики дальше

Категорически да.

  • Согласен 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

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

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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