Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

LUA ошибки в консоли и их расшифровка

Статус
В этой теме нельзя размещать новые ответы.

Neon

Создатель
Команда форума
Регистрация
9 Фев 2013
Сообщения
1,395
Реакции
4
Баллы
49
В этой теме я научу читать и понимать ошибки, возникающие в коде от криворукости из-за невнимательности.
1. Разбор структуры ошибок. Структура у всех ошибок одинаковая и состоит из названия файла, строки, описания ошибки и трассировки ошибки.
Рассмотрим на примере
Код:
[ERROR] addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua:119: Tried to use a NULL entity!
1. SetModel - [C]:-1
2. SpawnEntity - addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua:119
3. LeftClick - addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua:142
4. unknown - gamemodes/sandbox/entities/weapons/gmod_tool/shared.lua:251
Название файла - где произошла ошибка:
Код:
addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua
Строка ошибки: 119
Описание ошибки: Tried to use a NULL entity!
Трассировка - показывает какие функции и в каких файлах предшествуют нашей ошибке:
Код:
1. SetModel - [C]:-1
2. SpawnEntity - addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua:119
3. LeftClick - addons/ttt weapon placer/lua/weapons/gmod_tool/stools/tttweaponplacer.lua:142
4. unknown - gamemodes/sandbox/entities/weapons/gmod_tool/shared.lua:251
2. Описания ошибок. Чтобы понять как решить задачу, нам надо понять что произошло. В этом нам всегда помогает описание ошибки. Ниже я привожу типичные описания ошибок, наиболее часто встречающихся при разработке. (Список не полный и я буду рад вашим дополнениям)
  • Tried to use a NULL entity! - означает, что пытаешься использовать несуществующую энтити. Проверь что у тебя в переменной.
  • Tried to use a NULL physics object! - вызванная энтити пытается быть физичной, но у неё нет модели.
  • attempt to index global 'MutantSpawns' (a nil value) - попытка использовать в коде неинициализированную переменную. Проще говоря, переменная пуста, а к ней происходит обращение.
  • bad argument #1 to 'FindByClass' (string expected, got userdata) - неверный аргумент №1. Там должна быть строка, а получена userdata.
  • bad argument #1 to 'pairs' (table expected, got nil) - тоже неверный аргумент, должна быть таблица, а получено нулевое значение.
  • bad argument #1 to 'JSONToTable' (string expected, got no value) - ещё одна похожая херня, должна быть строка, а получено нулевое значение.
  • attempt to compare nil with number - сравнение числа и нулевой переменной.
  • table index is nil - попытка обращения к нулевому элементу.
  • Couldn't include file 'shared.lua' (File not found) - не найден файл shared.lua
  • Calling net.Start with unpooled message name! [http://goo.gl/qcx0y] - попытка вызвать функцию net.Start с неизвестным идентификатором. Решается строкой util.AddNetworkString("ваш идентификатор")
3. Отсутствие ошибок.
Бывают случаи, когда не понятно почему не запускается сам мод. Такое случается когда в коде происходит фатальная ошибка и мод вообще не загружается. Это можно определить по такой строке:
Код:
Couldn't Load Init Script: 'darkrp/gamemode/init.lua'
В этом случае необходимо проверить последние изменения в коде и отменить их при необходимости. Скорее всего дело в пропущенных скобках, нарушающих синтаксис.

Если же сам мод работает, а не запускается определённые аддоны, то это может быть следствием:
  • перекрытия кода (переопределение переменных, функций и пр. в этом или другом файле)
  • файл со скриптом не был подключен
  • нефатальное нарушение синтаксиса
 
Последнее редактирование:
  • Хорошо "0"
Реакции: CBAT
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу