top15 por puntos/exp
#1
Hola, como dice el titulo necesito un top15 de puntos y que se guarde por nombres pls
que sea mas o menos asi 1kill (1pt) un headshot (2pts) matar con cuchillo (3pts)
algo asi y gracias de antemano.
Responder
#2
Como nadie ha respondido aún... y no está solucionado...

Te dejo uno aquí que te hice.

Necesitas adv_vault, librería creada por destro.

Saludos. Crab


Archivos adjuntos
.sma   Descargar AMXX / Pedido_Top15.sma (Tamaño: 9.36 KB / Descargas: 21)
Responder
#3
Me da un error al compilar
Responder
#4
(27/05/2019, 02:14 PM)jbs escribió: Me da un error al compilar

Se mas claro de que error te arroja ?
Responder
#5
(27/05/2019, 03:03 PM)+rdNN! escribió:
(27/05/2019, 02:14 PM)jbs escribió: Me da un error al compilar

Se mas claro de que error te arroja ?

Probablemente sea un error por tener diferente versión..

Yo lo compile con AMXX 1.10.0

Saludos. Crab
Responder
#6
En esta parte
"#pragma unused fakevar"

Código PHP:
Error:Undefined symbol "fakevar" on line 22
Error
:Undefined symbol "input" on line 28
Warning
:Expression has no effect on line 28 
Responder
#7
(29/05/2019, 02:33 PM)jbs escribió: En esta parte
"#pragma unused fakevar"

Código PHP:
Error:Undefined symbol "fakevar" on line 22
Error
:Undefined symbol "input" on line 28
Warning
:Expression has no effect on line 28 

Borra dentro del código todo lo que está dentro del if amx versión num...

EDIT: Igualmente el plugin te lo di funcionando.

Saludos. Crab
Responder
#8
(29/05/2019, 04:59 PM)Chema escribió:
(29/05/2019, 02:33 PM)jbs escribió: En esta parte
"#pragma unused fakevar"

Código PHP:
Error:Undefined symbol "fakevar" on line 22
Error
:Undefined symbol "input" on line 28
Warning
:Expression has no effect on line 28 

Borra dentro del código todo lo que está dentro del if amx versión num...

EDIT: Igualmente el plugin te lo di funcionando.

Saludos. Crab

Dices que borre esto?
#if AMXX_VERSION_NUM < 183

O como? yo no se casi nada Confundido
Responder
#9
(29/05/2019, 06:46 PM)jbs escribió:
(29/05/2019, 04:59 PM)Chema escribió:
(29/05/2019, 02:33 PM)jbs escribió: En esta parte
"#pragma unused fakevar"

Código PHP:
Error:Undefined symbol "fakevar" on line 22
Error
:Undefined symbol "input" on line 28
Warning
:Expression has no effect on line 28 

Borra dentro del código todo lo que está dentro del if amx versión num...

EDIT: Igualmente el plugin te lo di funcionando.

Saludos. Crab

Dices que borre esto?
#if AMXX_VERSION_NUM < 183

O como? yo no se casi nada Confundido

Desde ahí hasta donde termine eso.

Lo haría por ti, pero estoy desde el celu.

Saludos. Crab
Responder
#10
Obvio que jamás le va a andar si "fakevar" jamás existe y es iFakeVar... al igual que "input" es szInput y más errores.
Además, que faltan declarar #defines como MAX_PLAYERS. Proba así:
Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include < amxmodx >
#include < adv_vault >
#include < fakemeta >
#include < hamsandwich >

/* 1 = NOMBRE - 2 = STEAMID - 3 = IP */
new SAVE_WITH 1;



#pragma semicolon 1

#define PLUGIN_VERSION "1.0.132"

#if AMXX_VERSION_NUM < 183
    #define MAX_NAME_LENGTH 256
    #define MAX_PLAYERS    33
    #define client_disconected client_disconnect
    #define print_team_default 0

    
stock client_print_coloriIdiFakeVar, const szInput[ ], any:...) {
        
#pragma unused iFakeVar
        
static szMessage191 ], g_iMsgSayText;

        if( !
g_iMsgSayText )
            
