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

Una pregunta sobre guardado de SHMod


  
 
 
Thread Tools Display Modes
Author Message
Shion
Senior Member
Join Date: Dec 2008
Old 11-13-2010 , 17:02   Una pregunta sobre guardado de SHMod
#1

Bueno tengo una duda sobre el SuperHero Mod sobre guardar cuentas, Actualmente estoy usando el logueo de manu

Pero, el logeo no es suficiente ya, que varia gente pierde levels,y la pregunta es. ¿Hay algun plugin que sirva para Guardar por nombre?, Espero averme expresado bien, ya que lo que busque no lo he logrado encontrar, Muchas gracias como siempre de antemano, FoKo

El guardado de Kiske no lo use ya que guarda dinero y ni idea si podria guardar lo pedido. y aparte no tiene un logueo como el del actual plugin que estoy usando :E

El code del logueo qu estoy usando es:

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

#define PLUGIN "Sistema de Cuentas"
#define VERSION "1.0"
#define AUTHOR "Manu"

new const NombreVaul[] = "Cuentas"

new Contra[192]
new LogPw[192]
new ContraNueva[192]
new MalaPW[33]
new Reg[33]
new Intentos[33]
new CambiarPW[33]
new PuedoTeam[33]
new Cambiar, maxplayers

public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("chooseteam", "clcmd_changeteam")
    register_clcmd("jointeam", "clcmd_changeteam")
    
    register_clcmd("Logueo_Contrasenia", "Logueo")
    register_clcmd("Registro_Contrasenia", "Cuenta")
    register_clcmd("Nueva_Contrasenia", "NuevaContrasenia")
    
    register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")
    
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    
    maxplayers = get_maxplayers()
    
    Cambiar = register_cvar("amx_equipo", "1")
}

public FWClientUserInfoChanged( Index, Buffer )
{
    if( !is_user_connected( Index ) )
        return FMRES_IGNORED;
    
    static NickName[32], NickOld[32]; get_user_name( Index, NickOld, 31 )
    engfunc( EngFunc_InfoKeyValue, Buffer, "name", NickName, 31 )
    
    if( equal( NickName, NickOld ) )
        return FMRES_IGNORED;
    
    engfunc( EngFunc_SetClientKeyValue, Index, Buffer, "name", NickOld )
    
    client_cmd( Index, "name ^"%s^"; setinfo name ^"%s^"", NickOld, NickOld )
    
    return FMRES_SUPERCEDE;
}

public event_round_start()
{
    for( new id = 1; id < maxplayers; id++ )
    {
        PuedoTeam[id] = 0
    }
}

public client_putinserver(id)
{
    MalaPW[id] = 0
    Reg[id] = 0
    Intentos[id] = 0
    PuedoTeam[id] = 0
    
    set_task(0.1, "clcmd_changeteam", id)
}

public clcmd_changeteam(id) // Kiske :$ no me salia esta parte :@ igual era un error que despues me di cuenta :P
{
    static Team; Team = get_user_team(id)
    
    if( ( Team == 0 || Team == 3 ) && MalaPW[id] == 0 && Reg[id] == 1 )
        return PLUGIN_CONTINUE;
    else if( !Reg[id] || MalaPW[id] )
    {
        new Menu = menu_create("\ySistema de Cuentas:", "Mostrar")
        
        menu_additem(Menu, "\wRegistrarse", "1", 0)
        menu_additem(Menu, "\wLoguearse", "2", 0)
        
        menu_addtext(Menu, "\w^n^nCreado por Manu para Proteger^nTu nick con contrasenia!", 0)
        
        menu_setprop(Menu,MPROP_EXITNAME,"Salir")
        
        menu_display(id, Menu, 0) 
        
        return PLUGIN_HANDLED;
    }
    else
        Opciones(id)
    
    return PLUGIN_HANDLED;
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------Menu de Reg----------------------------------------*/

public Menu(id) 
{
    new Menu = menu_create("\yRegistro", "Mostrar")
    
    menu_additem(Menu, "\wRegistrarse", "1", 0)
    menu_additem(Menu, "\wLoguearse", "2", 0)
    
    menu_addtext(Menu, "\w^n^nCreado por Manu para Proteger^nTu nick con contrasenia!", 0)
    
    menu_setprop(Menu,MPROP_EXITNAME,"Salir")
    
    menu_display(id, Menu, 0) 
} 

public Mostrar(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        ChatColor(id, "!g[Sistema de Cuentas] !ySi estas de spectador, No te servira que salgas del menu!")
    } 
    
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
    
    switch (str_to_num(iData)) 
    { 
        case 1:
        { 
            PreCuenta(id)
        }
        case 2:
        { 
            if( Intentos[id] == 3 )
            {
                client_cmd(id, "disconnect;echo MAXIMO DE INTENTOS ALCANZADOS;toggleconsole")
            }
            PreLogueo(id)
        }
    } 
    
    return PLUGIN_HANDLED 
}

