WinByFrags
#1
alguien sabe como poner este menú en el WinByFrags?


Archivos adjuntos Miniatura(s)
   

Responder
#2
El Wbf no guarda esas estadísticas, debe ser un plugin aparte.
Responder
#3
(11/12/2020, 07:26 PM)Mario AR. escribió: El Wbf no guarda esas estadísticas, debe ser un plugin aparte.

en serio? que lastima porque con ese menu se ve muy bonito y mas actualizado. estaría bueno que le des una actualización a WinByFrags Gran sonrisa

Responder
#4
Lo armé yo hace bastante y lo subí en el aporte de mario:
https://amxmodx-es.com/Thread-Win-by-Fra...#pid220288

Responder
#5
(11/12/2020, 07:58 PM)Skylar escribió: Lo armé yo hace bastante y lo subí en el aporte de mario:
https://amxmodx-es.com/Thread-Win-by-Fra...#pid220288

Genial, muchisimas gracias. una cosa como puedo hacer para que se abra con un comando /estadisticas.

tengo un menu de usuario que se abre con la letra "n"

Código PHP:
public plugin_init( ) {
    
register_pluginszPlugin], szPlugin], szPlugin] );
    
register_clcmd"nightvision""fn_ShowStatistics" );
    
register_event"DeathMsg""event_DeathMsg""a" )
    
register_menu"Statitics Menu"KEYSMENU"fn_HandStatitics" );
    
    
cvar_maxfrags register_cvar"wbf_max_frags""50" );
    
cvar_enable register_cvar"wbf_enable""1" );
    
cvar_winnertime register_cvar"wbf_winner_time""15" );
    
cvar_lastfrags register_cvar"wbf_frags_left_to_vote""10" );
    
cvar_steal register_cvar"wbf_knife_steal""1" );
    
cvar_suicide register_cvar"wbf_penalty""0" );
    
    
set_task3.0"fn_StartTasks" );
    
g_maxplayers get_maxplayers( );

    
SQL_Init( );


Responder
#6
Código PHP:
register_clcmd"nightvision""fn_ShowStatistics" );
->
register_clcmd"say /estadisticas""fn_ShowStatistics" ); 

Responder
#7
(11/12/2020, 08:05 PM)Skylar escribió:
Código PHP:
register_clcmd"nightvision""fn_ShowStatistics" );
->
register_clcmd"say /estadisticas""fn_ShowStatistics" ); 

Cita:AMX Mod X Compiler 1.9.0.5271
Copyright © 1997-2006 ITB CompuPhase
Copyright © 2004-2013 AMX Mod X Team

Warning: Loose indentation on line 64 <-
Warning: Loose indentation on line 65 <-
Header size:          1972 bytes
Code size:            19464 bytes
Data size:            42948 bytes
Stack/heap size:      16384 bytes
Total requirements:  80768 bytes

2 Warnings.
Done.

no afectara en nada?

Responder
#8
(11/12/2020, 08:09 PM)Mecha escribió: no afectara en nada?

No.
Responder
#9
(12/12/2020, 01:15 AM)Chema escribió: No.

igual seguí todos los pasos de instalación y no me funciona. el winByFrags no sale el hud me dice que esta activado nada mas.

Responder
#10
(12/12/2020, 01:54 AM)Mecha escribió: igual seguí todos los pasos de instalación y no me funciona. el winByFrags no sale el hud me dice que esta activado nada mas.

Probé el plugin y funciona sin problemas, fíjate si tienes algún error en logs, o si no activaste el módulo sqlite en modules.ini.
Responder
#11
(12/12/2020, 02:34 AM)Chema escribió: Probé el plugin y funciona sin problemas, fíjate si tienes algún error en logs, o si no activaste el módulo sqlite en modules.ini.

ah no habia activado el sqlite, porque al instalar el el Mapchooser y entrar al server empieza la votacion al instante?