g_iMsgSayText get_user_msgid"SayText" );

        
vformatszMessage190szInput3);

        
message_beginiId MSG_ONE_UNRELIABLE MSG_BROADCASTg_iMsgSayText, .player iId );
        
write_byteiId iId 33);
        
write_stringszMessage );
        
message_end( );
    }
#endif

/* GLOBAL STUFF */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )

new g_szSayPrefix[ ] = "^4[SG]^1";
new 
g_szConsolePrefix[ ] = "[SG]";

new const 
g_szSelectItemSound[ ] = "Ui/buttonclickrelease.wav";

const 
Float:TASK_ADV_DELAY 90.0;

enum _:eCvars_Data {

    
Points_Knife,
    
Points_Headshot,
    
Points_Normal
};

enum _:eCvars_Register {

    
Cvar_Name55 ],
    
Cvar_Value]
};

enum {

    
Load_Data,
    
Save_Data
};

enum _:Vault_Fields {

    
Field_Points,
    
Field_Address,
    
Field_SteamId
};

enum _:ePlayer_Info {

    
Player_NameMAX_NAME_LENGTH ],
    
Player_SteamIdMAX_PLAYERS ],
    
Player_AddressMAX_NAME_LENGTH ],
    
Player_PointsMAX_PLAYERS ]
};

new const 
g_szCvars[ ][ _:eCvars_Register ] = {

    { 
"t15p_knife""3" },
    { 
"t15p_headshot""2" },
    { 
"t15p_normal""1" }
};

new 
g_iConnected;
new 
g_iAlive;
new 
g_iVault;
new 
g_iMaxPlayers;
new 
g_iPlayerHud;

new 
g_iSortTop;
new 
g_iTopMenu;

new 
g_eCvars_:eCvars_Data ];
new 
g_iFields_:Vault_Fields ];
new 
Float:g_flLastHudMAX_PLAYERS ];
new 
g_ePlayerInfoMAX_PLAYERS ][ _:ePlayer_Info ];

public 
plugin_init( ) {

    
register_plugin"Top 15 Points"PLUGIN_VERSION"Chema" );

    
/* COMMANDS */
    
register_clcmd"say /top""m__TopMenu" );

    
/* HAMS */
    
RegisterHamHam_Spawn"player""h__PlayerSpawn_Post"true );
    
RegisterHamHam_Killed"player""h__PlayerKilled_Post"true );
    
RegisterHamHam_Player_PreThink"player""h__PlayerPreThink" );

    
/* EVENTS */
    
register_logevent"ev__RoundStart"2"0=World triggered""1=Round_Start" );

    
/* CVARS */
    
register_cvar"t15p_author""Chema"FCVAR_SPONLY );
    
register_cvar"t15p_version"PLUGIN_VERSIONFCVAR_SPONLY );

    for( new 
0sizeofg_szCvars ); i++ )
        
g_eCvars] = register_cvarg_szCvars][ Cvar_Name ], g_szCvars][ Cvar_Value ] );

    
g_iMaxPlayers get_maxplayers( );
    
g_iPlayerHud CreateHudSyncObj( );

    
set_taskTASK_ADV_DELAY"task__Advertising"0, .flags "b" );

    
ADV_Vault__Init( );

    
g_iSortTop adv_vault_sort_createg_iVaultORDER_DESC00g_iFieldsField_Points ] );
    
create__TopMenu( );
}

public 
plugin_precache( )
    
precache_soundg_szSelectItemSound );

/* TASKS */
public task__Advertising( )
    
client_print_color00"%s Este servidor utiliza ^3TOP 15 POINTS^1 ^4%s^1 por ^4Chema^1."g_szSayPrefixPLUGIN_VERSION );

/* CLIENT-RELATED STUFF */
public client_putinserveriId ) {

    
ClearPlayerBitg_iAliveiId );
    
SetPlayerBitg_iConnectediId );

    if(
SAVE_WITH == 1)
    
get_user_nameiIdg_ePlayerInfoiId ][ Player_Name ], charsmaxg_ePlayerInfo[ ][ Player_Name ] ) );
    else if(
SAVE_WITH == 2)
    
