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

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

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

@lordmuzer

если смотреть оригиналы, то контролер махался в ЧН и ЗП. Может в РР проекте такое имеется!? Движок ТЧ с возможностями ЗП.

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

@ed_rez, в PP тоже самое - ближнего боя нет, замочил контрика в подземке Агро когда в плотную подбежал к нему. Думаю адаптировать скриптовой костыль, хотя и таковой ещё не тестил. А так ходил вокруг меня походкой дёрганой.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Ну а я, тогда, простите, где эту атаку рукой мог бы видеть, если ЧН еще на болотах и снес?

Только ТЧ. Махал он рукой вблизи. Без всяких скриптов.

 

Ну и анимация атаки должна быть в модельках, естественно, а не где-то "в движке".

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

Махал он рукой вблизи

Анимации есть у ТЧ модели, но как и откуда происходит вызов, то мне не известно.

c05f6ea5c970ba4ded7a78ab5369e75d4f879332

  • Полезно 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

где эту атаку рукой мог бы видеть

Может быть, в ОП-2?

77ef365bf988f0788cc72b0d32a8f17d0589ef32

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

В 2008ом?

Я, конечно, понимаю, что виндовс, компьютер и колесо тоже Пропер создал...

Изменено пользователем Dennis_Chikin
  • Смешно 2
Ссылка на комментарий

@BFG Спасибо. Неплохо, работает поглаже, чем было раньше. Правда я уже решил не испытывать судьбу, и создал контрика на классе бюрера, с такой атакой вызываемой движком. Разумеется использовать буду твою анимацию. Правда теперь она будет вызываться не скриптом, а движком. Анимация кстати из 2571, и мне очень жаль, что ее не добавили в релиз.

jpwsa5byp73nyaufrbis15dcci1y.png
 

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

Анимация к слову, о которой я говорил отнюдь не для атаки вблизи. Это дорелизная анимация пси-атаки. Она была хороша, в сочетании с "отступом" назад. Т.к я заметил, что в релизе считай все монстры, способные атаковать бегут на ГГ в лоб. Даже контролер, неумеющий в ТЧ драться, норовит подойти к ГГ вплотную. И это при том, что у каждого монстра в СДК есть анимация шага назад. Но увы, ПЫСы посчитали это лишним. И еще. Проверил ради любопытства. Релизная анимация пси-удара, которая играется вроде в 4 или в 3 цикла есть и в файле контролера в 2571. Но видимо в процессе создания билда, решили что 2-ручная пси-атака будет лучше. Вопрос по теме. Кто-нибудь знает как можно заставить монстра двигаться назад от ГГ. Разумеется не всегда, а только в случае опасности, т.е столкновения с ГГ. И насчет поломок анимации. В файле контроллера есть несколько одинаковых анимация, но с разными названиями. New и new_torso. К примеру new_walk_0 и new_torso_walk_0 вроде. Проверял в игре. Одна из них работает нормально, а другая намертво застывает после первого проигрывания. Только не помню какая из них)

jpwsa5byp73nyaufrbis15dcci1y.png
 

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

Заставить драться можно. Правда не понятно на сколько это правильно:  https://youtu.be/VUm7G9p_chE

Ссылка на комментарий
23 часа назад, BFG сказал:

В Соли им Людмила просто добавила параметр auto_dell = {+ поршень}

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

Сталкер - наше всё!

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

Это примерно так:


local t_del = false

function dummy() end

function del_zones()
	if t_del then
		local obj
		for k, v in pairs( t_del ) do
			obj = sim:object( k )
			if obj and obj:name() == v then sim:release( obj, true ) end
		end
	end
	t_del = false
	return true
end

function se_restrictor:on_register()
	cse_alife_space_restrictor.on_register( self )
	if not self.init_flag then
		self.init_flag = true
		local ini = self:spawn_ini()
		if ini and ini:section_exist( "spawner" ) and ini:line_exist( "spawner","auto_dell" ) then
			local t = xr_logic.parse_condlist1( ini:r_string( "spawner","auto_dell" ) )
			if xr_logic.pick_section_from_condlist( db.actor, self, t ) ~= nil then
				if t_del then t_del[self.id] = self:name()
				else
					t_del = { [self.id] = self:name() }
					if sim then level.add_call( del_zones, dummy ) end
	end	end	end	end
