Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

5 страниц V  « 3 4 5

FPS Meter

, легкий скрипт для замера FPS
trollface
сообщение 13.5.2014, 11:51
Сообщение #61
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

В общем ладно, пора завязывать флудить в теме:)

Я бы может и сделал по совету шутера плагин, для тестов, но я не умею с бд работать в павне =)

И мне кажется, php куда шустрее это сделает, да, есть минусы: рисованный фпс может быть и еще нужен rcon.

Плагину это не надо, но и server_frame гонять тоже не хочется =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Vasabla
сообщение 13.5.2014, 12:48
Сообщение #62


Стаж: 14 лет

Сообщений: 97
Благодарностей: 35
Полезность: 276

Цитата(trollface @ 13.5.2014, 12:51) *
В общем ладно, пора завязывать флудить в теме:)

Я бы может и сделал по совету шутера плагин, для тестов, но я не умею с бд работать в павне =)

И мне кажется, php куда шустрее это сделает, да, есть минусы: рисованный фпс может быть и еще нужен rcon.

Плагину это не надо, но и server_frame гонять тоже не хочется =)

Как-то так, но, скажу честно, не проверял
Код:
#include <amxmodx>
#include <engine>
#include <sqlx>

// Настройки MySQL
#define HOST "localhost"
#define USER "user"
#define PASSWORD "password"
#define DB "db"

// Как часто делать запись в MySQL (сек.)
#define COMMIT 60.0

new Handle:tuple, temp, fps, players, count, uptime, inittime, uptimefile[128];

#define UPTIME (uptime + ((get_systime() - inittime) / 60))

public plugin_init() {
register_plugin("FPS Meter", "1.0.0", "Sho0ter");

tuple = SQL_MakeDbTuple(HOST, USER, PASSWORD, DB);

get_localinfo("amxx_datadir", uptimefile, 127);
add(uptimefile, 127, "/uptime.dat");
if(file_exists(uptimefile)) {
new buffer[11];
read_file(uptimefile, 0, buffer, 10, temp);
uptime = str_to_num(buffer);
unlink(uptimefile);
}

inittime = get_systime();

set_task(1.0, "second", .flags = "b");
set_task(COMMIT, "commit", .flags = "b");

temp = 0;
}

public plugin_end() {
new buffer[11];
num_to_str(UPTIME, buffer, 10);
write_file(uptimefile, buffer);
}

public server_frame() {
temp++;
}

public second() {
fps += temp;
players += get_playersnum();
count++;
temp = 0;
}

public commit() {
new sql[256];
formatex(sql, 255, "INSERT INTO `log` (`players`, `fps`, `uptime`) VALUES (%i, %i, %i);", (players / count), (fps / count), UPTIME);

fps = players = count = 0;

SQL_ThreadQuery(tuple, "result", sql);
}

public result(failstate, Handle:query, const error[], code) {
if(failstate) {
log_amx("Query failed [#%i]: %s", code, error);
}
}


UPD: Uptime можно гранить в cvar или localinfo, но мне лень переделывать.

Отредактировал: Vasabla, - 13.5.2014, 13:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 13.5.2014, 13:11
Сообщение #63
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

server_frame не страшно.

Отредактировал: csnet, - 13.5.2014, 13:16


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Adrenal1n4ik
сообщение 16.5.2014, 23:25
Сообщение #64


Стаж: 12 лет

Сообщений: 379
Благодарностей: 178
Полезность: 348

Меценат Меценат

Цитата(trollface @ 13.5.2014, 12:51) *
В общем ладно, пора завязывать флудить в теме:)

Я бы может и сделал по совету шутера плагин, для тестов, но я не умею с бд работать в павне =)

И мне кажется, php куда шустрее это сделает, да, есть минусы: рисованный фпс может быть и еще нужен rcon.

Плагину это не надо, но и server_frame гонять тоже не хочется =)

А может Демо Версию поставишь, что бы видели, а так мне очень нравится спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 16.5.2014, 23:32
Сообщение #65


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

trollface, добавь CPU в график... Думаю тоже полезная инфа...

Adrenal1n4ik, в первом посте скрин... Больше он ничего не делает, ну кроме записи в файл инфы...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Adrenal1n4ik
сообщение 16.5.2014, 23:35
Сообщение #66


Стаж: 12 лет

Сообщений: 379
Благодарностей: 178
Полезность: 348

Меценат Меценат

Цитата(Bloo @ 17.5.2014, 0:32) *
trollface, добавь CPU в график... Думаю тоже полезная инфа...

Adrenal1n4ik, в первом посте скрин... Больше он ничего не делает, ну кроме записи в файл инфы...

Блин я не увидел, просто старая версия стоит у меня
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sweet
сообщение 17.5.2014, 0:53
Сообщение #67
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Цитата(Bloo @ 17.5.2014, 1:32) *
trollface, добавь CPU в график... Думаю тоже полезная инфа...


+
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 17.5.2014, 7:16
Сообщение #68
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Обновил первый пост:
1. Добавил CPU инфу
2. Заменил тот УГ график на highcharts
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Surf
сообщение 17.5.2014, 8:41
Сообщение #69


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