get_user_authidiIdg_ePlayerInfoiId ][ Player_SteamId ], charsmaxg_ePlayerInfo[ ][ Player_SteamId ] ) );
    else if(
SAVE_WITH == 3)
    
get_user_ipiIdg_ePlayerInfoiId ][ Player_Address ], charsmaxg_ePlayerInfo[ ][ Player_Address ] ), true );

    
g_ePlayerInfoiId ][ Player_Points ] = 0;

    
ADV_Vault__ManageiIdLoad_Data );
}

public 
client_disconnectediId ) {

    
ClearPlayerBitg_iConnectediId );
    
ClearPlayerBitg_iAliveiId );

    
ADV_Vault__ManageiIdSave_Data );
}

/* HAMS */
public h__PlayerSpawn_PostiId ) {

    if( !
is_user_aliveiId ) )
        return 
HAM_IGNORED;
    
    
SetPlayerBitg_iAliveiId );

    return 
HAM_IGNORED;
}

public 
h__PlayerKilled_PostiVictimiAttackeriShouldGib ) {

    new 
iCheckiCheck = ( !GetPlayerBitg_iConnectediVictim ) || !GetPlayerBitg_iConnectediAttacker ) || iAttacker == iVictim || is_user_botiAttacker ) );

    if( 
iCheck )
        return 
HAM_IGNORED;

    
ClearPlayerBitg_iAliveiVictim );

    static 
iKnifeiHeadshotiNormal;

    
iKnife = ( get_pcvar_numg_eCvarsPoints_Knife ] ) );
    
iHeadshot = ( get_pcvar_numg_eCvarsPoints_Headshot ] ) );
    
iNormal = ( get_pcvar_numg_eCvarsPoints_Normal ] ) );

    if( 
get_user_weaponiAttacker ) == CSW_KNIFE )
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iKnife;
    else if( 
get_pdata_intiVictim75) == HIT_HEAD )
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iHeadshot;
    else
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iNormal;

    return 
HAM_IGNORED;
}

public 
h__PlayerPreThinkiId ) {

    if( 
GetPlayerBitg_iAliveiId ) ) {

        new 
Float:flGameTime get_gametime( );
        
        if( 
flGameTime g_flLastHudiId ] > 0.8 ) {

            
set_hudmessage21242255, -1.00.0216.00.8 );
            
ShowSyncHudMsgiIdg_iPlayerHud"^n/-------------------------\^n| TIENES %i PUNTO%s. |^n\-------------------------/"g_ePlayerInfoiId ][ Player_Points ], g_ePlayerInfoiId ][ Player_Points ] <= "" "S" );
            
            
g_flLastHudiId ] = flGameTime;
        }
    }
}

/* EVENTS */
public ev__RoundStart( ) {

    for( new 
iId 1iId <= g_iMaxPlayersiId++ ) {

        if( !
GetPlayerBitg_iConnectediId ) )
            continue;

        
console_printiId"%s Tus datos han sido guardados!"g_szConsolePrefix );
        
ADV_Vault__ManageiIdSave_Data );
    }
}

/* TOP MENU */
public m__TopMenuiId ) {

    if( !
GetPlayerBitg_iConnectediId ) )
        return 
PLUGIN_HANDLED;
    
    
menu_displayiIdg_iTopMenu );
    
    return 
PLUGIN_HANDLED;
}

public 
h__TopMenuiIdg_iTopMenuiItem ) {

    if( 
iItem == MENU_EXIT )
        return 
PLUGIN_HANDLED;
    
    
client_cmdiId"spk ^"%s^""g_szSelectItemSound );
    return 
PLUGIN_HANDLED;
}

public 
create__TopMenu( ) {

    new 
iPointsiKeyIndexszNameMAX_NAME_LENGTH ], szBuffer512 ], iNumResult;

    
iNumResult adv_vault_sort_numresultg_iVaultg_iSortTop );
    
g_iTopMenu menu_create"\r[SG]\y Menú de jugadores""h__TopMenu" );
    
    for( new 
iId 1iId <= iNumResultiId++ ) {

        
iKeyIndex adv_vault_sort_positiong_iVaultg_iSortTopiId );
        
        if( !
adv_vault_get_prepareg_iVaultiKeyIndex ) )
            continue;
        
        