/*--------------------------------------------------------------------------------------------------
-------------------------------------------SOLO LOGUEO--------------------------------------------*/

public PreLogueo(id)
{
    new szData[512], szNombre[32]
    
    get_user_name(id, szNombre, 31)
    
    if( !fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData)) )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yNo estas Registrado!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        client_cmd(id, "messagemode Logueo_Contrasenia")
        set_hudmessage(170, 255, 127, 0.0, 0.07, 0, 6.0, 12.0)
        show_hudmessage(id, "Ingresa tu Contrasenia para Loguearte!")
    }
    
    return PLUGIN_HANDLED
}

public Logueo(id)
{
    new szData[512], szNombre[32], szContra[192]
    
    get_user_name(id, szNombre, 31)
    
    read_args( LogPw, charsmax(LogPw) )
    remove_quotes( LogPw )
    trim( LogPw )
    
    if( !fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData) ) )
        return 0
    
    parse(szData, szContra, 191)
    
    if( equal(szContra,LogPw) )
    {
        Reg[id] = 1
        
        MalaPW[id] = 0
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Te has Logueado con Exito")
    }
    else
    {
        MalaPW[id] = 1
        Menu(id)
        
        Intentos[id]++
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Contrasenia Incorrecta!^n Intentalo denuevo")
        
        return PLUGIN_HANDLED
    }
    
    return 1
}

/*--------------------------------------------------------------------------------------------------
------------------------------------------SOLO REGISTRO-------------------------------------------*/

public PreCuenta(id)
{
    new szData[512], szNombre[32]
    
    get_user_name(id, szNombre, 31)
    
    if( fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData)) )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yYa estas Registrado! Logueate!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        client_cmd(id, "messagemode Registro_Contrasenia")
        set_hudmessage(170, 255, 127, 0.0, 0.07, 0, 6.0, 12.0)
        show_hudmessage(id, "Ingresa tu Contrasenia para Registrarte!")
    }
    
    return PLUGIN_HANDLED
}

public Cuenta(id)
{
    read_args( Contra, charsmax(Contra) )
    remove_quotes( Contra )
    trim( Contra )
    
    if( equal(Contra,"") || contain(Contra," ") != -1 )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yLa contrasenia tener 1 palabra y no debe contener Espacios!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        new szData[512], szNombre[32]
        
        get_user_name(id, szNombre, 31)
        
        Reg[id] = 1
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Te has Registrado con Exito")
        
        formatex(szData, charsmax(szData), "%s", Contra)
        
        fvault_set_data(NombreVaul, szNombre, szData)
    }
    return PLUGIN_HANDLED
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------Nueva PW-------------------------------------------*/

public NuevaContra(id)
{
    read_args( ContraNueva, charsmax(ContraNueva) )
    remove_quotes( ContraNueva )
    trim( ContraNueva )
    
    if( equal(ContraNueva,"") || contain(ContraNueva," ") != -1 )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yLa contrasenia debe tener 1 palabra y no debe contener Espacios!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        new szData[512], szNombre[32]
        
        get_user_name(id, szNombre, 31)
        
        Reg[id] = 1
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Tu contrasenia se ha cambiado Exitosamente!")
        
        formatex(szData, charsmax(szData), "%s", ContraNueva)
        
        fvault_set_data(NombreVaul, szNombre, szData)
    }
    return PLUGIN_HANDLED
}

/*--------------------------------------------------------------------------------------------------
------------------------------------------Opciones de Cuenta--------------------------------------*/

