Error me tira un plugin del module
#1
Me tira este error un plugin del module
Código PHP:
failed to loadPlugin uses an unknown function (name "geoip_code2_ex") - check your modules.ini
Responder
#2
check your modules.ini, instalaste el modulo?
[Imagen: 76561198350936449.png]

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Responder
#3
(11/09/2018, 08:15 PM)KrR10VnZl escribió: check your modules.ini, instalaste el modulo?

si esta instalado pero me tira ese error en consola el geoip de todas formas dime como se instala
Responder
#4
Fijate si lo tienes descargado, en la carpeta modules, puedes descargarlo de amxmodx.org
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#5
(11/09/2018, 08:22 PM)kikizon2 escribió: Fijate si lo tienes descargado, en la carpeta modules, puedes descargarlo de amxmodx.org

si esta instalado puedo pasar el plugin
Responder
#6
Y es la version correcta? Pasa meta list y el plugin
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#7
(11/09/2018, 08:25 PM)kikizon2 escribió: Y es la version correcta? Pasa meta list y el plugin

[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 3] MySQL RUN - mysql_amxx_i386. v1.8.2 pl1 ANY ANY
[ 4] SQLite RUN - sqlite_amxx_i386 v1.8.2 pl1 ANY ANY
[ 5] Fun RUN - fun_amxx_i386.so v1.8.2 pl1 ANY ANY
[ 6] Engine RUN - engine_amxx_i386 v1.8.2 pl1 ANY ANY
[ 7] FakeMeta RUN - fakemeta_amxx_i3 v1.8.2 pl1 ANY ANY
[ 8] GeoIP+ RUN - geoip_amxx_i386. v1.3.0 pl1 ANY ANY
[ 9] CStrike RUN - cstrike_amxx_i38 v1.8.2 pl1 ANY ANY
[10] CSX RUN - csx_amxx_i386.so v1.8.2 pl1 ANY ANY
[11] Ham Sandwich RUN - hamsandwich_amxx v1.8.2 pl1 ANY ANY
11 plugins, 11 running

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#include <server_query>
#include <geoip>

static const 
PLUGIN_NAME[] = "Platforma",
PLUGIN_AUTHOR[] = "Carnacior",
PLUGIN_VERSION[] = "2.1",
HOST[] = "74.91.121.121",
USER[] = "bro",
PASS[] = "polla1",
DB[] = "bro";

new const 
TAG[] = "[AMXX]"
#define MAX_SERVERS 300 //cate servere vei avea maxim in baza de date (rol de optimizare al memoriei, poti pune 999 din partea mea)
new filename[256]
new 
counter 1,counterr 1;
new 
totalcount
new Handle:g_SqlTuple
new g_Error[512], g_szIps[MAX_SERVERS+1][40];

new 
g_servers;
new 
errcode
new 
squery_id;
new 
g_maxp[MAX_SERVERS+1]
new 
g_pcount[MAX_SERVERS+1]

new 
szOutput[2][16]
new 
portip[16]
new 
szIp[25] = "    91.134.250.94:27016"
new szTemp69[512], LogString[256], szTemp666[512], LogString2[256]

public 
plugin_init()
{
    
g_servers 1
    register_plugin
(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)
    
set_task(1.0"init_mysql")
    
set_task(10.0"Load_MySql"___"b")
    
set_task(2.0"reload_serverinfo")
    
get_configsdir(filename,255)
    
format(filename,255,"%s/platform-serverlist.txt",filename)
    
//get_user_ip(0, szIp, charsmax(szIp))
    
}

public 
reload_serverinfo()
{
    if(
counterr>g_servers)
        
counterr=1
    ExplodeString
szOutput216g_szIps[counterr], ':' )
    
port str_to_num(szOutput[1])
    
format(ipcharsmax(ip), "%s"szOutput[0])
    
squery_id sq_query(ipportSQ_Server"SqueryResults"errcode); 
    if(!
squery_id
    { 
        new 
error[32]; 
        
sq_error(errcodeerrorcharsmax(error)); 
        
server_print("Error on querying server (%d): %s"errcodeerror);
    }
    
set_task(1.0,"reload_serverinfo")
}