UnPack__Pointsadv_vault_get_fieldg_iVaultg_iFieldsField_Points ] ), iPoints );
        
        
szName] = '^0';
        
adv_vault_get_keynameg_iVaultiKeyIndexszNamecharsmaxszName ) );
        
        
formatexszBuffercharsmaxszBuffer ), "\y#%d\r NOMBRE:\y %s\d -\r PUNTOS:\y %d"iIdszNameiPoints );
        
menu_additemg_iTopMenuszBuffer );
    }
    
    
menu_setpropg_iTopMenuMPROP_PERPAGE);
    
menu_setpropg_iTopMenuMPROP_NUMBER_COLOR"\r" );
    
menu_setpropg_iTopMenuMPROP_BACKNAME"\yATRÁS" );
    
menu_setpropg_iTopMenuMPROP_NEXTNAME"\ySIGUIENTE" );
    
menu_setpropg_iTopMenuMPROP_EXITNAME"\yCERRAR" );
}

/* ADV_VAULT STUFF */
public ADV_Vault__Init( ) {

    
g_iVault adv_vault_open"top15points"false );

    
g_iFieldsField_Address ] = adv_vault_register_fieldg_iVault"adress"DATATYPE_STRING24 );
    
g_iFieldsField_SteamId ] = adv_vault_register_fieldg_iVault"steamid"DATATYPE_STRING35 );
    
g_iFieldsField_Points ] = adv_vault_register_fieldg_iVault"points" );

    
adv_vault_initg_iVault );
}

public 
ADV_Vault__ManageiIdiType ) {

    switch( 
iType ) {

        case 
Load_Data: {

            if(
SAVE_WITH == 1)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_Name ] ) )
                return;
            else if(
SAVE_WITH == 2)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_SteamId ] ) )
                return;
            else if(
SAVE_WITH == 3)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_Address ] ) )
                return;

            
g_ePlayerInfoiId ][ Player_Points ] = adv_vault_get_fieldg_iVaultg_iFieldsField_Points ] );
            
g_ePlayerInfoiId ][ Player_SteamId ] = adv_vault_get_fieldg_iVaultg_iFieldsField_SteamId ] );
            
g_ePlayerInfoiId ][ Player_Address ] = adv_vault_get_fieldg_iVaultg_iFieldsField_Address ] );
        }
        case 
Save_Data: {

            if( !
GetPlayerBitg_iConnectediId ) )
                return;

            
adv_vault_set_startg_iVault );

            
adv_vault_set_fieldg_iVaultg_iFieldsField_Points ], g_ePlayerInfoiId ][ Player_Points ] );
            
adv_vault_set_fieldg_iVaultg_iFieldsField_SteamId ], g_ePlayerInfoiId ][ Player_SteamId ] );
            
adv_vault_set_fieldg_iVaultg_iFieldsField_Address ], g_ePlayerInfoiId ][ Player_Address ] );         

            if(
SAVE_WITH == 1)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_Name ] );
            else if(
SAVE_WITH == 2)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_SteamId ] );
            else if(
SAVE_WITH == 3)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_Address ] );
            
        }
    }
}

stock UnPack__PointsiPacked, &iPoints ) {

    
iPoints iPacked 0xFF;

Responder
#11
(29/05/2019, 06:57 PM)Niper.-. escribió: Obvio que jamás le va a andar si "fakevar" jamás existe y es iFakeVar... al igual que "input" es szInput y más errores.
Además, que faltan declarar #defines como MAX_PLAYERS. Proba así:
Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include < amxmodx >
#include < adv_vault >
#include < fakemeta >
#include < hamsandwich >

/* 1 = NOMBRE - 2 = STEAMID - 3 = IP */
new SAVE_WITH 1;



#pragma semicolon 1

#define PLUGIN_VERSION "1.0.132"

#if AMXX_VERSION_NUM < 183
    #define MAX_NAME_LENGTH 256
    #define MAX_PLAYERS    33
    #define client_disconected client_disconnect
    #define print_team_default 0

    
stock client_print_coloriIdiFakeVar, const szInput[ ], any:...) {
        
#pragma unused iFakeVar
        
static szMessage191 ], g_iMsgSayText;

        if( !
g_iMsgSayText )
            