Responder
#12
Es un sistema de ranks con top15. No es tan dificil armarlo.
Responder
#13
(12/12/2020, 03:14 AM)alexiways escribió: Es un sistema de ranks con top15. No es tan dificil armarlo.

creo leiste mal pa, dije que al instalar el DeRoiD's  Mapchooser al entrar al server empieza la votacion para cambiar de mapa . no da tiempo a jugar. instale el galileo y anda sin ningun problema

Responder
#14
(12/12/2020, 02:59 AM)Mecha escribió: ah no habia activado el sqlite, porque al instalar el el Mapchooser y entrar al server empieza la votacion al instante?

(10/02/2014, 05:45 PM)Mario AR. escribió: PD: REQUIERE EL MAPCHOOSER ORIGINAL DE AMXX
Responder
#15
(11/12/2020, 07:58 PM)Skylar escribió: Lo armé yo hace bastante y lo subí en el aporte de mario:
https://amxmodx-es.com/Thread-Win-by-Fra...#pid220288

Gracias Chema, Se puede agregar un beneficio para el que gano llego a 50 kill para el próximo mapa? Como un ADMIN_LEVEL_?

(Digo para mi es mas entretenido para los jugadores porque saben que van a ganar un beneficio en la próxima ronda.)

Responder
#16
(12/12/2020, 01:45 PM)Mecha escribió: Gracias Chema, Se puede agregar un beneficio para el que gano llego a 50 kill para el próximo mapa? Como un ADMIN_LEVEL_?

(Digo para mi es mas entretenido para los jugadores porque saben que van a ganar un beneficio en la próxima ronda.)

Darles un flag si ganaron un mapa?, si se puede.
Responder
#17
(12/12/2020, 02:20 PM)Chema escribió: Darles un flag si ganaron un mapa?, si se puede.

exactamente. como puedo hacerlo dentro del sma de WinByFrags o tiene que ser un plugin aparte?

este es el WinByFrags que estoy usando.

Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <sqlx>

new const szPlugin[ ][ ] = { "Win By Frags""1.0""Mario AR." };
new const 
szPrefix[ ] = "^3[ Redline ]^1";

new const 
szNameDb[ ] = "db_wbf";
new const 
szNameTb[ ] = "tb_wbf";

/* =============================================== */

#define player_name(%0) (g_playername[%0-1])
#define player_connected(%0)    (g_connected & (1 << %0-1))
#define RANDOMR random_num( 0, 255 )
#define RANDOMG random_num( 0, 255 )
#define RANDOMB random_num( 0, 255 )

enum ( += 111 ) {
    
TASK_SHOWFRAGS 987,
    
TASK_SHOWLEADER
};
enum {
    
DATA_LOAD,
    
DATA_SAVE,
    
DATA_INSERT,
    
DATA_TOP
};

new 
g_firstleaderg_secondleaderg_thirdleaderg_winner;
new 
g_votemapg_leaderfrags;
new 
g_connectedg_maxplayers;
new 
g_killsMAX_PLAYERS+], g_kills_knifeMAX_PLAYERS+], g_kills_hsMAX_PLAYERS+], g_deathsMAX_PLAYERS+], g_deaths_knifeMAX_PLAYERS+], g_deaths_hsMAX_PLAYERS+], g_winsMAX_PLAYERS+];
new 
Handle:g_hTupleHandle:g_hConnect;
new 
g_TopEmptyg_rankMAX_PLAYERS ];
new 
g_playernameMAX_PLAYERS+][ MAX_NAME_LENGTH ];
new 
cvar_maxfragscvar_enablecvar_lastfragscvar_winnertimecvar_stealcvar_suicide;
new 
g_motd[1500], g_music;
new 
KEYSMENU MENU_KEY_0 MENU_KEY_1;

new const 
szWinMusic[ ][ ] = {
    
"media/Half-Life03.mp3",
    
"media/Half-Life11.mp3",
    
"media/Half-Life12.mp3",
    
"media/Half-Life13.mp3",
    
"media/Half-Life17.mp3"
};