public Opciones(id) 
{
    new Texto[192]
    
    new Menu = menu_create("\yOpciones", "MostrarOpc")
    
    if( get_pcvar_num(Cambiar) != 0 && PuedoTeam[id] == 0 )
        formatex(Texto, charsmax(Texto), "\wCambiar de Team^n")
    else
        formatex(Texto, charsmax(Texto), "\dCambiar de Team^n")
    
    menu_additem(Menu, Texto, "1", 0)
    
    menu_additem(Menu, "\wCambiar Contrasenia", "2", 0)
    menu_additem(Menu, "\wSalir de la Cuenta", "3", 0)
    
    menu_setprop(Menu,MPROP_EXITNAME,"Salir")
    
    menu_display(id, Menu, 0) 
} 

public MostrarOpc(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        menu_destroy(Menu)
        return PLUGIN_HANDLED
    } 
    
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
    
    switch (str_to_num(iData)) 
    { 
        case 1:
        { 
            if( get_pcvar_num(Cambiar) != 0 && PuedoTeam[id] == 0)
            {
                if( cs_get_user_team(id) == CS_TEAM_CT )
                {
                    user_silentkill(id)
                    cs_set_user_team(id, CS_TEAM_T)
                }
                else
                {
                    user_silentkill(id)
                    cs_set_user_team(id, CS_TEAM_CT)
                }
                PuedoTeam[id] = 1
            }
            else
            {
                ChatColor(id, "!g[Sistema de Cuentas] !yNo esta permitido el cambio de team!")
                return PLUGIN_HANDLED 
            }
        }
        case 2:
        { 
            if( CambiarPW[id] == 0 )
            {
                client_cmd(id, "messagemode Nueva_Contrasenia")
                CambiarPW[id] = 1
            }
            else
            {
                ChatColor(id, "!g[Sistema de Cuentas] !yNo puedes cambiar tu contrasenia mas de 1 vez por mapa!")
                return PLUGIN_HANDLED
            }
        }
        case 3:
        {
            client_cmd(id, "echo ********************************;echo **** Has decidido salir de tu cuenta! *****;echo ********************************;disconnect;toggleconsole")
        }        
    } 
    
    return PLUGIN_HANDLED 
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------COLOR CHAT-----------------------------------------*/

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    replace_all(msg, 190, "!team2", "^0") // Team2 Color
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/
__________________

Last edited by Shion; 11-13-2010 at 17:07.
Shion is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 11-13-2010 , 17:11   Re: [ES] Una pregunta sobre guardado de SHMod
#2

todo plugin sirve para todos tipos de modos , siempre y cuando SEPAS lo que estas modificando y que vas a modificar , no quieras guardar ammopacks del zp y usarlos en el SH
__________________
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
Shion
Senior Member
Join Date: Dec 2008
Old 11-13-2010 , 17:18   Re: [ES] Una pregunta sobre guardado de SHMod
#3

Ya que soy un novato en pawn vengo a pedirlo...
__________________
Shion is offline
Destro-
Veteran Member
Join Date: Jun 2010
Location: $me->location();
Old 11-13-2010 , 17:34   Re: [ES] Una pregunta sobre guardado de SHMod
#4

Join Date: Dec 2008.
Tuviste muchooooo tiempo para aprender.
__________________
Destro- is offline
Shion
Senior Member
Join Date: Dec 2008
Old 11-13-2010 , 17:41   Re: [ES] Una pregunta sobre guardado de SHMod
#5

Nunca me consentre en aprender
__________________
Shion is offline
Nico1
Senior Member
Join Date: Oct 2010
Old 11-13-2010 , 19:12   Re: [ES] Una pregunta sobre guardado de SHMod
#6

Para la setinfo
Code:
#include < amxmodx > 
#include < fakemeta > 
#include < fvault > 
#include < cstrike > 

new SZ_Password[ 192 ] 
new SZ_Password_T[ 33 ][ 192 ] 

new Registrado[ 33 ] 
new BadPassword[ 33 ] 

new const Vault[] = "Superhero" 

