Expression : error handler is invoked! Function : handler_base File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp Line : 764 Description : application is aborting
У меня есть догадки што накосячил с моделью сталкера . Но по логу ничево понять не могу
Сообщение отредактировал sttt912 - Пятница, 05.10.2012, 16:01
XOBAH, действительно - проглядел момент. Но по поводу схемы meet, а в частности её параметра use, также могу сказать достаточно полезную оговорку. Дело в том, что во всех трёх частях есть достаточно серьёзное недоразумение при использовании параметра use равный значению self. Такая "комбинация" запускает диалог, а точнее открывает окно с диалогом, при этом не делает никакой проверки на расстояние до оппонента, а это плохо, потому как расстояние на котором вообще возможен диалог строго ограничено движком, и составляет чуть более трёх метров. Поэтому, если использовать данный параметр без предусловий, то получите баг, который не приведёт к вылету, но при этом ... а попробуйте, ради интереса и поймёте в чём подвох :). Чтобы получить данный баг, просто в схеме встречи укажите параметр:
Code
[meet] ... use = self
При этом желательно, чтобы вы были на расстоянии от НПС.
Чтобы избежать "это" вставляйте проверку на расстояние до игрока, вот так:
Code
[meet] ... use = {=dist_to_actor_le(3) ещё условие} self, true
При такой постановке, окно диалога откроется только если игрок будет ближе чем три метра от НПС. Также рекомендую вставлять дополнительное условие для того, чтобы избежать постоянного открытия диалогов, после окончания разговора. Самое простое, это прописать отсутствие инфопошена, который можно выдать по окончании беседы.
Uyman358, если ты используешь функцию проверки из этого поста: >>Click Me<<, то переделай функции так:
Code
--# Таблица предметов, которые нужно раздобыть и в последствии отдать. local need_item = {"bread",8,"kolbasa",6,"conserva",10,"medkit",3,"energy_drink",4,"vodka",10,"medkit_army",1,"antir ad" ,2,"bandage",7}
--# Функция принимает в качестве аргумента таблицу вида: --# {"section_name", count, "section_name", count, ...} function predmety_yazhik_complete (p) local actor = db.actor --# Есть ли актор? (риторический вопрос) if actor then --# Разобъём аргумент (таблицу) на пары, где twain - это секция предмета, который проверяем, а twain+1 - его количество. for twain = 1, #p, 2 do --# Для каждой пары секция - количество заведём один счётчик, который будет считать количесвто предметов в инвенторе. local cnt = 0 --# Перебираем инвентарь ГГ. actor:iterate_inventory( function (dummy, item) --# Если секция совпала, то увеличим сумму. if item:section() == p[twain] then cnt = cnt + 1 end end ,nil) --# Если общая сумма указанного предмета меньше нужной, т.е. не хватает, то заканчиваем счёт и возвращаем соответствующее значение. if cnt < p[twain+1] then return false end end --# Если все предметы есть в указанном количестве - вернём true. return true end --# Если актора не существует вернём false. return false end
--# Проверка наличия всех предметов. function predmety_yazhik_complete1() return give_have_out_in.predmety_yazhik_complete(need_item) end
--# Передача всех найденных предметов. function take_need_item (actor, npc, item_table) --# Перебираем всю таблиуц нужных предметов, через один элемент. --# twain - секция --# twain+1 - количество for twain = 1, #item_table, 2 do --# Передаём все предметы в нужном количестве. for i = 1, twain+1 do db.actor:transfer_item(twain, npc) end end end
Помогите люди добрые! Поставил мод с новыми анимациями и 3D моделями оружия, всё хорошо но НПС задирают оружие выше цели (выше меня) и стреляют по моему направлению, но выше. Получается что они тупо стреляют над моей головой, а получить ущерб можно только подпрыгнув. Если присесть они опустят оружие, но всё равно линия огня будет выше моей головы.
А какие файлы в 1935 билде отвечают за погоду, а то нету никакого конфига, где фигурировало бы название связанное с погодой, там даже каталога configs нету.