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

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

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

@ARTLantist У серверных объектов НПС, есть свой биндер, расположен в файле se_stalker.script

И там среди прочего, есть такой метод

function se_stalker:on_spawn()

Который как раз и вызывается после появления в игре, нового серверного объекта нпс.

  • Спасибо 1
  • Полезно 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.

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

Заметил у себя один баг, не знаю, на каком этапе он появился, поэтому вынужден обратиться к знатокам. Вот в чём он проявляется: после смерти нпс идёт какая-то задержка, которая не даёт его обыскать. Надпись как бы есть, но жать F можно сколько угодно - пока не пройдет где-то 3-4 секунды - окно обыска трупа не откроется. С чем это может быть связано?

Ссылка на комментарий
Только что, ARTLantist сказал(а):

С чем это может быть связано?

Предлагаешь форумчанам по-гадать на кофейной гуще? Или шар стеклянный поискать...

Мой тебе совет, как искать причины вообще любых каких угодно багов, уже был у тебя в личке. Ставь вызовы Msg во всех подозреваемых местах, и смотри что там творится. По цепочке начиная от обработки нажатия кнопок в Actor OnKeyboard, и до открытия окна CUICarBodyWnd его методом Show. Проследи по порядку, кто откуда кого вызывает, если твой движок не прикладывает время к каждой строчке лога автоматически, значит добавь в каждый Msg вывод Device.dwTimeGlobal.

Логи в руки, и вперед) Другого совета тут быть не может, полагаю. Тебе же для отладки нужен точный ответ, а не какие-то догадки. Он получается только так.

  • Согласен 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.

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

Здрасьте.

 

ЗП 1.6.02: некоторые предметы невозможно поднять, если они находятся не на уровне глаз или частично перекрыты обстановкой.

Пример: Юпитер, тоннель с призраком электрика и артефактом "Измененный изолятор" – из-под контейнера торчит приклад LR-300, но как вокруг ни пляши, автомат не берется. Судя по другим тайникам, при наведении на предмет должно отобразиться не только название, но и иконка, иначе предмет не возьмется. Значения take_dist и pickup_info_radius в конфигах те же, что и в ТЧ/ЧН.

Было ли это "вылечено" в модах, и каким способом?

  • Сомнительно 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Балуясь с COC 1.4.22 заметил что все трупы всегда лежат в онлайне. Есть ли какой человеческий способ без придумывания велосипедов заставить их переходить в оффлайн как и должны? cse_alife_human_stalker.can_switch_online(self) как я понял всегда возвращает true. Как это исправить?

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

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

@Max_Raf , можно в se_stalker.script в функции can_switch_online добавить свою проверку, например

if ( not self:alive() ) and self.position:distance_to( db.actor:position() ) > 150 then

  return false

end

 

  • Полезно 1

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

naxac.gif

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

Прикладываю к вопросу выше – на случай, если описания недостаточно: https://drive.google.com/file/d/1Nu8XpN0a1sswM_qDat-JHCx_LLXLjgBt

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Norman Eisenherz могу сильно ошибаться. Но как мне известно, работает оно таким образом, что должна быть видна сама кость (joint), которая как раз таки на этом скрине находится за препятствием. Как вариант, попробовать добавить дочернюю кость к прикладу и дулу - посмотреть, сработает ли.

- Пролетарии всех стран, соединяйтесь!

 

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

@naxac , неа, не помогло. Всё так же в онлайне. Я ранее делал немного иначе:

 

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

sw_sim = nil
sw_actor = nil
sw_max_dis = nil

function can_switch( self, f_online, f_offline )
	-- чтоб не дёргать по 100 раз
	sw_sim = sw_sim or alife()
	sw_actor = sw_actor or sw_sim and sw_sim:actor()
	sw_max_dist = sw_max_dist or sw_sim and sw_sim:switch_distance()
	
	-- если всё есть
	if self and sw_sim and sw_actor and sw_max_dist then
		if f_online then
			return self.position:distance_to(sw_actor.position) <= sw_max_dist or false
		elseif f_offline then
			return self.position:distance_to(sw_actor.position) > (sw_max_dist + 20) or false
		end
	end
	return true
end

function se_stalker:can_switch_offline()
	if self.group_id ~= 65535 then
		return true
	end

	if self.online then
		return can_switch( self, false, true )
	end

	return cse_alife_human_stalker.can_switch_offline(self)