public plugin_init( ) 
{ 
    register_plugin( "Superhero Setinfo", "1.0", "PH3N0M" ) 
     
    register_forward( FM_ClientUserInfoChanged, "FWClientUserInfoChanged" ) 

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

public client_disconnect( Index ) 
    Save( Index ) 

public client_putinserver( Index ) 
{ 
    Registrado[ Index ] = 0 
    BadPassword[ Index ] = 0 
    Load( Index ) 
} 

public CMDRegistrarse( Index ) 
{ 
    if( Registrado[ Index ] || BadPassword[ Index ] ) 
        return PLUGIN_HANDLED; 
     
    client_cmd( Index, "messagemode IntroducirContrasenia" ) 
     
    return PLUGIN_CONTINUE; 
} 

public CMDIntroducirContrasenia( Index ) 
{ 
    read_args( SZ_Password, 191 ) 
    remove_quotes( SZ_Password ) 
    trim( SZ_Password ) 

    if( equal( SZ_Password, "" ) || contain( SZ_Password, " ") != -1) 
        return PLUGIN_HANDLED; 
    else 
    { 
        client_cmd( Index, "setinfo _wzsh ^"%s^"", SZ_Password ) 
         
         
        static SZ_Name[ 32 ], SZ_Data[ 512 ] 
        get_user_name( Index, SZ_Name, 31 ) 
         
        formatex( SZ_Data, charsmax( SZ_Data ), "%s", SZ_Password, ( Index ) ) 
             
        fvault_set_data( Vault, SZ_Name, SZ_Data ) 
         
        SZ_Password_T[ Index ] = SZ_Password 
         
        return PLUGIN_HANDLED; 
    } 
     
    return PLUGIN_CONTINUE; 
} 

public Save( Index ) 
{ 
    if( !Registrado[ Index ] || BadPassword[ Index ] ) 
        return PLUGIN_HANDLED; 
         
    static SZ_Data[ 512 ], SZ_Name[ 32 ] 
     
    formatex( SZ_Data, charsmax( SZ_Data ), "%s %d", SZ_Password_T[ Index ] ) 
    get_user_name( Index, SZ_Name, 31 ) 
     
    fvault_set_data( Vault, SZ_Name, SZ_Data ) 
     
    return PLUGIN_CONTINUE; 
} 

public Load( Index ) 
{ 
    static SZ_Data[ 512 ], SZ_Name[ 32 ], SETINFO_Password[ 191 ], VAULT_Password[ 191 ] 
     
    get_user_name( Index, SZ_Name, 31 ) 
    get_user_info( Index, "_wzsh", SETINFO_Password, 190 ) 
     
    if( !fvault_get_data( Vault, SZ_Name, SZ_Data, charsmax( SZ_Data ) ) ) 
        return 0; 
     
    Registrado[ Index ] = 1 
         
    parse( SZ_Data, VAULT_Password, 190 ) 
     
    if( equal( SETINFO_Password, VAULT_Password ) ) 
    { 
        SZ_Password_T[ Index ] = SETINFO_Password 
                         
        return 2; 
    } 
    else  
    { 
        BadPassword[ Index ] = 1 
        server_cmd( "kick #%d", get_user_userid( Index ) ) 
    } 
     
    return 1; 
} 

public FWClientUserInfoChanged( Index, Buffer ) 
{ 
    if( !is_user_connected( Index ) ) 
        return FMRES_IGNORED; 
     
    static NickName[32], NickOld[32]; get_user_name( Index, NickOld, 31 ) 
    engfunc( EngFunc_InfoKeyValue, Buffer, "name", NickName, 31 ) 
     
    if( equal( NickName, NickOld ) ) 
        return FMRES_IGNORED; 
     
    engfunc( EngFunc_SetClientKeyValue, Index, Buffer, "name", NickOld ) 
     
    client_cmd( Index, "name ^"%s^"; setinfo name ^"%s^"", NickOld, NickOld ) 
     
    return FMRES_SUPERCEDE; 
}  
Para el menu
Code:
#include < amxmodx > 
#include < fakemeta > 

public plugin_init() 
{ 
    register_plugin("Superhero Menu", "1.0", "PH3N0M") 
     
    register_clcmd("say /menu", "abrir_menu") 
} 

public abrir_menu(id) 
{ 
    new Menu = menu_create("\yWarped Zone Menu", "mostrar_menu") 
    menu_additem(Menu, "\wCrear Cuenta", "1", 0) 
    menu_additem(Menu, "\wHeroes", "2", 0) 
    menu_additem(Menu, "\wAyuda", "3", 0) 
    menu_additem(Menu, "\wContacto", "4", 0) 
    menu_additem(Menu, "\wDesconectarse", "5", 0) 
     
    menu_setprop(Menu,MPROP_EXITNAME,"Salir") 
    menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) 
     
    menu_display(id, Menu, 0) 
} 

