Меню сайта
Категории каталога
Патчи(patches)
Модификации(моды)
карты(map)
Разное
Мини-чат
Наш опрос
Ы???
Всего ответов: 736
Другие кланы
Главная » Файлы » Разное

upd ↑ Исходник примитивной online-статистики stalker
[ ] 06.04.2009, 16:27

Обновлено и перезалито

Исходник online-статистики stalker. Пример работы можно видеть на этом сайте. Работает для online_dump.ltx, в котором включена ротация всех карт (включая mp_industrial). В противном случае, если настройки запуска сервера не удовлетворяют вышеописанным условиям, статистика работать не будет.

Категория: Разное | Добавил: [doom]Aiwentoor
Просмотров: 3295 | Загрузок: 82 | Комментарии: 28
Всего комментариев: 271 2 »
27 VOLK7488  
0
куда этот код пихать в CSS или конструктор

26 Dan  
0
У меня для вас хорошие новости. Проблема с квадратными скобками решена smile Помогли на одном из форумов программистов, за что им низкий поклон. Как всегда делюсь кодом:

[code]<?php
$dump = ("c:/Documents and Settings/All Users/Документы/STALKER-STCS/logs/mp_stats/stalker/online_dump.ltx");
$fields = array ('player_name', 'best_killer');
$file = file_get_contents($dump);
$file = explode ("\n", $file);
$new_array = array();
$new_key = '0';
if (!empty($file))
{
foreach ($file as $string)
{
if (!empty($string))
{
$elements = explode ("=", $string);
if ($elements[0] == $string)
{
$new_key = $elements[0];
}
else
{
$elements[0] = trim($elements[0]);
$elements[1] = trim($elements[1]);
$new_array[$new_key][$elements[0]] = (in_array($elements[0], $fields)) ? "\"{$elements[1]}\"" : $elements[1];
}
}
}
}
$s = '';
if (!empty($new_array))
{
foreach ($new_array as $key=>$blok)
{
$s .= "{$key}\n";
foreach ($blok as $name=>$value)
{
$s.=" {$name} = {$value}\n";

}
}
}
file_put_contents('c:/Documents and Settings/All Users/Документы/STALKER-STCS/logs/mp_stats/stalker/r_online_dump.ltx', $s);
?>[/code]
Здесь дописываются двойные кавычки к имени игрока, а затем файл сохраняется под именем r_online_dump.ltx с которым мы в дальнейшем и будем работать. Остальной код почти такой же, что я выкладывал ранее, за исключением некоторых совпадающих переменных и самого файла online_dump.ltx но я думаю вы с этим разберетесь smile Если возникнут какие-нибудь вопросы, то спрашивайте.


21 Dan  
0
По поводу квадратных скобок, то эта проблема решаема... Сейчас к сожалению времени нет на нормальную реализацию, но тем не менее
http://www.imageup.ru/img16/qwer154044.jpg.html

22 [doom]Aiwentoor  
0
ваш вариант лучше smile

23 LogOFF7798  
0
А улучшать не собираетесь? И как ее переделать для Теней Чернобыля?

24 [doom]Aiwentoor  
0
свободного времени на улучшения и доработку нет.
для теней чернобыля есть статистика у команды 9м
http://9m-team.ru/

25 LogOFF7798  
0
Спасибо вам и особенно Dan'у подредактировал его версию, отлично работает, за исключением скобок в имени.

20 Dan  
0
Как и обещал делюсь своим кодом smile Правда пришлось разбить на несколько частей.
Часть I
[code]
<?php
$ltx = parse_ini_file("c:/Users/Public/Documents/STALKER-STCS/logs/mp_stats/stalker/online_dump.ltx", true); //для Vista
$time = $ltx['global']['round_time_sec'] / 60;
$time = round($time);
$anomalies = $ltx['global']['anomalies'];
$warmup = $ltx['global']['in_warmup'];
echo "<br>Режим игры: {$ltx['global']['game_mode']}";
echo "<br>Текущая карта: {$ltx['global']['current_map_name']}";
if ($anomalies == 0) {
echo "<br>Аномалии: Откл.";
} elseif ($anomalies == 1) {
echo "<br>Аномалии: Вкл.";
}

if ($warmup == 0) {
echo "<br>Разогрев: Откл.";
} elseif ($warmup == 1) {
echo "<br>Разогрев: Вкл.";
}
echo "<br>Игроки on-line: {$ltx['global']['players_total_cnt']}";
echo "<br>Время от начала раунда (в минутах): $time";
echo "<br>Лучший убийца: {$ltx['global']['best_killer']}";
echo "<br>Ограничение по убийствам: {$ltx['global']['fraglimit']}";
echo "<br>Ограничение по времени (в минутах): {$ltx['global']['timelimit_mins']}";
echo "<br><table width='700';>\n";
echo " <br><tr style='text-align: center;font-family: tahoma; font-size: 12;font-weight: bold; background-color: #FFFCE7;'>\n";
echo " <td>Имя</td>\n";
echo " <td>Ранг</td>\n";
echo " <td>Команда</td>\n";
echo " <td>Убийств</td>\n";
echo " <td>Убийств в голову</td>\n";
echo " <td>Убийств в глаз</td>\n";
echo " <td>Смерти</td>\n";
echo " <td>Эффективность</td>\n";
echo "</tr>\n";
?>
[/code]


19 [doom]Aiwentoor  
0
Code
[code]Код программы
[/code]

http://doom-clan.ucoz.ru/index/17


17 Dan  
0
Уж извините меня, но помоему это мазахизм считать кол-во строк в online_dump.ltx проще пользоваться parse_ini_file
Я бы с радостью выложил бы здесь свой код, но к сожалению он превышает 5000 символов, поэтому если подскажете как выложить с радостью поделюсь smile

18 [doom]Aiwentoor  
0
parse_ini_file с нормальными ини-файлами тока работает. а тут не совсем ини-файл. если в нике квадратные скобки, то ваш вариант уже не будет работать. я в php херово разбираюсь, вот что сумел сделать, то и сделал )). уверен на 100% что есть гораздо более удобный способ.

15 WWW2567  
0
Люди! Как это поставить! Подскажите!

16 [doom]Aiwentoor  
0
всё ж по русски написано ниже, если чего не понял - спрашивай не стесняйся

13 [Наём]Магнум  
0
А как её вобще ставить на сайт?

14 [doom]Aiwentoor  
0
wacko

12 [doom]Aiwentoor  
0
наша статистика становицца популярна. её внедрили на сервера: гроза 1-3 и mpnetwork 1-2 ))

10 [ded]689  
0
Подробной, простой, инструкции, как запустить все это не хватает, то есть скачал положил туда-то, путь, потом что дальше, по шагам, а так только программисты это могут понять

11 [doom]Aiwentoor  
0
инструкция простая - кинуть папку "стат" в папку www апача, если 16 игроков и 12 карт в ротации, то всё будет работать )). а вот если сервер с другими настройками, тогды уже нужно тулзу править.

1-10 11-17
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск


Наши друзья
Часы


Rambler's Top100