Kolmogor 5 Опубликовано 15 Августа 2008 Сначала написал в тему по 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) Поделиться этим сообщением Ссылка на сообщение
Kolmogor 5 Опубликовано 15 Августа 2008 Колмогор хотел спросить почему ты говоришь что у него 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 я не заметил - решил что случайно расскидываются Поделиться этим сообщением Ссылка на сообщение
Kolmogor 5 Опубликовано 19 Августа 2008 [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 - "К" большая вылет был из-за нее, если поставить маленькую буквук "к", то все было нормально Поделиться этим сообщением Ссылка на сообщение
Kolmogor 5 Опубликовано 19 Августа 2008 Честно слово, теория занятная. Тогда получается по созданной тобой теории и наблюдению. Много слишком ошибок в игре. Вообще луа пох как написан код, и хмл просто парсер иногда заикается. И такие ошибка и правда есть, но в большинстве случаев они редко вызывают вываливатся. это не теория к сожалению прописываешь в 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 Поделиться этим сообщением Ссылка на сообщение
Kolmogor 5 Опубликовано 19 Августа 2008 Уважаемые коллеги итак что пишем в Анамнезе "История болезни" ? Проводил Круглова до янтаря, и дальше все... постоянные вылеты с пустым логом? Пытался менять K на k - не помогает, или нужно начинать с начала что бы пофиксить эту ошибку? и Эпикриз: Какие рецепты для лечения вы посоветуете? Можно ли задать функцию что бы если кто-то респился не правильный, это не приводило к вылету, а просто этот чувак тихо и спокойно анигилировался? прочитай шапку - там написано как понять что вылет именно из-за неправильного чудика и как конкретного чудика аннигилировать. Возможно все что я расписал к тебе не подходит - вылет может быть совершенно не из-за этого Поделиться этим сообщением Ссылка на сообщение
Kolmogor 5 Опубликовано 25 Сентября 2008 Такс, отключение повреждения огнем не помогает. Вылет стабилен. Помогает только быстрое убийство. Все, что мне приходит в голову, что вылет связан с моментом "нанесения" урона огнем. В общеми, я проблемное место прошел, но к разгадке причин вылетов без лога мы похоже так и не приблизились. вылет скорее всего из-за того что он не может из костра выйти по идее должен быть лог с ошибкой в patrol path костры вроде накрыты рестриктором, запрещающим НПЦ ходить по ним. Если он туда попадет - то выйти оттуда не сможет. Непонятно как он туда попадает Поделиться этим сообщением Ссылка на сообщение