Как импортировать папки с Lua - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблема с одним из моих скриптов, я пытаюсь загрузить файл во время работы скрипта, но у меня появляется сообщение об ошибке, в котором говорится, что он не находит ни одного файла с именем, которое я дал.

Вот когда я ставлю условие для загрузки файла:

function checkAll()
    if (global:getCountFight() >= (LAST_NB_FIGHT+MAX_FIGHT)) then
        LAST_NB_FIGHT = global:getCountfight() 
        printMsg("Déconnecte le personnage pendant "..SLEEP_TIME.." heure(s)")
        global:reconnect(SLEEP_TIME)
    elseif (character:level()<8) then
        goHomeAndLoadTrajet("[Combat] Bouftous")
        setMinMonsters(1)
        setMaxMonsters(8)
        setForceMonsters({}) 
        SLEEP_LVL = 50
        SLEEP_TIME = 6

Вот что вызывает функция goHomeAndLoadTrajet:

function goHomeAndLoadTrajet(trajetName)
    trajetName = checkTrajetName(trajetName)
    if trajetName ~= u_NEXT_TRAJET and trajetName ~= LAST_TRAJET then
        u_NEXT_TRAJET = trajetName
        goHome()
    end
end

Который вызывает:

function checkTrajetName(trajetName)
    if (file_exists(INCLUDES_PATH..trajetName)) then
        return trajetName
    elseif (file_exists(INCLUDES_PATH..trajetName..".lua")) then
        return trajetName..".lua"
    else
        printMsg("Le trajet '"..trajetName.."' n'existe pas !", "ERREUR")
        return
    end

И, наконец, вызывает:

function file_exists(name)
   local f=io.open(name,"r")
   if f~=nil then io.close(f) return true else return false end
end

Так что теперь я в замешательстве .. Спасибо :)

РЕДАКТИРОВАТЬ: INCLUDES_PATH - это переменная, которая содержит мой путь,
INCLUDES_PATH = "C:\\Program Files (x86)\\SnowbotTouch\\Scripts Lua\\Trajets\\includes\\"

1 Ответ

0 голосов
/ 08 апреля 2020

Вам не нужно угадывать, что может быть не так; вам просто нужно вывести сообщение об ошибке из io.open вызова:

function file_exists(name)
   local f, err =io.open(name,"r")
   if f~=nil then
     io.close(f)
   else
     print(err)
   end
   return f~=nil
end

В сообщении об ошибке будет указано имя файла, поэтому он должен однозначно сообщить вам, если есть проблема с именем файла, разрешениями или что-то еще.

...