end

function se_stalker:can_switch_online()
    if self.group_id ~= 65535 then
        return true
    end

	if not self.online then
		return can_switch( self, true, false )
	end

    return cse_alife_human_stalker.can_switch_online(self)
end

 

 

Мой велосипед вроде был работающим, но иногда ловил вылет в таком стиле:

 

ERROR: CGameObject:net_spawn() Object with ID already exists! ID=61719 self=sim_default_bandit_061719 other=sim_default_bandit_061719

 

То есть такое впечатление что объект переходил в онлайн и биндился дважды. Как пофиксить - не знаю.

 

 

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

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

@WizziGun Тоже юмор… А как быть с аптечками, у которых только одна кость, но, скажем, аптечка на полке на уровне глаз берется только в прыжке, а на уровне рук – свободно?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Norman Eisenherz,

не знаю, что с этим оружием, что у тебя на скрине, но реагирует ГГ не на кость, а на шейп.

  • Полезно 1

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Здравствуйте. Подобный вопрос уже когда-то задавался в этой теме, но с тех пор много воды утекло.

Кто-нибудь проверял соотношения свойств артефактов ТЧ и ЗП? Например, ожог +10% (в ТЧ) равен термозащите +10 в ЗП? То же самое касается "восстановительно-накопительных" свойств.

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

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

Здрасьте.

 

Где хранится ссылка на текстуру рук без брони?

В ЧН это была модель [meshes\dynamics\weapons\wpn_hand\wpn_hand_01.ogf], но в ЗП при любых изменениях такой же модели игра никак не реагирует. Пробовал менять ссылки в [actor_hud] и в [outfit_base] – аналогично.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Norman Eisenherzчёт не так делаешь. Описание - актор и оутфит, модели - wpn_hand. Всё работает.

image.png

 

Зы. руки прописываются в конфиге самого костюма, не в outfit_base

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

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

"Без брони". В ЧН это была модель wpn_hand_01, указанная в [actor_hud].

Нашел уже: в этот раз модель wpn_hand_05 – не знаю, где такая ссылка указана, не в костюмах точно – там у меня другие руки прописаны, и совпадений "в броне / без брони" нет.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

Как можно вернуть в ЗП систему тайников, как в ТЧ/ЧН? И как можно сделать рандомное их заполнение со старта игры (по какому принципу нужно заполнять логику)?

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

Люди добрые, хелп
Ловлю вот такой лог

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

[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\smart_terrain.script:584: attempt to index local 'job_data' (a nil value)


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

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

Ребят, нужна гадалка. А то у меня кофейной гущи чёт маловато. Платформа СОС 1.4.22

 

Проблема такая: ловлю почти рандомные просадки по фпс. Не просто фриз, а именно просадка. Это как то связано с переходом отрядов в онлайн/оффлайн, то есть лаг возникает когда отряд только собирается перейти в онлайн или даже когда уходит в оффлайн (про уход в оффлайн не уверен). По моему эта штука зависит от свитч дистанс, но я так и не просёк как. Не похоже что дело в can_switch_online, я ставил всё как в ЗП, оно всё равно висит.

 

К примеру для наглядности. Янтарь ЧН. Стоим у выверта на северо-западе.  Свитч дистанс = 250. Частично в онлайне смарт бункера учёных. Начинается долгий лаг с просадкой по фпс. Открываю карту: вижу как какой то отряд вот-вот перейдёт в онлайн именно в смарт бункера. Как только отряд переходит в онлайн в геймграф смарта - лаг проходит. По наблюдениям лаг происходит порой и после перехода отряда в онлайн. Во время лага висит весь скриптовой поток, нпс тупят в этот момент и так далее.

 

Как эту дрянь поймать? Буду рад даже абсурдным идеям.

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

Ссылка на комментарий
3 часа назад, Max_Raf сказал(а):

Как эту дрянь поймать?

profile_timer вставленный в нетспавн неписей, чем не устраивает?

функционально аналогичен performance.now из javaScript...

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

Здрасьте.

 

В ЗП на условно-3D иконках оружия и брони обозначены места применения апгрейдов. Где указаны координаты областей подсветки для каждого апгрейда?

https://drive.google.com/file/d/1cXNFbrIg2uvxy_4Tev44-fNQ0_7ludC4

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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