Skocz do zawartości

Hosting dHosting.pl - 10% rabat! :-)

WSPIERAJ forum :)

X3nO

Inicjowanie GameQ 3 w aplikacji IC4.2

Rekomendowane odpowiedzi

Witam, mam problem odnośnie skryptu GameQ 3. Próbuję go zainicjować do mojej aplikacji stworzonej dla Invision Community 4.2, lecz mam błąd Class 'IPS\game\loadGameQ' not found . Wzorowałem się na Server List. Mój kod:

/applications/game/sources/loadGameQ.php:

<?php

namespace IPS\game;

if(!defined('\IPS\SUITE_UNIQUE_KEY'))
{
	header((isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0').' 403 Forbidden');
	exit;
}

class _loadGameQ
{
	public function __construct()
	{
		require_once str_replace('loadGameQ', 'GameQ/Autoloader.php', __DIR__);
	}

	public function queryGameServer() 
	{
		try
		{
			$servers = [
			    [
				    'type'    => 'cs16',
				    'host'    => '145.239.16.78:27015',
			    ],
			    [
				    'type'    => 'cs16',
				    'host'    => '145.239.16.123:27015',
			    ],
			    [
				    'type'    => 'teamspeak3',
				    'host'    => '147.135.197.111',
				    'options' => [
				        'query_port' => 10011,
				    ]
				]
			];

			$gq = new \GameQ\GameQ();
			$gq->addServers($servers);
			$gq->setOption('timeout', \IPS\DEFAULT_REQUEST_TIMEOUT);

			$results = $gq->process();
			return $results;
		}

		catch(\Exception $exception)
		{
			\IPS\Log::log($exception, 'serverlist_query');
		}
	}
}

/applications/game/widgets/serverMonitor.php

<?php

namespace IPS\game\widgets;

if (!defined('\IPS\SUITE_UNIQUE_KEY'))
{
	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
	exit;
}

class _serverMonitor extends \IPS\Widget
{
	public $key = 'serverMonitor';
	public $app = 'game';
	public $plugin = '';

	public function init()
	{
		$this->library = \IPS\Application::load('game');
		parent::init();
		$GameQ = new \IPS\game\loadGameQ;
	}

	public function render()
	{
		$results = 'nic';
		
		return $this->output($results);
	}
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na szybko na tablecie to parent::init() daj niżej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Aj, masz to umieścić w takim folderze:

/applications/game/sources/loadGameQ/loadGameQ.php

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No ale jaką klasę ta rozszerza?

class _loadGameQ
{

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
W dniu 11.03.2018 o 14:37, DawPi napisał:

No ale jaką klasę ta rozszerza?


class _loadGameQ
{

 

A jaką powinienem rozszerzać? W pliku z aplikacji Server List nic nie rozszerza, mogę wysłać na PW bo nie wiem czy mogę go udostępniać

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Podeślij. Z folderem dev.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×