g_iMsgSayText get_user_msgid"SayText" );

        
vformatszMessage190szInput3);

        
message_beginiId MSG_ONE_UNRELIABLE MSG_BROADCASTg_iMsgSayText, .player iId );
        
write_byteiId iId 33);
        
write_stringszMessage );
        
message_end( );
    }
#endif

/* GLOBAL STUFF */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )

new g_szSayPrefix[ ] = "^4[SG]^1";
new 
g_szConsolePrefix[ ] = "[SG]";

new const 
g_szSelectItemSound[ ] = "Ui/buttonclickrelease.wav";

const 
Float:TASK_ADV_DELAY 90.0;

enum _:eCvars_Data {

    
Points_Knife,
    
Points_Headshot,
    
Points_Normal
};

enum _:eCvars_Register {

    
Cvar_Name55 ],
    
Cvar_Value]
};

enum {

    
Load_Data,
    
Save_Data
};

enum _:Vault_Fields {

    
Field_Points,
    
Field_Address,
    
Field_SteamId
};

enum _:ePlayer_Info {

    
Player_NameMAX_NAME_LENGTH ],
    
Player_SteamIdMAX_PLAYERS ],
    
Player_AddressMAX_NAME_LENGTH ],
    
Player_PointsMAX_PLAYERS ]
};

new const 
g_szCvars[ ][ _:eCvars_Register ] = {

    { 
"t15p_knife""3" },
    { 
"t15p_headshot""2" },
    { 
"t15p_normal""1" }
};

new 
g_iConnected;
new 
g_iAlive;
new 
g_iVault;
new 
g_iMaxPlayers;
new 
g_iPlayerHud;

new 
g_iSortTop;
new 
g_iTopMenu;

new 
g_eCvars_:eCvars_Data ];
new 
g_iFields_:Vault_Fields ];
new 
Float:g_flLastHudMAX_PLAYERS ];
new 
g_ePlayerInfoMAX_PLAYERS ][ _:ePlayer_Info ];

public 
plugin_init( ) {

    
register_plugin"Top 15 Points"PLUGIN_VERSION"Chema" );

    
/* COMMANDS */
    
register_clcmd"say /top""m__TopMenu" );

    
/* HAMS */
    
RegisterHamHam_Spawn"player""h__PlayerSpawn_Post"true );
    
RegisterHamHam_Killed"player""h__PlayerKilled_Post"true );
    
RegisterHamHam_Player_PreThink"player""h__PlayerPreThink" );

    
/* EVENTS */
    
register_logevent"ev__RoundStart"2"0=World triggered""1=Round_Start" );

    
/* CVARS */
    
register_cvar"t15p_author""Chema"FCVAR_SPONLY );
    
register_cvar"t15p_version"PLUGIN_VERSIONFCVAR_SPONLY );

    for( new 
0sizeofg_szCvars ); i++ )
        
g_eCvars] = register_cvarg_szCvars][ Cvar_Name ], g_szCvars][ Cvar_Value ] );

    
g_iMaxPlayers get_maxplayers( );
    
g_iPlayerHud CreateHudSyncObj( );

    
set_taskTASK_ADV_DELAY"task__Advertising"0, .flags "b" );

    
ADV_Vault__Init( );

    
g_iSortTop adv_vault_sort_createg_iVaultORDER_DESC00g_iFieldsField_Points ] );
    
create__TopMenu( );
}

public 
plugin_precache( )
    
precache_soundg_szSelectItemSound );

/* TASKS */
public task__Advertising( )
    
client_print_color00"%s Este servidor utiliza ^3TOP 15 POINTS^1 ^4%s^1 por ^4Chema^1."g_szSayPrefixPLUGIN_VERSION );

/* CLIENT-RELATED STUFF */
public client_putinserveriId ) {

    
ClearPlayerBitg_iAliveiId );
    
SetPlayerBitg_iConnectediId );

    if(
SAVE_WITH == 1)
    