/* =============================================== */

public plugin_precache( ) {
    
precache_sound"gungame/gg_brass_bell.wav" );
    
precache_sound"wbf/box_ring.wav" );
    
    
g_music randomsizeof szWinMusic );
    
precache_genericszWinMusicg_music ] );
}

public 
plugin_init( ) {
    
register_pluginszPlugin], szPlugin], szPlugin] );
         
register_clcmd"say .info""fn_ShowStatistics" ); 
    
register_event"DeathMsg""event_DeathMsg""a" )
    
register_menu"Statitics Menu"KEYSMENU"fn_HandStatitics" );
    
    
cvar_maxfrags register_cvar"wbf_max_frags""50" );
    
cvar_enable register_cvar"wbf_enable""1" );
    
cvar_winnertime register_cvar"wbf_winner_time""15" );
    
cvar_lastfrags register_cvar"wbf_frags_left_to_vote""10" );
    
cvar_steal register_cvar"wbf_knife_steal""1" );
    
cvar_suicide register_cvar"wbf_penalty""0" );
    
    
set_task3.0"fn_StartTasks" );
    
g_maxplayers get_maxplayers( );

    
SQL_Init( );
}

public 
plugin_end( ) if( g_hTuple SQL_FreeHandleg_hTuple );

public 
client_putinserverid ) {
    if( !
get_pcvar_numcvar_enable ) ) return;
    
    
get_user_nameidplayer_nameid ), 31 );
    
g_connected |= ( << id-);
    
fn_LoadDataid );
    
fn_GetRankid );
    
    if( !
is_user_botid ) ) {
        
set_task3.0"fn_ShowFrags"id TASK_SHOWFRAGS );
        
set_task3.0"fn_ShowTheLeader"id TASK_SHOWLEADER );
    }
}
public 
client_disconnectedid ) {
    if( !
get_pcvar_numcvar_enable ) ) return;
    
    if( 
task_existsid TASK_SHOWLEADER ) )
        
remove_taskid TASK_SHOWLEADER );
        
    if( 
task_existsid TASK_SHOWFRAGS ) )
        
remove_taskid TASK_SHOWFRAGS );
    
    
g_connected &= ~( << id-);
    
fn_SaveDataid );
}
public 
client_infochangedid ) {
    if( !
player_connectedid ) ) return;
    
    
get_user_infoid"name"player_nameid ), 31 );
}

/* =============================================== */

public event_DeathMsg( ) {
    if( !
get_pcvar_numcvar_enable ) || g_winner ) return;
    
    static 
idvichs;
    
id read_data);
    
vic read_data);
    
hs read_data);

    static 
weapon], stealfragsmaxfrags;

    
g_killsid ]++;
    
g_deathsvic ]++;
    
    if( 
id == vic ) {
        if( ( 
frags get_pcvar_numcvar_suicide ) ) ) {
            if( 
frags set_user_fragsidget_user_fragsid ) + frags );
            
            
client_print_coloridprint_team_default"%s Pierdes^4 %d fra%s^1 por suicidarte."szPrefixfrags "gs" "g" );
        } else 
set_user_fragsidget_user_fragsid ) + );
        
        return;
    }

    if( 
hs ) {
        
g_kills_hsid ]++;
        
g_deaths_hsvic ]++;
    }
    
    
read_data4weapon);
    
steal get_pcvar_numcvar_steal );
    
frags get_user_fragsid );
    
    if( 
steal && weapon] == 'k' ) {
        
g_kills_knifeid ]++;
        
g_deaths_knifevic ]++;
        
set_user_fragsidfrags steal );
        
set_user_fragsvicget_user_fragsvic ) - steal );

        
client_print_coloridprint_team_default"%s Robaste^4 %i frag%s^1 de^4 %s^1 por acuchillarlo."szPrefixstealsteal == "" "s"player_namevic ) );
        
