Desvirtue aquí
Busco comunidad (Arg) para poner mi HNS (actualizado) pacman
Responder
Busco comunidad (Arg) para poner mi HNS (actualizado) pacman
Responder
Busco comunidad (No importa el país) para poner mi HNS (actualizado) pacman
Responder
Busco comunidad (No importa la region) para poner mi HNS (actualizado) pacman
Responder
EDIT: No dije nada, salu2

Responder
(31/08/2018, 01:54 PM)Skylar escribió: EDIT: No dije nada, salu2

Logre ver lo que publicaste, yo creo que deberías mejorar eso Whatever xd
Responder
(31/08/2018, 01:54 PM)Skylar escribió: EDIT: No dije nada, salu2

y la fuente de poder? es una desgracia tener esos fps con esa grafica
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
piruchon kk revisa hay un ini de consistencia cambialo a 0 y ya Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
(31/08/2018, 07:32 PM)OsweRRR escribió:
(31/08/2018, 01:54 PM)Skylar escribió: EDIT: No dije nada, salu2

y la fuente de poder? es una desgracia tener esos fps con esa grafica

Creo que es la fuente, es una ATX 500W

Responder
(31/08/2018, 10:48 AM)Killers-. escribió: Hola, bueno les vengo a pedir si alguien me podria hacer un simple plugin de glow para admin que le salga un color al azar de su glow, probe casi todos los plugins de glow pero algunos no funcionana o solo traen un color si alguien tan amable que me pueda hacer un glow con color random para solo admins se lo agradeceria mucho gracias.


(31/08/2018, 11:59 AM)El pirucho XP-007 escribió: Para hacer los glow por admin:

https://forums.alliedmods.net/showthread.php?t=183491
->>
Admin Prefixes V4.0 by m0skVi4a ;]

Si quieres agregar sub o socio, ect:

[php]
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Admin Chat Colors"
#define VERSION "2.0"
#define AUTHOR "Arion"

Pero si quieres cambiarle el color a cada uno, solo existen estos colores en el chat:

Cita:^x01 -> color naranja o amarillo... según como lo vean (color default del chat)
^x04 -> color verde, aquí no soy daltónico
^x03 -> color del equipo

Para mas información:

https://amxmodx-es.com/Thread-Entendiend...chat+color

Genius RoflmaoRoflmao
Responder
(01/09/2018, 02:13 AM)Chori escribió:
(31/08/2018, 10:48 AM)Killers-. escribió: Hola, bueno les vengo a pedir si alguien me podria hacer un simple plugin de glow para admin que le salga un color al azar de su glow, probe casi todos los plugins de glow pero algunos no funcionana o solo traen un color si alguien tan amable que me pueda hacer un glow con color random para solo admins se lo agradeceria mucho gracias.


(31/08/2018, 11:59 AM)El pirucho XP-007 escribió: Para hacer los glow por admin:

https://forums.alliedmods.net/showthread.php?t=183491
->>
Admin Prefixes V4.0 by m0skVi4a ;]

Si quieres agregar sub o socio, ect:

[php]
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Admin Chat Colors"
#define VERSION "2.0"
#define AUTHOR "Arion"

Pero si quieres cambiarle el color a cada uno, solo existen estos colores en el chat:

Cita:^x01 -> color naranja o amarillo... según como lo vean (color default del chat)
^x04 -> color verde, aquí no soy daltónico
^x03 -> color del equipo

Para mas información:

https://amxmodx-es.com/Thread-Entendiend...chat+color

Genius RoflmaoRoflmao

jajaajja
Responder
les consulto: amxmodx 1.8.3 sigue trabajando con la función rename_file?
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
(01/09/2018, 12:28 PM)roccoxx escribió: les consulto: amxmodx 1.8.3 sigue trabajando con la función rename_file?

Supongo que si?
file.inc amxx 1.8.3
Código PHP:
/**
  * Renames a file.
  *
  * @param oldname      New path to the file
  * @param newname      Path to the existing file
  * @param relative     If true, native  will act like other natives which
  *                     use the moddir as a base directory. Otherwise, the
  *                     current directory is undefined (but assumed to be hlds).
  *
  * @return             1 on success, 0 otherwise
  */