public 
SqueryResults(squery_idtypeTrie:bufferFloat:query_timebool:faileddata[], data_size

    if(
failed
    { 
        
g_maxp[counterr]=69
        g_pcount
[counterr]=69
    

    else 
    {
        new 
pnum mnum
        TrieGetCell
(buffer"num_players"pnum);
        
TrieGetCell(buffer"max_players"mnum)
        
g_maxp[counterr]=mnum
        g_pcount
[counterr]=pnum
    
}
    
counterr++
}  

public 
client_connect(id)
{
    
//ignoram botii
    
new szIpx[23]
    
get_user_ip(idszIpxcharsmax(szIpx))
    if(
containi(szIpx,"127.0.0.1") != -1)
        return 
PLUGIN_HANDLED

    
    
//daca am ajuns la capatul listei de servere, incepem de la inceput
    
if(counter>g_servers)
    {
        
counter 1
    
}
    new 
iplayersimaxplayers
    iplayers 
g_pcount[counter]
    
imaxplayers g_maxp[counter]
    
    new 
ora[64], data[64];
    
get_time("%H:%M:%S"ora63)
    
get_time("%d.%m.%Y"data63)
    
    if(
iplayers<imaxplayers)
    {
        
//luam data si ora ; facem update la baza de date pentru lista dropurilor
        
new nume[32];
        
get_user_name(idnumecharsmax(nume));
        new 
Code2];
        
geoip_code2_exszIpxCode2 );
        
strtolower(Code2)
        
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b>  ",data,ora,nume)
        
format(LogString2,charsmax(LogString2)," trimis catre <b>%s</b>",g_szIps[counter])
        
format(szTemp69,charsmax(szTemp69),"INSERT INTO `list` (`value`, `ip`, `ctry`, `value2`) VALUES ('%s', '%s', '%s', '%s');",LogStringszIpxCode2LogString2)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp69)
        
        new 
Data[1]
        
Data[0] = id
        
        format
(szTemp666,charsmax(szTemp666),"SELECT * FROM `ipstats` WHERE (`ip` = '%s')"szIpx)
        
SQL_ThreadQuery(g_SqlTuple,"verifica_recurenta",szTemp666,Data,1)
        
        
        
//redirect
        
client_cmd(id"disconnect;wait;wait;wait;wait;wait;^"connect^" %s",g_szIps[counter]);
        
log_to_file("drops.log""[DROP] Jucator %s trimis catre %s",szIpx,g_szIps[counter])
        
        
//daca s-a citit deja numarul de dropuri, o crestem cu 1
        
new szTemp[512]
        if(
totalcount>1)
        {
        
totalcount++
        
format(szTemp,charsmax(szTemp),"UPDATE `count` SET `counter` = '%d' WHERE `id` = '1';"totalcount)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
        }
        
counter++
    }
    else
{
        
//incercam cu serverul urmator
        
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b> e full sau offline, sarim peste.",data,ora,g_szIps[counter])
        
format(szTemp69,charsmax(szTemp69),"INSERT INTO `list` (`value`) VALUES ('%s');",LogString)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp69)
        
set_task(1.0,"checkagain",id)
        
counter++
    }
    
    return 
PLUGIN_CONTINUE
}

public 
verifica_recurenta(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
    {
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    }
    else if(
FailState == TQUERY_QUERY_FAILED)
    {
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)
    }


    if(
SQL_NumResults(Query))//daca are ipul in lista, crestem datile de cate ori s-a conectat, scriem in logs
    
