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

[SoC] Ковыряемся в файлах

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

Доброго вечера, товарищи у меня вопрос, неоднократно наблюдал ситуацию когда бандиты штурмуя лагерь на свалке техники выносили всех сталкеров до того как сталкеры успевали их заметить где и какой параметр надо изменить чтобы сталкеры могли замечать бандитов? и еще заметил что в некоторых лагерях сталкеры не используют фонарики хотя они есть в наличии(пример кордон свиноферма и ангар на свалке) как сие исправить?

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

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

Придётся переписывать логику и скрипты которые управляют ситуацией на кладбище брошенной техники.

Это старая проблема ещё с оригинала игры - зависание сталкеров и Беса. Исправлено в некоторых (например NLC7) модах.

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

@Связистт , sr_light.script глянь. Рестриктор с логикой на принудительное включение:

[logic]
active = sr_light

[sr_light]
light_on = true

Пример: bar_angar_light_restrictor из оригинала

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

"Что-то давненько не задавал я глупых вопросов"(c)

Имеется таблица вида:

local table =
{
    ["string_1"] = {
                    ["string2"] = float_1, float_2,
                   },  
...  
    ["string_n"] = {
                    ["string_2n"] = float_1n, float_2n,
                   },
}

Требуется перебрать и получить значения: float_1 - float_2 , float_1n - float_2n

 

Товарищи программисты и знатоки, снимите с ручника неумейку. Вечно во вложениях путаюсь. :t1807:

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

@Купер 

В приведенной в качестве примера таблице явно чего-то не хватает. Рискну предположить, что значений "string2" в "string_1" будет несколько и каждое из них должно содержать пару значений float_1, float_2.
 

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

 

В этом случае таблица будет иметь вид:

local table_st =
{
    ["string_1"] = {
                    ["string21"] = { val1 = float_1, val2 = float_2 },
                    ["string22"] = { val1 = float_1, val2 = float_2 },
					...

                   },  
	...  
}

 

А перебор этого дела будет примерно таким:

local tbl
local st1
st1 = "string_1"	-- получаем значение "string_1"
tbl = table_st[st1]	-- ищем его в таблице
if tbl ~= nil then
	local st2
	st2 = "string_21"	-- получаем значение "string_21"
	tbl = tbl[st2]		-- снова ищем его в таблице
	if tbl ~= nil then
		-- используем найденный значения
		return math.random(tbl.val1, tbl.val2)
	end
end

 

 

 

 

Изменено пользователем WinCap
  • Нравится 1
  • Полезно 2

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

Ссылка на комментарий
Скрытый текст
function get_all_data_in_one_table()
local my_super_table = {
		[ "aaa" ] = {
					[ "q1" ] = { 23, 22 },
					[ "q12" ] = { 231, 221 },
					[ "q13" ] = { 232, 222 },
					},
		[ "bbb" ] = {
					[ "q2" ] = { 33, 32 },
					[ "q22" ] = { 331, 321 },
					[ "q23" ] = { 332, 322 },
					},
		[ "ccc" ] = {
					[ "q3" ] = { 43, 42 },
					[ "q32" ] = { 431, 421 },
					[ "q33" ] = { 432, 423 },
					},
		[ "ddd" ] ={
					[ "q4" ] = { 53, 52 },
					[ "q41" ] = { 531, 521 },
					[ "q42" ] = { 532, 522 },
					},
	}
	

local new_table_chaotic = {}
local new_count = 1
			for _, k in pairs ( my_super_table ) do
				-- получаем массив первого уровня вложенности в переменную k
				for i, data in pairs ( k ) do
					-- получаем массив второго уровня вложенности в переменную data
					for ii = 1, #data do
					-- data [ ii ] рандомное значение из конечных полей нашего data -массива, 
					-- можно сразу обрабатывать, а можно кучей свалить в новую таблицу
					new_table_chaotic[ new_count ] = data [ ii ]
					
					log2( "New count is %s, New element is %s", tostring(new_count), tostring (data [ ii ]) )
					new_count = new_count + 1
					end
				end
			end	
	-- важно - конечный список не будет по порядку, т.к. исходные значения полей первого и второго уровня вложенности - не числа 