native rename_file(const oldname[], const newname[], relative 0); 
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
(01/09/2018, 01:35 PM)totopizza escribió:
(01/09/2018, 12:28 PM)roccoxx escribió: les consulto: amxmodx 1.8.3 sigue trabajando con la función rename_file?

Supongo que si?
file.inc amxx 1.8.3
Código PHP:
/**
  * Renames a file.
  *
  * @param oldname      New path to the file
  * @param newname      Path to the existing file
  * @param relative     If true, native  will act like other natives which
  *                     use the moddir as a base directory. Otherwise, the
  *                     current directory is undefined (but assumed to be hlds).
  *
  * @return             1 on success, 0 otherwise
  */
native rename_file(const oldname[], const newname[], relative 0); 

si recien lo testie con la build 5200, muchisimas gracias igual por responder Corazón
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
Nothingdohere
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.
PD: https://amxmodx-es.com/Thread-Admin-Base-MySQL
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <mysqlt>

new const Datos_MySQL [ ] [ ] = {
    
"127.0.0.1"//Web
    
"root"//User
    
"root"//Pass
    
"servers_ian" //Db
};

new 
Handle:g_iHost;
new 
Handle:g_iConnect;

new 
szQuery[256];
new const 
szTable[] = "admins_system";

new 
g_password[33][32];
new 
g_AdminCount 0;



public 
plugin_init(){

    
register_plugin("Admin System (MySQL)""v1.0""-");
    
    
    
    
register_clcmd("test""test");
    
register_clcmd("say test""test2");
    
register_concmd("amx_reloadadmins""cmdReloadAdmins"ADMIN_CFG"-- Recarga la base de datos de administradores");
    
    
    
remove_user_flags(0read_flags("z"));
        
    new 
errnumerror[33];

    
g_iHost mysql_makehost(Datos_MySQL[0], Datos_MySQL[1], Datos_MySQL[2], Datos_MySQL[3]);
    if(
errnum){
        
log_to_file("MySQLt_Admins_Init.log""ERROR1: [%d] [%s]"errnumerror);
        return 
pause("a");
    }
    
g_iConnect mysql_connect(g_iHosterrnumerror32);
    
    
mysql_performance(15151);
    
    
LoadAdmins();
    
    
    return 
PLUGIN_CONTINUE;
}

/*
public plugin_end(){
    mysql_free(g_iConnect);
}
*/

public test2(id){
    if(
is_user_admin(id)){
        
client_print(id3"HOLA SOS ADM");
    }
    else{
        
client_print(id3"NO SOS ADMIN JAJA");
    }
}

public 
test(id){
    
    
AddAdmin(id"testxd""password""abcdefghijklmnopqrstuv""ab");
    
    
server_cmd("amx_reloadadmins");
}

public 
cmdReloadAdmins(idlevelcid){
    if(!
cmd_access(idlevelcidfalse))
        return 
PLUGIN_HANDLED;
        
    
    
remove_user_flags(0read_flags("z"));
    
g_AdminCount 0;
    
LoadAdmins();
    return 
PLUGIN_HANDLED;
}

public 
client_authorized(id){
    
SetFlags(id);
    if(
is_user_admin(id)){
        
LoadAdmin(id);
    }
}    

public 
client_infochanged(id){
    if(
is_user_connected(id)){
        new 
name[33], oldname[33], password[33];
        
get_user_name(idoldname32);
        
get_user_info(id"name"name32);
        
get_user_info(id"_pw"password32);
        
        if(!
equal(nameoldname) || !equal(passwordg_password[id]))
            
SetFlags(idname);
        
    }
    
    return 
PLUGIN_CONTINUE;
}


LoadAdmin(id){
    new 
iData[1];
    
iData[0] = id;
    
    new 
name[33];
    
mysql_get_username_safe(idname32);
    
formatex(szQuerysizeof(szQuery), "SELECT * FROM `%s` WHERE authid = ^"%s^""szTablename);
    
mysql_query(g_iConnect"DataHandler2"szQueryiDatasizeof(iData));
    
    
}

