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

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

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

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

История благодарностей участнику Ellome ::: Спасибо сказали: 55
Дата поста: В теме: За сообщение: Спасибо сказали:
24.4.2015, 14:29 Dproto 0.9.582
Цитата([WPMG]PRoSToTeM@ @ 24.4.2015, 15:27) *

Ну всё понятно, в этом вашем AStats опрос сервера идёт при каждом "запросе страницы". cbf1b2bfde1a.gif


И зачем "зафлуживать" сервер опросами?

Меня попросили подправить AStats, там я это и обнаружил. Все настолько криво сделано, что за один запрос к вебсерверу отправляется 2 A2S_INFO каждому серверу.
[WPMG]PRoSToTeM@, ETO_BYLO_LETOM
11.4.2015, 23:06 [PHP] StatsX(/top15) Web
Описание
Вывод стандартной статистики CSX на сайт.
Работает через FTP, кэширует csstats.dat на нужное время, имеет постраничный просмотр.
Можно включить дополнительные столбцы(попадания, урон, выстрелы и т.д.) в конфиге.

Скриншоты

[attachment=32560:csx.PNG]

Требования

PHP >= 5.4

Установка

Залить содержимое архива на веб-сервер(можно в любую папку).

Настройка

Настройки лежат в файле includes/config.php.
С настройками FTP думаю все понятно. Отдельно выделю ftp_path: он должен начинаться с /. Если сервер стоит на хостинге, то этот параметр скорее всего трогать не придется.
cache_expires - время в секундах, через которое скрипт обновляет статистику на сайте. Больше 900(15 минут) ставить нецелесообразно.
fields - столбцы статистики. По умолчанию выводятся все те же, что и в /top15. Ниже в спойлере приведен их полный список, из которого можно добавить их в конфиг.
Все столбцы статистики

rank - Место
name - Имя
authid - Идентификатор
tks - Убийства союзников
damage - Урон
deaths - Смерти
kills - Убийства
shots - Выстрелы
hits - Попадания
hs - Хэдшоты
bDefusions - Попытки разминирования
bDefused - Удачные разминирования
bPlants - Установки бомб
bExplosions - Взрывы бомб
acc - Точность


Скачать

[attachment=32563:csx_php_1.0.zip]
cstriker, damilurg, default1k, Dukkhaz0r, f1nik, FleXer, floricus, Metal Messiah, Nebo, sashkaa, TarikYuzkiv, TauJIeP, taulalan, TheNega, TJhack
10.4.2015, 10:07 [PHP] Сайт сбора статистики МС
onotole, куда ж мы без говнокода?
Templar, квар надо было задать
ssx, Templar
9.4.2015, 21:25 [PHP] Сайт сбора статистики МС
Цитата(kat5566 @ 9.4.2015, 22:17) *
Ellome,
Не рекалама
http://blkgames.ru/info.php

Ну так обновите PHP до 5.4 хотя бы.
Хотя в манах PHP все эти прелести "появились в 5.3", гуголь говорит что обновление до 5.4 решало аналогичные проблемы
kat5566, ssx
9.4.2015, 20:44 [PHP] Сайт сбора статистики МС
Цитата(kat5566 @ 9.4.2015, 21:11) *
php 5.3
архив обновил.
sql импортировал в бд

phpinfo();
в студию.

ssx
8.4.2015, 22:17 [PHP] Сайт сбора статистики МС
Описание
Сайт сбора статистики МС.
Сделан был на заказ в начале марта. Я надеялся на то что товарищ, заказавший его, потянет все это дело без проблем, но прошел месяц, а результатов мир так и не увидел.
В итоге было принято решение отдать его в хорошие руки.
После быстротечного срача деньги были возвращены заказчику и создана эта тема.
Развлекайтесь.

Скриншоты

[attachment=32498:main.PNG][attachment=32499:tests.PNG][attachment=32500:ms.PNG]
[attachment=32501:services.PNG]

Установка

Убедиться, что установлен PHP >= 5.3

1. Залить содержимое папки uploads на веб-сервер, задать настройки подключения к БД в includes/Site/Config.php
2. В mstests.sma в строке #13 вписать адрес веб части(например c-s.net.ua).
3. Админка сайта: adminka/adminka. Сразу зайти и сменить пароль.

Проведение тестов

