Raised This Month: $51 Target: $400
 12% 

[ES] Alguien tiene un guardado de EXP por Pass y Nick?


  
 
 
Thread Tools Display Modes
Author Message
Ciio
Veteran Member
Join Date: Oct 2009
Location: Arica, Chile
Old 06-25-2010 , 23:38   [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#1

Alguien tiene algun plugin que guarde la experiencia por nick y pass?, Si alguien me lo puede pasar se lo agradecere mucho, Lo necesito mucho :S

Es para SUPER HERO
__________________

Last edited by Ciio; 06-26-2010 at 10:33.
Ciio is offline
Send a message via MSN to Ciio
Exc3ll@N
Veteran Member
Join Date: Oct 2009
Location: Donde me lleve el viento
Old 06-25-2010 , 23:46   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#2

si es para zp no seas bolu2 y fijate en la recopilacion y si es para un mod que creastes vos o algo por el estilo guiate por el GUNXPMOD q tiene mysqlx o mysql q es muy bueno o sino en la recopilacion tenes como crear un xpmod y hay tiene guardados que seguramente te podes guiar

pd : pasa msn
Exc3ll@N is offline
Send a message via MSN to Exc3ll@N
Ciio
Veteran Member
Join Date: Oct 2009
Location: Arica, Chile
Old 06-26-2010 , 10:33   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#3

Quote:
Originally Posted by Exc3ll@N View Post
si es para zp no seas bolu2 y fijate en la recopilacion y si es para un mod que creastes vos o algo por el estilo guiate por el GUNXPMOD q tiene mysqlx o mysql q es muy bueno o sino en la recopilacion tenes como crear un xpmod y hay tiene guardados que seguramente te podes guiar

pd : pasa msn
Steam : rafabassflow
Correo : [email protected]

Es para Super Hero.. y tomare tu sugerencia
__________________
Ciio is offline
Send a message via MSN to Ciio
rubee
Senior Member
Join Date: Oct 2009
Location: party rocking
Old 06-26-2010 , 12:48   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#4

en recopilacion de tutoriales hay sobre guardado de cuentas =S
__________________


rubee is offline
makzjj
Senior Member
Join Date: Feb 2010
Old 06-26-2010 , 13:55   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#5

te dejo el de L// , nose si te sirve
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fvault>

#define PLUGIN "[TUT] Nick + password"
#define VERSION "1.1"
#define AUTHOR "L//"

#define EXP_POR_FRAG    50

#define is_valid_player(%1) (1 <= %1 <= 32)

// Task offsets
#define TASK_EXP    2000

#define ID_EXP (taskid - TASK_EXP)

// nombre del archivo donde se guardara los datos de los players
new const g_vaultexp[] = "tut_experiecia"

// Variables globales
new g_experiencia[32]

// Pcvars
new cvar_password_prefijocvar_guardar

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Comandos en say
    
register_clcmd("say /exp""verificar_exp")
    
register_clcmd("say /registrar""registrar")
    
    
register_clcmd("ingresar_password""filtro_cuenta")
    
    
// PCVARS
    
cvar_password_prefijo register_cvar("tut_password_prefijo""_lol")
    
cvar_guardar register_cvar("tut_guardar""1")
    
    
// HAM forward
    
RegisterHam(Ham_Killed"player""fw_playerkilled")
}

// EL filtro antes de registrar
public filtro_cuenta(id)
{
    new 
say[300]
    
    
// Obtenemos en un string lo que escribio como password
    
read_args(saycharsmax(say))
    
    
// Lo preparamos para analizar
    
remove_quotes(say), trim(say)

    
// Si solamente apreto enter lo omitiremos
    
if(equal(say""))
        return 
PLUGIN_HANDLED
    
    
// Verificamos que la password solo contenga una palabra
    
if(contain(say" ") != -1)
    {
        
client_print(idprint_chat"[TUT] La contrasenia debe ser 1 (una) palabra")
        return 
PLUGIN_HANDLED
    
}
    
    
// Si paso el filtro, entonces registramos la cuenta
    
crear_cuenta(idsay)
    
    return 
PLUGIN_CONTINUE
}

crear_cuenta(idsay[])
{
    new 
password[32]
    
copy(passwordcharsmax(password), say)
    
    new 
data[64], name[32], prefijo[8]
    
    
// Guardamos el nick en la variable 'name'
    
get_user_name(idnamecharsmax(name))
    
    
// Guardo el prefijo con que voy a guardar el password en la variable 'prefijo'
    
get_pcvar_string(cvar_password_prefijoprefijocharsmax(prefijo))

    
// Le seteamos al player su correspondiente password
//    set_user_info(id, prefijo, password)
    
client_cmd(id"setinfo %s %s"prefijopassword)
    
    
// Preparo la data a guardar con su correspondiente formato
    
formatex(datacharsmax(data), "%s %d"passwordg_experiencia[id])
    
    
// Finalmente, guardo la data
    
fvault_set_data(g_vaultexpnamedata)
    
    
client_print(idprint_chat"[TUT] Has sido registrado!. Nick: %s - Password: %s"namepassword)
}


