GSC|MOD-Народный портал модостроения
PDA
Гость - Гости
Дата: 17.11.2017
Непрочитанных ЛС:
Гость - Гости
В Зоне: -дней
Пропуск №:
Гость - Гости
День рождения:
Ваш IP: 54.198.2.110
Музыка S.T.A.L.K.E.R.
Мини-чат
Друзья сайта
Наш опрос
Оцените мой сайт
Всего ответов: 1154
Статистика
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Uk 
Форум » Модостроение » Скриптинг Lua » Скриптеры никогда не делайте так
Скриптеры никогда не делайте так
РостянДата: Суббота, 23.03.2013, 14:05 | Сообщение # 1
Руководитель команды модостроителей UM-ST-MOD Team
Группа: Администраторы.
Сообщений: 130
Репутация: 300
Статус: Offline
Хочу поделиться советом, как избежать ошибки, приводящей к вылету (на которую сам часто напарывался).

Надо проверить наличие предмета, и что-то сделать.

Допустим, надо выяснить какой броник надет на ГГ и изменить какие-то параметры.

честно пишем:

local outfit_in_slot=db.actor:item_in_slot(7)

if outfit_in_slot~=nil and outfit_in_slot:section_name()=="чегототам" then

полагая, что LUA проверит первое условие, и , если ГГ голый не будет проверять второе. Однако LUA честно проверит оба условия, а потом сделает вывод true или false. Вот, а теперь представим, что ГГ голый.

Первое условие nil

Второе условие можно интерпретировать так nil:section() -т.е попытку применить функцию объекта к пустоте. Краш!!! Попытка смешать французское с нижегородским в данном случае приводит к печальным результатам! А как?

local outfit_in_slot=db.actor:item_in_slot(7)

if outfit_in_slot~=nil then --если голый валим отсюда, а не узнаём покрой пиджака

if outfit_in_slot:section_name()=="чегототам" then

....................

end

end


Желаю всем удачного модостроения Ростян:-)
Если вы хотите отправить сообщение шлите на Yandayks3003
 
sttt912Дата: Суббота, 30.03.2013, 10:45 | Сообщение # 2
Дизайнер
Группа: Администраторы
Сообщений: 10
Репутация: 2
Замечания: 0%
Статус: Offline
Интересно ...
 
SKORPIONДата: Суббота, 30.03.2013, 18:36 | Сообщение # 3
Опытный
Группа: Модераторы
Сообщений: 6
Репутация: 200
Замечания: 0%
Статус: Offline
Очень даже интересно...
 
Форум » Модостроение » Скриптинг Lua » Скриптеры никогда не делайте так
Страница 1 из 11
Поиск:
Design by Xom & Ростян
Copyright Ростян GSC-MOD
© 2013 - 2017
Авторское право на игру и использованные в ней материалы принадлежит GSC Game World.
Любое использование материалов сайта возможно только с разрешения администрации.
Хостинг от uCoz