client_print_colorvicprint_team_default"%s^4 %s^1 te robo^4 %i frag%s^1 por acuchillarte."szPrefixplayer_nameid ), stealsteal == "" "s" );
    }
    
    
maxfrags get_pcvar_numcvar_maxfrags );
    
    if( !
g_winner && frags >= maxfrags ) {
        
g_winner id;
        
g_firstleader get_pcvar_numcvar_winnertime );
        
g_secondleader vic;
        
        
client_cmd0"spk wbf/box_ring.wav" );
        
        
fn_PrepareToChangeMap( );
        
g_winsg_winner ]++;
        
fn_SaveDatag_winner );
        
fn_SaveDatavic );
        
        new 
len st_PrepareWinnerMotdg_winnerg_winsg_winner ] );
        
        new 
nextmap150 ], map32 ], newlen;
        
get_cvar_string"amx_nextmap"map31 );
        
formatexnextmapcharsmaxnextmap ), "<br><p>El proximo mapa sera <font color=FF4C4C>%s<font color=FFFFFF>. Cambiando en %.0f segundos...</font></p>"mapget_pcvar_floatcvar_winnertime ) );
    
        for( 
id 1id <= g_maxplayersid++ )
        {
            if( !
player_connectedid ) ) continue;
            
            
set_user_godmodeid);
            
strip_user_weaponsid );
            
frags get_user_fragsid );
            
            if( 
id == g_winner )
                
newlen len formatexg_motdlen ], charsmaxg_motd ) - len"<p>Felicitaciones! Has ganado en este mapa.<p>Mucha suerte para el proximo!" );
            else {
                
newlen len formatexg_motdlen ], charsmaxg_motd ) - len"<p>%s, conseguiste %d frags, te falt%s %d para ganar.<p>\
                Mejor suerte la proxima vez!"
player_nameid ), fragsmaxfrags frags <= "o solo" "aron"maxfrags frags );
            }
            
            
copyg_motdnewlen ], charsmaxg_motd ) - newlennextmap );
            
show_motdidg_motd"Fin del Juego" );
        }
    }
}

/* =============================================== */

public fn_StartTasks( ) {
    if( !
get_pcvar_numcvar_enable ) ) return;
    
    
set_cvar_num"mp_timelimit");
    
fn_GetTheLeader( );
}

public 
fn_ShowFragsid ) {
    
id -= TASK_SHOWFRAGS;
    
    if( !
player_connectedid ) ) return;
    
    static 
Frags;
    
Frags get_user_fragsid );
    
    if( !
g_winner ) {
        
set_hudmessageRANDOMRRANDOMGRANDOMB, -1.00.8410.01.10.00.0);
        
show_hudmessageid"Tienes %i frags.^nNecesitas %i mas para ganar."Fragsget_pcvar_numcvar_maxfrags ) - Frags );
    } else {
        
set_hudmessageRANDOMRRANDOMGRANDOMB, -1.0, -1.010.01.10.00.0);
        
show_hudmessageid"Cambio de mapa en %d segundos."g_firstleader );
    }
    
    
set_task1.0"fn_ShowFrags"id TASK_SHOWFRAGS );
}

public 
fn_GetTheLeader( ) {
    if( 
g_winner ) return;
    
    if( !
g_votemap && get_pcvar_numcvar_maxfrags ) - g_leaderfrags <= get_pcvar_numcvar_lastfrags ) ) {
        
g_votemap true;
        
st_VoteForMap( );
    }
    
    static 
frags33 ], i;
    
    
g_leaderfrags = -99;
    