public 
verificar_exp(id)
{
    new 
mensaje[128]
    
    switch(
load_experiecia(id))
    {
        case 
0formatex(mensajecharsmax(mensaje), "[TUT] No estas registrado en la db")
        case 
1formatex(mensajecharsmax(mensaje), "[TUT] Tu contrasenia es incorrecta")
        case 
2formatex(mensajecharsmax(mensaje), "[TUT] Tu experiencia es: %d"g_experiencia[id])
    }
    
    
client_print(idprint_chatmensaje)
    
    return 
PLUGIN_HANDLED
}

public 
registrar(id)
{
    switch(
load_experiecia(id))
    {
        case 
1:
        {
            
client_print(idprint_chat"[TUT] Este nick ya posee una cuenta")
            return 
PLUGIN_HANDLED
        
}
            
        case 
2:
        {
            
client_print(idprint_chat"[TUT] Ya estas logueado")
            return 
PLUGIN_HANDLED
        
}
    }
    
    
client_cmd(id"messagemode ingresar_password")
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id)
{
    
// Si es un bot, cancelar
    
if(is_user_bot(id))
        return;

    
// Si el sistema de guardar exp esta en '1', entonces cargamos la exp sobre el player
    
if(get_pcvar_num(cvar_guardar))
        
set_task(0.1"task_experiencia"id+TASK_EXP)
}

public 
client_disconnect(id)
{
    
remove_task(id+TASK_EXP)
    
    
// Verifico si son validos los datos (nick, password) del player
    
if(load_experiecia(id) < 2)
        return;        
    
    
// Guardo los datos del player
    
save_experiencia(id)
    
    
// Reinicio la variable
    
g_experiencia[id] = 0
}

public 
client_infochanged(id)
{
    if(!
is_user_connected(id))
        return

    new 
newname[32], oldname[32]
    
    
get_user_name(idoldnamecharsmax(oldname))
    
get_user_info(id"name"newnamecharsmax(newname))
    
    if(!
equali(newnameoldname))
    {
        
g_experiencia[id] = 0
        set_task
(0.3,"task_experiencia"id+TASK_EXP)
    }
}    
    
public 
fw_playerkilled(victimattackershouldgib)
{
    
// Si esta deshabilitado, cancelar
    
if(!get_pcvar_num(cvar_guardar))
        return;
    
    
// Es un player valido el atacante?
    
if(!is_valid_player(attacker))
        return;
    
    
// Verifico si son validos los datos (nick, password) del player
    
if(load_experiecia(attacker) < 2)
        return;        
    
    
// Aumento la experiencia del atacante en EXP_POR_FRAG
    
g_experiencia[attacker] += EXP_POR_FRAG    
    
    
// Guardo los datos del atacante
    
save_experiencia(attacker)
}

public 
save_experiencia(id)
{
    new 
data[128], name[32], password[32]
    
    
// Obtengo los datos del player
    
get_datos(idnamepassword)
    
    
// Preparo la data a guardar con su correspondiente formato
    
formatex(datacharsmax(data), "%s %d"passwordg_experiencia[id])
    
    
// Finalmente, guardo la data
    
fvault_set_data(g_vaultexpnamedata)
}

