1

我正在关注关于 Lua 的教程,专门用于在游戏 Garry's Mod 中制作游戏模式。我已经看了一段时间了,我根本找不到问题所在。

function ply:databaseFolders()
   return "server/example/players/" .. self:ShortSteamID() .. "/"    --ref. A
end


function ply:databasePath()
   return self:databaseFolders() .. "database.txt"    --ERROR line here, goes up
end


function ply:databaseExists()
   local f = file.Exists(self.databasePath(), "DATA")    --goes up here
   return f
end


function ply:databaseCheck()
   self.database = {}
   local f = self:databaseExists()     --goes up here
   ...
end


function GM:PlayerAuthed(ply, steamID, uniqueID)
   ply:databaseCheck()                                         --goes up here
   print("Player: " .. ply:Nick() .. " has gotten authed.")
end

代码总结:我想在上面的目录下创建一个database.txt文件。

Edit1:当所有玩家离开游戏时,参考。到达 A,但在目录中没有创建文件。

4

1 回答 1

2

当您调用函数databasePath时,您没有使用 OOP 语法;因此self不会隐式传递给函数。从此,错误。更改以下内容:

function ply:databaseExists()
   local f = file.Exists(self:databasePath(), "DATA")
   -- notice the use of ---> : <--- here
   return f
end
于 2014-08-10T02:44:52.067 回答