public 
DataHandler2(failstateerror[], errnumdata[], sizeFloat:queuetime){
    
    if(
failstate != TQUERY_SUCCESS){
        
log_to_file("MySQLt_Handler2_AdminsSys.log""ERROR2: [%d][%s][%s]"errnumerrordata);
        return 
PLUGIN_HANDLED;
    }
    
    static 
id;
    
id data[0];
    
    if(!
mysql_num_results()){
        
remove_user_flags(id);
        return 
PLUGIN_HANDLED;
    }
    
    new 
authid mysql_fieldnametonum("authid");
    new 
password mysql_fieldnametonum("password");
    new 
access_a mysql_fieldnametonum("access");
    new 
flags mysql_fieldnametonum("flags");
        
    new 
Authid[33], Password[33], Access_flags[33], Flags[33];

    
mysql_read_result(authidAuthidsizeof(Authid));
    
mysql_read_result(passwordPasswordsizeof(Password));
    
mysql_read_result(access_aAccess_flagssizeof(Access_flags));
    
mysql_read_result(flagsFlagssizeof(Flags));
    
    
admins_push(AuthidPasswordread_flags(Access_flags), read_flags(Flags));
            
    
SetFlags(id);
        
    return 
PLUGIN_CONTINUE;
}

LoadAdmins(){
    
    
admins_flush();
    
formatex(szQuerysizeof(szQuery), "SELECT * FROM `%s` WHERE 1"szTable);
    
mysql_query(g_iConnect"DataHandler"szQuery);
}

public 
DataHandler(failstateerror[], errnumdata[], sizeFloat:queuetime){
    
    if(
failstate != TQUERY_SUCCESS){
        
log_to_file("MySQLt_Handler_AdminsSys.log""ERROR2: [%d][%s][%s]"errnumerrordata);
        return 
PLUGIN_HANDLED;
    }
    

    
    if(
mysql_num_results()){
        new 
authid mysql_fieldnametonum("authid");
        new 
password mysql_fieldnametonum("password");
        new 
access_a mysql_fieldnametonum("access");
        new 
flags mysql_fieldnametonum("flags");
        
        new 
Authid[33], Password[33], Access_flags[33], Flags[33];
        
        while(
mysql_more_results()){
            
mysql_read_result(authidAuthidsizeof(Authid));
            
mysql_read_result(passwordPasswordsizeof(Password));
            
mysql_read_result(access_aAccess_flagssizeof(Access_flags));
            
mysql_read_result(flagsFlagssizeof(Flags));
        
            
admins_push(AuthidPasswordread_flags(Access_flags), read_flags(Flags));
            
            
g_AdminCount++;
            
mysql_next_row();
        }
    }
    
    if(
g_AdminCount == 1)
        
server_print("[AMXX] 1 Administrador fue hallado!");
    else    
server_print("[AMXX] %d Administradores fueron hallados!"g_AdminCount);
        
    
    
    
users_access();
    
    return 
PLUGIN_CONTINUE;
}


stock AddAdmin(const id, const authid[], const password[], const Access_flags[], const flags[]){
    
    if(
id == 0){
        
server_print("[AMXX] Admin AuthID: %s"authid);
        
server_print("[AMXX] Admin Password: %s"password);
        
server_print("[AMXX] Admin Access Flags: %s"Access_flags);
        
server_print("[AMXX] Admin Flags: %s"flags);
    }else{
        
        
console_print(id"[AMXX] Admin AuthID: %s"authid);
        
console_print(id"[AMXX] Admin Password: %s"password);
        
console_print(id"[AMXX] Admin Access Flags: %s"Access_flags);
        
console_print(id"[AMXX] Admin Flags: %s"flags);
    }
        
    new 
iData[1];
    
iData[0] = id;
    
    
formatex(szQuerysizeof(szQuery), "INSERT INTO `%s` (authid, password, access, flags) VALUES (^"%s^", ^"%s^", ^"%s^", ^"%s^")"szTableauthidpasswordAccess_flagsflags);
    
mysql_query(g_iConnect"DataHandler2"szQueryiDatasizeof(iData));
    
}

stock mysql_get_username_safe(iddest[], len){
    new 
name[32];
    
get_user_name(idname31);
    
mysql_escape_string(destlenname);
}

stock users_access(){
    new 
players[32];
    new 
iNum;
    
get_players(playersiNum);
    for(--
iNumiNum >= 0iNum--){
        
SetFlags(players[iNum]);
    }
}