{
        new 
szTempgx[512]
        new 
szIp2[35]
        
SQL_ReadResult(Query1szIp234)
        new 
from[50
        
SQL_ReadResult(Query2from49)
        new 
reccount 
        reccount 
SQL_ReadResult(Query3)
        
reccount++
        
format(szTempgx,charsmax(szTempgx),"UPDATE `ipstats` SET `times` = '%d' WHERE `ip` = '%s';"reccountszIp2)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTempgx)
        
server_print("reccount %d ip %s from %s",reccount,szIp2,from )
        
server_print("numar de coloane: %d"SQL_NumColumns(Query))
        if(
reccount>1)
        {
            new 
ora[64], data[64];
            
get_time("%H:%M:%S"ora63)
            
get_time("%d.%m.%Y"data63)
            
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b> s-a intors de la %s pentru a %d-a oara.",data,ora,szIp2,from,reccount)
            
format(szTempgx,charsmax(szTempgx),"INSERT INTO `list2` (`value`) VALUES ('%s');",LogString)//asta i nu mai merge
            
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTempgx)
        }
        
    }

    return 
PLUGIN_HANDLED
}

public 
checkagain(id)
{
    
client_cmd(id"disconnect;wait;wait;wait;wait;wait;^"connect^" %s",szIp);
}

public 
IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
    
SQL_FreeHandle(Query)

    return 
PLUGIN_HANDLED
}

public 
init_mysql()
{
    
g_SqlTuple SQL_MakeDbTuple(HOSTUSERPASSDB)
    static 
ErrorCodeHandle:SqlConnection;
    
SqlConnection SQL_Connect(g_SqlTupleErrorCodeg_Errorcharsmax(g_Error))

    static 
Handle:Queries
    Queries 
SQL_PrepareQuery(SqlConnection"CREATE TABLE IF NOT EXISTS `count` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`counter` int(10)) ; CREATE TABLE IF NOT EXISTS `list` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`value` varchar(256)); CREATE TABLE IF NOT EXISTS `list2` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`value` varchar(256))")
    
    if(
SqlConnection == Empty_Handle)
    {
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
set_task(3.0"changefailmap")
        
set_task(10.0"changefailmap"___"b")
    }
    if(!
SQL_Execute(Queries))
    {
        
SQL_QueryError(Queriesg_Errorcharsmax(g_Error))
    }
    
SQL_FreeHandle(Queries)
    
SQL_FreeHandle(SqlConnection)
    
    
Load_MySql()
    
Load_TotalCount()
}

public 
changefailmap()
{
    
/*open file in read-mode*/
    
new filepointer fopen(filename,"r")
    
/*check if file is open,on an error filepointer is 0*/
    
if(filepointer)
    {
        new 
readdata[128]
        new 
parsedname[32]
        new 
meh
        
/*Read the file until it is at end of file*/
        /*fgets - Reads a line from a text file -- includes newline!*/
        
while(fgets(filepointer,readdata,127) && meh<MAX_SERVERS)
        {   
            
meh++
            
parse(readdata,parsedname,31)
            
copy(g_szIps[meh], sizeof(g_szIps[]),parsedname)
        }
        
fclose(filepointer)
    }
}

public 
plugin_end()
    
SQL_FreeHandle(g_SqlTuple)

public 
Load_MySql()
{
    
g_servers 0
    
static szTemp[512], Data[1];
    
Data[0] = 1
    format
(szTempcharsmax(szTemp), "SELECT server FROM server_list ORDER BY id DESC LIMIT %d"MAX_SERVERS)
    
SQL_ThreadQuery(g_SqlTuple"register_client"szTempData1)
}

public 
Load_TotalCount()
{
    static 
szTemp[512], Data[1];
    
Data[0] = 1
    format
(szTempcharsmax(szTemp), "SELECT counter FROM count WHERE id = '1' ")
    
SQL_ThreadQuery(g_SqlTuple"load_total"szTempData1)
}

public 
load_total(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    else if(
FailState == TQUERY_QUERY_FAILED)
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)

        
    
totalcount SQL_ReadResult(Query0)
        
    return 
PLUGIN_HANDLED
}

public 
register_client(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    else if(
FailState == TQUERY_QUERY_FAILED)
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)

        
    for(new 
vv;vv<=MAX_SERVERS;vv++)
    {
        
g_szIps[vv][0] = 0
    
}    
        
    if(
SQL_NumResults(Query) < 1)
        return 
PLUGIN_HANDLED;
    else
    {
        while(
SQL_MoreResults(Query))
        {
            
g_servers++
            
SQL_ReadResult(Query0g_szIps[g_servers], charsmax(g_szIps))
            
SQL_NextRow(Query)
        }
    }
    return 
PLUGIN_HANDLED
}


stock ExplodeStringp_szOutput[][], p_nMaxp_nSizep_szInput[], p_szDelimiter )
{
    new 
nIdx 0strlen(p_szInput)
    new 
nLen = (copycp_szOutput[nIdx], p_nSizep_szInputp_szDelimiter ))
    while( (
nLen l) && (++nIdx p_nMax) )
        
nLen += (copycp_szOutput[nIdx], p_nSizep_szInput[nLen], p_szDelimiter ))
    return

[/code]
Responder
#8
muchachaoooooooooooooo qjestooooooooooooooo
[ 2] dproto_EF RUN - dproto_i386.so v0.9.356 ini Start Never

lee las reglas
[Imagen: 76561198350936449.png]

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Responder
#9
(11/09/2018, 08:29 PM)KrR10VnZl escribió: muchachaoooooooooooooo qjestooooooooooooooo
[ 2] dproto_EF RUN - dproto_i386.so v0.9.356 ini Start Never

que pasa xdd
Responder
#10
Dejando de lado la tremenda basura del plugin xdxd creo que tienes una version incorrecta del modulo
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#11
(11/09/2018, 08:32 PM)kikizon2 escribió: Dejando de lado la tremenda basura del plugin xdxd creo que tienes una version incorrecta del modulo
cual uso ya eh usado varias
Responder
#12
Lo descargaste aquí? https://github.com/Arkshine/geoip-plus/r.../tag/1.3.0
[Imagen: 76561198350936449.png]

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Responder
#13
(11/09/2018, 08:41 PM)KrR10VnZl escribió: Lo descargaste aquí? https://github.com/Arkshine/geoip-plus/r.../tag/1.3.0

si
Responder
#14
Descarga la versión 1.8.2, es la que debes de tener, procura borrar la que tienes actualmente
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#15
(11/09/2018, 09:01 PM)kikizon2 escribió: Descarga la versión 1.8.2, es la que debes de tener, procura borrar la que tienes actualmente

es la que tengo
Responder
#16
No, tienes esta:
[ 8] GeoIP+ RUN - geoip_amxx_i386. v1.3.0 pl1 ANY ANY
borra ese modulo, y descarga el original de amxmodx.org
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#17
(11/09/2018, 08:27 PM)Evilz escribió:
(11/09/2018, 08:25 PM)kikizon2 escribió: Y es la version correcta? Pasa meta list y el plugin

[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 3] MySQL RUN - mysql_amxx_i386. v1.8.2 pl1 ANY ANY
[ 4] SQLite RUN - sqlite_amxx_i386 v1.8.2 pl1 ANY ANY
[ 5] Fun RUN - fun_amxx_i386.so v1.8.2 pl1 ANY ANY
[ 6] Engine RUN - engine_amxx_i386 v1.8.2 pl1 ANY ANY
[ 7] FakeMeta RUN - fakemeta_amxx_i3 v1.8.2 pl1 ANY ANY
[ 8] GeoIP+ RUN - geoip_amxx_i386. v1.3.0 pl1 ANY ANY
[ 9] CStrike RUN - cstrike_amxx_i38 v1.8.2 pl1 ANY ANY
[10] CSX RUN - csx_amxx_i386.so v1.8.2 pl1 ANY ANY
[11] Ham Sandwich RUN - hamsandwich_amxx v1.8.2 pl1 ANY ANY
11 plugins, 11 running

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#include <server_query>
#include <geoip>

static const 
PLUGIN_NAME[] = "Platforma",
PLUGIN_AUTHOR[] = "Carnacior",
PLUGIN_VERSION[] = "2.1",
HOST[] = "74.91.121.121",
USER[] = "bro",
PASS[] = "polla1",
DB[] = "bro";

