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

[SoC] Вылеты без лога

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

Kolmogor   

Сначала написал в тему по Arsenal Mod`у, но потом решил не загрязнять ее, а создать новую

 

В теме Arsenal mod Pinhead упоминал что я помог справиться с вылетом. Привожу описание того, что я сделал

 

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

 

У PinHead был вылет при подходе к мосту с жарками на ростоке . Что я сделал:

добавил в файл xr_motivator в функцию motivator_binder:net_spawn в самое начало следующую строчку:

sak.dbglog("motivator_binder:net_spawn(): self.object:name()='%s'", self.object:name())

get_console():execute("flush")

 

После этого при переходе в онлайн НПЦ в лог будет выводиться кто собственно в онлайн вышел

 

При вылете у меня в логе осталось что последним в онлайн перешел rostok_stalker_zombied_0003

 

Если сейв вываливается не сразу при загрузке, то можно этого зомби замочить. для этого я в файле bind_stalker.script заменил следующие строчки:

function actor_binder:update(delta)
  object_binder.update(self, delta)

 

на:

local is_kill = false

function actor_binder:update(delta)
  object_binder.update(self, delta)

if is_kill == false then
local obj = alife():object("rostok_stalker_zombied_0003")
  if obj then
    local name = obj:name()
    alife():release(obj, true)
    sak.dbglog("%s killed", name)
  else
    sak.dbglog("npc not found")
  end
  is_kill = true
end

 

Пока отличие этого зомби от остальных заметил только в наличии укороченного мп5. кто-нибудь пробовал с ним бегать? нормально все?

Пробовал из character_desc_yantar.xml e,bhfnm tuj - не помогло(поэтому может быть дело и не в нем, я правда не знаю чтобы изменения в этом файле подействовали надо новую игру начинать или нет)

 

Для борьбы с монстрами в таком стиле возможно потребуется добавить в файл bind_monster.script в функцию net_spawn вывод имени монстра, перешедшего в онлайн

 

- тема на контроле, не разводите лишней демогогии... (Pollux)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 dan   

Колмогор хотел спросить почему ты говоришь что у него mp-5 когда в character_desc_yantar

у него в секции <specific_character id="yan_zombied_default4" team_default = "1">

вот это

[spawn] \n

wpn_bm16 \n

ammo_12x70_buck = 1 \n

wpn_pm \n

ammo_9x18_fmj = 1 \n

device_torch \n

 

Почему я думаю что это его секция потому что я смотрел его секцию в all.spawn

у него визуал прописан visual_name = actors\stalker_zombi\stalker_zombie4

а такой визуал есть только у этого yan_zombied_default4 и yan_zombied_veteran_default3, у этого вообще

прописана lr-300

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 ronin   

После изменения файла вида character_desc надо начинать новую игру,либо,использовать сейв до входа в локацию.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Kolmogor   
Колмогор хотел спросить почему ты говоришь что у него mp-5 когда в character_desc_yantar

у него в секции <specific_character id="yan_zombied_default4" team_default = "1">

вот это

[spawn] \n

wpn_bm16 \n

ammo_12x70_buck = 1 \n

wpn_pm \n

ammo_9x18_fmj = 1 \n

device_torch \n

 

Почему я думаю что это его секция потому что я смотрел его секцию в all.spawn

у него визуал прописан visual_name = actors\stalker_zombi\stalker_zombie4

а такой визуал есть только у этого yan_zombied_default4 и yan_zombied_veteran_default3, у этого вообще

прописана lr-300

посмотрел в сейве :) в мп5 я совершенно не уверен пока - это пока гипотеза

И вот кстати непонятно по какому принципу назначаются нпц <specific_character id="yan_zombied_default4"

Думаешь по совпадению визуалов?

Вроде связи между ними кроме yan_zombied я не заметил - решил что случайно расскидываются

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 Skunk   
посмотрел в сейве :) в мп5 я совершенно не уверен пока - это пока гипотеза

И вот кстати непонятно по какому принципу назначаются нпц <specific_character id="yan_zombied_default4"

Думаешь по совпадению визуалов?

Вроде связи между ними кроме yan_zombied я не заметил - решил что случайно расскидываются

Если заглянуть в all.spawn, то обнаружим, что у зоби с именем rostok_stalker_zombied_0003

прописан профайл yan_zombied. Если открыть файл config\gameplay\npc_profile.xml , обнаружим, что этому профайлу соответствует класс yan_Zombied, а открыв файл config\gameplay\character_desc_yantar.xml, обнаружим 7 профайлов с таким классом. И у зомби с id="yan_zombied_default7" действительно есть mp5:

 

[spawn] \n
wpn_mp5 \n
ammo_9x19_fmj = 1 \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
device_torch \n

Насколько я понимаю, визуал, указанный в character_desc... имеет приоритет, профайл при спавне выбирается в зависимости от ограничений гулага и уровня, для которого спавнится непись, а если подходящих профайлов несколько, то скорее всего рандомно. Так что, у него вполне мог быть mp5.

 

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Kolmogor   
[spawn] \n
wpn_mp5 \n
ammo_9x19_fmj = 1 \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
device_torch \n

Насколько я понимаю, визуал, указанный в character_desc... имеет приоритет, профайл при спавне выбирается в зависимости от ограничений гулага и уровня, для которого спавнится непись, а если подходящих профайлов несколько, то скорее всего рандомно. Так что, у него вполне мог быть mp5.

На счет новой игры - изменённый профайл повлияет на вновь заспавненных неписей. Заспавненные до изменения, останутся без изменений (я так думаю).

Там ошибка была в том что в адаптации Arsenal mod`а этому зомби был прописан укороченный мп5 wpn_mp5K - "К" большая