end

 

 

@Купер  Можно и с вашим вариантом, только тоже предположила, что первый уровень вложенности может иметь несколько списков, а не один. Проверила по-быстрому - вроде работает )

  • Нравится 1
  • Полезно 3

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

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

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : .\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...he\gamedata\scripts\death_manager.script:155: attempt to index field '?' (a nil value)

Вылетает при убийстве любого НПС Подскажите в чем может быть проблема? 

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

         --' По каждому объекту необходимо получить количество
            local number = math.ceil(math.random(count_by_level[k].min, count_by_level[k].max))

 

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

@андрей дронав , NPC роздан предмет, секция которого не указана в \gamedata\config\misc\death_items_count.ltx (кол-во выпадающих предметов в зависимости от уровня сложности).

Изменено пользователем Купер
  • Согласен 2
  • Полезно 2
Ссылка на комментарий
4 минуты назад, Купер сказал:

@андрей дронав , NPC роздан предмет, секция которого не указана

Спасибо большое, буду разбираться! 

Я снова потерпел фиаско...

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

Expression    : error handler is invoked!
Function      : handler_base
File          : .\xrDebugNew.cpp
Line          : 753
Description   : application is aborting

Вылеты при НИ, если удаляю папку savedgames работает, не вылетает, сейвы не бьются. Но стоит тут же НИ вылет(((

Это вроде OGF модели что то, но я взял их из OGSM непонимаю в чем дело...

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

Продолжаем задавать глупые вопросы. :biggrin:

selector_free_hunting, selector_cover, selector_hear_sound... selector_walk_around ( из конфигов мутантов) Что такое, с чем едят?

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

Приветствую!

В NLC был артефакт, увеличивающий высоту прыжка. Собственно параметр я нашел (если не ошибаюсь):

add_jump_speed

Но как его "активировать", то есть правильно прописать, чтобы он заработал, кто подскажет?

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

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

 

Ссылка на комментарий
19.12.2021 в 16:04, Купер сказал:

Что такое, с чем едят?

Команды (движковые) позволяющие изменить поведение  НПС и живности в различных ситуациях. Можно даже немного улучшить боевое поведение НПС.

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

@Ворон545 в твоем сообщении не было ни слова про OGSR. Я не могу припомнить, что бы в OGSR добавлялось артефактам такое свойство. И глядя по диагонали в движок, я не могу такого там найти. Может просто не там смотрю, а может действительно правильно помню, что не добавляли. Я похожее делаю скриптом:

function set_jump_speed(v)         get_actor_obj().jump_speed = v end

 

  • Спасибо 1
  • Нравится 2
Ссылка на комментарий
1 минуту назад, dsh сказал:

OGSR добавлялось

Да, в этом моде такого не было. 

2 минуты назад, dsh сказал:

скриптом

Спасибо, глянем что и как.

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

@shahvkit , а где-то можно посмотреть/почитать более предметно?

Что-то не находят эти наши интернеты ничего толкового по этому поводу. Пытался предварительно, разумеется, посмотреть сначала, где оно там под капотом в исходниках находится - и не нашёл (или просмотрел). Что, впрочем, неудивительно, исходя их уровня знаний. 

 

@Ворон545 , что-то подобное команда @phorumer-а у себя в НА-7 делала. И как раз на OGSR движке. Возможно, какие-то идеи заинтересуют.

  • Спасибо 1
Ссылка на комментарий
8 часов назад, Купер сказал:

а где-то можно посмотреть/почитать более предметно?

Нет. Я не находил никакой информации. Разбирался методом "научного тыка" и кое какими подсказками одного посетителя PlayGround.ru

 

p.s.

Мне смутно помнится, что dsh в своём моде вроде бы изменял эти параметры у живности. Спроси у него.

Хотя может я и ошибаюсь, но в любом случае "за спрос денег не берут" ;)

Изменено пользователем shahvkit
  • Спасибо 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

AMK-Team.ru

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