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

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


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

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

object_flags =...

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

Спасибо.

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

 

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 страдал тем же. У тебя из логики по функциям в скриптах идёт незатыкаемая команда на выдачу итема, в тот момент когда логика просчитывается с нуля, во время спавна ГГ. Либо у тебя в логике, отсутствуют сами ключи инфопоршней. Еще третий вариант - я могу ошибаться.

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

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

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

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

@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 пользователей

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