g_secondleader g_thirdleader 0;
    
    for(
1<= g_maxplayersi++) {
        if( !
player_connected) ) continue;
        
        
frags] = get_user_frags);
        
        if( 
frags] > g_leaderfrags ) {
            
g_firstleader i;
            
g_leaderfrags frags];
        }
    }
    
    for( 
1<= g_maxplayersi++ ) {
        if( !
player_connected) || == g_firstleader ) continue;
        
        if( 
frags] == g_leaderfrags ) {
            if( !
g_secondleader g_secondleader i
            
else if( !g_thirdleader ) {
                
g_thirdleader i;
                break;
            }
        }
    }
    
    
set_task0.2"fn_GetTheLeader" );
}

public 
fn_ShowTheLeaderid ) {
    
id -= TASK_SHOWLEADER
    
    
if( !player_connectedid ) ) return;
    
    
set_hudmessageRANDOMRRANDOMGRANDOMB, -1.00.1210.01.10.00.0);
        
    static 
fragsfrags get_user_frags(id);
    
    if( !
g_secondleader ) {
        if( 
g_firstleader == id )
            
show_hudmessageid"Eres el unico lider." );
        else
            
show_hudmessageid"Lider: %s con %d frags.^nEstas a %i frags de alcanzarlo."player_nameg_firstleader ), g_leaderfragsg_leaderfrags frags );
    } else if(!
g_thirdleader) {
        if( 
frags == g_leaderfrags )
            
show_hudmessageid"Eres el lider y compartes el titulo con:^n%s"player_name( ( id == g_firstleader ) ? g_secondleader g_firstleader ) );
        else
            
show_hudmessageid"Lideres: %s y %s con %d frags.^nEstas a %d frags de alcanzarlos."player_nameg_firstleader ), player_nameg_secondleader ), g_leaderfragsg_leaderfrags frags );
    } else {
        if( 
frags == g_leaderfrags ) {
            if( 
id == g_firstleader )
                
show_hudmessageid"Eres el lider y compartes el titulo con:^n%s y %s"player_nameg_secondleader ), player_nameg_thirdleader ) );
            else if( 
id == g_secondleader )
                
show_hudmessageid"Eres el lider y compartes el titulo con:^n%s y %s"player_nameg_firstleader ), player_nameg_thirdleader ) );
            else
                
show_hudmessageid"Eres el lider y compartes el titulo con:^n%s y %s"player_nameg_firstleader ), player_nameg_secondleader ) );
        }
        else
            
show_hudmessageid"Lideres: %s, %s y %s con %d frags.^nEstas a %d frags de alcanzarlos."player_nameg_firstleader ), player_nameg_secondleader ), player_nameg_thirdleader ), g_leaderfragsg_leaderfrags frags );
    }
    
    if( !
g_winner set_task1.0"fn_ShowTheLeader"id TASK_SHOWLEADER );
}

/* =============================================== */

public fn_GetRankid ) {
    new 
Handle:iQueryiCountszNameMAX_NAME_LENGTH ];
    
iQuery SQL_PrepareQueryg_hConnect"SELECT Name FROM '%s' ORDER BY Wins DESC"szNameTb );

    if( 
SQL_ExecuteiQuery ) ) {
        while( 
SQL_MoreResultsiQuery ) ) {
            
iCount++;

            
SQL_ReadResultiQuery0szNamecharsmaxszName ) );

            if( 
equalplayer_nameid ), szName ) ) {
                
g_rankid ] = iCount;
                break;
            }

            
SQL_NextRowiQuery );
        }
    }

    return 
PLUGIN_HANDLED;
}

public 
fn_ShowStatisticsid ) {
    new 
menu500 ], len;

    
len 0;
    
len += formatexmenulen ], sizeof menu -len"\yEstadisticas^n^n\r•\w Nombre:\y %s^n\r•\w Rank en top de victorias:\y #%d \r(%d victorias)^n^n"player_nameid ), g_rankid ], g_winsid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Asesinatos:\y %d^n"g_killsid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Asesinatos con Cuchillo:\y %d^n"g_kills_knifeid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Asesinatos de HeadShot:\y %d^n^n"g_kills_hsid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Muertes:\y %d^n"g_deathsid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Muertes por Cuchillo:\y %d^n"g_deaths_knifeid ] );
    