вылет был из-за нее, если поставить маленькую буквук "к", то все было нормально

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Nekt   
Гость Nekt

Честно слово, теория занятная. Тогда получается по созданной тобой теории и наблюдению.

Много слишком ошибок в игре.

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Kolmogor   
Честно слово, теория занятная. Тогда получается по созданной тобой теории и наблюдению.

Много слишком ошибок в игре.

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

это не теория к сожалению :( прописываешь в character_desc_escape.xml Волку пушку с большой буквой, начинаешь новую игру и получаешь вылет без лога. Можешь проверить сам, например Волку прописать не wpn_ak74u, а wpn_ak74U

 

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

  local a = 1
  loca A = 2
  dbglog("a=%s A=%s", a, A)

 

выдаст: a =1 A=2

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Vetrov   

Уважаемые коллеги итак что пишем в Анамнезе "История болезни" ?

Проводил Круглова до янтаря, и дальше все... постоянные вылеты с пустым логом?

Пытался менять K на k - не помогает, или нужно начинать с начала что бы пофиксить эту ошибку?

 

и Эпикриз: Какие рецепты для лечения вы посоветуете?

 

Можно ли задать функцию что бы если кто-то респился не правильный, это не приводило к вылету, а просто этот чувак тихо и спокойно анигилировался?

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 n6260   
Уважаемые коллеги итак что пишем в Анамнезе "История болезни" ?

и Эпикриз: Какие рецепты для лечения ?

Проводил Круглова до янтаря, и дальше все... постоянные вылеты с пустым логом?

Пытался менять K на k - не помогает, или нужно начинать с начала что бы пофиксить эту ошибку?

нужно начинать с начала что бы пофиксить эту ошибку

:)

 

Желательно аргуметировать... (Pollux)

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Kolmogor   
Уважаемые коллеги итак что пишем в Анамнезе "История болезни" ?

Проводил Круглова до янтаря, и дальше все... постоянные вылеты с пустым логом?

Пытался менять K на k - не помогает, или нужно начинать с начала что бы пофиксить эту ошибку?

 

и Эпикриз: Какие рецепты для лечения вы посоветуете?

 

Можно ли задать функцию что бы если кто-то респился не правильный, это не приводило к вылету, а просто этот чувак тихо и спокойно анигилировался?

прочитай шапку - там написано как понять что вылет именно из-за неправильного чудика и как конкретного чудика аннигилировать.

Возможно все что я расписал к тебе не подходит - вылет может быть совершенно не из-за этого

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

По опыту скажу что не у всех именно 3й зомби, у меня вообще их 2е было 3й и 6й, так что каждому надо индивидуально

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

