Funkcje


Net:On

Rejestruje wyzwalacz funkcji obsługującej zdarzenie sieciowe dla nazwy eventName.

Przy obsługiwaniu eventu nadanego przez serwer source jest nilem. W takich przypadkach warto skorzystać z funkcji OnServer.
Syntax
--- eventName: string
--- callback: function(source?: number, [, ...]: any)
Net:On(eventName, callback)
Example
Net:On('bl-testmenu:giveMoney', function(source, count)
    local playerInventory = Inventory.Player(source)

    playerInventory.GiveItem('money', count)
end)

Net:OnServer

Rejestruje wyzwalacz funkcji obsługującej zdarzenie sieciowe wewnętrzne(Server -> Server) dla nazwy eventName.

Syntax
--- eventName: string
--- callback: function([, ...]: any)
Net:OnServer(eventName, callback)
Example
Net:OnServer('character:loaded', function()
    Net:EmitNet('bl-chat:updateWorldDescriptions', -1)
end)

Net:Emit

Wykonuje zdarzenie sieciowe dla nazwy eventName w formie wewnętrznej(Server -> Server).

Syntax
--- eventName: string
--- arguments: [, ...]:any
Net:Emit(eventName, [, ...])
Example
Net:Emit('bl-motel:server:requestLeaveInterior', playerSource)

Net:EmitNet

Wykonuje zdarzenie sieciowe dla nazwy eventName w formie zewnętrznej(Server -> Client).

Syntax
--- eventName: string
--- source: string
--- arguments: [, ...]:any
Net:EmitNet(eventName, source, [, ...])
Example
Net:EmitNet('bl-admin:debug:forceDeleteEntity', NetworkGetNetworkIdFromEntity(entity))

Net:OnCallback

Rejestruje wyzwalacz funkcji obsługującej zdarzenie sieciowe dla nazwy eventName. Umożliwia ono odesłanie zwrotnych danych dla klienta wywołującego zdarzenie.

Syntax
--- eventName: string
--- callbackFunction: function(source: number, [, ...]: any)
--- arguments: [, ...]:any
Net:OnCallback(eventName, function(source, callbackFunction, [, ...]))
Example
Net:OnCallback('bl-admin:permissions:get', function(source, cb, object)
    cb(IsPlayerAceAllowed(source, object))
end)

Net:GetPlayersInScope

Fukcja zwraca listę graczy znajdujących się w focus zone gracza źródłowego.

Syntax
--- source: number
local scopePlayers = Net:GetPlayersInScope(source)
--- scopePlayers: number[]
Example
local scopePlayers = Net:GetPlayersInScope(source)
for i=1, #scopePlayers do
    local scopePlayer = scopePlayers[i]
    print(scopePlayers)
end

Net:EmitNetPlayerScope

Wykonuje EmitNet z poziomu serwera dla wszystkich graczy znajdujących się w focus-zone gracza źródłowego.

Syntax
--- source: number
local scopePlayers = Net:GetPlayersInScope(source)
--- scopePlayers: number[]
Example
local scopePlayers = Net:GetPlayersInScope(source)
for i=1, #scopePlayers do
    local scopePlayer = scopePlayers[i]
    print(scopePlayers)
end

Net:IsPlayerInScope

Funkcja zwraca informację czy pierwszy gracz należy do focus-zone drugiego gracza.

Syntax
--- source: number
--- player: number
local retval = Net:IsPlayerInScope(source, player)
--- retval: boolean
Example
local isInScope = Net:IsPlayerInScope(source, player)
print(isInScope)