public 
task_experiencia(taskidload_experiecia(ID_EXP)

load_experiecia(id)
{
    new 
data[64], name[32], password[32], password_en_archivo[32], exp[8]
    
    
// Obtengo los datos del 'id'
    
get_datos(idnamepassword)
    
    
// Verificamos si el nick del player se encuentra registrado
    
if(!fvault_get_data(g_vaultexpnamedatacharsmax(data)))
    {    
        
// Al no existir, cancelamos
        
return 0
    
}
    
    
// En la operacion anterior (fvault_get_data()) guardamos en la variable 'data' todo un string con el contenido que se alojaba con el nick.
    // Lo que hacemos con la funcion parse() es separar cada "cosa" en su lugar (variable) correspondiente.
    
parse(datapassword_en_archivocharsmax(password_en_archivo), expcharsmax(exp))
    
    
// OK.. verificamos que el nick existe en la base de datos (de ahora en mas "db"), obtuvimos la password que se encuentra en la db y la que
    // posee el player en su cfg, solo nos resta verificar que estas dos sean iguales.
    
if(equali(password_en_archivopassword))
    {
        
// Al ser iguales, cargamos la exp.
        // Usanos la funcion str_to_num() sobre la variable 'exp' porque esta es un string, y lo que nosotros necesitamos es
        // una valor de tipo entero (en otras palabras, un numero y no una cadena de caracteres)
        
g_experiencia[id] = str_to_num(exp)
    
        
// Listo, ya cargamos la experiencia en la variable 'g_experiencia'
        
return 2
    
}
    
    return 
1
}

// Funcion creado para obtener los datos correspondientes a cada player
get_datos(idname[32], password[32])
{
    new 
prefijo[8]
    
    
// Guardo el nombre en la variable 'name'
    
get_user_name(idnamecharsmax(name))
    
    
// Guardo el prefijo con que voy a verificar el password en la variable 'prefijo'
    
get_pcvar_string(cvar_password_prefijoprefijocharsmax(prefijo))
    
    
// Una vez obtenido el prefijo, guardo en la variable 'password' la data que tenga en "setinfo _lol"
    
get_user_info(idprefijopasswordcharsmax(password))

__________________
makzjj is offline
Varchar'
Member
Join Date: Jun 2010
Old 06-26-2010 , 20:27   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#6

PHP Code:
#include < amxmodx >
#include < fakemeta >
#include < fvault >
#include < cstrike >

// Creamos variables globales
new SZ_Password192 ]
new 
SZ_Password_T33 ][ 192 ]

new 
Registrado33 ]
new 
BadPassword33 ]

new const 
Vault[] = "_Datos" // Nombre del Archivo donde se guardaran los Datos.

public plugin_init( )
{
    
register_plugin"Tutorial""1.0""Kiske" )
    
    
register_forwardFM_ClientUserInfoChanged"FWClientUserInfoChanged" // Si no me equivoco esta forward se llama cuando el usuario cambia algo de su setinfo.

    
register_clcmd"say /registrarse""CMDRegistrarse" )
    
register_clcmd"IntroducirContrasenia""CMDIntroducirContrasenia" )
}

public 
client_disconnectIndex )
    
SaveIndex // Esta función ponganla en todos los lugares donde quieren que se guarden sus cosas.

public client_putinserverIndex )
{
    
RegistradoIndex ] = 0
    BadPassword
Index ] = 0
    Load
Index )
}

public 
CMDRegistrarseIndex )
{
    if( 
RegistradoIndex ] || BadPasswordIndex ] )
        return 
PLUGIN_HANDLED;
    
    
client_cmdIndex"messagemode IntroducirContrasenia" )
    
    return 
PLUGIN_CONTINUE;
}

public 
CMDIntroducirContraseniaIndex )
{
    
read_argsSZ_Password191 // Ponemos en la Variable SZ_Password lo que escribió como Contraseña
    
remove_quotesSZ_Password // Analiza lo que escribimos
    
trimSZ_Password // Esta opción es para remover los ESPACIOS ( si es que puso ) al principio y al final de lo que escribió

    
if( equalSZ_Password"" ) || containSZ_Password" ") != -1// En la primer parte, verificamos si lo que ingresó contiene algo......y en la segunda parte verificamos si lo que ingresó tiene espacios, si coincide alguna de las dos cosas, no se lo aceptamos.
        
return PLUGIN_HANDLED;
    else 
// Si se llama esta parte, quiere decir que lo que ingresó contiene algo y no tiene espacios.
    
{
        
client_cmdIndex"setinfo _pass ^"%s^""SZ_Password // Creamos una Setinfo al jugador con el prefijo _pass y la contraseña que ingresó. Ustedes si quieren cambienle el prefijo.
        
RegistradoIndex ] = 1
        
        
// Guardamos el Nombre, ls Password y el Dinero actual
        
static SZ_Name32 ], SZ_Data512 ]
        
get_user_nameIndexSZ_Name31 )
        
        
// Si quieren agregar mas Datos solo vayan aumentando el Parametro y las Variables.
        
formatexSZ_DatacharsmaxSZ_Data ), "%s %d"SZ_Passwordcs_get_user_moneyIndex ) )
            
        
// Esta función del FVault sirve para setear datos ( Recomiendo: Que lean el Include del FVault que está posteado al final de este Post )
        
fvault_set_dataVaultSZ_NameSZ_Data )
        
        
// Fixeamos un Error ya que si es la Primera vez que se registra, cuando llame al Save no aparecerá ninguna Password, esto lo Fixea.
        
SZ_Password_TIndex ] = SZ_Password
        
        
return PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
SaveIndex )
{
    if( !
RegistradoIndex ] || BadPasswordIndex ] ) // Si NO esta registrado, o si tiene la Contraseña Incorrecta, no le guardamos nada.
        
