AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Spanish (https://forums.alliedmods.net/forumdisplay.php?f=135)
-   -   Una pregunta sobre guardado de SHMod (https://forums.alliedmods.net/showthread.php?t=143050)

Shion 11-13-2010 17:02

Una pregunta sobre guardado de SHMod
 
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 }
*/


lucas_7_94 11-13-2010 17:11

Re: [ES] Una pregunta sobre guardado de SHMod
 
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

Shion 11-13-2010 17:18

Re: [ES] Una pregunta sobre guardado de SHMod
 
Ya que soy un novato en pawn vengo a pedirlo...

Destro- 11-13-2010 17:34

Re: [ES] Una pregunta sobre guardado de SHMod
 
Join Date: Dec 2008.
Tuviste muchooooo tiempo para aprender.

Shion 11-13-2010 17:41

Re: [ES] Una pregunta sobre guardado de SHMod
 
Nunca me consentre en aprender :)

Nico1 11-13-2010 19:12

Re: [ES] Una pregunta sobre guardado de SHMod
 
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

Shion 11-13-2010 19:36

Re: [ES] Una pregunta sobre guardado de SHMod
 
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 :Ñ

Nico1 11-13-2010 19:50

Re: [ES] Una pregunta sobre guardado de SHMod
 
Buska en el sma de manu ¬¬

Shion 11-13-2010 19:55

Re: [ES] Una pregunta sobre guardado de SHMod
 
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 }
*/


Nico1 11-14-2010 07:50

Re: [ES] Una pregunta sobre guardado de SHMod
 
Tenes que poner en consola
setinfo _wzsh "tu pass" y te deja


All times are GMT -4. The time now is 15:33.

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