Кот ДаWINчи |
09.09.2010 07:14 |
Цитата:
Сообщение от LordJZ
(Сообщение 13776)
А работает просто: в клиентской функции CGlueMgr::Resume запрашивается CVar "serverAlert", который содержит имя константы lua, в которой находится полный адрес, например, http://status.wow-europe.com/ru/alert
|
Попробовал сделать. в data\ruRU\realmlist.wtf добавил две строчки:
Код:
set serverAlert MyAlert
set MyAlert "www.myserver.ru/alert"
клиент полез за новостями на сервер www.myserver.ru. :good:
Но новостей не появилось, хотя через "hosts" новости отдаются нормально. :sorry:
По логам сервера видно, что клиент подключается и ищет 2 папки ru и movies. Создал эти папки. но чего-то клиенту всё ровно не понравилось. :dntknw: Видимо, serverAlert используется не только для вывода новостей.
Буду в свободное время рыть дальше. :read:
Теперь про hosts: (а то после поста в этой теме стали приходить письма в личку)
Для работы с новостями через hosts надо на машине клиента добавить строчку в файл %systemroot%\system32\drivers\etc\hosts
Если адрес вашего сервера 123.45.67.89, то она будет такая:
123.45.67.89 status.wow-europe.com
(ссылка в зависимости от версии клиента может быть разная)
Теперь на сервере можно создать папочку ru
в нее положить 2 файла:
1. .htaccess
PHP код:
RewriteEngine On
RewriteRule ^alert$ al.php
2. al.php
В al.php пишем все новости. Это обычный текстовый файл в utf-8 !!!!!! и начинаться он должен с фразы: SERVERALERT:
Я обычно делаю в нем полноценный скрипт. Вот например такой:
PHP код:
<?php
error_reporting(0);
$db_host = "localhost";
$db_user = "user";
$db_pass = "pass";
$db_realm = "realmd";
$db_world = "characters";
$online = 0;
$ho_online = 0;
$al_online = 0;
$ho_race = array(2 => 0, 5 => 0, 6 => 0, 8 => 0, 10 => 0);
$al_race = array(1 => 0, 3 => 0, 4 => 0, 7 => 0, 11 => 0);
$races = array( 1 => "Human",
3 => "Dwarf",
4 => "Elf",
7 => "Gnome",
2 => "Orc",
5 => "Undead",
6 => "Tauren",
8 => "Troll" ,
10 => 'Blood Elf',
11 => 'Drenai' );
$classes = array(
1 => "Warrior ",
2 => "Paladin ",
3 => "Hunter ",
4 => "Rogue ",
5 => "Priest ",
6 => "DeadKnight ",
7 => "Shaman ",
8 => "Mage ",
9 => "Warlock ",
11 => "Druid " );
$class = array( 1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
7 => 0,
8 => 0,
9 => 0,
11 => 0 );
$link = mysql_connect($db_host,$db_user,$db_pass) or die("Could not connect: " . mysql_error());
mysql_select_db($db_world) or die("Could not select database");
$query = "SELECT * FROM `characters` WHERE `online` = 1";
$result = mysql_query($query) or die("Query failed: " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
$online++;
if(array_key_exists($line***91;'race'***93;, $ho_race)) $ho_online++;
elseif(array_key_exists($line***91;'race'***93;, $al_race)) $al_online++;
if(array_key_exists($line***91;'race'***93;, $ho_race)) $ho_race***91;$line***91;'race'***93;***93;++;
elseif(array_key_exists($line***91;'race'***93;, $al_race)) $al_race***91;$line***91;'race'***93;***93;++;
if(array_key_exists($line***91;'class'***93;, $classes)) $class***91;$line***91;'class'***93;***93;++;
}
mysql_free_result($result);
mysql_close($link);
echo ("SERVERALERT:");
echo ("Total players: ".$online." | ");
echo ("Alliance: ".$al_online." | ");
echo ("Horde: ".$ho_online."
");
foreach($al_race as $race => $count) {
echo (" ".$races***91;$race***93;." - ".$count."
");}
foreach($ho_race as $race => $count) {
echo (" ".$races***91;$race***93;." - ".$count)."
";}
echo (" Classes:
");
foreach($class as $idx => $count) {
echo (" ".$classes***91;$idx***93;." - ".$count."
");}
?>
За скрипт не пинать я его писал года 2 назад...
|