len += formatexmenulen ], sizeof menu -len"\r•\w Muertes de HeadShot:\y %d^n^n"g_deaths_hsid ] );

    
len += formatexmenulen ], sizeof menu -len"\r0.\w Salir^n" );
    
len += formatexmenulen ], sizeof menu -len"\r1.\w Top de victorias" );

    
show_menuidKEYSMENUmenu, -1"Statitics Menu" );
}
public 
fn_HandStatiticsidkeysmenu ) {
    switch( 
keys ) {
        case 
9: { }
        case 
0: {
            if( 
g_TopEmpty ) {
                
client_print_coloridprint_team_default"%s El^4 Top^1 esta vacio."szPrefix );
                return 
PLUGIN_HANDLED;
            }

            
fn_ShowTopid );
        }
    }

    return 
PLUGIN_HANDLED;
}
public 
fn_ShowTopid ) {
    static 
data], query300 ];
    
data] = iddata] = DATA_TOP;

    
formatexquerycharsmaxquery ), "SELECT Name, Wins FROM '%s' ORDER BY Wins DESC LIMIT 0, 10"szNameTb );
    
SQL_ThreadQueryg_hTuple"SQL_DataHandle"querydata);
}
public 
fn_LoadDataid ) {
    static 
data], query300 ];
    
data] = iddata] = DATA_LOAD;

    
formatexquerycharsmaxquery ), "SELECT * FROM %s WHERE Name = ^"%s^""szNameTbplayer_nameid ) );
    
SQL_ThreadQueryg_hTuple"SQL_DataHandle"querydata);
}
public 
fn_SaveDataid ) {
    static 
data], query300 ];
    
data] = iddata] = DATA_SAVE;

    
formatexquerycharsmaxquery ), "UPDATE %s SET Kills = '%d', KillsKnife = '%d', KillsHs = '%d', Deaths = '%d', DeathsKnife = '%d', DeathsHs = '%d', Wins = ^"%d^" WHERE Name = ^"%s^"",
        
szNameTbg_killsid ], g_kills_knifeid ], g_kills_hsid ], g_deathsid ], g_deaths_knifeid ], g_deaths_hsid ], g_winsid ], player_nameid ) );
    
SQL_ThreadQueryg_hTuple"SQL_DataHandle"querydata);
}

public 
SQL_DataHandlefailstateHandle:QueryError[ ], szErrorData[ ], szData[ ], Float:time ) {
    static 
idid Data];

    if( !
is_user_connectedid ) ) return;

    if( 
failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED )
        
log_to_file"SQL_ERROR-1.txt""Error %d: %s"szErrorError );

    switch( 
Data] ) {
        case 
DATA_LOAD: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_killsid ] = SQL_ReadResultQuery);
                
g_kills_knifeid ] = SQL_ReadResultQuery);
                
g_kills_hsid ] = SQL_ReadResultQuery);
                
g_deathsid ] = SQL_ReadResultQuery);
                
g_deaths_knifeid ] = SQL_ReadResultQuery);
                
g_deaths_hsid ] = SQL_ReadResultQuery);
                
g_winsid ] = SQL_ReadResultQuery);
            } else {
                static 
gData], gQuery300 ];
                
gData] = idgData] = DATA_INSERT;

                
formatexgQuerycharsmaxgQuery ), "INSERT INTO %s (Name) VALUES (^"%s^")"szNameTbplayer_nameid ) );
                
SQL_ThreadQueryg_hTuple"SQL_DataHandle"gQuerygData);
            }
        }
        case 
DATA_SAVE: {
            if( 
failstate TQUERY_SUCCESS client_print_coloridprint_team_default"%s Error al guardar tus datos."szPrefix );
            else 
client_print_coloridprint_team_default"%s Datos guardados correctamente."szPrefix );
        }
        case 
