Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Generator monitoringu, nowy obrazek gdy serwer jest offline

php

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 sebo97

    Zaawansowany

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:75
  • Lokalizacja:Łomża
Offline

Napisano 06.03.2013 18:00

Siema, mam zainstalowany u siebie na stronie ten skrypt: http://amxx.pl/topic...oringu-serwera/

I mam pytanie, jak zrobić, że gdy serwer jest offline, to żeby zamiast domyślnego tła, było inne. I jak jest offline, to żeby na tym tle nie było żadnych napisów. Jak jest offline, to usuwa napisy i zmienia tło. Pomógłby ktoś coś takiego zrobić?

@edit

i jeszcze jak zrobić, że jak nazwa serwera jest dłuższa niż x znaków to dopisuje trzy kropeczki "..." tak jak to jest na GT

Użytkownik sebo97 edytował ten post 06.03.2013 18:08

  • +
  • -
  • 0

#2 horiks

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:Łódź
Offline

Napisano 06.03.2013 20:00

Co do tła to wejdź w status/status.php i

// utworzenie obrazka z tla
$im = imagecreatefrompng("status/background.png");
// kolor bialy
zmień na:
// utworzenie obrazka z tla
if($s1_info['hostname']=="")
{
$im = imagecreatefrompng("status/tutaj.nazwa.obrazka.gry.serwer.jest.offline.png");
}
else
{
$im = imagecreatefrompng("status/tutaj.gdy.jest.online.png");
}
// kolor bialy

Użytkownik horiks edytował ten post 06.03.2013 20:01

  • +
  • -
  • 0

#3 Leihto

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:452
  • Lokalizacja:Rabka
Offline

Napisano 06.03.2013 23:46

Ogólnie to zrobił bym to zupełnie inaczej, ale niech będzie wg tego skryptu..

zamień zawartość pliku status.php na tą:
<?php
/**
*
* Graficzny tatus serwerow opartych na protokole Half Life oraz Half Life 2
* Autorem klasy jest: Herwin Weststrate aka Hdez - [email protected]
* Wersja: 1.0
* copyright (c) 2010 Fragles.eu
* [email protected]
* http://opensource.org/licenses/gpl-license.php GNU Public License
* Zezwalam na użytkowanie, modyfikowanie ale nie na sprzedawanie!
*
*/
// sciezka do pliku z klasa
require_once('status/class.hlsocket.php');

// przykladowe czcionki
define('TEMPESTA', 'status/fonts/tempesta.ttf');
define('TAHOMA',	'status/fonts/tahoma.ttf');
define('VERDANA',	'status/fonts/verdana.ttf');
define('TAHOMA_BOLD',	'status/fonts/tahoma_bold.ttf');

// przyporządkowujemy zmienna do zmiennej globalnej
$server = $_GET['server'];

// Jesli jest pusty to nie zajmujemy sie ip oraz portem
if (isset($server) && !empty($server)) {

	// podzielenie adresu na ip oraz port
	list($ip, $port) = explode(":", $server);

	// nowy obiekt klasy HLSocket oraz pobranie info z serwera
	$s1_status 	= new HLSocket($ip, $port);
	$s1_info	= $s1_status->details();
	
	/**
	* rozpatrujemy dwa przypadki
	* 1 - serwer offline bo nie ma nazwy serwera
	* 2 - serwer online
	*/
	if($s1_info['hostname']=="") 
	{
		$hostname = 'Serwer '.$server.' jest OFFLINE';
		$players = "x";
		$playersmax = "x";
		$map = "OFFLINE";
		
		$bg = "status/background.png";
	} 
	else 
	{
		$hostname = ( strlen( $s1_info['hostname'] ) > 29 ) ? substr( $s1_info['hostname'], 0, 27 ) . "..." : $s1_info['hostname'];
		$players = $s1_info['players'];
		$playersmax = $s1_info['max'];
		$map = $s1_info['map'];
		
		$bg = "status/background_online.png";
	}

	
	// utworzenie obrazka z tla
	$im = imagecreatefrompng( $bg );
	// kolor bialy
	$white = imagecolorallocate($im, 255, 255, 255);
	// polaczenie informacji do jednej zmiennej
	$info = $server ."   ". $players ." / ". $playersmax ."   ". $map;
	// gorny rzad, nazwa serwera
	imagettftext($im, 7, 0, 30, 10, $white, VERDANA, $hostname);
	// dolny rzad, ip serwera, gracze, mapa
	imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info);
	
} else {
	$im = imagecreatefrompng("status/background.png");
	$white = imagecolorallocate($im, 255, 255, 255);
	$info = "123.456:27015     31 / 32     de_inferno";
	imagettftext($im, 7, 0, 30, 10, $white, VERDANA, "Fragles.eu [TESTOWY SERWER] @ fragles.eu");
	imagettftext($im, 7, 0, 30, 21, $white, VERDANA, $info);
}

// okreslenie typu zawartosci
header('Content-type: image/png');
imagepng($im);
imagedestroy($im); 
?>

  • +
  • -
  • 0
Portek: Za 20zł, to ja nawet notatnika nie otworze..

Nowe portfolio. Ciekawe artykuły, ciekawe przykłady: WojtusDEV.pl





Również z jednym lub większą ilością słów kluczowych: php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych