05/03/2019, 04:38 PM
Encontre este plugin de hypnotize, pero el problema es que sin tickets puede probar su suerte, como lo restringiria si no contiene los tickets?
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <adv_vault>
#include <fun>
#include <cstrike>
#define PLUGIN "Suerte"
#define AUTHOR "Hypnotize"
#define VERSION "1.0"
enum { PTS, MAX_FIELDS };
enum { Cargar = 0, Guardar };
enum eTickes { Texto[ 150 ], TICKET, PRECIO };
new g_iCampos[ MAX_FIELDS ], g_iVault, g_iTickets[ 33 ], g_szPName[ 33 ][ 32 ];
#if AMXX_VERSION_NUM > 182
#define client_disconnect client_disconnected
#define client_print_color client_print
#define print_team_default print_chat
#endif
new const cTickes[ ][ eTickes ] =
{
{ "\wTICKETS \y10", 10, 1000 },
{ "\wTICKETS \y20", 20, 2000 },
{ "\wTICKETS \y50", 50, 5000 },
{ "\wTICKETS \y100", 100, 10000 },
{ "\wTICKETS \y200", 200, 11000 },
{ "\wTICKETS \y300", 300, 16000 }
};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
// Add your own code here
register_clcmd("say /suerte", "fnMenu");
g_iVault = adv_vault_open( "Ruleta", false );
g_iCampos[ PTS ] = adv_vault_register_field( g_iVault, "Tickets" );
adv_vault_init( g_iVault );
}
public client_putinserver( id )
{
get_user_name( id, g_szPName[ id ], charsmax( g_szPName[ ] ) );
g_iTickets[ id ] = 0;
Type( id, Cargar );
}
public client_disconnect( id ) Type( id, Guardar );
public fnMenu( id )
{
new menu = menu_create("\rSuerte", "hnMenu");
menu_additem(menu, "Jugar a la ruleta");
menu_additem(menu, "Comprar Tickets");
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public hnMenu( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
if( item == 0 )
{
g_iTickets[ id ] -= 10; new rnd = random_num( 50, 200 );
switch( random_num( 1 , 40 ) )
{
case 5:
{
set_user_health( id, get_user_health( id ) + rnd );
client_print_color( id, print_team_default, "^4[ ^3AMXX^4 ]^1 Ganaste^4 +i%^1 de vida", rnd );
}
case 7:
{
set_user_armor( id, get_user_armor( id ) + rnd );
client_print_color(id, print_team_default, "^4[ ^3AMXX^4 ]^1 Ganaste^4 +%i ^1de chaleco", rnd );
}
case 12:
{
set_user_godmode( id, 1 );
set_task( 60.0, "RemoveGod", id );
client_print_color( id, print_team_default, "^4[ ^3AMXX^4 ]^1 Ganaste ^4Modo dios ^1por 1 minuto" );
}
case 36:
{
set_user_health( id, 200 );
set_user_armor( id, 200 );
client_print_color( id, print_team_default, "^4[ ^3AMXX^4 ]^1 Ganaste^4 200 ^1de vida y^4 200 ^1de chaleco" );
}
default:
{
client_print_color(id, print_team_default, "^4[ ^3AMXX^4 ]^1 No haz tenido suerte")
}
}
}
else
{
fnTkc( id );
}
return PLUGIN_HANDLED;
}
public fnTkc( id )
{
new txt[ 150 ], menu = menu_create("Comprar \rTickets", "hnTkc");
for( new i = 0; i < sizeof( cTickes ); ++i )
{
formatex( txt, charsmax( txt ), "Tickets: [ %s ] Por $[ %i ] ", cTickes[ i ][ Texto ], cTickes[ i ][ PRECIO ] );
menu_additem(menu, txt );
}
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public hnTkc( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
if( cs_get_user_money( id ) < cTickes[ item ][ PRECIO ] )
return PLUGIN_HANDLED;
cs_set_user_money( id, cs_get_user_money( id ) - cTickes[ item ][ PRECIO ], 1);
client_print_color(id, print_team_default, "^4[ ^3AMXX^4 ]^1 compraste %i tickets, por $%i", cTickes[ item ][ TICKET ], cTickes[ item ][ PRECIO ] );
return PLUGIN_HANDLED;
}
public RemoveGod( id )
{
if( !is_user_connected( id ) )
return;
set_user_godmode( id,0 );
client_print_color( id, print_team_default, "^4[ ^3AMXX^4 ]^1 Termino tu tiempo de Modo dios" )
}
Type( id, iTipo )
{
if( !is_user_connected( id ) )
return;
if( iTipo == Cargar )
{
if( !adv_vault_get_prepare( g_iVault, _, g_szPName[ id ] ) )
return;
g_iTickets[ id ] = adv_vault_get_field( g_iVault, g_iCampos[ PTS ] );
}
if( iTipo == Guardar )
{
adv_vault_set_start( g_iVault );
adv_vault_set_field( g_iVault, g_iCampos[ PTS ], g_iTickets[ id ] );
adv_vault_set_end( g_iVault, 0, g_szPName[ id ] );
}
}