Nume:RedirectCounter
Versiunea : Beta
Persoane implicate in proiect:tuty ,D!nake,mut2nt,semaca,adnedelcu
Uploader: D!nake
Descriere:Tine evidenta online a redirectelor
[s]Legatura cu baza de date[/s] Rezolvat
Adaugare timp total redirect online Nerezolvat
[s]Adaugare in baza de date si ora pornirii[/s] Rezolvat
[s]Adaugare in baza de date a utilizatorului de redirect[/s] Rezolvat
[s]Afisare proprietar (cel care tine redirectul)[/s] Rezolvat
Afisare numar de jucator redirectati Nerezolvat
[s]Script php afisare informatii/online versiunea beta/nedezvoltata[/s] Rezolvat
[s]Adaugare in baza de date a utilizatorului de redirect[/s] Rezolvat
RedirectCounter.sma
Code: Select all
/* Formatexright © 2010, tuty
Redirect Counter is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Redirect Counter; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include < amxmisc >
#include < sqlx >
#pragma semicolon 1
#define PLUGIN_VERSION_NUM "1.0.0"
new gCvarRedirectHost;
new gCvarRedirectUser;
new gCvarRedirectPass;
new gCvarRedirectDb;
new gCvarRedirectIp;
new gCvarRedirectName;
new gCvarRedirectSvPass;
new gCvarRedirectPort;
new Handle:gSqlTuple;
new Handle:SqlConnection;
new bCountPlayerRedirects;
new szQuery[ 256 ];
public plugin_init()
{
register_plugin( "Redirect Counter", PLUGIN_VERSION_NUM, "tuty" );
register_cvar( "redirectcounter_tuty", PLUGIN_VERSION_NUM, FCVAR_SERVER | FCVAR_EXTDLL | FCVAR_SPONLY );
gCvarRedirectHost = register_cvar( "redirect_host", "[color=#FF0000]link baza de date[/color]" );
gCvarRedirectUser = register_cvar( "redirect_user", "[color=#FF0000]user baza de date[/color]" );
gCvarRedirectPass = register_cvar( "redirect_password", "[color=#FF0000]parola baza de date [/color]" );
gCvarRedirectDb = register_cvar( "redirect_database", "[color=#FF0000]nume baza de date[/color]" );
gCvarRedirectIp = register_cvar( "redirect_ip", "127.0.0.1" );
gCvarRedirectName = register_cvar( "redirect_name", "[color=#FF0000]tuty[/color]" );
gCvarRedirectSvPass = register_cvar( "redirect_server_password", "" );
gCvarRedirectPort = register_cvar( "redirect_server_port", "0" );
new iSqlHost[ 64 ], iSqlUser[ 64 ], iSqlPass[ 64 ], iSqlDb[ 64 ];
get_pcvar_string( gCvarRedirectHost, iSqlHost, charsmax( iSqlHost ) );
get_pcvar_string( gCvarRedirectUser, iSqlUser, charsmax( iSqlUser ) );
get_pcvar_string( gCvarRedirectPass, iSqlPass, charsmax( iSqlPass ) );
get_pcvar_string( gCvarRedirectDb, iSqlDb, charsmax( iSqlDb ) );
gSqlTuple = SQL_MakeDbTuple( iSqlHost, iSqlUser, iSqlPass, iSqlDb );
new iError, szError[ 256 ];
SqlConnection = SQL_Connect( gSqlTuple, iError, szError, charsmax( szError ) );
if( SqlConnection != Empty_Handle )
{
SQL_QueryAndIgnore( SqlConnection,
"CREATE TABLE IF NOT EXISTS `RedirectCounter` (\
`USER_NAME` varchar(32) default NULL, \
`LAST_PLAY_DATE` timestamp(14) NOT NULL, \
`PLAYERS_REDIRECTED` int(10) NOT NULL default '0', \
,PRIMARY KEY (`PLAYERS_REDIRECTED`) ) \
COMMENT='Evidenta Redirecte by [color=#FF0000]tuty[/color]'" );
SQL_FreeHandle( SqlConnection );
}
else
{
log_amx( "SQLx error (#%d) -=> [%s]", iError, szError );
}
}
public plugin_cfg()
{
new szConfigsDir[ 32 ];
new szFile[ 192 ];
get_configsdir( szConfigsDir, charsmax( szConfigsDir ) );
formatex( szFile, charsmax( szFile ), "%s/RedirectCounter.cfg", szConfigsDir );
if( file_exists( szFile ) )
{
server_cmd( "exec %s", szFile );
server_print( "[RedirectCounter] Fisierul ^"%s^" a fost incarcat cu succes!", szFile );
log_amx( "[RedirectCounter] Fisierul <%s> a fost incarcat cu succes!", szFile );
}
else
{
server_print( "[RedirectCounter] Eroare!!! Fisierul ^"%s^" nu a fost gasit!!!", szFile );
log_amx( "[RedirectCounter] Eroare!!! Fisierul ^"%s^" nu a fost gasit!!!", szFile );
}
}
public client_connect( id )
{
new szServerPassword[ 30 ];
get_pcvar_string( gCvarRedirectSvPass, szServerPassword, charsmax( szServerPassword ) );
new szServerIp[ 32 ];
get_pcvar_string( gCvarRedirectIp, szServerIp, charsmax( szServerIp ) );
if( get_playersnum() >= 0 )
{
bCountPlayerRedirects++;
if( !equal( szServerPassword, "" ) )
{
client_cmd( id, "password %s", szServerPassword );
}
client_cmd( id, "Connect %s:%d", szServerIp, get_pcvar_num( gCvarRedirectPort ) );
new szHostUserName[ 32 ];
get_pcvar_string( gCvarRedirectName, szHostUserName, charsmax( szHostUserName ) );
formatex( szQuery, charsmax( szQuery ), "INSERT INTO `RedirectCounter` SET `USER_NAME`='%s', `LAST_PLAY_DATE`=NOW(), `PLAYERS_REDIRECTED`='%d' ON DUPLICATE KEY UPDATE `USER_NAME`='%s'", szHostUserName, bCountPlayerRedirects, szHostUserName );
SQL_ThreadQuery( gSqlTuple, "SaveClient_QueryHandler", szQuery );
}
}
public SaveClient_QueryHandler( iFailState, Handle:hQuery, szError[], iErrnum, iData[], iSize, Float:fQueueTime )
{
if( iFailState != TQUERY_SUCCESS )
{
log_amx( "SQLx error (#%d) -=> [%s]", iErrnum, szError );
}
}
public plugin_end()
{
if( gSqlTuple )
{
SQL_FreeHandle( gSqlTuple );
}
}
Code: Select all
// --| IP-ul unde vor fi redirectionati jucatorii |--
// --| Un exemplu de IP este pus mai jos |--
redirect_ip "92.82.17.139"
// --| PORT-ul serverului |--
// --| Trebuie pus ca sa se poata conecta |--
redirect_server_port "27015"
// --| Numele care va aparea in baza de date |--
// --| Sa nu fie mai mare de 32 de litere/cifre |--
redirect_name "D!nake"
// --| In caz ca serverul pe care vrei sa redirectezi jucatorii |--
// --| are parola, pune in ghilimele parola, sau daca nu are lasa |--
// --| spatiu. Adica sa fie doar "" |--
redirect_server_password ""
Code: Select all
<center>
<title>Evidenta Redirecte</title>
<body bgcolor="black">
<br><hr>
<h1><font color="grey">Evidenta Redirecte</font></h1></hr>
<hr></hr><br><br><br>
<?php
$dbHost = "[color=#FF0000]link baza de date[/color]";
$dbUsername = "[color=#FF0000]user baza de date[/color]";
$dbPassword = "[color=#FF0000]parola baza de date[/color]";
$db = "[color=#FF0000]nume baza de date[/color]";
mysql_connect($dbHost, $dbUsername, $dbPassword) or die("Can't connect to MySQL server");
mysql_select_db($db) or die("An error has occoured");
$result = mysql_query("SELECT * FROM RedirectCounter ORDER BY PLAYERS_REDIRECTED DESC");
$rcount = mysql_num_rows($result);
echo "<br /><table border='10' width='50%' style='text-align: center;'><tr><th WIDTH='37%'><font color='green'><h3><blink><img src='http://www.softips.com/modules/softips_skin_v2008/views/images/User.png'></img>Proprietar<img src='http://www.softips.com/modules/softips_skin_v2008/views/images/User.png'></img></blink></h3></font></th><th WIDTH='40%'><font color='blue'><h3><blink><img src='https://www.adaptavist.com/s/1517/1/3.3.5-M3-conf210/_/download/resources/com.adaptavist.confluence.themes.sitebuilder:sitebuilder/icons/stopwatch.png'></img>Ora<img src='https://www.adaptavist.com/s/1517/1/3.3.5-M3-conf210/_/download/resources/com.adaptavist.confluence.themes.sitebuilder:sitebuilder/icons/stopwatch.png'></img></blink></h3></font></th><th WIDTH='30%'><font color='red'><h3><blink><img src='http://www.anywherecostarica.com/img/keys/sustainability/comunity-programs.png'></img>Jucatori<img src='http://www.anywherecostarica.com/img/keys/sustainability/comunity-programs.png'></img><blink></h3></font></th></tr>";
for($i=0; $i<$rcount; $i++)
{
$resultName = mysql_result($result, $i, "USER_NAME");
$resultDate = mysql_result($result, $i, "LAST_PLAY_DATE");
$resultPlayers = mysql_result($result, $i, "PLAYERS_REDIRECTED");
echo "<tr><td><font color='green'>$resultName</font></td><td><font color='blue'>$resultDate</font></td><td><font color='red'>$resultPlayers</font></td></tr>";
}
echo "</table>";
?>
</center>
<br><br><br>
<center><h4><font color="grey">Script and AMXX Plugin made by </font><font color="yellow">[color=#0000FF][b]Novuslink Team[/b][/color]</font></h4></center>