public mostrar_menu(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        menu_destroy(Menu) 
        return PLUGIN_HANDLED 
    } 
     
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
     
    switch (str_to_num(iData)) 
    { 
        case 1: // Crear Cuenta 
        { 
         client_cmd(id, "say /registrarse") 
        } 
        case 2: // Heroes 
        {     
        client_cmd(id, "say /herolist") 
        } 
        case 3: // Ayuda 
        { 
        client_cmd(id, "say /help") 
        } 
        case 4: // Contacto 
        { 
        show_motd(id, "motd.txt", "Warped Zone - Contacto") 
        } 
        case 5: // Desconectarse 
        { 
        client_cmd(id, "disconnect") 
        } 
}     
    return PLUGIN_HANDLED 
}  
Con no se borra nada
Tan dificil es buscar alguno ?
FUENTE: www.google.com

Last edited by Nico1; 11-13-2010 at 19:15.
Nico1 is offline
Shion
Senior Member
Join Date: Dec 2008
Old 11-13-2010 , 19:36   Re: [ES] Una pregunta sobre guardado de SHMod
#7

Esta perfecto y al parecer funciona de 10... con esto se guarda los levels y todo no ?

y una ultima cosa, se podria hacer que para registrarse apenas entres diga Crear cuenta y Loguear cuenta? como en el logueo de manu :Ñ
__________________
Shion is offline
Nico1
Senior Member
Join Date: Oct 2010
Old 11-13-2010 , 19:50   Re: [ES] Una pregunta sobre guardado de SHMod
#8

Buska en el sma de manu ¬¬
Nico1 is offline
Shion
Senior Member
Join Date: Dec 2008
Old 11-13-2010 , 19:55   Re: [ES] Una pregunta sobre guardado de SHMod
#9

Lo postie ahi arriba,

Encontre un tremendo prolem XD!, Una ves que entras te registras, cuando salis y volves a entrar no te deja entrar mas te dice Kicked como si tubieras mal la pass, a todos le pasa lo mismo

EDIT:
Taria bueno ponerle un guardado a este registro + logeo

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

#define PLUGIN "Sistema de Cuentas"
#define VERSION "1.0"
#define AUTHOR "Manu"

new const NombreVaul[] = "Cuentas"

new Contra[192]
new LogPw[192]
new ContraNueva[192]
new MalaPW[33]
new Reg[33]
new Intentos[33]
new CambiarPW[33]
new PuedoTeam[33]
new Cambiar, maxplayers

public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("chooseteam", "clcmd_changeteam")
    register_clcmd("jointeam", "clcmd_changeteam")
    
    register_clcmd("Logueo_Contrasenia", "Logueo")
    register_clcmd("Registro_Contrasenia", "Cuenta")
    register_clcmd("Nueva_Contrasenia", "NuevaContrasenia")
    
    register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")
    
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    
    maxplayers = get_maxplayers()
    
    Cambiar = register_cvar("amx_equipo", "1")
}

public FWClientUserInfoChanged( Index, Buffer )
{
    if( !is_user_connected( Index ) )
        return FMRES_IGNORED;
    
    static NickName[32], NickOld[32]; get_user_name( Index, NickOld, 31 )
    engfunc( EngFunc_InfoKeyValue, Buffer, "name", NickName, 31 )
    
    if( equal( NickName, NickOld ) )
        return FMRES_IGNORED;
    
    engfunc( EngFunc_SetClientKeyValue, Index, Buffer, "name", NickOld )
    
    client_cmd( Index, "name ^"%s^"; setinfo name ^"%s^"", NickOld, NickOld )
    
    return FMRES_SUPERCEDE;
}

public event_round_start()
{
    for( new id = 1; id < maxplayers; id++ )
    {
        PuedoTeam[id] = 0
    }
}

public client_putinserver(id)
{
    MalaPW[id] = 0
    Reg[id] = 0
    Intentos[id] = 0
    PuedoTeam[id] = 0
    
    set_task(0.1, "clcmd_changeteam", id)
}

