PL/getPlayerPing: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Server client function}}
__NOTOC__
__NOTOC__
Ta funkcja zwraca ping określonego gracza. Ping jest liczbą milisekund, dane są przesyłane od gracza-klienta do serwera i odwrotnie.  
{{PL/Shared function}}
Dzięki tej funkcji możesz pobrać aktualny stan pingu danego [[player|gracza]]. Ping to inaczej liczba milisekund, określająca ile czasu zajmuje transmisja pakietów danych wysyłana z klienta na serwer (oraz vice versa).


==Składnia==
==Składnia==
<syntaxhighlight lang="lua">int getPlayerPing ( player thePlayer )</syntaxhighlight>
<syntaxhighlight lang="lua">int getPlayerPing ( player thePlayer )</syntaxhighlight>
{{PL/OOP||[[player]]:getPing|ping|}}
===Wymagane argumenty===
*'''thePlayer''': Element [[player|gracza]], którego ping chcesz zmierzyć.


==Wymagane argumenty==
===Wynik===
*'''thePlayer''': [[PL/player|Gracz]], którego ping chcesz pobrać.
Zwraca ping wybranego gracza w postaci [[int|liczby całkowitej]]. Zwraca ''false'', jeżeli gracza nie znaleziono.
 
==Zwracanie==
Zwraca ping jako liczbę lub ''false'' jeżeli podano błędnego gracza.
 


==Przykłady==
==Przykłady==
<section name="Serwer" class="server" show="true">
<section name="Przykład nr 1: Serwer" class="server" show="true">
Ten przykład sprawdza ping każdemu graczowi, który wejdzie na serwer oraz informuje go jeżeli ping jest wyższy niż 100 .
Ten przykład co 5 sekund wyrzuca z serwera graczy, których ping przekroczył 500ms.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function checkPing()
function sprawdzPingi() -- tworzymy funkcję...
local ping = getPlayerPing(source)   -- sprawdzamy ping
  for _, gracz in ipairs( getElementsByType("player") ) do -- ...a w niej pętlę 'for' sprawdzającą wszystkich graczy...
if (ping > 100) then                 -- sprawdzamy czy jest wyższy niż 100
      if ( getPlayerPing( gracz) >= 500 ) then -- ...i jeżeli ping któregoś z nich przekroczy 500...
outputChatBox("Twój ping jest zawysoki("..ping..")! Spróbuj go zmniejszyć.", source) -- wysyłamy wiadomość
        kickPlayer( gracz, "Twój ping jest zbyt wysoki (ponad 500)!" ) -- ...to wyrzucamy go z serwera
end
      end
  end
end
end
addEventHandler("onPlayerJoin", getRootElement(), checkPing) -- podpinamy event handler
setTimer( sprawdzPingi, 5000, 0 ) -- nie zapominamy również o timerze, który będzie wywoływał naszą funkcję co 5s
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>


<section name="Klient" class="client" show="true">
<section name="Przykład nr 2: Klient" class="client" show="true">
Ten przykład sprawdza ping każdemu graczowi, który wpisze komendę ''ping''.
Ten przykład dodaje komendę o nazwie 'ping', która będzie sprawdzać ping gracza, i jeżeli przekroczy on 100ms - gracz zostanie o tym poinformowany.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function checkPing()
function sprawdzPing() --tworzymy funkcję, w której...
        local ping = getPlayerPing(getLocalPlayer()) -- sprawdzamy ping
  local ping = getPlayerPing( getLocalPlayer() ) -- ...sprawdzamy ping gracza...
        if (ping > 100) then                         -- sprawdzamy czy jest wyższy niż 100
  if ( ping > 100 ) then -- ...i jeżeli przekroczy on 100...
                outputChatBox("Twój ping jest zawysoki("..ping..")! Spróbuj go zmniejszyć.") -- wysyłamy wiadomość
      outputChatBox( "Twój ping jest dosyć wysoki (ponad 100), postaraj się go zmniejszyć." ) -- ...informujemy o tym gracza
        end
  end
end
end
addCommandHandler("ping", checkPing)
addCommandHandler( "ping", sprawdzPing ) -- obowiązkowo podłączamy również funkcję pod commandHandler
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
--[[User:MACIEKW89|MACIEKW89]] 01:51, 21 December 2013 (UTC)MACIEKW89
 
<br/>
''Autor: [[User:GabWas|GabWas]]; utworzono: 13:01, 21 Lip 2016 (CEST)''
<br/>''Author: [[User:GabWas|GabWas]]; created: 11:01, 21 Jul 2016 (UTC)''
 
==Zobacz również==
{{Player functions}}
[[en:getPlayerPing]]
[[ru:getPlayerPing]]

Latest revision as of 09:24, 11 April 2018

Dzięki tej funkcji możesz pobrać aktualny stan pingu danego gracza. Ping to inaczej liczba milisekund, określająca ile czasu zajmuje transmisja pakietów danych wysyłana z klienta na serwer (oraz vice versa).

Składnia

int getPlayerPing ( player thePlayer )

Składnia OOP Pomocy, nie rozumiem!

Metoda: player:getPing(...)
Wartość: .ping

Wymagane argumenty

  • thePlayer: Element gracza, którego ping chcesz zmierzyć.

Wynik

Zwraca ping wybranego gracza w postaci liczby całkowitej. Zwraca false, jeżeli gracza nie znaleziono.

Przykłady

Click to collapse [-]
Przykład nr 1: Serwer

Ten przykład co 5 sekund wyrzuca z serwera graczy, których ping przekroczył 500ms.

function sprawdzPingi() -- tworzymy funkcję...
   for _, gracz in ipairs( getElementsByType("player") ) do -- ...a w niej pętlę 'for' sprawdzającą wszystkich graczy...
      if ( getPlayerPing( gracz) >= 500 ) then -- ...i jeżeli ping któregoś z nich przekroczy 500...
         kickPlayer( gracz, "Twój ping jest zbyt wysoki (ponad 500)!" ) -- ...to wyrzucamy go z serwera
      end
   end
end
setTimer( sprawdzPingi, 5000, 0 ) -- nie zapominamy również o timerze, który będzie wywoływał naszą funkcję co 5s
Click to collapse [-]
Przykład nr 2: Klient

Ten przykład dodaje komendę o nazwie 'ping', która będzie sprawdzać ping gracza, i jeżeli przekroczy on 100ms - gracz zostanie o tym poinformowany.

function sprawdzPing() --tworzymy funkcję, w której...
   local ping = getPlayerPing( getLocalPlayer() ) -- ...sprawdzamy ping gracza...
   if ( ping > 100 ) then -- ...i jeżeli przekroczy on 100...
      outputChatBox( "Twój ping jest dosyć wysoki (ponad 100), postaraj się go zmniejszyć." ) -- ...informujemy o tym gracza
   end
end
addCommandHandler( "ping", sprawdzPing ) -- obowiązkowo podłączamy również funkcję pod commandHandler


Autor: GabWas; utworzono: 13:01, 21 Lip 2016 (CEST)
Author: GabWas; created: 11:01, 21 Jul 2016 (UTC)

Zobacz również