new const 
TAG[] = "[AMXX]"
#define MAX_SERVERS 300 //cate servere vei avea maxim in baza de date (rol de optimizare al memoriei, poti pune 999 din partea mea)
new filename[256]
new 
counter 1,counterr 1;
new 
totalcount
new Handle:g_SqlTuple
new g_Error[512], g_szIps[MAX_SERVERS+1][40];

new 
g_servers;
new 
errcode
new 
squery_id;
new 
g_maxp[MAX_SERVERS+1]
new 
g_pcount[MAX_SERVERS+1]

new 
szOutput[2][16]
new 
portip[16]
new 
szIp[25] = "    91.134.250.94:27016"
new szTemp69[512], LogString[256], szTemp666[512], LogString2[256]

public 
plugin_init()
{
    
g_servers 1
    register_plugin
(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)
    
set_task(1.0"init_mysql")
    
set_task(10.0"Load_MySql"___"b")
    
set_task(2.0"reload_serverinfo")
    
get_configsdir(filename,255)
    
format(filename,255,"%s/platform-serverlist.txt",filename)
    
//get_user_ip(0, szIp, charsmax(szIp))
    
}

public 
reload_serverinfo()
{
    if(
counterr>g_servers)
        
counterr=1
    ExplodeString
szOutput216g_szIps[counterr], ':' )
    
port str_to_num(szOutput[1])
    
format(ipcharsmax(ip), "%s"szOutput[0])
    
squery_id sq_query(ipportSQ_Server"SqueryResults"errcode); 
    if(!
squery_id
    { 
        new 
error[32]; 
        
sq_error(errcodeerrorcharsmax(error)); 
        
server_print("Error on querying server (%d): %s"errcodeerror);
    }
    
set_task(1.0,"reload_serverinfo")
}

public 
SqueryResults(squery_idtypeTrie:bufferFloat:query_timebool:faileddata[], data_size

    if(
failed
    { 
        
g_maxp[counterr]=69
        g_pcount
[counterr]=69
    

    else 
    {
        new 
pnum mnum
        TrieGetCell
(buffer"num_players"pnum);
        
TrieGetCell(buffer"max_players"mnum)
        
g_maxp[counterr]=mnum
        g_pcount
[counterr]=pnum
    
}
    
counterr++
}  

public 
client_connect(id)
{
    
//ignoram botii
    
new szIpx[23]
    
get_user_ip(idszIpxcharsmax(szIpx))
    if(
containi(szIpx,"127.0.0.1") != -1)
        return 
PLUGIN_HANDLED

    
    
//daca am ajuns la capatul listei de servere, incepem de la inceput
    
if(counter>g_servers)
    {
        
counter 1
    
}
    new 
iplayersimaxplayers
    iplayers 
g_pcount[counter]
    
imaxplayers g_maxp[counter]
    
    new 
ora[64], data[64];
    
get_time("%H:%M:%S"ora63)
    
get_time("%d.%m.%Y"data63)
    
    if(
iplayers<imaxplayers)
    {
        
//luam data si ora ; facem update la baza de date pentru lista dropurilor
        
new nume[32];
        
get_user_name(idnumecharsmax(nume));
        new 
Code2];
        
geoip_code2_exszIpxCode2 );
        
strtolower(Code2)
        
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b>  ",data,ora,nume)
        
format(LogString2,charsmax(LogString2)," trimis catre <b>%s</b>",g_szIps[counter])
        
format(szTemp69,charsmax(szTemp69),"INSERT INTO `list` (`value`, `ip`, `ctry`, `value2`) VALUES ('%s', '%s', '%s', '%s');",LogStringszIpxCode2LogString2)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp69)
        
        new 
Data[1]
        
Data[0] = id
        
        format
(szTemp666,charsmax(szTemp666),"SELECT * FROM `ipstats` WHERE (`ip` = '%s')"szIpx)
        
SQL_ThreadQuery(g_SqlTuple,"verifica_recurenta",szTemp666,Data,1)
        
        
        
//redirect
        
client_cmd(id"disconnect;wait;wait;wait;wait;wait;^"connect^" %s",g_szIps[counter]);
        
log_to_file("drops.log""[DROP] Jucator %s trimis catre %s",szIpx,g_szIps[counter])
        
        
//daca s-a citit deja numarul de dropuri, o crestem cu 1
        
new szTemp[512]
        if(
totalcount>1)
        {
        
totalcount++
        
format(szTemp,charsmax(szTemp),"UPDATE `count` SET `counter` = '%d' WHERE `id` = '1';"totalcount)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
        }
        
counter++
    }
    else
{
        
//incercam cu serverul urmator
        
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b> e full sau offline, sarim peste.",data,ora,g_szIps[counter])
        
format(szTemp69,charsmax(szTemp69),"INSERT INTO `list` (`value`) VALUES ('%s');",LogString)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp69)
        