public clcmd_changeteam(id) // Kiske :$ no me salia esta parte :@ igual era un error que despues me di cuenta :P
{
    static Team; Team = get_user_team(id)
    
    if( ( Team == 0 || Team == 3 ) && MalaPW[id] == 0 && Reg[id] == 1 )
        return PLUGIN_CONTINUE;
    else if( !Reg[id] || MalaPW[id] )
    {
        new Menu = menu_create("\ySistema de Cuentas:", "Mostrar")
        
        menu_additem(Menu, "\wRegistrarse", "1", 0)
        menu_additem(Menu, "\wLoguearse", "2", 0)
        
        menu_addtext(Menu, "\w^n^nCreado por Manu para Proteger^nTu nick con contrasenia!", 0)
        
        menu_setprop(Menu,MPROP_EXITNAME,"Salir")
        
        menu_display(id, Menu, 0) 
        
        return PLUGIN_HANDLED;
    }
    else
        Opciones(id)
    
    return PLUGIN_HANDLED;
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------Menu de Reg----------------------------------------*/

public Menu(id) 
{
    new Menu = menu_create("\yRegistro", "Mostrar")
    
    menu_additem(Menu, "\wRegistrarse", "1", 0)
    menu_additem(Menu, "\wLoguearse", "2", 0)
    
    menu_addtext(Menu, "\w^n^nCreado por Manu para Proteger^nTu nick con contrasenia!", 0)
    
    menu_setprop(Menu,MPROP_EXITNAME,"Salir")
    
    menu_display(id, Menu, 0) 
} 

public Mostrar(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        ChatColor(id, "!g[Sistema de Cuentas] !ySi estas de spectador, No te servira que salgas del menu!")
    } 
    
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
    
    switch (str_to_num(iData)) 
    { 
        case 1:
        { 
            PreCuenta(id)
        }
        case 2:
        { 
            if( Intentos[id] == 3 )
            {
                client_cmd(id, "disconnect;echo MAXIMO DE INTENTOS ALCANZADOS;toggleconsole")
            }
            PreLogueo(id)
        }
    } 
    
    return PLUGIN_HANDLED 
}

/*--------------------------------------------------------------------------------------------------
-------------------------------------------SOLO LOGUEO--------------------------------------------*/

public PreLogueo(id)
{
    new szData[512], szNombre[32]
    
    get_user_name(id, szNombre, 31)
    
    if( !fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData)) )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yNo estas Registrado!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        client_cmd(id, "messagemode Logueo_Contrasenia")
        set_hudmessage(170, 255, 127, 0.0, 0.07, 0, 6.0, 12.0)
        show_hudmessage(id, "Ingresa tu Contrasenia para Loguearte!")
    }
    
    return PLUGIN_HANDLED
}

public Logueo(id)
{
    new szData[512], szNombre[32], szContra[192]
    
    get_user_name(id, szNombre, 31)
    
    read_args( LogPw, charsmax(LogPw) )
    remove_quotes( LogPw )
    trim( LogPw )
    
    if( !fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData) ) )
        return 0
    
    parse(szData, szContra, 191)
    
    if( equal(szContra,LogPw) )
    {
        Reg[id] = 1
        
        MalaPW[id] = 0
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Te has Logueado con Exito")
    }
    else
    {
        MalaPW[id] = 1
        Menu(id)
        
        Intentos[id]++
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Contrasenia Incorrecta!^n Intentalo denuevo")
        
        return PLUGIN_HANDLED
    }
    
    return 1
}

/*--------------------------------------------------------------------------------------------------
------------------------------------------SOLO REGISTRO-------------------------------------------*/

public PreCuenta(id)
{
    new szData[512], szNombre[32]
    
    get_user_name(id, szNombre, 31)
    
    if( fvault_get_data(NombreVaul, szNombre, szData, charsmax(szData)) )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yYa estas Registrado! Logueate!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        client_cmd(id, "messagemode Registro_Contrasenia")
        set_hudmessage(170, 255, 127, 0.0, 0.07, 0, 6.0, 12.0)
        show_hudmessage(id, "Ingresa tu Contrasenia para Registrarte!")
    }
    
    return PLUGIN_HANDLED
}

public Cuenta(id)
{
    read_args( Contra, charsmax(Contra) )
    remove_quotes( Contra )
    trim( Contra )
    
    if( equal(Contra,"") || contain(Contra," ") != -1 )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yLa contrasenia tener 1 palabra y no debe contener Espacios!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        new szData[512], szNombre[32]
        
        get_user_name(id, szNombre, 31)
        
        Reg[id] = 1
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Te has Registrado con Exito")
        
        formatex(szData, charsmax(szData), "%s", Contra)
        
        fvault_set_data(NombreVaul, szNombre, szData)
    }
    return PLUGIN_HANDLED
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------Nueva PW-------------------------------------------*/

