PL/getPlayerPing: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{Server client function}} __NOTOC__ Ta funkcja zwraca ping określonego gracza. Ping jest liczbą milisekund, dane są przesyłane od gracza-klienta do serwera i odwrotnie. ==...") |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{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ć. | |||
== | ===Wynik=== | ||
Zwraca ping wybranego gracza w postaci [[int|liczby całkowitej]]. Zwraca ''false'', jeżeli gracza nie znaleziono. | |||
Zwraca | |||
==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 | Ten przykład co 5 sekund wyrzuca z serwera graczy, których ping przekroczył 500ms. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function | 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 | end | ||
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 | 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 | 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 | end | ||
addCommandHandler("ping", | addCommandHandler( "ping", sprawdzPing ) -- obowiązkowo podłączamy również funkcję pod commandHandler | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
<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: SerwerTen 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: KlientTen 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ż
- getPlayerTeam
- getPlayerBlurLevel
- setPlayerBlurLevel
- getPlayerSerial
- forcePlayerMap
- getPlayerScriptDebugLevel
- getPlayerFromName
- getPlayerMoney
- getPlayerName
- getPlayerNametagColor
- getPlayerNametagText
- getPlayerPing
- getPlayerWantedLevel
- givePlayerMoney
- isPlayerMapForced
- isPlayerNametagShowing
- setPlayerHudComponentVisible
- setPlayerMoney
- setPlayerNametagColor
- setPlayerNametagShowing
- setPlayerNametagText
- takePlayerMoney
- countPlayersInTeam
- getPlayersInTeam
- isVoiceEnabled
- setControlState
- getControlState