set_task(1.0,"checkagain",id)
        
counter++
    }
    
    return 
PLUGIN_CONTINUE
}

public 
verifica_recurenta(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
    {
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    }
    else if(
FailState == TQUERY_QUERY_FAILED)
    {
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)
    }


    if(
SQL_NumResults(Query))//daca are ipul in lista, crestem datile de cate ori s-a conectat, scriem in logs
    
{
        new 
szTempgx[512]
        new 
szIp2[35]
        
SQL_ReadResult(Query1szIp234)
        new 
from[50
        
SQL_ReadResult(Query2from49)
        new 
reccount 
        reccount 
SQL_ReadResult(Query3)
        
reccount++
        
format(szTempgx,charsmax(szTempgx),"UPDATE `ipstats` SET `times` = '%d' WHERE `ip` = '%s';"reccountszIp2)
        
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTempgx)
        
server_print("reccount %d ip %s from %s",reccount,szIp2,from )
        
server_print("numar de coloane: %d"SQL_NumColumns(Query))
        if(
reccount>1)
        {
            new 
ora[64], data[64];
            
get_time("%H:%M:%S"ora63)
            
get_time("%d.%m.%Y"data63)
            
format(LogString,charsmax(LogString),"[%s](%s): <b>%s</b> s-a intors de la %s pentru a %d-a oara.",data,ora,szIp2,from,reccount)
            
format(szTempgx,charsmax(szTempgx),"INSERT INTO `list2` (`value`) VALUES ('%s');",LogString)//asta i nu mai merge
            
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTempgx)
        }
        
    }

    return 
PLUGIN_HANDLED
}

public 
checkagain(id)
{
    
client_cmd(id"disconnect;wait;wait;wait;wait;wait;^"connect^" %s",szIp);
}

public 
IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
    
SQL_FreeHandle(Query)

    return 
PLUGIN_HANDLED
}

public 
init_mysql()
{
    
g_SqlTuple SQL_MakeDbTuple(HOSTUSERPASSDB)
    static 
ErrorCodeHandle:SqlConnection;
    
SqlConnection SQL_Connect(g_SqlTupleErrorCodeg_Errorcharsmax(g_Error))

    static 
Handle:Queries
    Queries 
SQL_PrepareQuery(SqlConnection"CREATE TABLE IF NOT EXISTS `count` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`counter` int(10)) ; CREATE TABLE IF NOT EXISTS `list` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`value` varchar(256)); CREATE TABLE IF NOT EXISTS `list2` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`value` varchar(256))")
    
    if(
SqlConnection == Empty_Handle)
    {
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
server_print("%s Eroare conexiune SQL! Citim din fisier!"TAG)
        
set_task(3.0"changefailmap")
        
set_task(10.0"changefailmap"___"b")
    }
    if(!
SQL_Execute(Queries))
    {
        
SQL_QueryError(Queriesg_Errorcharsmax(g_Error))
    }
    
SQL_FreeHandle(Queries)
    
SQL_FreeHandle(SqlConnection)
    
    
Load_MySql()
    
Load_TotalCount()
}