Создать тест в соответствующем разделе, запомнить его ID.
Установить плагин на сервер, перед началом теста в кваре mstests_id указать ID теста и нажать "Начать" на сайте.

Скачать

[attachment=32506:mstests_1.1.rar]

Обновления

1.1
- Учтено пожелание KAA
- Залит .htaccess, не попавший в старый архив

P.S.
Данные со скриншотов реальные (трехдневной давности). Тесты были проведены на чистых серверах без ресурсов.

Коротко о сраче
[attachment=32502:return.PNG]
Adrenal1n4ik, Alexander, Bullet74, damilurg, default1k, drivemaster, eone, floricus, Jlx7, nastia777, sot100, Templar, TheNega, twileck
8.4.2015, 22:01 [PHP] Сайт сбора статистики МС
"Заказчик" получил свои деньги обратно.
Модераторы, удаляйте эту тему.
Bloo
8.4.2015, 16:31 [PHP] Сайт сбора статистики МС miRror, TheNega
8.4.2015, 15:46 Склад маленького кода
Инклюд для правильного русского окончания времени/даты. Входное значение - минуты.

Использование:

Код:

new len, time_str[32];
len = get_rutime_length( id, 1440, time_str, charsmax( time_str ) );


rutime.inc
Код:
#if defined _rutime_included
#endinput
#endif
#define _rutime_included

