Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
L2Rebellion-Web
#11
О Да.. спасибо за реализацию....
Ответ
#12
А почему именно ета вебка ?
Ответ
#13
APKO Написал:А почему именно ета вебка ?
>>>
Цитата:Я не любитель SW, не буду обьяснять почему, да и не за этим создал тему. Ну по душе мне L2Rebellion-Web )), и другие веб обвязки мне не нужны.

Как реализовать в этом движке вывод Off-trade.

Вот скрипт из index.php, я так понимаю тут вывод статуса логин сервера, гейм и онлайна.

PHP код:
<?php 
// ------- Generating main page -------

$login_isonline=0;
if (@
fsockopen($login_server['addr'],$login_server['port'],$errno,$errstr,0.5)) {
$login_isonline=1;
}
$ls_status=$login_isonline?$conf['login_online']:$conf['login_offline'];
$login_server_stat=t_parse(skn("login_server.html"),get_defined_vars());

$game_servers_stat="";
$game_server_html=file_read(skn("game_server.html"));

$c=count($game_server);
for (
$i=0; $i<$c; $i++) {
if (!isset(
$game_server[$i])) continue;
$game_isonline=0;
if (@
fsockopen($game_server[$i]['addr'],$game_server[$i]['port'],$errno,$errstr,0.5)) {
$game_isonline=1;
}
$conn=db_connect($game_server[$i]['host'],$game_server[$i]['user'],$game_server[$i]['pass']) or db_error("Can't connect to database");
db_select($game_server[$i]['db'], $conn) or db_error("Can't select database ".$game_server[$i]['db']);

$u_query="servers1".$i; // Уникальное имя запроса (нужно для кеширования)
$query=db_query("SELECT COUNT(*) FROM `characters` WHERE online=1 AND accesslevel<5", $conn, true, $conf_cache['mod_servers'], $u_query) or db_error("Не удалось получить данные из базы", $conn);

$online_col=db_respond($query, "result", $u_query);
if (!
$online_col) $online_col=0;
$gs_name=$game_server[$i]['name'];
$gs_status=$game_isonline?$conf['game_online']:$conf['game_offline'];
$gs_type=$game_server[$i]['type'];
$gs_rates=$game_server[$i]['rates'];

$game_servers_stat.=t_parse("",get_defined_vars(), $game_server_html);
if (
$i<$c-1) $game_servers_stat.="<br>";

db_close($conn);
}

// ------------------


у меня сборка стоит revolt-team. они на опенах, опены на фениксах я так понимаю.. значит запрос такой:

Код:
SELECT COUNT(*) FROM character_variables WHERE name = 'offline'

Как его встроить? подскажите!!!
Ответ
#14
Лучше получать онлайн через порт геймсервера:
PHP код:
<?php 
function getStatus($ip, $port, $timeout = 15)
{
$fp = @fsockopen($ip, $port, $errno, $errstr, $timeout);
if(!
is_resource($fp)) return false;
fwrite($fp, pack("vCi",6, 0, -3));
$data = fread($f, 71);
if(
strlen($data) < 71) return false;
fclose($fp);
return
unpack("vsize/Cid/iworld/imax/icurrent/iplaying/istore/iconst_2C30/ix1/ix2/ix3/ix4/ix5/ix6/iz1/iz2/ix7/iconst_0/iconst_2", $data);
}

// example
$array = getStatus('127.0.0.1', 7777);
echo
"Server online(playing/store) - {$array['playing']}/{$array['store']}";
На выходе массив где playing - играющие, store - магазины и т.п..
Ответ
#15
Тема весьма полезная, думаю как вариант её закрепить стоит.
Ответ
#16
а встроить отдельно разве нельзя?
Ответ
#17
срочно нужен модуль robokassa под L2Rebellion-Web
модуль восстановления пароля
при регистрации сделать подтверждение email адреса
возможно еще какие то мелочи.
естественно не за бесплатно.
icq: сорок пять - 666 - пять - 666
Ответ
#18
Сами себе приключения ищите. Готовое решение приобретать не хотите, а платить за модуль который вам выйдет минимум в 100 долларов (ибо под заказ) вам по душе.
Ответ
#19
где готовое решение???
Ответ
#20
fcsm2005;143430 Написал:где готовое решение???
Это была небольшая реклама stressweb'a.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)