public 
changefailmap()
{
    
/*open file in read-mode*/
    
new filepointer fopen(filename,"r")
    
/*check if file is open,on an error filepointer is 0*/
    
if(filepointer)
    {
        new 
readdata[128]
        new 
parsedname[32]
        new 
meh
        
/*Read the file until it is at end of file*/
        /*fgets - Reads a line from a text file -- includes newline!*/
        
while(fgets(filepointer,readdata,127) && meh<MAX_SERVERS)
        {   
            
meh++
            
parse(readdata,parsedname,31)
            
copy(g_szIps[meh], sizeof(g_szIps[]),parsedname)
        }
        
fclose(filepointer)
    }
}

public 
plugin_end()
    
SQL_FreeHandle(g_SqlTuple)

public 
Load_MySql()
{
    
g_servers 0
    
static szTemp[512], Data[1];
    
Data[0] = 1
    format
(szTempcharsmax(szTemp), "SELECT server FROM server_list ORDER BY id DESC LIMIT %d"MAX_SERVERS)
    
SQL_ThreadQuery(g_SqlTuple"register_client"szTempData1)
}

public 
Load_TotalCount()
{
    static 
szTemp[512], Data[1];
    
Data[0] = 1
    format
(szTempcharsmax(szTemp), "SELECT counter FROM count WHERE id = '1' ")
    
SQL_ThreadQuery(g_SqlTuple"load_total"szTempData1)
}

public 
load_total(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    else if(
FailState == TQUERY_QUERY_FAILED)
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)

        
    
totalcount SQL_ReadResult(Query0)
        
    return 
PLUGIN_HANDLED
}

public 
register_client(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    if(
FailState == TQUERY_CONNECT_FAILED)
        
log_amx("Load - Could not connect to SQL database.  [%d] %s"ErrcodeError)
    else if(
FailState == TQUERY_QUERY_FAILED)
        
log_amx("Load Query failed. [%d] %s"ErrcodeError)

        
    for(new 
vv;vv<=MAX_SERVERS;vv++)
    {
        
g_szIps[vv][0] = 0
    
}    
        
    if(
SQL_NumResults(Query) < 1)
        return 
PLUGIN_HANDLED;
    else
    {
        while(
SQL_MoreResults(Query))
        {
            
g_servers++
            
SQL_ReadResult(Query0g_szIps[g_servers], charsmax(g_szIps))
            
SQL_NextRow(Query)
        }
    }
    return 
PLUGIN_HANDLED
}


stock ExplodeStringp_szOutput[][], p_nMaxp_nSizep_szInput[], p_szDelimiter )
{
    new 
nIdx 0strlen(p_szInput)
    new 
nLen = (copycp_szOutput[nIdx], p_nSizep_szInputp_szDelimiter ))
    while( (
nLen l) && (++nIdx p_nMax) )
        
nLen += (copycp_szOutput[nIdx], p_nSizep_szInput[nLen], p_szDelimiter ))
    return

[/code]

JAJAJAJJAJAJAJJAJAJAJAJAAJAJAJ MIRA COMO BORRO LA LINEA DEL DPROTO RoflmaoRoflmaoRoflmao
[Imagen: EvoLogo.png.fbcccbc49fb32e6a4bf8f5e72d80c317.png]
nalgas

(03/08/2018, 03:13 PM)Skylar escribió: Está bien que pidas ayudas, pero no para que crees 20 post todos los días mogolico de mierda, me tenes re podrido ya, contraté 10000 sicarios para que te busquen y te maten toda la familia, y a vos que te revienten con una bazooka.
Responder
#18
(11/09/2018, 08:31 PM)Evilz escribió:
(11/09/2018, 08:29 PM)KrR10VnZl escribió: muchachaoooooooooooooo qjestooooooooooooooo
[ 2] dproto_EF RUN - dproto_i386.so v0.9.356 ini Start Never

que pasa xdd

***EDIT

Me equivoque.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)