get_user_nameiIdg_ePlayerInfoiId ][ Player_Name ], charsmaxg_ePlayerInfo[ ][ Player_Name ] ) );
    else if(
SAVE_WITH == 2)
    
get_user_authidiIdg_ePlayerInfoiId ][ Player_SteamId ], charsmaxg_ePlayerInfo[ ][ Player_SteamId ] ) );
    else if(
SAVE_WITH == 3)
    
get_user_ipiIdg_ePlayerInfoiId ][ Player_Address ], charsmaxg_ePlayerInfo[ ][ Player_Address ] ), true );

    
g_ePlayerInfoiId ][ Player_Points ] = 0;

    
ADV_Vault__ManageiIdLoad_Data );
}

public 
client_disconnectediId ) {

    
ClearPlayerBitg_iConnectediId );
    
ClearPlayerBitg_iAliveiId );

    
ADV_Vault__ManageiIdSave_Data );
}

/* HAMS */
public h__PlayerSpawn_PostiId ) {

    if( !
is_user_aliveiId ) )
        return 
HAM_IGNORED;
    
    
SetPlayerBitg_iAliveiId );

    return 
HAM_IGNORED;
}

public 
h__PlayerKilled_PostiVictimiAttackeriShouldGib ) {

    new 
iCheckiCheck = ( !GetPlayerBitg_iConnectediVictim ) || !GetPlayerBitg_iConnectediAttacker ) || iAttacker == iVictim || is_user_botiAttacker ) );

    if( 
iCheck )
        return 
HAM_IGNORED;

    
ClearPlayerBitg_iAliveiVictim );

    static 
iKnifeiHeadshotiNormal;

    
iKnife = ( get_pcvar_numg_eCvarsPoints_Knife ] ) );
    
iHeadshot = ( get_pcvar_numg_eCvarsPoints_Headshot ] ) );
    
iNormal = ( get_pcvar_numg_eCvarsPoints_Normal ] ) );

    if( 
get_user_weaponiAttacker ) == CSW_KNIFE )
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iKnife;
    else if( 
get_pdata_intiVictim75) == HIT_HEAD )
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iHeadshot;
    else
        
g_ePlayerInfoiAttacker ][ Player_Points ] += iNormal;

    return 
HAM_IGNORED;
}

public 
h__PlayerPreThinkiId ) {

    if( 
GetPlayerBitg_iAliveiId ) ) {

        new 
Float:flGameTime get_gametime( );
        
        if( 
flGameTime g_flLastHudiId ] > 0.8 ) {

            
set_hudmessage21242255, -1.00.0216.00.8 );
            
ShowSyncHudMsgiIdg_iPlayerHud"^n/-------------------------\^n| TIENES %i PUNTO%s. |^n\-------------------------/"g_ePlayerInfoiId ][ Player_Points ], g_ePlayerInfoiId ][ Player_Points ] <= "" "S" );
            
            
g_flLastHudiId ] = flGameTime;
        }
    }
}

/* EVENTS */
public ev__RoundStart( ) {

    for( new 
iId 1iId <= g_iMaxPlayersiId++ ) {

        if( !
GetPlayerBitg_iConnectediId ) )
            continue;

        
console_printiId"%s Tus datos han sido guardados!"g_szConsolePrefix );
        
ADV_Vault__ManageiIdSave_Data );
    }
}

/* TOP MENU */
public m__TopMenuiId ) {

    if( !
GetPlayerBitg_iConnectediId ) )
        return 
PLUGIN_HANDLED;
    
    
menu_displayiIdg_iTopMenu );
    
    return 
PLUGIN_HANDLED;
}

public 
h__TopMenuiIdg_iTopMenuiItem ) {

    if( 
iItem == MENU_EXIT )
        return 
PLUGIN_HANDLED;
    
    
client_cmdiId"spk ^"%s^""g_szSelectItemSound );
    return 
PLUGIN_HANDLED;
}

public 
create__TopMenu( ) {

    new 
iPointsiKeyIndexszNameMAX_NAME_LENGTH ], szBuffer512 ], iNumResult;

    
iNumResult adv_vault_sort_numresultg_iVaultg_iSortTop );
    