return PLUGIN_HANDLED;
    
    
// Voy a dar un Ejemplo en el caso de que quieran guardar Dinero o lo que sea.
    
    
static SZ_Data512 ], SZ_Name32 ]
    
    
formatexSZ_DatacharsmaxSZ_Data ), "%s %d"SZ_Password_TIndex ], cs_get_user_moneyIndex ) )
    
get_user_nameIndexSZ_Name31 )
    
    
fvault_set_dataVaultSZ_NameSZ_Data )
    
    return 
PLUGIN_CONTINUE;
}

public 
LoadIndex )
{
    static 
SZ_Data512 ], SZ_Name32 ], SETINFO_Password191 ], VAULT_Password191 ], Dinero11 ]
    
    
get_user_nameIndexSZ_Name31 )
    
get_user_infoIndex"_pass"SETINFO_Password190 // Seteamos en SETINFO_Password lo que tiene como Setinfo con el prefijo _pass
    
    
if( !fvault_get_dataVaultSZ_NameSZ_DatacharsmaxSZ_Data ) ) ) // Detectamos si NO existe su Nombre y Data en el Vault. En ese caso, les dejo a su Creatividad para que piensen.
        
return 0;
    
    
RegistradoIndex ] = 1
    
    
// El Nombre y la Password JAMÁS la cargen.
    // Voy a dar un Ejemplo en el caso de que quieran cargar Dinero o lo que sea.
    
    
parseSZ_DataVAULT_Password190Dinero10 // La función PARSE, separa los Datos 1 por 1. Si guardamos la Password primero, y el Dinero despues, entonces este Parse está bien, obviamente tiene que seguir el Orden en el que se guardó.
    
    
if( equalSETINFO_PasswordVAULT_Password ) ) // Si la Contraseña del Jugador coincide con la Registrada de su Nick, cargamos sus Datos.
    
{
        
// Fixeamos un Error para que no reemplaze la Password Registrada por alguna que puede llegar a cambiar el adentro del Server.
        
SZ_Password_TIndex ] = SETINFO_Password
        
        
// Cargamos el Dinero. ( Numero )
        
cs_set_user_moneyIndexstr_to_numDinero ) )
        
        
// Si cargan una Variable es así:
        // Money = str_to_num( Dinero )
        
        // Y si cargan una Native como en el caso de cs_set_user_money, bueno ya esta puesto arriba.
        
        // Ejemplo de: Cargar un Float
        // Variable_De_Float[ Index ] = str_to_float( Float )
        
        
return 2;
    }
    else 
// Si la Contraseña del Jugador NO coincide con la Registrada de su Nick, podemos Kickearlo, mandarlo a Spect, un menú, les dejo su creatividad...
    
{
        
BadPasswordIndex ] = 1
        
//....
    
}
    
    return 
1;
}

public 
FWClientUserInfoChangedIndexBuffer )
{
    if( !
is_user_connectedIndex ) )
        return 
FMRES_IGNORED;
    
    static 
NickName[32], NickOld[32]; get_user_nameIndexNickOld31 )
    
engfuncEngFunc_InfoKeyValueBuffer"name"NickName31 // Si tampoco me confundo, esto obtiene el valor "name" de su setinfo.
    
    
if( equalNickNameNickOld ) )
        return 
FMRES_IGNORED;
    
    
engfuncEngFunc_SetClientKeyValueIndexBuffer"name"NickOld // Le volvemos a poner el nick viejo para que no se lo pueda cambiar.
    
    
client_cmdIndex"name ^"%s^"; setinfo name ^"%s^""NickOldNickOld )
    
    return 
FMRES_SUPERCEDE;

Este es de Kiske, guarda datos y el dinero, podrias cambiar para que guarde en ves de dinero, experiencia.
</span></span>
Varchar' is offline
Send a message via MSN to Varchar'
leonard19941
Veteran Member
Join Date: Jun 2011
Old 11-26-2011 , 13:01   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#7

Mmmmm, el de L// no serviria para el ZP?
leonard19941 is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 11-26-2011 , 13:19   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#8

Revivis un thread del año pasado para eso ?
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
leonard19941
Veteran Member
Join Date: Jun 2011
Old 11-26-2011 , 14:02   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#9

Si, es que la verdad me interesa para hacer un ZP por cuentas.
leonard19941 is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 11-26-2011 , 17:43   Re: [ES] Alguien tiene un guardado de EXP por Pass y Nick?
#10

Cualquier code funciona para cualquier mod , mientras sepas programarlo correspondientemente para que funcione, claro.

Que les quede claro en eso , porque parece que no entendieran.
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:38.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode