Mensajes: 417
Temas: 53
Registro en: May 2014
Busco comunidad (Arg) para poner mi HNS (actualizado)
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
Busco comunidad (Arg) para poner mi HNS (actualizado)
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
31/08/2018, 08:33 AM
(Última modificación: 31/08/2018, 08:34 AM por Valentina..)
Busco comunidad (No importa el país) para poner mi HNS (actualizado)
Mensajes: 417
Temas: 53
Registro en: May 2014
Busco comunidad (No importa la region) para poner mi HNS (actualizado)
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
31/08/2018, 01:54 PM
(Última modificación: 31/08/2018, 02:32 PM por Skylar.)
EDIT: No dije nada, salu2
Mensajes: 1,450
Temas: 59
Registro en: Feb 2015
Reputación:
20
(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 xd
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
(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
(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:
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
piruchon kk revisa hay un ini de consistencia cambialo a 0 y ya
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
01/09/2018, 12:56 AM
(Última modificación: 01/09/2018, 12:56 AM por Skylar.)
(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
Mensajes: 27
Temas: 2
Registro en: Aug 2018
Reputación:
0
(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:
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
Mensajes: 1,450
Temas: 59
Registro en: Feb 2015
Reputación:
20
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
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.
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
(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);
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
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
(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
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.
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
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
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
01/09/2018, 05:04 PM
(Última modificación: 01/09/2018, 05:05 PM por Niper.-..)
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(0, read_flags("z")); new errnum, error[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]", errnum, error); return pause("a"); } g_iConnect = mysql_connect(g_iHost, errnum, error, 32); mysql_performance(15, 15, 1); LoadAdmins(); return PLUGIN_CONTINUE; }
/* public plugin_end(){ mysql_free(g_iConnect); } */
public test2(id){ if(is_user_admin(id)){ client_print(id, 3, "HOLA SOS ADM"); } else{ client_print(id, 3, "NO SOS ADMIN JAJA"); } }
public test(id){ AddAdmin(id, "testxd", "password", "abcdefghijklmnopqrstuv", "ab"); server_cmd("amx_reloadadmins"); }
public cmdReloadAdmins(id, level, cid){ if(!cmd_access(id, level, cid, false)) return PLUGIN_HANDLED; remove_user_flags(0, read_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(id, oldname, 32); get_user_info(id, "name", name, 32); get_user_info(id, "_pw", password, 32); if(!equal(name, oldname) || !equal(password, g_password[id])) SetFlags(id, name); } return PLUGIN_CONTINUE; }
LoadAdmin(id){ new iData[1]; iData[0] = id; new name[33]; mysql_get_username_safe(id, name, 32); formatex(szQuery, sizeof(szQuery), "SELECT * FROM `%s` WHERE authid = ^"%s^"", szTable, name); mysql_query(g_iConnect, "DataHandler2", szQuery, iData, sizeof(iData)); }
public DataHandler2(failstate, error[], errnum, data[], size, Float:queuetime){ if(failstate != TQUERY_SUCCESS){ log_to_file("MySQLt_Handler2_AdminsSys.log", "ERROR2: [%d][%s][%s]", errnum, error, data); 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(authid, Authid, sizeof(Authid)); mysql_read_result(password, Password, sizeof(Password)); mysql_read_result(access_a, Access_flags, sizeof(Access_flags)); mysql_read_result(flags, Flags, sizeof(Flags)); admins_push(Authid, Password, read_flags(Access_flags), read_flags(Flags)); SetFlags(id); return PLUGIN_CONTINUE; }
LoadAdmins(){ admins_flush(); formatex(szQuery, sizeof(szQuery), "SELECT * FROM `%s` WHERE 1", szTable); mysql_query(g_iConnect, "DataHandler", szQuery); }
public DataHandler(failstate, error[], errnum, data[], size, Float:queuetime){ if(failstate != TQUERY_SUCCESS){ log_to_file("MySQLt_Handler_AdminsSys.log", "ERROR2: [%d][%s][%s]", errnum, error, data); 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(authid, Authid, sizeof(Authid)); mysql_read_result(password, Password, sizeof(Password)); mysql_read_result(access_a, Access_flags, sizeof(Access_flags)); mysql_read_result(flags, Flags, sizeof(Flags)); admins_push(Authid, Password, read_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(szQuery, sizeof(szQuery), "INSERT INTO `%s` (authid, password, access, flags) VALUES (^"%s^", ^"%s^", ^"%s^", ^"%s^")", szTable, authid, password, Access_flags, flags); mysql_query(g_iConnect, "DataHandler2", szQuery, iData, sizeof(iData)); }
stock mysql_get_username_safe(id, dest[], len){ new name[32]; get_user_name(id, name, 31); mysql_escape_string(dest, len, name); }
stock users_access(){ new players[32]; new iNum; get_players(players, iNum); for(--iNum; iNum >= 0; iNum--){ SetFlags(players[iNum]); } }
stock SetFlags(id, name[] = ""){ remove_user_flags(id); new szName[32]; get_user_info(id, "_pw", g_password[id], sizeof(g_password[])); if(name[0]) copy(szName, sizeof(szName), name); else get_user_name(id, szName, 31); new result = lookup_access(id, szName, g_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(id, username[], password[]) { new index = -1, result = 0; new i, adminname[32], adminpassword[32], count = admins_num()-1;
for(i = count; i >= 0; i--) { admins_lookup(i, AdminProp_Auth, adminname, charsmax(adminname)); if(equali(username, adminname)) { index = i; break; } }
if(index != -1) { new access = admins_lookup(index, AdminProp_Access), ip[32], steamid[32]; admins_lookup(index, AdminProp_Password, adminpassword, charsmax(adminpassword)); get_user_ip(id, ip, charsmax(ip), 1); get_user_authid(id, steamid, charsmax(steamid)); if(equal(password, adminpassword)) {
result |= 12; set_user_flags(id, access); new sflags[32]; get_flags(access, sflags, charsmax(sflags)); log_amx("[AMXX] Login: ^"%s<%d><%s><>^" became an admin (access ^"%s^") (address ^"%s^")", username, get_user_userid(id), steamid, sflags, ip); } else { result |= 1;
if(admins_lookup(index, AdminProp_Flags) & FLAG_KICK) { result |= 2; log_amx("[AMXX] Login: ^"%s<%d><%s><>^" kicked due to invalid password (address ^"%s^")", username, get_user_userid(id), steamid, ip); } } } else { new access = read_flags("z");
if(access) { result |= 8; set_user_flags(id, access); } }
return result; }
Mensajes: 1,342
Temas: 21
Registro en: Jun 2015
Reputación:
9
(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
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(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
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 1,342
Temas: 21
Registro en: Jun 2015
Reputación:
9
(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
Gracias, fuera de joda hoy cumpli años de enserio xD, 17 años gg
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
(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
Gracias, fuera de joda hoy cumpli años de enserio xD, 17 años gg
Anda a festejarlo con los curas violadores
Mensajes: 1,342
Temas: 21
Registro en: Jun 2015
Reputación:
9
Mensajes: 713
Temas: 32
Registro en: Jul 2014
Reputación:
19
01/09/2018, 07:28 PM
(Última modificación: 01/09/2018, 07:33 PM por LuKks.)
(01/09/2018, 06:34 PM)Destro escribió: falto ddos para que la charla fuera mas entretenida....
* 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
edit:
Aaah, rayos
No me va Córdoba.
edit 2:
Aaah, hay otro
Mensajes: 1,191
Temas: 41
Registro en: Jun 2014
Reputación:
8
01/09/2018, 09:05 PM
(Última modificación: 01/09/2018, 09:09 PM por AGustiN.)
(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(0, read_flags("z")); new errnum, error[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]", errnum, error); return pause("a"); } g_iConnect = mysql_connect(g_iHost, errnum, error, 32); mysql_performance(15, 15, 1); LoadAdmins(); return PLUGIN_CONTINUE; }
/* public plugin_end(){ mysql_free(g_iConnect); } */
public test2(id){ if(is_user_admin(id)){ client_print(id, 3, "HOLA SOS ADM"); } else{ client_print(id, 3, "NO SOS ADMIN JAJA"); } }
public test(id){ AddAdmin(id, "testxd", "password", "abcdefghijklmnopqrstuv", "ab"); server_cmd("amx_reloadadmins"); }
public cmdReloadAdmins(id, level, cid){ if(!cmd_access(id, level, cid, false)) return PLUGIN_HANDLED; remove_user_flags(0, read_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(id, oldname, 32); get_user_info(id, "name", name, 32); get_user_info(id, "_pw", password, 32); if(!equal(name, oldname) || !equal(password, g_password[id])) SetFlags(id, name); } return PLUGIN_CONTINUE; }
LoadAdmin(id){ new iData[1]; iData[0] = id; new name[33]; mysql_get_username_safe(id, name, 32); formatex(szQuery, sizeof(szQuery), "SELECT * FROM `%s` WHERE authid = ^"%s^"", szTable, name); mysql_query(g_iConnect, "DataHandler2", szQuery, iData, sizeof(iData)); }
public DataHandler2(failstate, error[], errnum, data[], size, Float:queuetime){ if(failstate != TQUERY_SUCCESS){ log_to_file("MySQLt_Handler2_AdminsSys.log", "ERROR2: [%d][%s][%s]", errnum, error, data); 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(authid, Authid, sizeof(Authid)); mysql_read_result(password, Password, sizeof(Password)); mysql_read_result(access_a, Access_flags, sizeof(Access_flags)); mysql_read_result(flags, Flags, sizeof(Flags)); admins_push(Authid, Password, read_flags(Access_flags), read_flags(Flags)); SetFlags(id); return PLUGIN_CONTINUE; }
LoadAdmins(){ admins_flush(); formatex(szQuery, sizeof(szQuery), "SELECT * FROM `%s` WHERE 1", szTable); mysql_query(g_iConnect, "DataHandler", szQuery); }
public DataHandler(failstate, error[], errnum, data[], size, Float:queuetime){ if(failstate != TQUERY_SUCCESS){ log_to_file("MySQLt_Handler_AdminsSys.log", "ERROR2: [%d][%s][%s]", errnum, error, data); 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(authid, Authid, sizeof(Authid)); mysql_read_result(password, Password, sizeof(Password)); mysql_read_result(access_a, Access_flags, sizeof(Access_flags)); mysql_read_result(flags, Flags, sizeof(Flags)); admins_push(Authid, Password, read_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(szQuery, sizeof(szQuery), "INSERT INTO `%s` (authid, password, access, flags) VALUES (^"%s^", ^"%s^", ^"%s^", ^"%s^")", szTable, authid, password, Access_flags, flags); mysql_query(g_iConnect, "DataHandler2", szQuery, iData, sizeof(iData)); }
stock mysql_get_username_safe(id, dest[], len){ new name[32]; get_user_name(id, name, 31); mysql_escape_string(dest, len, name); }
stock users_access(){ new players[32]; new iNum; get_players(players, iNum); for(--iNum; iNum >= 0; iNum--){ SetFlags(players[iNum]); } }
stock SetFlags(id, name[] = ""){ remove_user_flags(id); new szName[32]; get_user_info(id, "_pw", g_password[id], sizeof(g_password[])); if(name[0]) copy(szName, sizeof(szName), name); else get_user_name(id, szName, 31); new result = lookup_access(id, szName, g_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(id, username[], password[]) { new index = -1, result = 0; new i, adminname[32], adminpassword[32], count = admins_num()-1;
for(i = count; i >= 0; i--) { admins_lookup(i, AdminProp_Auth, adminname, charsmax(adminname)); if(equali(username, adminname)) { index = i; break; } }
if(index != -1) { new access = admins_lookup(index, AdminProp_Access), ip[32], steamid[32]; admins_lookup(index, AdminProp_Password, adminpassword, charsmax(adminpassword)); get_user_ip(id, ip, charsmax(ip), 1); get_user_authid(id, steamid, charsmax(steamid)); if(equal(password, adminpassword)) {
result |= 12; set_user_flags(id, access); new sflags[32]; get_flags(access, sflags, charsmax(sflags)); log_amx("[AMXX] Login: ^"%s<%d><%s><>^" became an admin (access ^"%s^") (address ^"%s^")", username, get_user_userid(id), steamid, sflags, ip); } else { result |= 1;
if(admins_lookup(index, AdminProp_Flags) & FLAG_KICK) { result |= 2; log_amx("[AMXX] Login: ^"%s<%d><%s><>^" kicked due to invalid password (address ^"%s^")", username, get_user_userid(id), steamid, ip); } } } else { new access = read_flags("z");
if(access) { result |= 8; set_user_flags(id, access); } }
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
Mensajes: 2,087
Temas: 3
Registro en: Jul 2015
Reputación:
14
Cada día hay historias más interesantes sobre la comunidad de CS
Mensajes: 713
Temas: 32
Registro en: Jul 2014
Reputación:
19
01/09/2018, 10:01 PM
(Última modificación: 01/09/2018, 10:03 PM por LuKks.)
(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.
|