Приветствую всех форумчан!
Предисловие:
Полазал я по разделу web составляющей, дельного гайда по этой теме не нашёл. Сам я с этим дело никогда не имел и, если честно, представления о реализации данного вопроса тоже не имею.
Так вот собственно и сам вопрос, как разместить на сайте такую статистику как: Онлайн, избранные патры (возможно и другие лампы), статус Login и Zona, топ гильдий по расам, состояние чипов, кол-во игроков по локациям, чипоносец.
Как я понимаю, это делается через заброс в базу и собственно по данному запросу выводится соответствующая инфа. Но как я написал выше, дело с таким я не имел, с базой дружу на вы, с запросами тем более - пока сильно не вникал.
Поделитесь же своим бесценным опытом!
Я конечно не очень шарю в сайтах, но точно без инклуида не обойтись , сначала создаётся отдельный файл в котором приписывается коннект к вашему серверу , а именно его айпи , а в самом пхп скрипте вроде как указывается путь до файла ServerDisplay.ini , что то вроде этого .
$file = file ("C:\RF Online SERVER\ZoneServer\SystemSave\ServerDisplay.ini");
Добавлено через 5 минут
Ещё как вариант , попробуй сделать отдельный файл .php , в него попробуй впиши этот код : Оффтоп
Добавлено через 7 минут
Ну и разумеется на сам сайт надо вывести статистику , в свой index.html вставляешь этот код Оффтоп
<center><iframe src="путь до файла пхп в котором прописан код на вывод статистики онлайна." height="высота" width="ширина" align="left" frameborder="0" scrolling="no"></iframe></center>
Последний раз редактировалось Император; 18.01.2017 в 11:47.
Причина: Добавлено сообщение
Частично решил вопрос. (Сайт на хосте, движок DLE)
Статистику общего онлайна получилось подключить следующим образом:
php файл запихнул в доменное имя от хоста (я так понял, не важно куда его запихать, лишь бы не на родной домен) Оффтоп
PHP код:
<?
$ip="ip"; //ip бд
$user="логин"; //юзер бд
$password="пароль";//пароль бд
$world="RF_WORLD_NOVUS";//база мира
$link=@mssql_connect($ip,$user,$password) or die(mssql_get_last_message());
$DB=@mssql_select_db($world,$link) or die(mssql_get_last_message());
$q=@mssql_query("SELECT COUNT(*) AS count FROM $world.dbo.tbl_general,$world.dbo.tbl_base WHERE $world.dbo.tbl_general.OnlineStatus>=dateadd(minute,-5,getdate()) AND $world.dbo.tbl_base.Serial=$world.dbo.tbl_general.Serial") or die(mssql_get_last_message());
$xq = mssql_fetch_array($q);
$cheat="0"; //накрутка
echo " ";
echo ($xq***91;count***93;+$cheat);
?>
- собственно сам файл любезно предоставленный KATAN12
И вывел его следующим образом Оффтоп
Код HTML:
<iframe src="путь до файла пхп в котором прописан код на вывод статистики онлайна." height="высота" width="ширина" align="left" frameborder="0" scrolling="no"></iframe>
Это подсказал Император)
Правильно я понимаю, что так можно вывести совершенно любую инфу?
Накопал ещё кое что по теме, решил поделиться:
PHP файлик статистики зоны Оффтоп
PHP код:
<?php
$file = file ("путь к файлику сервердисплей.ини");
foreach($file as $line)
{
if(strspn($line, "***91;") != 1)
parse_str($line);
}
function statuscheck($ip,$port){
$fp = fsockopen($ip, $port, $errno, $errstr, 1);
// ----
if ( $fp == FALSE )
{
echo "что если офф";
}
else
{
echo "что если он";
}
fclose($fp);
};
$serverip = "ип сервера";
echo "" . statuscheck($serverip, "27780");
?>
отрыл в темке RF_Game, изменён [Zeto]
____________
Не понял как по аналогии вытащить значение статуса логина...
Как я понял, вывести любое значение можно следующим образом:
дописать:
echo "$UserNum"; - онлайн
echo "$C_Num"; - онлайн кор
echo "$Sette"; - народу в сетке
, а вот статус зоны там как то по другому он берёт... Знает кто, как? Хотелось бы понять и написать аналог для логина
Последний раз редактировалось Maks19971; 21.01.2017 в 12:22.
Накопал ещё кое что по теме, решил поделиться:
PHP файлик статистики зоны Оффтоп
PHP код:
<?php
$file = file ("путь к файлику сервердисплей.ини");
foreach($file as $line)
{
if(strspn($line, "***91;") != 1)
parse_str($line);
}
function statuscheck($ip,$port){
$fp = fsockopen($ip, $port, $errno, $errstr, 1);
// ----
if ( $fp == FALSE )
{
echo "что если офф";
}
else
{
echo "что если он";
}
fclose($fp);
};
$serverip = "ип сервера";
echo "" . statuscheck($serverip, "27780");
?>
отрыл в темке RF_Game, изменён [Zeto]
____________
Не понял как по аналогии вытащить значение статуса логина...
Как я понял, вывести любое значение можно следующим образом:
дописать:
echo "$UserNum"; - онлайн
echo "$C_Num"; - онлайн кор
echo "$Sette"; - народу в сетке
, а вот статус зоны там как то по другому он берёт... Знает кто, как? Хотелось бы понять и написать аналог для логина
Скрипт просто проверят на доступность порта для зоны, сделай аналог для порта логина.