DATA_INSERT: {
            if( 
failstate TQUERY_SUCCESS ) return;
            else 
fn_LoadDataid );
        }
        case 
DATA_TOP: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_TopEmpty false;

                new 
iPositionszNameMAX_NAME_LENGTH ], iWins;
                static 
lenszBuffer2368 ];
                
len 0;

                
len formatszBufferlen ], charsmaxszBuffer ) - len"<STYLE>body{background:#232323;color:#cfcbc2;font-family:sans-serif}table{width:100%%;line-height:160%%;font-size:12px}\
                    .q{border:1px solid #4a4945}.b{background:#2a2a2a}</STYLE><table cellpadding=2 cellspacing=0 border=0>" 
);
                
len += formatszBufferlen ], charsmaxszBuffer ) - len"<tr align=center bgcolor=#52697B><th width=5%%> # <th width=22%% align=left> Nombre <th width=10%%> Victorias" );

                while( 
SQL_MoreResultsQuery ) ) {
                    ++
iPosition;

                    
SQL_ReadResultQuery0szNamecharsmaxszName ) );
                    
iWins SQL_ReadResultQuery);

                    
len += formatszBufferlen ], charsmaxszBuffer ) - len"<tr align=center%s><td> %d <td align=left> %s <td> %d",
                        ( ( 
iPosition%)==) ? "" " bgcolor=#2f3030"iPositionszNameiWins );
                    
SQL_NextRowQuery );
                }

                
show_motdidszBuffer"TOP DE VICTORIAS" );
            } else
                
g_TopEmpty true;
        }
    }
}
public 
SQL_Init( ) {
    new 
get_type12 ], table1000 ], lenszError256 ], iError;

    
SQL_SetAffinity"sqlite" );
    
SQL_GetAffinityget_typesizeofget_type ) );
    
    if( !
equalget_type"sqlite" ) ) {
        
log_to_file"ERROR_SQL.txt""Error al conectar." );
        return 
pause"a" );
    }

    
g_hTuple SQL_MakeDbTuple""""""szNameDb );
    
g_hConnect SQL_Connectg_hTupleiErrorszErrorsizeof szError ) - );

    
len 0;
    
len += formatextablelen ], charsmaxtable ) - len"CREATE TABLE IF NOT EXISTS %s"szNameTb );
    
len += formatextablelen ], charsmaxtable ) - len"( Name varchar(32) NOT NULL UNIQUE PRIMARY KEY," );
    
len += formatextablelen ], charsmaxtable ) - len"Kills int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"KillsKnife int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"KillsHs int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"Deaths int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"DeathsKnife int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"DeathsHs int NOT NULL DEFAULT '0' ," );
    
len += formatextablelen ], charsmaxtable ) - len"Wins int NOT NULL DEFAULT '0' )" );

    
SQL_ThreadQueryg_hTuple"SQL_CreateTable"table );
    return 
PLUGIN_CONTINUE;
}
public 
SQL_CreateTablefailstateHandle:queryerror[], szerrordata[], szdataFloat:time ) {
    switch( 
failstate ) {
        case 
TQUERY_CONNECT_FAILED:
            
log_to_file"SQL_TConnection.txt""Error: %i - %s"szerrorerror );
        case 
TQUERY_QUERY_FAILED:
            
log_to_file"SQL_TQuery.txt""Error: %i - %s"szerrorerror );
    }
}

public 
fn_PrepareToChangeMap( ) {
    
g_firstleader--
    
    if( !
g_firstleader ) {
        new 
NextMap65 ];
        
get_cvar_string"amx_nextmap"NextMap64 );
        
server_cmd"changelevel %s"NextMap );
    } else {
        if( 
g_firstleader == get_pcvar_numcvar_winnertime ) - client_cmd0"mp3 play ^"%s^""szWinMusicg_music ] );
        
        
set_task1.0"fn_PrepareToChangeMap" );
    }
}

/* =============================================== */

st_PrepareWinnerMotdwinnerwins ) {
    new 
len formatexg_motdcharsmaxg_motd ), "<meta http-equiv=^"Content-Type^" content=^"text/html;charset=UTF-8^">\
    <body bgcolor=black style=line-height:1;color:white><center><font color=FFFFFF size=7 face=Tahoma><p>ONLY FRAGGERS" 
);
    
len += formatexg_motdlen ], charsmaxg_motd ) - len"<br><p><font color=00CC00 size=6 style=letter-spacing:2px>\
    <font size=4 color=white style=letter-spacing:1px>El ganador es " 
);
    
len += formatexg_motdlen ], charsmaxg_motd ) - len"<p><div style=height:1px;width:80%%;background-color:00CC00;overflow:hidden></div>\
    <font color=00CC00 size=7 style=letter-spacing:2px>%s<div style=height:1px;width:80%%;background-color:00CC00;overflow:hidden></div><p>"
player_namewinner ) );
    
    if( 
wins )
        
len += formatexg_motdlen ], charsmaxg_motd ) - len"<font color=FFFFFF size=4>Con esta victoria,<font color=00CC00> %s <font color=FFFFFF>ahora acumula <font color=FF4C4C>%d <font color=FFFFFF>victorias en total."player_namewinner ), wins );
    else 
len += formatexg_motdlen ], charsmaxg_motd ) - len"<font color=FFFFFF size=4>Esta es la <font color=FF4C4C>primera victoria<font color=FFFFFF> de <font color=00CC00>%s<font color=FFFFFF>."player_namewinner ) );
    
    return 
len;
}

stock st_VoteForMap( ) {
    if( 
find_plugin_byfile"mapchooser.amxx" ) == INVALID_PLUGIN_ID ) return;
    
    new 
oldWinLimit get_cvar_num"mp_winlimit" ), oldMaxRounds get_cvar_num"mp_maxrounds" );
    
set_cvar_num"mp_winlimit",);
    
set_cvar_num"mp_maxrounds",-);
    
client_cmd0"spk gungame/gg_brass_bell.wav" );

    if( 
callfunc_begin"voteNextmap""mapchooser.amxx" ) == callfunc_end( );

    
set_cvar_num"mp_winlimit",oldWinLimit );
    
set_cvar_num"mp_maxrounds",oldMaxRounds );


Responder
#18
(12/12/2020, 03:14 AM)alexiways escribió: Es un sistema de ranks con top15. No es tan dificil armarlo.

Bueno, armalo vos y alnorzame los dos huevos mogolico

Responder
#19
Hago una consulta hay alguna posibilidad de poder agregar la opcion de reiniciar el top de victorias? asi por ejemplo poder darle un premio al usuario por ser el que mas victorias obtuvo durante 2 meses por ejemplo
Responder
#20
(12/12/2020, 05:27 PM)MATi escribió: Hago una consulta hay alguna posibilidad de poder agregar la opcion de reiniciar el top de victorias? asi por ejemplo poder darle un premio al usuario por ser el que mas victorias obtuvo durante 2 meses por ejemplo

Hola antes que nada disculpen por revivir cosa de hace un par de meses.

Se puede reiniciar de manera manual! Tienes que ir a la carpeta /addons/amxmodx/data/sqlite3 y reemplazar el archivo db_wbf.sq3 por el que tienes en tu pc. Osea el que descargaste esta vacio a medida q entran los player la tabla se va llenando. simplemente vuelves a cargar el db_wbf.sq3 y ya te queda de 0 el top de victorias.

Saludos.
_____________________________________________________________________________
(05/08/2020, 06:47 PM)acetatomil escribió: Vos también sos trolazo por responder, y también me incluyo y el que lo lea también. Bue.

_____________________________________________________________________________
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)