Senior Member
|
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.
|
|