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

Вылеты и проблемы солянки.


Arhara

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

лечение вылета 4333:

в строчке после

function respawned(obj,respawner)

вставить...

if (respawner==nil) or (obj==nil) then return end

должно помочь...

 

Объясню...

Вылет показывает что переменная respawner не существует или равна nil ,отсюда и вылет...

Что самое интересное ,это случается при респавне НПСов...

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение

Shadowman, как вариант можно найти все вызовы этой функции и вставить вывод в лог передающих параметров и имя функции из которой последовал вызов

пример:amk.mylog("call respawned,amk.call_respawner(res,obj):obj= "..obj.."respawner ="..res) -это пример ,так из головы..

.....и так далее...

у меня нету возможности сейчас смотреть...нету у меня ТЧ..вчера винда полетела..диск только завтра возьму...

Хм...

тогда вот так...

я не разбирался...

if respawner=="" then return end

 

Shadowman,удачи...

Просто если найти функции где "теряется" параметр ,то можно избавится от ошибки..

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение

Shadowman, посмотрел сейчас амк_мод.скрипт ,туда передаётся стринг.....

в амк.скрипт

есть функция

function on_REspawn(obj,respawner)

if obj and respawner then--проверка на "существование"

...

отсюда вызывается именно "наша" функция... что самое странное ,что тут проверяется существование и того и другого ,интересно почему не передаётся параметр.....

ну и судя по этому коду,попробуй добавь в respawned

if not(respawner or obj) then return end

 

Ладно ,идём дальше....

amk.on_REspawn

встречается в se_respawn.script

видимо там собака зарыта...

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение

sapsan,не обязательно функцию или переменную ,но и таблицу(массив)...вполне возможно если какого-то "параметра" таблицы не существует ,а происходит обращение к этому параметру ,происходит вылет.

А так спасибо ,"открыл глаза" на известные (но забытые) мне вещи :)...

Тогда возможно,что в каком-то из конфигов из папки scripts/amk/ допущена ошибка....

Допустим нету,какого либо ключа...

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение

кстати ,можно узнать конфиг ,к которому обращается функция...

в функции on_Respawn

после

if obj and respawner then

вставить

if isStalker(obj) then

local sini = respawner:spawn_ini()

if sini:line_exist ("respawn", "creature_binded_logic") == true then

local cfg_name = utils.cfg_get_string(sini, "respawn", "creature_binded_logic", false, false, false, "")

amk.mylog("config name="..cfg_name)

end

end

 

Возможно успеет вывести имя конфига...

 

Sitar, А конфигурация компа какая?

Если не топавая ,советую уменьшить настройки графики....

Вылет говорит ,что памяти мало ему...

Или закройте все программы(если открыты) и убейте ненужные процессы(если такие есть)

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение

Shadowman, Очень странно,что ругается на такое :)...Это оригинальная Функция... :)..Попробуй так как ты предложил..

а если вставить так:

if respawner.spawn_ini()~="" then--по моему это стринг

local sini = respawner:spawn_ini()

if sini:line_exist ("respawn", "creature_binded_logic") == true then

local cfg_name = utils.cfg_get_string(sini, "respawn", "creature_binded_logic", false, false, false, "")

local t = amk.read_stalker_params(obj)

t.custom = "[logic]\ncfg = scripts\\amk\\"..cfg_name..".ltx"

amk.write_stalker_params(t, obj)

end

else

return

end

 

хотя,дохлый номер как мне кажется...

Изменено пользователем меченый(стрелок)

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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