-1

在我正在创建的框架项目中,我遇到了以下问题:

我有一个Player有各种方法的类,其中之一是GetIdentifier().

我导出了ZMan命名空间以便能够在其他资源中使用它(正如游戏所称的那样),我能够使用ZMan命名空间中的每个方法,而不会出现问题。

但是当我去获取播放器实例,然后使用播放器方法时,我会得到奇怪的行为。相关代码:

    -- Another resource, including the ZMan export
    Citizen.CreateThread(function()
      Wait(1500) -- Wait for the table to be filled
    
      for k, v in pairs(ZMan.GetPlayers()) do
        local Player = ZMan.Get(k) -- Get the player instance
        print(Player:GetIdentifier()) -- Prints the identifier, works fine.
      end
    end)
    
    -- Base resource (framework)

    ZMan.Get = function(src)
      if ZMan.Players[src] ~= nil then
        return ZMan.Players[src] -- Returns the class instance of this player
      end
    
      Utils.Logger.Debug(("Cannot get ~green~%s's~white~ object! Doesn't exist on ~lblue~Players~white~ table!"):format(src))
    end

播放器类:https ://github.com/iWanheda/zm-core/blob/main/framework/server/classes/player.lua

整个代码可以在@https ://github.com/iWanheda/zm-core/找到

第一个代码在基础资源(框架)上运行良好,但在其他资源上不起作用,这很奇怪,因为除了 Player 类的方法之外,其他一切都正常。

提前致谢。

4

1 回答 1

0

我的问题是我使用:而不是调用方法.,现在已修复。

于 2021-09-08T21:01:38.293 回答