А относительно какого времени график? На скрине, внизу одни нули
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 17.5.2014, 10:03
Сообщение #70
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Surf,
там не время... =)
я обновил скрин.
на предыдущем графике было кол-во игроков.
на новом на каждой линии на точке свои значения =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
trollface
сообщение 17.5.2014, 17:34
Сообщение #71
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Обновил первый пост.
Исправил баг со смещением позиций.
Спасибо ExTPuMaJI за тесты:)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Nikita1811
сообщение 10.6.2014, 12:44
Сообщение #72
Стаж: 15 лет

Сообщений: 49
Благодарностей: 1
Полезность: 18

А есть подобный скрипт отслеживающий количество подлючений к серверу игроков?

P.S Возможно есть такой же скрипт графика как это выводится в психостате.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 4esTer_007
сообщение 28.11.2014, 13:49
Сообщение #73


Стаж: 13 лет

Сообщений: 63
Благодарностей: 29
Полезность: 123

Пишу в надежде, что кто-то поможет glare.gif
Поставил всё это дело по инструкции, при открытии файла /graph.php пустая страница, при просмотре кода страницы это:
Скрытый текст

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container', type: 'spline'
},
title: {
text: 'Зависимость FPS от кол-ва игроков'
},
subtitle: {
text: 'за последние 35 измерений'
},
xAxis: {
categories: ['1 изм.', '2 изм.', '3 изм.', '4 изм.', '5 изм.', '6 изм.', '7 изм.', '8 изм.', '9 изм.', '10 изм.', '11 изм.', '12 изм.',
'13 изм.', '14 изм.', '15 изм.', '16 изм.', '17 изм.', '18 изм.', '19 изм.', '20 изм.', '21 изм.', '22 изм.', '23 изм.', '24 изм.',
'25 изм.', '26 изм.', '27 изм.', '28 изм.', '29 изм.', '30 изм.', '31 изм.', '32 изм.', '33 изм.', '34 изм.', '35 изм.']
},
yAxis: {
min: 0,
title: {
text: 'FPS же... :D'
}
},
legend: {
layout: 'vertical', backgroundColor: '#FFFFFF', align: 'left', verticalAlign: 'top', x: 100, y: 50, floating: true, shadow: true
},
tooltip: {
pointFormat: '"{series.name}: {point.y}'
},
plotOptions: {
column: {
pointPadding: 0.2, borderWidth: 0
}
},
series: [{
name: 'FPS',
data: [<br />
<b>Warning</b>: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>/usr/home/web2/data/www/4ester.ru/meter/graph.php</b> on line <b>53</b><br />
] },
{
name: 'Игроки',
data: [<br />
<b>Warning</b>: implode() [<a href='function.implode'>function.implode</a>]: Invalid arguments passed in <b>/usr/home/web2/data/www/4ester.ru/meter/graph.php</b> on line <b>64</b><br />
] },
{
name: 'CPU',
Unknown column 'cpu' in 'field list'

При открытии /index.php?meter=CRON
Скрытый текст


Буду благодарен, если поможете :)
p.s. еще при выполнении крона такая ошибка Exited with return code = 1. Пробовал убирать /dev/null 2>&1 (пишут на многих форумах, что мешает это) ничего не изменилось..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ismagilov
сообщение 24.4.2015, 7:09
Сообщение #74
Стаж: 14 лет

Сообщений: 156
Благодарностей: 11
Полезность: < 0

4esTer_007 таблицу заново пересоздай

Отредактировал: Ismagilov, - 24.4.2015, 7:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя simba
сообщение 24.4.2015, 10:20
Сообщение #75
Стаж: 11 лет

Сообщений: 132
Благодарностей: 45
Полезность: 236

Больше похоже на испорченный graph.php. Жаль, конечно, что автор забросил этот скрипт.
У меня, например, часто почему-то путаются показатели фпс с аптаймом. Да и 35 измерений маловато как-то...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
nastia777
сообщение 24.4.2015, 10:34
Сообщение #76
Стаж: 13 лет

Сообщений: 606
Благодарностей: 485
Полезность: 510

У хулигана был не плохой замер fps)
но он походу удалил его.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 24.4.2015, 10:38
Сообщение #77


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

nastia777, ты про это? [AMXX] FPS Meter
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
nastia777
сообщение 24.4.2015, 10:44
Сообщение #78
Стаж: 13 лет

Сообщений: 606
Благодарностей: 485
Полезность: 510

Цитата(Bloo @ 24.4.2015, 11:38) *
nastia777, ты про это? [AMXX] FPS Meter

Почти, только он совместил плагин с бд и графиком !
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Melodyne
сообщение 24.1.2016, 22:42
Сообщение #79


Стаж: 10 лет

Сообщений: 17
Благодарностей: 1
Полезность: 0

А можно зделать так чтоб юыло не ftp а статистика подключений игроков.


Лучший способ доказать глупому, что он не прав - предоставить ему свободу действий.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя drivemaster
сообщение 25.1.2016, 19:03
Сообщение #80


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

Спасибо, полезный скрипт. Для удобства, чтобы не юзать крон, можно дополнить таким образом:
сделать пару выпадающих меню с выбором кол-ва отправляемых запросов на сервер, второе меню - интервал между запросами в секундах, грубо говоря надо тебе посмотреть график в данный момент, запустил, скрипт автоматом отправил запросы, записал в бд, а ты просто посмотрел на график и увидел текущую ситуацию с фпс. Понятно, что можно тупо индекс файл пообновлять или крон настроить, но с автоотправкой было бы проще. Как то так. crazy.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V  « 3 4 5
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: