Progetto H — Riferimento API Documentazione & Scripting

Funzioni & API Esportate 4

MetaCore.Player.get

Server
MetaCore.Player.get(playerOrId)
Restituisce l'istanza MetaPlayer in memoria associata al player o runtime ID specificato.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
playerOrId Player | number Obbligatorio Istanza Player nativa o ID runtime di nanos world.

Valore di Ritorno

MetaPlayer | nil — Istanza del MetaPlayer o nil se non trovato.

Esempio d'Uso

Esempio Lua
local metaPlayer = MetaCore.Player.get(player)
if metaPlayer then
    Console.Log("Nome: %s %s, Gruppo: %s", metaPlayer:getFirstname(), metaPlayer:getLastname(), metaPlayer:getGroup())
end

MetaCore.Player.getBySteamId

Server
MetaCore.Player.getBySteamId(steamId)
Cerca e restituisce il MetaPlayer corrispondente allo SteamID a 64 bit.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
steamId string Obbligatorio SteamID numerico a 64 bit.

Valore di Ritorno

MetaPlayer | nil — Istanza MetaPlayer o nil.

Esempio d'Uso

Esempio Lua
local metaPlayer = MetaCore.Player.getBySteamId("76561198000000000")

MetaCore.Callback.register

Server
MetaCore.Callback.register(name, handler)
Registra una funzione RPC asincrona sul server invocabile dai client con correlazione ID univoca.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
name string Obbligatorio Nome identificativo della callback.
handler function(player, args, cb) Obbligatorio Funzione gestore: riceve player, argomenti e funzione cb(risultato, errore).

Valore di Ritorno

void — Nessun valore di ritorno.

Esempio d'Uso

Esempio Lua
MetaCore.Callback.register("inventario:getOggetti", function(player, args, cb)
    local metaPlayer = MetaCore.Player.get(player)
    if not metaPlayer then return cb(nil, "Player non valido") end
    
    MetaMySQL.Query("SELECT * FROM inventory WHERE user_id = :0", { metaPlayer:getId() }, function(rows, err)
        if err then return cb(nil, err) end
        cb(rows, nil)
    end)
end)

MetaCore.Callback.call

Client
MetaCore.Callback.call(name, args, callback)
Invia una richiesta RPC al server e attende la risposta asincrona.

Parametri & Opzioni

Parametro Tipo Stato Descrizione
name string Obbligatorio Nome della callback registrata sul server.
args any Opzionale Parametri da inviare al server.
callback function(result, err) Obbligatorio Callback eseguita alla ricezione della risposta.

Valore di Ritorno

void — Nessun valore di ritorno.

Esempio d'Uso

Esempio Lua
MetaCore.Callback.call("inventario:getOggetti", {}, function(oggetti, err)
    if err then return Console.Error("Errore RPC: %s", err) end
    Console.Log("Oggetti trovati: %d", #oggetti)
end)