Столкнулся с описываем багом на Складах. После павлика бегу к выходу на бар, и сразу после автобусной остановки - вылет с вышеописанным логом. Глюк точно связан с переходом кого-то в online. Так как обежав по кругу через переход на Росток и снова обычным путем зайдя на склады получил то же вылет.

Сегодня посмотрю, что за "гад" не может перейти в онлайн.:E

 

По поводу заглавных букв и их нелюбви с LUA.

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

Если бы у меня под рукой был мой любымый Delphi...уже бы написал:(, а так - только вечером/завтра.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

С помощью реомендаций Kolmogor-а свою проблему исправил.

Проблема была c sim_stalker_master_chuchelo.

Хочу заметить только следующее, пред тем как произошел глюк, этого чучело колбасило почем зря. Он шманал труп свободовца и никак не мог остановиться. Труп был пустой, чучело стоял рядом и каждую пару секунд наклонялся и шманал. Как только я от него убежал - вылезла описываемая ошибка. Сейв сохранен, но только для wawka 2.1.5

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

Если еще остались заинтересованные в исправлении данного бага, вот новая информация.

Решив проблему с Чучело методом его убийства, я повторно словил этот вылет с другим НПС, там же на Складах.

НПС сидел рядом с костром, Волком, Монголом и отцом Диодором(сборка от WAWKA).

Я решил его не "убивать", а исследовать проблему.

Подошел так, что стал виден Волк и горящий костер(в бочке), но НПС еще не перешел в онлайн. Вылета нет, сохранился.

"Заглянул" в прицел винтареза и стал медленно идти в сторону огня и увидел как НПС жарится в костре! И примерно через три секунды произошел вылет! Что делать? Стрелять! Загружаюсь, медленно подхожу, НПС опять в костре горит! Стреляю, он оживает, спрыгивает, начинает отстреливаться и...вылет.:(

Загружаюсь снова, заряжаю бронебойные, медленно подхожу, НПС опять в костре! Стреляю, убиваю первым выстрелом...УРРА! Вылета нет!!!

Для успокоения совести пробую еще пару раз. Каждый раз НПС спавнится в костре. Если убиваю его сразу - вылета нет. Если хоть немного живет(около 2-3 сек) - вылет.

Вот так вот. Подозреваю, что с Чучелом был то же глюк, так как он как раз находился в районе костра группы Черепа.

Во избежание повторения проблем я у себя отключу повреждение огнем. Реализм - реализмом, а вылеты это плохо.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 Сяк   

2 strannik я не понял - лог то при вылете был?

я вижу название темы - но все же?

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

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

Все как в первом посте данной темы.

Если не вносить предложенные изменения - вылет без лога.

Если внести - можно определить последнего переходящего в онлайн НПС.

В моем случае вылет был связан с тем, что последний переходящий в онлайн НПС спавнился в огне.

Точный лог сейчас привести не могу, нет под рукой, вечером попробую(сейв вроде остался).

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

Такс, отключение повреждения огнем не помогает. Вылет стабилен.

Помогает только быстрое убийство.

Все, что мне приходит в голову, что вылет связан с моментом "нанесения" урона огнем.

В общеми, я проблемное место прошел, но к разгадке причин вылетов без лога мы похоже так и не приблизились.:(

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Kolmogor   
Такс, отключение повреждения огнем не помогает. Вылет стабилен.

Помогает только быстрое убийство.

Все, что мне приходит в голову, что вылет связан с моментом "нанесения" урона огнем.

В общеми, я проблемное место прошел, но к разгадке причин вылетов без лога мы похоже так и не приблизились.:(

вылет скорее всего из-за того что он не может из костра выйти

по идее должен быть лог с ошибкой в patrol path

костры вроде накрыты рестриктором, запрещающим НПЦ ходить по ним. Если он туда попадет - то выйти оттуда не сможет.

Непонятно как он туда попадает

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
strannik   

Если я в него попадаю слабым потроном (не убиваю первым же встрелом), то НПС с костра соскакивает и начинает отстреливаться, но вылет происходит все равно...может только на пару секунд дальше.

 

В логе(и то, только если воспользоваться правками из первого поста, иначе лог пустой) пресловутая ошибка 1121, что перед fatal error я сейчас не помню, но точно не про patrol path.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Войти

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

Войти

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

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

×