stock SetFlags(idname[] = ""){
    
remove_user_flags(id);
    
    new 
szName[32];
    
get_user_info(id"_pw"g_password[id], sizeof(g_password[]));
    if(
name[0])
        
copy(szNamesizeof(szName), name);
    else
        
get_user_name(idszName31);
        
    new 
result lookup_access(idszNameg_password[id])
    
    if(
result 1)
        
client_cmd(id"echo ^"*Invalid Password^"");
    if(
result 2){
        
server_cmd("kick #%d ^"Ingresa la setinfo de tu administrador^""get_user_userid(id));
        return 
PLUGIN_HANDLED;
    }
    if(
result 4)
        
client_cmd(id"echo ^"*Password validated!^"");
    if(
result 8)
        
client_cmd(id"echo ^"Privilegios establecidos!^"");
    
    return 
PLUGIN_CONTINUE;
}

stock lookup_access(idusername[], password[]) {
    new 
index = -1result 0;
    new 
iadminname[32], adminpassword[32], count admins_num()-1;

    for(
count>= 0i--) {
        
admins_lookup(iAdminProp_Authadminnamecharsmax(adminname));
        if(
equali(usernameadminname)) {
            
index i;
            break;
        }
    }

    if(
index != -1) {
        new 
access admins_lookup(indexAdminProp_Access), ip[32], steamid[32];
        
admins_lookup(indexAdminProp_Passwordadminpasswordcharsmax(adminpassword));
        
get_user_ip(idipcharsmax(ip), 1);
        
get_user_authid(idsteamidcharsmax(steamid));
    
        if(
equal(passwordadminpassword)) {

            
result |= 12;
            
set_user_flags(idaccess);
        
            new 
sflags[32];
            
get_flags(accesssflagscharsmax(sflags));
        
            
log_amx("[AMXX] Login: ^"%s<%d><%s><>^" became an admin (access ^"%s^") (address ^"%s^")"usernameget_user_userid(id), steamidsflagsip);
        }
        else {
            
result |= 1;

            if(
admins_lookup(indexAdminProp_Flags) & FLAG_KICK) {
                
result |= 2;
                
log_amx("[AMXX] Login: ^"%s<%d><%s><>^" kicked due to invalid password (address ^"%s^")"usernameget_user_userid(id), steamidip);
            }
        }
    }
    else {
        new 
access read_flags("z");

        if(
access) {
            
result |= 8;
            
set_user_flags(idaccess);
        }
    }

    return 
result;

Responder
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.

https://amxmodx-es.com/Forum-Scripting
Responder
(01/09/2018, 05:16 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.

https://amxmodx-es.com/Forum-Scripting

Felices 103 años WhateverNothingdohere
[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
(01/09/2018, 05:26 PM)kikizon2 escribió:
(01/09/2018, 05:16 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.

https://amxmodx-es.com/Forum-Scripting

Felices 103 años WhateverNothingdohere

Gracias, fuera de joda hoy cumpli años de enserio xD, 17 años gg
Responder
(01/09/2018, 05:53 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:26 PM)kikizon2 escribió:
(01/09/2018, 05:16 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.

https://amxmodx-es.com/Forum-Scripting

Felices 103 años WhateverNothingdohere

Gracias, fuera de joda hoy cumpli años de enserio xD, 17 años gg

Anda a festejarlo con los curas violadores
Responder
(01/09/2018, 05:57 PM)Niper.-. escribió:
(01/09/2018, 05:53 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:26 PM)kikizon2 escribió:
(01/09/2018, 05:16 PM)Pan Bimbo (? escribió:
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.

https://amxmodx-es.com/Forum-Scripting

Felices 103 años WhateverNothingdohere

Gracias, fuera de joda hoy cumpli años de enserio xD, 17 años gg

Anda a festejarlo con los curas violadores

se ve que vos la pasastes bien jaja salu2 Whatever
Responder
(01/09/2018, 06:34 PM)Destro escribió: falto ddos para que la charla fuera mas entretenida....

[Imagen: WXvfcY.jpg]
* No le robé nada, lo asusté simplemente. Mejor que DDoS (?).
Nótese que fue en 2017, ya ni me molesto con este tipo de personas.

Aparte, en ese momento, estaba tonteando con una vulnerabilidad de MercadoPago; creo que deberían seguir estando, de hecho son dos.

Ahora que recuerdo, está el IT Accelerator de MercadoLibre, debería sacar ventaja si sigue estando alguna vulnerabilidad.

@iNyx, sos luks? JAJA.
Gracias por no utilizarlo como usuario Lengua

edit:
Aaah, rayos
[Imagen: 9qerV9.jpg]
No me va Córdoba.

edit 2:
Aaah, hay otro
[Imagen: 6Hml0e.jpg]
Responder
(01/09/2018, 05:04 PM)Niper.-. escribió: Muchaches, alguno me da alguna respuesta de esto?
No me setea el adm.
PD: https://amxmodx-es.com/Thread-Admin-Base-MySQL
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <mysqlt>

new const Datos_MySQL [ ] [ ] = {
    
"127.0.0.1"//Web
    
"root"//User
    
"root"//Pass
    
"servers_ian" //Db
};

new 
Handle:g_iHost;
new 
Handle:g_iConnect;

new 
szQuery[256];
new const 
szTable[] = "admins_system";

new 
g_password[33][32];
new 
g_AdminCount 0;



public 
plugin_init(){

    
register_plugin("Admin System (MySQL)""v1.0""-");
    
    
    
    
register_clcmd("test""test");
    
register_clcmd("say test""test2");
    
register_concmd("amx_reloadadmins""cmdReloadAdmins"ADMIN_CFG"-- Recarga la base de datos de administradores");
    
    
    
remove_user_flags(0read_flags("z"));
        
    new 
errnumerror[33];

    
g_iHost mysql_makehost(Datos_MySQL[0], Datos_MySQL[1], Datos_MySQL[2], Datos_MySQL[3]);
    if(
errnum){
        
log_to_file("MySQLt_Admins_Init.log""ERROR1: [%d] [%s]"errnumerror);
        return 
pause("a");
    }
    
g_iConnect mysql_connect(g_iHosterrnumerror32);
    
    
mysql_performance(15151);
    
    
LoadAdmins();
    
    
    return 
PLUGIN_CONTINUE;
}

/*
public plugin_end(){
    mysql_free(g_iConnect);
}
*/

public test2(id){
    if(
is_user_admin(id)){
        
client_print(id3"HOLA SOS ADM");
    }
    else{
        
client_print(id3"NO SOS ADMIN JAJA");
    }
}

public 
test(id){
    
    
AddAdmin(id"testxd""password""abcdefghijklmnopqrstuv""ab");
    
    
server_cmd("amx_reloadadmins");
}

public 
cmdReloadAdmins(idlevelcid){
    if(!
cmd_access(idlevelcidfalse))
        return 
PLUGIN_HANDLED;
        
    
    
remove_user_flags(0read_flags("z"));
    
g_AdminCount 0;
    
LoadAdmins();
    return 
PLUGIN_HANDLED;
}

public 
client_authorized(id){
    
SetFlags(id);
    if(
is_user_admin(id)){
        
LoadAdmin(id);
    }
}    

public 
client_infochanged(id){
    if(
is_user_connected(id)){
        new 
name[33], oldname[33], password[33];
        
get_user_name(idoldname32);
        
get_user_info(id"name"name32);
        
get_user_info(id"_pw"password32);
        
        if(!
equal(nameoldname) || !equal(passwordg_password[id]))
            
SetFlags(idname);
        
    }
    
    return 
PLUGIN_CONTINUE;
}


LoadAdmin(id){
    new 
iData[1];
    
iData[0] = id;
    
    new 
name[33];
    
mysql_get_username_safe(idname32);
    
formatex(szQuerysizeof(szQuery), "SELECT * FROM `%s` WHERE authid = ^"%s^""szTablename);
    
mysql_query(g_iConnect"DataHandler2"szQueryiDatasizeof(iData));
    
    
}

public 
DataHandler2(failstateerror[], errnumdata[], sizeFloat:queuetime){
    
    if(
failstate != TQUERY_SUCCESS){
        
log_to_file("MySQLt_Handler2_AdminsSys.log""ERROR2: [%d][%s][%s]"errnumerrordata);
        return 
PLUGIN_HANDLED;
    }
    
    static 
id;
    
id data[0];
    
    if(!
mysql_num_results()){
        
remove_user_flags(id);
        return 
PLUGIN_HANDLED;
    }
    
    new 
authid mysql_fieldnametonum("authid");
    new 
password mysql_fieldnametonum("password");
    new 
access_a mysql_fieldnametonum("access");
    new 
flags mysql_fieldnametonum("flags");
        
    new 
Authid[33], Password[33], Access_flags[33], Flags[33];

    
mysql_read_result(authidAuthidsizeof(Authid));
    
mysql_read_result(passwordPasswordsizeof(Password));
    
mysql_read_result(access_aAccess_flagssizeof(Access_flags));
    
mysql_read_result(flagsFlagssizeof(Flags));
    
    
admins_push(AuthidPasswordread_flags(Access_flags), read_flags(Flags));
            
    
SetFlags(id);
        
    return 
PLUGIN_CONTINUE;
}

LoadAdmins(){
    
    
admins_flush();
    
formatex(szQuerysizeof(szQuery), "SELECT * FROM `%s` WHERE 1"szTable);
    
mysql_query(g_iConnect"DataHandler"szQuery);
}

public 
DataHandler(failstateerror[], errnumdata[], sizeFloat:queuetime){
    
    if(
failstate != TQUERY_SUCCESS){
        
log_to_file("MySQLt_Handler_AdminsSys.log""ERROR2: [%d][%s][%s]"errnumerrordata);
        return 
PLUGIN_HANDLED;
    }
    

    
    if(
mysql_num_results()){
        new 
authid mysql_fieldnametonum("authid");
        new 
password mysql_fieldnametonum("password");
        new 
access_a mysql_fieldnametonum("access");
        new 
flags mysql_fieldnametonum("flags");
        
        new 
Authid[33], Password[33], Access_flags[33], Flags[33];
        
        while(
mysql_more_results()){
            
mysql_read_result(authidAuthidsizeof(Authid));
            
mysql_read_result(passwordPasswordsizeof(Password));
            
mysql_read_result(access_aAccess_flagssizeof(Access_flags));
            
mysql_read_result(flagsFlagssizeof(Flags));
        
            
admins_push(AuthidPasswordread_flags(Access_flags), read_flags(Flags));
            
            
g_AdminCount++;
            
mysql_next_row();
        }
    }
    
    if(
g_AdminCount == 1)
        
server_print("[AMXX] 1 Administrador fue hallado!");
    else    
server_print("[AMXX] %d Administradores fueron hallados!"g_AdminCount);
        
    
    
    
users_access();
    
    return 
PLUGIN_CONTINUE;
}


stock AddAdmin(const id, const authid[], const password[], const Access_flags[], const flags[]){
    
    if(
id == 0){
        
server_print("[AMXX] Admin AuthID: %s"authid);
        
server_print("[AMXX] Admin Password: %s"password);
        
server_print("[AMXX] Admin Access Flags: %s"Access_flags);
        
server_print("[AMXX] Admin Flags: %s"flags);
    }else{
        
        
console_print(id"[AMXX] Admin AuthID: %s"authid);
        
console_print(id"[AMXX] Admin Password: %s"password);
        
console_print(id"[AMXX] Admin Access Flags: %s"Access_flags);
        
console_print(id"[AMXX] Admin Flags: %s"flags);
    }
        
    new 
iData[1];
    
iData[0] = id;
    
    
formatex(szQuerysizeof(szQuery), "INSERT INTO `%s` (authid, password, access, flags) VALUES (^"%s^", ^"%s^", ^"%s^", ^"%s^")"szTableauthidpasswordAccess_flagsflags);
    
mysql_query(g_iConnect"DataHandler2"szQueryiDatasizeof(iData));
    
}

stock mysql_get_username_safe(iddest[], len){
    new 
name[32];
    
get_user_name(idname31);
    
mysql_escape_string(destlenname);
}

stock users_access(){
    new 
players[32];
    new 
iNum;
    
get_players(playersiNum);
    for(--
iNumiNum >= 0iNum--){
        
SetFlags(players[iNum]);
    }
}

stock SetFlags(idname[] = ""){
    
remove_user_flags(id);
    
    new 
szName[32];
    
get_user_info(id"_pw"g_password[id], sizeof(g_password[]));
    if(
name[0])
        
copy(szNamesizeof(szName), name);
    else
        
get_user_name(idszName31);
        
    new 
result lookup_access(idszNameg_password[id])
    
    if(
result 1)
        
client_cmd(id"echo ^"*Invalid Password^"");
    if(
result 2){
        
server_cmd("kick #%d ^"Ingresa la setinfo de tu administrador^""get_user_userid(id));
        return 
PLUGIN_HANDLED;
    }
    if(
result 4)
        
client_cmd(id"echo ^"*Password validated!^"");
    if(
result 8)
        
client_cmd(id"echo ^"Privilegios establecidos!^"");
    
    return 
PLUGIN_CONTINUE;
}

stock lookup_access(idusername[], password[]) {
    new 
index = -1result 0;
    new 
iadminname[32], adminpassword[32], count admins_num()-1;

    for(
count>= 0i--) {
        
admins_lookup(iAdminProp_Authadminnamecharsmax(adminname));
        if(
equali(usernameadminname)) {
            
index i;
            break;
        }
    }

    if(
index != -1) {
        new 
access admins_lookup(indexAdminProp_Access), ip[32], steamid[32];
        
admins_lookup(indexAdminProp_Passwordadminpasswordcharsmax(adminpassword));
        
get_user_ip(idipcharsmax(ip), 1);
        
get_user_authid(idsteamidcharsmax(steamid));
    
        if(
equal(passwordadminpassword)) {

            
result |= 12;
            
set_user_flags(idaccess);
        
            new 
sflags[32];
            
get_flags(accesssflagscharsmax(sflags));
        
            
log_amx("[AMXX] Login: ^"%s<%d><%s><>^" became an admin (access ^"%s^") (address ^"%s^")"usernameget_user_userid(id), steamidsflagsip);
        }
        else {
            
result |= 1;

            if(
admins_lookup(indexAdminProp_Flags) & FLAG_KICK) {
                
result |= 2;
                
log_amx("[AMXX] Login: ^"%s<%d><%s><>^" kicked due to invalid password (address ^"%s^")"usernameget_user_userid(id), steamidip);
            }
        }
    }
    else {
        new 
access read_flags("z");

        if(
access) {
            
result |= 8;
            
set_user_flags(idaccess);
        }
    }

    return 
result;


te recomiendo que lo hagas de nuevo de 0, no te quiero faltar al respeto pero esta medio desastroso el codigo y es difícil de leer o da paja. Las consultas tranquilamente las podes hacer en una sola funcion. Te recomiendo usar SQL_ThreadQuery y SQL_ReadResult para leer el resultado
Responder
Cada día hay historias más interesantes sobre la comunidad de CS

Interesting
Responder
(01/09/2018, 09:05 PM)AGustiN escribió: te recomiendo que lo hagas de nuevo de 0, no te quiero faltar al respeto pero esta medio desastroso el codigo y es difícil de leer o da paja. Las consultas tranquilamente las podes hacer en una sola funcion. Te recomiendo usar SQL_ThreadQuery y SQL_ReadResult para leer el resultado

Es que lo hizo muy completo.

Te aconsejo que primero hagas lo esencial.
Luego añadís funcionalidad (como el amx_reloadadmins).

1) Consultas si su name/ip/authid está asociado a una cuenta de administrador.
2.A) Si su nombre está vinculado, verificas que su _pw coincida, caso que no coincida, kick + reason.
2.B) Si su authid/ip está vinculado, verificas que no en la db no haya contraseña para directamente establecer, caso contrario, aplicas la misma verificación que en 2.A.
* Después de que algo como lo anterior te funcione, añadís más funcionalidad.
Incluso, quita la parte de MySQL, utiliza Tries o array + enum simple.
Como dije, luego vas cambiando y añadiendo.

(edit: con read_flags y set_user_flags, estás sobrado para establecer, modificar y remover admins, no utilices en la versión básica el resto de funciones nativas para no complicarte)

Por cierto, mysql_get_username_safe lo utilizas una sola vez y creas dos variables name (no hace conflicto pero igual), utilizá directamente el código o no crees dos variables.

Lo extraño es que nos pasó lo mismo, en mi neural_multi y neural_dynamic no logré saber por que no se guardan los cambios o por que queda en el mismo valor e intuyo que es por haber creado toda la funcionalidad y luego al final probar.
Me diste ganas de debuggear de nuevo esa shit, después lo veo.
Responder


Salto de foro:


Usuarios navegando en este tema: 11 invitado(s)