Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RCON Player Info


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Code:

                public function GetPlayers( )
                {
                        if( !$this->Connected )
                        {
                                throw new SocketException( 'Not connected.', SocketException::NOT_CONNECTED );
                        }
                       
                        $this->GetChallenge( self::A2S_PLAYER, self::S2A_PLAYER );
                       
                        $this->Socket->Write( self::A2S_PLAYER, $this->Challenge );
                        $Buffer = $this->Socket->Read( 14000 ); // Moronic Arma 3 developers do not split their packets, so we have to read more data
                        // This violates the protocol spec, and they probably should fix it: https://developer.valvesoftware.com/wiki/Server_queries#Protocol
                       
                        $Type = $Buffer->GetByte( );
                       
                        if( $Type !== self::S2A_PLAYER )
                        {
                                throw new InvalidPacketException( 'GetPlayers: Packet header mismatch. (0x' . DecHex( $Type ) . ')', InvalidPacketException::PACKET_HEADER_MISMATCH );
                        }
                       
                        $Players = [];
                        $Count  = $Buffer->GetByte( );
                       
                        while( $Count-- > 0 && $Buffer->Remaining( ) > 0 )
                        {
                                $Player[ 'Id' ]      = $Buffer->GetByte( ); // PlayerID, is it just always 0?
                                $Player[ 'Name' ]    = $Buffer->GetString( );
                                $Player[ 'Frags' ]  = $Buffer->GetLong( );
                                $Player[ 'Time' ]    = (int)$Buffer->GetFloat( );
                                $Player[ 'TimeF' ]  = GMDate( ( $Player[ 'Time' ] > 3600 ? "H:i:s" : "i:s" ), $Player[ 'Time' ] );
                               
                                $Players[ ] = $Player;
                        }
                       
                        return $Players;
                }



health, deaths, weapons How do I add?


$Player[ 'Health' ] = ?
$Player[ 'Deaths' ] = ?
$Player[ 'Weapon' ] = ?

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×
×
  • Dodaj nową pozycję...