public NuevaContra(id)
{
    read_args( ContraNueva, charsmax(ContraNueva) )
    remove_quotes( ContraNueva )
    trim( ContraNueva )
    
    if( equal(ContraNueva,"") || contain(ContraNueva," ") != -1 )
    {
        ChatColor(id, "!g[Sistema de Cuentas] !yLa contrasenia debe tener 1 palabra y no debe contener Espacios!")
        Menu(id)
        return PLUGIN_HANDLED
    }
    else
    {
        new szData[512], szNombre[32]
        
        get_user_name(id, szNombre, 31)
        
        Reg[id] = 1
        
        set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
        show_hudmessage(id, "Tu contrasenia se ha cambiado Exitosamente!")
        
        formatex(szData, charsmax(szData), "%s", ContraNueva)
        
        fvault_set_data(NombreVaul, szNombre, szData)
    }
    return PLUGIN_HANDLED
}

/*--------------------------------------------------------------------------------------------------
------------------------------------------Opciones de Cuenta--------------------------------------*/

public Opciones(id) 
{
    new Texto[192]
    
    new Menu = menu_create("\yOpciones", "MostrarOpc")
    
    if( get_pcvar_num(Cambiar) != 0 && PuedoTeam[id] == 0 )
        formatex(Texto, charsmax(Texto), "\wCambiar de Team^n")
    else
        formatex(Texto, charsmax(Texto), "\dCambiar de Team^n")
    
    menu_additem(Menu, Texto, "1", 0)
    
    menu_additem(Menu, "\wCambiar Contrasenia", "2", 0)
    menu_additem(Menu, "\wSalir de la Cuenta", "3", 0)
    
    menu_setprop(Menu,MPROP_EXITNAME,"Salir")
    
    menu_display(id, Menu, 0) 
} 

public MostrarOpc(id, Menu, item) 
{ 
    if (item == MENU_EXIT) 
    { 
        menu_destroy(Menu)
        return PLUGIN_HANDLED
    } 
    
    new iData[6]; 
    new iAccess; 
    new iCallback; 
    new iName[64]; 
    menu_item_getinfo(Menu, item, iAccess, iData, 5, iName, 63, iCallback) 
    
    switch (str_to_num(iData)) 
    { 
        case 1:
        { 
            if( get_pcvar_num(Cambiar) != 0 && PuedoTeam[id] == 0)
            {
                if( cs_get_user_team(id) == CS_TEAM_CT )
                {
                    user_silentkill(id)
                    cs_set_user_team(id, CS_TEAM_T)
                }
                else
                {
                    user_silentkill(id)
                    cs_set_user_team(id, CS_TEAM_CT)
                }
                PuedoTeam[id] = 1
            }
            else
            {
                ChatColor(id, "!g[Sistema de Cuentas] !yNo esta permitido el cambio de team!")
                return PLUGIN_HANDLED 
            }
        }
        case 2:
        { 
            if( CambiarPW[id] == 0 )
            {
                client_cmd(id, "messagemode Nueva_Contrasenia")
                CambiarPW[id] = 1
            }
            else
            {
                ChatColor(id, "!g[Sistema de Cuentas] !yNo puedes cambiar tu contrasenia mas de 1 vez por mapa!")
                return PLUGIN_HANDLED
            }
        }
        case 3:
        {
            client_cmd(id, "echo ********************************;echo **** Has decidido salir de tu cuenta! *****;echo ********************************;disconnect;toggleconsole")
        }        
    } 
    
    return PLUGIN_HANDLED 
}

/*--------------------------------------------------------------------------------------------------
-----------------------------------------------COLOR CHAT-----------------------------------------*/

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    replace_all(msg, 190, "!team2", "^0") // Team2 Color
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/
__________________

Last edited by Shion; 11-13-2010 at 23:18.
Shion is offline
Nico1
Senior Member
Join Date: Oct 2010
Old 11-14-2010 , 07:50   Re: [ES] Una pregunta sobre guardado de SHMod
#10

Tenes que poner en consola
setinfo _wzsh "tu pass" y te deja
Nico1 is offline
 



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 23:26.


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