Перейти к контенту
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 10.04.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
    Ссылка на комментарий

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

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