g_iTopMenu menu_create"\r[SG]\y Menú de jugadores""h__TopMenu" );
    
    for( new 
iId 1iId <= iNumResultiId++ ) {

        
iKeyIndex adv_vault_sort_positiong_iVaultg_iSortTopiId );
        
        if( !
adv_vault_get_prepareg_iVaultiKeyIndex ) )
            continue;
        
        
UnPack__Pointsadv_vault_get_fieldg_iVaultg_iFieldsField_Points ] ), iPoints );
        
        
szName] = '^0';
        
adv_vault_get_keynameg_iVaultiKeyIndexszNamecharsmaxszName ) );
        
        
formatexszBuffercharsmaxszBuffer ), "\y#%d\r NOMBRE:\y %s\d -\r PUNTOS:\y %d"iIdszNameiPoints );
        
menu_additemg_iTopMenuszBuffer );
    }
    
    
menu_setpropg_iTopMenuMPROP_PERPAGE);
    
menu_setpropg_iTopMenuMPROP_NUMBER_COLOR"\r" );
    
menu_setpropg_iTopMenuMPROP_BACKNAME"\yATRÁS" );
    
menu_setpropg_iTopMenuMPROP_NEXTNAME"\ySIGUIENTE" );
    
menu_setpropg_iTopMenuMPROP_EXITNAME"\yCERRAR" );
}

/* ADV_VAULT STUFF */
public ADV_Vault__Init( ) {

    
g_iVault adv_vault_open"top15points"false );

    
g_iFieldsField_Address ] = adv_vault_register_fieldg_iVault"adress"DATATYPE_STRING24 );
    
g_iFieldsField_SteamId ] = adv_vault_register_fieldg_iVault"steamid"DATATYPE_STRING35 );
    
g_iFieldsField_Points ] = adv_vault_register_fieldg_iVault"points" );

    
adv_vault_initg_iVault );
}

public 
ADV_Vault__ManageiIdiType ) {

    switch( 
iType ) {

        case 
Load_Data: {

            if(
SAVE_WITH == 1)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_Name ] ) )
                return;
            else if(
SAVE_WITH == 2)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_SteamId ] ) )
                return;
            else if(
SAVE_WITH == 3)
            if( !
adv_vault_get_prepareg_iVault_g_ePlayerInfoiId ][ Player_Address ] ) )
                return;

            
g_ePlayerInfoiId ][ Player_Points ] = adv_vault_get_fieldg_iVaultg_iFieldsField_Points ] );
            
g_ePlayerInfoiId ][ Player_SteamId ] = adv_vault_get_fieldg_iVaultg_iFieldsField_SteamId ] );
            
g_ePlayerInfoiId ][ Player_Address ] = adv_vault_get_fieldg_iVaultg_iFieldsField_Address ] );
        }
        case 
Save_Data: {

            if( !
GetPlayerBitg_iConnectediId ) )
                return;

            
adv_vault_set_startg_iVault );

            
adv_vault_set_fieldg_iVaultg_iFieldsField_Points ], g_ePlayerInfoiId ][ Player_Points ] );
            
adv_vault_set_fieldg_iVaultg_iFieldsField_SteamId ], g_ePlayerInfoiId ][ Player_SteamId ] );
            
adv_vault_set_fieldg_iVaultg_iFieldsField_Address ], g_ePlayerInfoiId ][ Player_Address ] );         

            if(
SAVE_WITH == 1)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_Name ] );
            else if(
SAVE_WITH == 2)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_SteamId ] );
            else if(
SAVE_WITH == 3)
            
adv_vault_set_endg_iVault0g_ePlayerInfoiId ][ Player_Address ] );
            
        }
    }
}

stock UnPack__PointsiPacked, &iPoints ) {

    
iPoints iPacked 0xFF;


MAX_NAME_LENGTH y MAX_PLAYERS valen 32.

https://www.amxmodx.org/api/amxconst

Saludos. Crab
Responder
#12
Ahora si me compila y me sale el top y todo pero cuando juego no me da los puntos cuando mato a alguien...
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)