end

 

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

мысль-то интересная.

Только непонятно - зачем поршень выдавать))

А так, сто лет назад в фотографе одноразовый рестриктор удалялся сразу по срабатыванию прямо из своей же логики...

[sr_idle@one]
on_actor_inside = {+amb_agro} nil %=play_snd(ambient\new\trolley) =val_test.del_restr% 

Сама функция

-- самоликвидация отработавшего рестриктора
function del_restr(actor, obj, p)
    if obj then
        local sobj = alife():object(obj:id())
        if sobj then
            alife():release(sobj,true)
        end
    end
end
-- 

 

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

alife():release() из самого себя не вполне корректно. Плюс кто-нибудь может этому рестриктору вписать тип, отличный от 0 или 3 со всеми вытекающими висяками неписей.

 

Впрочем, от вписывания его же в base_inr или base_outr все равно не спасает.

 

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

Только непонятно - зачем поршень выдавать))

Потому что рестриктор может быть и не одноразовый.

Сталкер - наше всё!

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

@AndrewMor,  непонятки аднака...Что значит не одноразовый?

Тут либо у рестра одна секция, либо несколько - которые он отрабатывает последовательно. Все равно в конце отработки можно вписать удаление. Либо от работает по кругу. Нафига его тогда удалять?

1 час назад, Dennis_Chikin сказал:

кто-нибудь может этому рестриктору вписать

Ну и пусть кто-нибудь вписывает. Как это относится к конкретно взятому рестриктору, который заспавнен скриптом в нужное время и удален сразу после срабатывания?

Насчет некорректности - это к скриптеру фотографа)) Моё дело -код показать было...

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

"по кругу" - на текущей локации.

 

Впрочем, имеет смысл удалять его банально по имени/sid в числе прочих операций, когда реально становится не нужен, точно так же, как в ходе прочих операций создается. Проверка ВСЕХ существующих на наличие каких-то строк в кастомдате при каждой загрузке игры - действительно, перебор.

 

Как пример - временная мера с удалением всего ненужного при переходе на янтарь с ДТ -

...
for i, v in ipairs( {	-- более не нужный мусор на ДТ
		"rostok_space_restrictor_0001", "rostok_sniper_space_restrictor_01",
		"rostok_volkodav_talking", "rostok_space_restrictor", "rostok_start_killer_combat",
		"bar_help_professor_restrictor", "rostok_cheat_sound_restrictor",
		"ros_zone_flame_small_0005", "ros_zone_flame_small_0006", "ros_zone_flame_small_0007",
		"ros_zone_flame_small_0008", "ros_zone_flame_small_0010", "zone_flame_0000",
		"zone_flame_0001", "zone_flame_0002", "rostok_zombied_spawner",
		"rostok_sniper_pda_restrictor", "rostok_heli_scene_start_restr",
		"rostok_start_killer_combat", "rostok_chase_restrictor", "rostok_freedom_attack_zone",
		"rostok_scientist_guard_restrictor", "rostok_space_restrictor_0002",
		"rostok_volkodav_band_mapspot", "rostok_kruglov_finish_mapspot",
		"rostok_volkodav_fire_sound", "rostok_volkodav_fire_sound_end",
		"rostok_sniper_space_restrictor_01_0000", "rostok_chase_reastictor_1"
	  } ) do
		v = sim:object( v )
		if v then sim:release( v, true ) end
	end
...

с вызовом через

    for i, v in ipairs( t_info ) do

        if v[1] and ( not ( v[4] and actor:has_info( v[4] ) ) ) then

 

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

 

 

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

отличный от 0 или 3

А вот с этого места поподробней. Какие типы нельзя в СДК ставить?

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

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

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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