stock get_rutime_length(client, minutes, output[], outputLen)
{

new hours;
new days;
new lang_name[10];
new len;

hours = minutes / 60;
minutes %= 60;

days = hours / 24;
hours %= 24;

if (days)
{

format( lang_name, charsmax( lang_name ), "DAYS_%d", PluralType( days ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", days, client, lang_name );

}

if (hours)
{

format( lang_name, charsmax( lang_name ), "HOURS_%d", PluralType( hours ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", hours, client, lang_name );

}

if (minutes)
{

format( lang_name, charsmax( lang_name ), "MINUTES_%d", PluralType( minutes ) );

len += format( output[ len ], outputLen - len, "%s%d %L", len ? ", " : "", minutes, client, lang_name );

}

return len;

}

stock PluralType(n)
{

return (n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2));

}


rutime.txt
Код
[en]
SECONDS_0 = секунда
SECONDS_1 = секунды
SECONDS_2 = секунд
MINUTES_0 =минута
MINUTES_1 =минуты
MINUTES_2 =минут
HOURS_0 =час
HOURS_1 =часа
HOURS_2 =часов
DAYS_0 =день
DAYS_1 =дня
DAYS_2 =дней
MONTHS_0 = месяц
MONTHS_1 = месяца
MONTHS_2 = месяцев
YEARS_0 = год
YEARS_1 = года
YEARS_2 = лет

[ru]
SECONDS_0 = секунда
SECONDS_1 = секунды
SECONDS_2 = секунд
MINUTES_0 =минута
MINUTES_1 =минуты
MINUTES_2 =минут
HOURS_0 =час
HOURS_1 =часа
HOURS_2 =часов
DAYS_0 =день
DAYS_1 =дня
DAYS_2 =дней
MONTHS_0 = месяц
MONTHS_1 = месяца
MONTHS_2 = месяцев
YEARS_0 = год
YEARS_1 = года
YEARS_2 = лет
floricus, iLLuSioN, Nixon, ssx
7.4.2015, 22:15 Плагин меняющий ник игрокам
Цитата(timmmi @ 7.4.2015, 16:19) *
извиняюсь надо создать эти 2 ини файла? и сколько ников можно написать в невнеймс ини?
и в каком порядке надо писать ники

Да хоть тысячу. Порядок не важен, смена рандомная.
timmmi
7.4.2015, 3:12 Плагин меняющий ник игрокам
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "NameChanger"
#define AUTHOR "vk.com/id7558918"
#define VERSION "1.0"

#define NAME_MAX_LENGTH 28

new Array:g_BadNamesStorage;
new Array:g_NewNamesStorage;

new g_badnames_file[ 64 ];
new g_newnames_file[ 64 ];

new Float:g_LastChange[ 32 ];

public plugin_init()
{

register_plugin( PLUGIN, VERSION, AUTHOR );

}

public plugin_cfg()
{

loadNames();

}

public client_infochanged( client )
{

checkName( client );

}


public checkName( client )
{

if( g_LastChange[ client ] > get_gametime() - 0.5 )
return;

new index;
static badname[ NAME_MAX_LENGTH ];
static newname[ NAME_MAX_LENGTH ];
static clientname[ NAME_MAX_LENGTH ];

get_user_info( client, "name", clientname, charsmax( clientname ) );

for ( index = 0; index < ArraySize( g_BadNamesStorage ); index++ )
{

ArrayGetString( g_BadNamesStorage, index, badname, charsmax( badname ) );

if( equali( clientname, badname ) )
{

ArrayGetString( g_NewNamesStorage, random_num( 0, ArraySize( g_NewNamesStorage ) - 1 ), newname, charsmax( newname ) );

set_user_info( client, "name", newname );

g_LastChange[ client ] = get_gametime();

break;

}

}

}

public loadNames()
{

static name[ NAME_MAX_LENGTH ];

get_configsdir( g_badnames_file, charsmax( g_badnames_file ) );
add( g_badnames_file, charsmax( g_badnames_file ) , "/badnames.ini" );

get_configsdir( g_newnames_file, charsmax( g_newnames_file ) );
add( g_newnames_file, charsmax( g_newnames_file ) , "/newnames.ini" );

if( file_exists( g_badnames_file ) )
{

g_BadNamesStorage = ArrayCreate( NAME_MAX_LENGTH, 1 );

new f = fopen( g_badnames_file, "rt" );

static filedata[ NAME_MAX_LENGTH ];


while( !feof( f ) )
{

fgets( f, filedata, charsmax( filedata ) );

if( !filedata[0] ) continue;

if( parse( filedata, name, charsmax( name ) ) > 0 )
{

ArrayPushString( g_BadNamesStorage, name );

}

}

fclose( f );

} else {

set_fail_state( "badnames.ini not found" );

}

if( file_exists( g_newnames_file ) )
{

g_NewNamesStorage = ArrayCreate( NAME_MAX_LENGTH, 1 );

new f = fopen( g_newnames_file, "rt" );

static filedata[ NAME_MAX_LENGTH ];

while( !feof( f ) )
{

fgets( f, filedata, charsmax( filedata ) );

if( !filedata[0] ) continue;

if( parse( filedata, name, charsmax( name ) ) > 0 )
{

ArrayPushString( g_NewNamesStorage, name );

}

}

fclose( f );

} else {

set_fail_state( "newnames.ini not found" );

}

}


addons/amxmodx/configs/badnames.ini - те, что надо сменить
addons/amxmodx/configs/newnames.ini - те, на которые надо заменить
6bIpuk, progamer
6.4.2015, 1:56 Peacezones
Описание
Плагин позволяет создавать на картах зоны перемирия, в которых игроки не смогут стрелять.
Они весьма пригодятся на SURF картах в зонах "марио" и оружейках.
При входе/выходе из зон выдаются сообщения в чат.
Плагин был написан на заказ, однако заказчик оказался х**л*м, сказав что сможет купить его только через какое-то время, посему я решил выложить его в свободное пользование.

Требования
BoxSystem

Установка
1. Установите BoxSystem
2. Скопируйте NoFire.vdf в addons/amxmodx/configs/Box/types
3. Скопируйте amx_peacezones.amxx в addons/amxmodx/plugins
4. Скопируйте peace_zones.txt в addons/amxmodx/data/lang

Создание зон перемирия
1. Откройте меню BoxSystem (команда box в консоли)
2. Выберите Kind: NoFire
3. Создайте свои зоны и смените карту чтобы они сохранились


Форум по непонятным причинам запретил мне загрузку vdf файла, поэтому вот отдельная ссылка на него:
NoFire.vdf
CSer4you, damilurg, filip, Nebo, ssx
12.3.2015, 23:05 Статистика мастерсерверов.
cstriker, не потянет он, придется потянуть мне sps.gif
cstriker
7.12.2013, 6:53 Бансистемы/банлисты
Имеется самописный плагин вотебана, хочу выложить его в свободный доступ.
Перед этим хотел бы запилить автоматическое обнаружение бансистемы. Но не знаю всех существующих. Отпишите сюда кто что знает.
P.S. желательно с командами, аналогичными amx_addban

Текущий список:
AMXBans
Advanced Bans
AMXX
FreshBans
miRror