Ekagors 1 Опубликовано 19 Июля 2014 (изменено) db.actor:item_in_slot(11) ~= "af_oasis_heart" 1. Ты проверяешь не равен ли гейм объект строке ? db.actor:item_in_slot(1) --Вот таким к примеру методом мы получаем объект из первого слота, а как я понял ты проверял секцию, хотя тут тебе вернет объект в первом слоту. Для того что бы получить секцию надо дописать к примеру db.actor:item_in_slot(1):section() --Вернет секцию объекта первого слота (Если он конечно же есть...) 2. Нет проверки что в слоте что то есть вообще, если он будет пуст, то вернет nil Пример: if db.actor:item_in_slot(1) and db.actor:item_in_slot(1):section()=="wpn_pm" then return "блаблабла, это так к примеру" end 3. Тут могу ошибаться но если память не изменяет таким методом нельзя получить предметы пояса как у тебя то есть - db.actor:item_in_slot(11) - не вернет пояс... Функция db.actor:item_in_slot(number) возвращает гейм объект, а на поясе их цела перечень в противном случаи ПЫСы могли сделать что бы она хотя бы массив возвращала, но и такого нет... По моему кто-то очень давно еще на ТЧ писал скрипт получения объектов с пояса, в оригинале же такого вроде нет, в "xray-extensions" есть функции манипуляции инвентарем и по моему поясом. 4. if time_global() - flag_timer < 10000 thenreturn end if db.actor.radiation <= 0.5 then flag_timer = time_global() Ты из time_global() вычитаешь flag_timer, но даешь ей значение только потом, если она у тебя где-то до этой ф-ии назначена тогда ладно, а если нет, то ты из time_global() вычитаешь nil P.S. в третьем пункте не до конца уверен... Изменено 19 Июля 2014 пользователем Ekagors Поделиться этим сообщением Ссылка на сообщение
Ekagors 1 Опубликовано 21 Июля 2014 если в слоте 1 нет ничего, то в этой проверке, будет сразу вызван метод nil:section(), что приведет к вылету. Лучше сначала проверить что в слоте есть вообще какой-то объект, а лишь затем проверять что у него за секция. Масло масленое, я то же самое только короче написал Нет проверки что в слоте что то есть вообще, если он будет пуст, то вернет nil Тут есть проверка, что не равен nil сей час выделю раз не заметил if db.actor:item_in_slot(1) --[[Если вернет nil, условие не будет провираться дальше -]] and db.actor:item_in_slot(1):section()=="wpn_pm" then return "блаблабла, это так к примеру" end _______________________________________________________________________________________________________________________ Как сделать скрипт при взятии предмета из рюкзака? Что ? Подробней можно не чего не понять. Поделиться этим сообщением Ссылка на сообщение