LUA | MTA попытка индексировать глобальное "zoneName" (нулевое значение) - PullRequest
0 голосов
/ 24 марта 2020

Я столкнулся с проблемой в Lua скрипте, на котором я учусь (я новичок в Lua), эта ошибка сильно смутила меня, когда я запускаю код, он выдает следующую ошибку:

attempt to index global "zoneName" (a nil value)

это мой код:

    local zoneName = zoneName:gsub ( "'", "" )  
    if dbExec ( handler, "INSERT INTO `safeZones` (`rowID`, `zoneName`, `zoneX`, `zoneY`, `zoneWidth`, `zoneHeight`) VALUES (NULL, '".. tostring ( zoneName ) .."', '".. tostring ( zoneX ) .."', '".. tostring ( zoneY ) .."', '".. zoneWidth .."', '".. zoneHeight .."');" ) then 
    createSafeZone (            {               [ "zoneName" ] = zoneName,              [ "zoneX" ] = zoneX,                [ "zoneY" ] = zoneY,                [ "zoneWidth" ] = zoneWidth,                [ "zoneHeight" ] = zoneHeight           }       )      
    outputDebugString ( "Safe Zones: Safe zone created name: ".. tostring ( zoneName ) ) 
    return true 
       else        
           return false, "Unable to create the safe zone" 
           end

1 Ответ

0 голосов
/ 26 марта 2020

Вы ссылаетесь на zoneName уже в своем определении, ваш код равен

local zoneName = nil: gsub ("'", "")

, следовательно, ошибка (zoneName еще не определена) когда Lua пытается выполнить zoneName: gsub ()).

Либо определите zoneName перед вызовом gsub (), либо используйте string.gsub ()

...