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

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


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

@CRAZY_STALKER666, А то что Charsi написал, вам не видно?

  • Согласен 1

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

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

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

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

Срочно нужна статья по расшифровке флагов в оллспавне.

object_flags =...

Помню, что видел где-то, может на Вики, может ещё где, но не могу найти :facepalm: . Ткните пожалуйста меня мордой лица в эту статью.

Спасибо.

"Кругом зомби.....у меня кончаются патроны...."

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

BFG, если кратко, то вот пост lsclon.

Добавлено BFG,

klGOLWb.gif

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

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

Доброго времени суток. Имеются два вопроса:

 

1) Почему при передаче предмета НПС, он остается в рюкзаке ГГ, хотя в диалоге написано, что предмет передан? Функция передачи:

function otdaem_item(first_speaker, second_speaker)
  dialogs.relocate_item_section(second_speaker, "item", "out")
end
В диалоге написано "предмет потерян", но все равно остается в рюкзаке. Что это такое?
 
2) Как создать звуковую схему для НПС, по типу как волк говорит "Подходи, пообщаемся"?
В скрипт sound_theme вношу по аналогии с другими схемами:
ph_snd_themes["zvuk_ot_npc"] = {[[characters_voice\location\zvuk_ot_npc]]}
В начале, и
zvuk_ot_npc = {min_snd = 7, max_snd = 10, rnd = 100, prior = 5, rnd_id = id(), into_id = id(), max_ids = {}},

Где-то в середине скрипта. Затем в config\misc\script_sound.ltx:

[zvuk_ot_npc_seq]
stalker = 0,location\zvuk_ot_npc

Затем в логику НПС прописываю:

snd = zvuk_ot_npc

Но в итоге в игре ни звука от НПС, ни вылета. Молчит как рыба. :unsure:  Что не так? 

Спасибо.

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

 

 

при передаче предмета НПС, он остается в рюкзаке ГГ,

 

Как по мне - давний баг странный какой-то.

Пользуюсь вот такой функцией, вроде всё хорошо...

 

function transfer_af_soul (npc, actor)
dialogs.relocate_item_section(npc, "af_soul", "out")
end

 

 

По звуку - сказать точно не могу, т.к с такими проблемами не сталкивался...

  • Спасибо 1

Не соответствует правилам.

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

 

 

В диалоге написано "предмет потерян", но все равно остается в рюкзаке. Что это такое?

Попробуй поменять в

dialogs.relocate_item_section(second_speaker, "item", "out")

second_speaker на first_speaker... И вообще - ф-ции этого плана чувствительны к месту вызова, т.е. из чьей фразы они вызываются: если фраза от НПСа, то движок в first_speaker передаст объект НПСа а в second_speaker - объект актера, если от актера - то в точности наоборот.

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

 

 

Функция передачи:

 

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

  dialogs.relocate_item_section(db.actor, "item", "out")

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

И вообще оно надо - именно ПЕРЕДАВАТЬ ?

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

 

local sim = alife()
local actor = db.actor	-- для тех, у кого "НЕТ, ПУСТЬ БУДУТ ОШИБКИ И ПУСТЬ ВЫЛЕТАЕТ !!!"
function remove_items( sect, n )	-- удаляем n предметов, помечаем не учитывать как использованные
	-- log( "info", "remove_items: %s, n: %s ", sect, n or 1 )
	local t, c = {}, 0
	local i_sect, obj
	if not n then n = 1 end
	for i = 0, actor:object_count() - 1 do
		item = actor:object( i )
		i_sect = item and item:section()
		-- log( "info", "remove_items, [%s], i: %s ", ( item and item:name() ) or "nil", i )
		if i_sect == sect then
			obj = sim:object( item:id() )
			if obj then
				c = c + 1
				t[c] = obj
				if c >= n then break end
	end	end	end
	if c ~= 0 then
		for i = 1, c do sim:release( t[i], true ) end
		news_remove_item( actor, "out", sect, c )
	end
end
news_remove_item() определить самостоятельно.

 

Касательно звуков - сделать %=play_snd_from_obj("звук")% по нужному условию - не ?

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

 

 

Затем в логику НПС прописываю: snd = zvuk_ot_npc Но в итоге в игре ни звука от НПС, ни вылета. Молчит как рыба.   Что не так?  Спасибо.
 

Параметр snd доступен только для схемы remark, для других случаев есть функция play_snd_now

 

 

Касательно звуков - сделать %=play_snd_from_obj("звук")% по нужному условию - не ?

Для звука пука оно может и пойдёт, а для речи есть своя метода.

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

@Bak, у меня "snd" как раз в схеме ремарк. При чем родные ПЫС схемы работают и озвучиваются, а новые не хотят. Хотя сделано все по аналогии (копи-паст и смена имен звуков на свои).

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

"Для звука пука оно может и пойдёт, а для речи есть своя метода."

 

Да-да. Доведем вход в онлайн каждого непися до получаса !

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

Возник вопрос. Во время загрузки сохранения происходит доспавн актору предметов, которые были получены ранее. Как узнать, что этот предмет был получен при загрузке сохранения (то есть который и был), а не был получен уже во время игры?

... А наше дело маленькое - с ружьём да по болотам. (с)

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

@Max_Raf, однако у тебя в моде болезнь с отсутствием записи сохранения инфопоршней. Недавно HellRatz страдал тем же. У тебя из логики по функциям в скриптах идёт незатыкаемая команда на выдачу итема, в тот момент когда логика просчитывается с нуля, во время спавна ГГ. Либо у тебя в логике, отсутствуют сами ключи инфопоршней. Еще третий вариант - я могу ошибаться.

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

andreyholkin.gif

rod_cccp.gif

 

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

@Дизель, не, я по ходу о другом. Я юзаю каллбек получения предмета, и мне нужно понять, этот предмет я получил во время игры или этот предмет был получен до загрузки игры.

... А наше дело маленькое - с ружьём да по болотам. (с)

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

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

Отлавливай в той функции, в которой предмет выдается.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@Max_Raf, можно проверить, прошел ли уже апдейт актора (загружаемые вещи должны идти до первого апдейта).


@Dennis_Chikin, то есть то, что людина не будет шевелить губами при разговоре, и звук будет идти из левой пятки - это нормально, и всем так стоит делать?


@HellRatz, функция для единичного проигрывания звука от НПС, не нужно ничего никуда прописывать:



-- персонаж толкает речь
function npc_play_snd(actor, npc, p)
	if p[1] then
		local id = sound_theme.id()
		local character_prefix = npc:sound_prefix()
		npc:sound_prefix("characters_voice\\")
		local cnt = npc:add_sound(p[1], 64, snd_type.talk, 2, 1, id, "bip01_head")
		npc:sound_prefix(character_prefix)
		if cnt == 0 then
			printf("npc_play_snd[%s] cant find sound [%s]",npc:name(),tostring(p[1]))
			return
		end
		npc:play_sound(id, 0, 0, 1, 0, 0)
	end
end


%=npc_play_snd(scenario\agroprom\agr_base_commander_1)%
  • Спасибо 2
Ссылка на комментарий

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

 

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

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

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

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

1) Как исправить вылет при взрыве БТР

\scripts\bind_physic_object.script:206: attempt to index local 'victim' (a nil value)

2) Спавню скриптом тайни с визуалом нпс

[esc_klon_box]:inv_box
visual = actors\hero\stalker_novice
radius = 2
custom_data = scripts\ins\treasure_inventory_box.ltx

В итоге он выглядит так

post-26561-0-75345000-1467396056_thumb.jpg

 

Подскажите, как правильно его прописать, что б он выглядел, как нпс. Или как в труп заспавинь всё что угодно не правя конфиг.

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

А можно ли как-нибудь отключить бампы(именно только бампы) на динамике и полной динамике?

Или это только можно сделать подменой самих бампов?

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

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

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

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

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

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

Войти

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

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

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