[Compro] Surf + level
#1
Buenas noches compro surf + level , con models sin bugs
Dejo mi Face haci me contactan
https://www.facebook.com/profile.php?id=100013188616938
Responder
#2
Código PHP:
/* ====================================================== */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <sqlx>

new const g_szNameDb[ ] = "surfmod";
new const 
g_szDataBases[ ][ ] = { "surf_data""surf_cuentas" };

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

enum( ) {
    
E_STATUS_UNREGISTERED 0,
    
E_STATUS_REGISTERED,
    
E_STATUS_UNLOGGED,
    
E_STATUS_LOGGED,
    
E_DATA_REGISTER,
    
E_DATA_ENTERED,
    
E_DATA_SAVE,
    
E_DATA_LOAD
};

new 
g_Cuentas;
new 
g_Status33 ];
new 
g_Password33 ][ 21 ];
new 
g_PlayerName33 ][ 33 ];
    
new 
Handle:g_hTuple,
    
Handle:g_hConnection;
    
/* ====================================================== */

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

#define NextLevel(%1) (%1 * 55 + 200)
#define LevelMax 100
#define ID_SHOWHUD (taskid - TASK_SHOWHUD)
#define TASK_SHOWHUD 16367
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)

new g_Level33 ], g_Exp33 ];
new 
g_Hud;

new 
cvarExpUserscvarExpUsersHs;
new 
cvarExpAdmincvarExpAdminHs;

new 
g_HideWeapong_Crosshair;

enum _:DATA_PLUGIN
{
    
P_NAME,
    
P_VERSION,
    
P_AUTOR,
    
P_PREFIX
};
enum _:DATA_WEAPONS
{
    
W_CSW,
    
W_VMODEL50 ],
    
W_LEVEL,
    
Float:W_DAMAGE
};

new const 
szConstPluginDATA_PLUGIN ][ ] =
{
    { 
"Surf Mod" },
    { 
"1.0" },
    { 
"Sky^^" },
    { 
"^3[ SURFMOD ]^1" }
};
new const 
szConstWeaponsPrimary[ ][ DATA_WEAPONS ] =
{
    { 
CSW_M3"default"01.0 },
    { 
CSW_M3"default"11.0 },
    { 
CSW_M3"default"21.0 },
    { 
CSW_M3"default"31.0 },
    
    { 
CSW_AK47"default"01.0 },
    { 
CSW_AK47"default"11.0 },
    { 
CSW_AK47"default"21.0 },
    { 
CSW_AK47"default"31.0 },
    
    { 
CSW_M4A1"default"01.0 },
    { 
CSW_M4A1"default"11.0 },
    { 
CSW_M4A1"default"21.0 },
    { 
CSW_M4A1"default"31.0 }
};
new const 
szConstWeaponsSecondary[ ][ DATA_WEAPONS ] =
{
    { 
CSW_USP"default"01.0 },
    { 
CSW_USP"default"11.0 },
    { 
CSW_USP"default"21.0 },
    { 
CSW_USP"default"31.0 },
    
    { 
CSW_DEAGLE"default"01.0 },
    { 
CSW_DEAGLE"default"11.0 },
    { 
CSW_DEAGLE"default"21.0 },
    { 
CSW_DEAGLE"default"31.0 },
    
    { 
CSW_GLOCK18"default"01.0 },
    { 
CSW_GLOCK18"default"11.0 },
    { 
CSW_GLOCK18"default"21.0 },
    { 
CSW_GLOCK18"default"31.0 }
};
new const 
WEAPONS_ENT[ ][ ] = 

    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_p90" 
};
new const 
g_szHookArgs[ ][ ] = {
    
"#Team_Select",
    
"#Team_Select_Spect",
    
"#IG_Team_Select",
    
"#IG_Team_Select_Spect"
}

const 
iRed 225;
const 
iGreen 0;// reparado :v
const iBlue 0;
new 
Float:iPosX 0.00;
new 
Float:iPosY 0.84;

const 
HIDE_RM = (1<<3) | (1<<5);
const 
PEV_SPEC_TARGET pev_iuser2;
const 
OFFSET_WEAPONOWNER 41;
const 
OFFSET_LINUX_WEAPONS 4;
const 
PDATA_SAFE 2;

const 
PRIMARY_WEAPONS_BIT_SUM = (<< CSW_SCOUT)|(<< CSW_XM1014)|(<< CSW_MAC10)|(<< CSW_AUG)|(<< CSW_UMP45)|(<< CSW_SG550)|(<< CSW_GALIL)|(<< CSW_FAMAS)|
(
<< CSW_AWP)|(<< CSW_MP5NAVY)|(<< CSW_M249)|(<< CSW_M3)|(<< CSW_M4A1)|(<< CSW_TMP)|(<< CSW_G3SG1)|(<< CSW_SG552)|(<< CSW_AK47)|(<< CSW_P90);
const 
SECONDARY_WEAPONS_BIT_SUM = (<< CSW_P228)|(<< CSW_ELITE)|(<< CSW_FIVESEVEN)|(<< CSW_USP)|(<< CSW_GLOCK18)|(<< CSW_DEAGLE);

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

public plugin_precache( )
{
    
g_Hud CreateHudSyncObj( );
    
    static 
i;
    
    for( 
0sizeofszConstWeaponsPrimary ); i++ )
        if( !
equalszConstWeaponsPrimary][ W_VMODEL ], "default" ) ) precache_modelszConstWeaponsPrimary][ W_VMODEL ] );
    
    for( 
0sizeofszConstWeaponsSecondary ); i++ )
        if( !
equalszConstWeaponsSecondary][ W_VMODEL ], "default" ) ) precache_modelszConstWeaponsSecondary][ W_VMODEL ] );
    
}
public 
plugin_init( )
{
    
server_print("no_amxx_uncompress");
    
    
register_pluginszConstPluginP_NAME ], szConstPluginP_VERSION ], szConstPluginP_AUTOR ] );

    
g_HideWeapon get_user_msgid("HideWeapon");
    
g_Crosshair get_user_msgid("Crosshair");

    
register_messageget_user_msgid"ShowMenu" ), "msgShowMenu" );
    
register_messageget_user_msgid"VGUIMenu" ), "msgVGUImenu" );
    
register_messageget_user_msgid("MOTD"), "msgMotd" );
    
register_message(g_HideWeapon"Hide_Weapon");
    
    
register_event"DeathMsg""event_Death""a" );
    
register_event("ResetHUD""e_ResetHud""b");
    
    
RegisterHamHam_TakeDamage"player""ham_PlayerTakeDamage" );
    new 
i;
    for( 
0sizeofWEAPONS_ENT ); ++)
        if( 
WEAPONS_ENT][ ] ) RegisterHamHam_Item_DeployWEAPONS_ENT], "ham_ItemDeploy");

    
register_forwardFM_ClientUserInfoChanged"fw__ClientInfoChanged" );
    
    
register_clcmd("jointeam",     "cm__JoinTeam")
    
register_clcmd"drop""clcmd_LockedCommand" );
    
register_clcmd"CREAR_PASSWORD""cm__CreatePw" );
    
register_clcmd"CONFIRMAR_PASSWORD""cm__ConfirmPw" );
    
register_clcmd"IDENTIFICAR_PASSWORD""cm__LogPw" );
    
    
cvarExpUsers register_cvar"amx_exp_users""30" );
    
cvarExpUsersHs register_cvar"amx_exp_users_hs""40" );
    
cvarExpAdmin register_cvar"amx_exp_admin""60" );
    
cvarExpAdminHs register_cvar"amx_exp_admin_hs""70" );

    
MySqlx( );
}

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

public client_putinserverid )
{
    
get_user_nameidg_PlayerNameid ], charsmaxg_PlayerName[ ] ) );
    
g_Statusid ] = E_STATUS_UNREGISTERED;
    
check__Nameid );

    
set_task0.5"taskHud"id+TASK_SHOWHUD__"b" );

    
g_Levelid ] = g_Expid ] = 0;
}

check__Nameid ) {
    new 
Handle:query;
    
query SQL_PrepareQueryg_hConnection"SELECT Name FROM '%s' WHERE Name = ^"%s^""g_szDataBases], g_PlayerNameid ] );
    
    
SQL_Executequery );
    
    if( 
SQL_NumResultsquery ) && SQL_Executequery ) )
        
g_Statusid ] = E_STATUS_REGISTERED;
        
    
SQL_FreeHandlequery );
}

public 
client_disconnectid )
{
    if( 
g_Statusid ] == E_STATUS_LOGGED ) {
        
Manage__Dataid);
        
g_Statusid ] = E_STATUS_UNLOGGED;
    }

    
remove_taskid+TASK_SHOWHUD );
}

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

public msgShowMenuiddestentity ) {
    new 
msg32 ];
    
get_msg_arg_string4msgcharsmaxmsg ) );
    
    for( new 
0sizeof g_szHookArgsi++ ) {
        if( 
equalmsgg_szHookArgs] ) ) {
            if( 
g_Statusentity ] != E_STATUS_LOGGED )
                
Show_Menu__Registerentity );
                
            return 
PLUGIN_HANDLED;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
msgVGUImenuiddestentity ) {
    new 
menuid get_msg_arg_int);
    
    if( 
menuid == || menuid == ) {
        if( 
g_Statusentity ] != E_STATUS_LOGGED )
            
Show_Menu__Registerentity );
        
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
msgMotdiddestentity ) return PLUGIN_HANDLED;

public 
Hide_Weapon()
    
set_msg_arg_int(1ARG_BYTEget_msg_arg_int(1) | HIDE_RM);

public 
cm__JoinTeamid ) {
    if( 
g_Statusid ] == E_STATUS_LOGGED ) return PLUGIN_CONTINUE;
    
    
Show_Menu__Registerid );
    return 
PLUGIN_HANDLED;
}

public 
clcmd_LockedCommandid ) return PLUGIN_HANDLED;

public 
event_Death( )
{
    new 
iAttacker read_data);
    new 
iVictim read_data);
    new 
iHs read_data);
    
    if( 
iAttacker == iVictim || !is_user_connectediAttacker ) || !is_user_connectediVictim ) ) return;
    
    if( 
is_user_adminiAttacker ) )
    {
        if( 
iHs )
        {
            
g_ExpiAttacker ] += get_pcvar_numcvarExpAdminHs );
            
cciAttacker"%s Ganaste %d exp por matar de HeadShot siendo admin."szConstPluginP_PREFIX ], get_pcvar_numcvarExpAdminHs ) );
        }
        else
        {
            
g_ExpiAttacker ] += get_pcvar_numcvarExpAdmin );
            
cciAttacker"%s Ganaste %d exp por matar siendo admin."szConstPluginP_PREFIX ], get_pcvar_numcvarExpAdmin ) );
        }
    }
    else
    {
        if( 
iHs )
        {
            
g_ExpiAttacker ] += get_pcvar_numcvarExpUsersHs );
            
cciAttacker"%s Ganaste %d exp por matar de HeadShot."szConstPluginP_PREFIX ], get_pcvar_numcvarExpUsersHs ) );
        }
        else
        {
            
g_ExpiAttacker ] += get_pcvar_numcvarExpUsers );
            
cciAttacker"%s Ganaste %d exp por matar."szConstPluginP_PREFIX ], get_pcvar_numcvarExpUsers ) );
        }
    }
    
    
updateLeveliAttacker );
}
public 
e_ResetHud(id)
{
    
message_begin(MSG_ONEg_HideWeapon_id);
    
write_byte(HIDE_RM);
    
message_end();
    
    
message_begin(MSG_ONEg_Crosshair_id);
    
write_byte(0);
    
message_end();
}

public 
ham_PlayerTakeDamage( const iVictim, const iInflictor, const iAttackerFloat:fDamage, const iDamageBits )
{        
    if( 
iVictim == iAttacker || !is_user_connectediAttacker ))
        return 
HAM_IGNORED;
    
    static 
idWeaponidWeapon get_user_weapon(iAttacker);    // reparado :v
    
static level1level1 SetItemsiAttackeridWeapon); static level2level2 SetItemsiAttackeridWeapon);
    if( 
idWeapon == szConstWeaponsPrimarylevel1 ][ W_CSW ] ) fDamage *= szConstWeaponsPrimarylevel1 ][ W_DAMAGE ];
    else if( 
idWeapon == szConstWeaponsSecondarylevel2 ][ W_CSW ] ) fDamage *= szConstWeaponsSecondarylevel2 ][ W_DAMAGE ];
    
    
SetHamParamFloat4fDamage );
    return 
HAM_IGNORED;
}

public 
ham_ItemDeployiEnt )
{
    static 
iOwner;
    
iOwner getWeaponEntIdiEnt );
    
    if( !
pev_validiOwner ) )
        return;
    
    static 
iWeaponIndex;
    
iWeaponIndex cs_get_weapon_idiEnt ); // reparado :v
    
static level1level1 SetItemsiOwneriWeaponIndex); static level2level2 SetItemsiOwneriWeaponIndex);
    if( !
equalszConstWeaponsPrimarylevel1 ][ W_VMODEL ], "default" ) )
        if( 
iWeaponIndex == szConstWeaponsPrimarylevel1 ][ W_CSW ] ) set_pev(iOwnerpev_viewmodel2szConstWeaponsPrimarylevel1 ][ W_VMODEL ]);
        
    if( !
equalszConstWeaponsSecondarylevel2 ][ W_VMODEL ], "default" ) )
        if( 
iWeaponIndex == szConstWeaponsSecondarylevel2 ][ W_CSW ] ) set_pev(iOwnerpev_viewmodel2szConstWeaponsSecondarylevel2 ][ W_VMODEL ]);
}

public 
client_PreThinkid )
{
    
entity_set_floatidEV_FL_fuser20.0 );
    
    if( 
entity_get_intidEV_INT_button ) & )
    {
        new 
flags entity_get_intidEV_INT_flags );
        
        if( 
flags FL_WATERJUMP ) return PLUGIN_CONTINUE;
        if( 
entity_get_intidEV_INT_waterlevel ) >= ) return PLUGIN_CONTINUE;
        if( !( 
flags FL_ONGROUND ) ) return PLUGIN_CONTINUE;
        
        new 
Float:velocity];
        
entity_get_vectoridEV_VEC_velocityvelocity );
        
velocity] += 250.0;
        
entity_set_vectoridEV_VEC_velocityvelocity );
        
        
entity_set_intidEV_INT_gaitsequence);
    }
    
    return 
PLUGIN_CONTINUE;
}

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

public fw__ClientInfoChangedidbuffer )  {
    if( !
is_user_connectedid ) )
        return 
FMRES_IGNORED;
    
    new 
name32 ];
    new 
newname32 ];
    
    
get_user_nameidname31 );
    
engfuncEngFunc_InfoKeyValuebuffer"name"newname31 );
    
    if( !
equalnamenewname ) ) {
        
engfuncEngFunc_SetClientKeyValueidbuffer,"name"name );
        
client_cmdid,"name ^"%s^"",name )
    }
    
    return 
FMRES_IGNORED;
}

public 
Show_Menu__Registerid ) {
    new 
ftex200 ];
    
formatexftexcharsmaxftex ), "\r[ SURF MOD ]\y Sistema de Cuentas^n^n\r-\w Nombre:\y %s^n\r-\w Estado:\y %s^n\r-\w Cuentas registradas:\y %d",
    
g_PlayerNameid ], ( g_Statusid ] == E_STATUS_REGISTERED ) ? "Registrado" "No registrado"g_Cuentas );
    new 
menu menu_createftex"Hand_Menu__Register" );
    
    if( 
g_Statusid ] == E_STATUS_REGISTERED menu_additemmenu"\dRegistrarme""1" );
    else 
menu_additemmenu"\wRegistrarme""1" );
    
    if( 
g_Statusid ] == E_STATUS_REGISTERED menu_additemmenu"\wIdentificarme""2" );
    else 
menu_additemmenu"\dIdentificarme""2" );
    
    
menu_setpropmenuMPROP_EXITMEXIT_NEVER );
    
menu_displayidmenu);
}
public 
Hand_Menu__Registeridmenuitem ) {
    switch( 
item ) {
        case 
0: {
            if( 
g_Statusid ] == E_STATUS_REGISTERED ) {
                
ccid"%s Ya estas registrado, identificate."szConstPluginP_PREFIX ] );
                
Show_Menu__Registerid );
            } else
                
client_cmdid"messagemode ^"CREAR_PASSWORD^"" );
        }
        case 
1: {
            if( 
g_Statusid ] == E_STATUS_REGISTERED )
                
client_cmdid"messagemode ^"IDENTIFICAR_PASSWORD^"" );
            else {
                
ccid"%s No estas registrado, por favor registrate."szConstPluginP_PREFIX ] );
                
Show_Menu__Registerid );
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
cm__CreatePwid ) {
    if( 
g_Statusid ] == E_STATUS_LOGGED || g_Statusid ] == E_STATUS_REGISTERED ) return;
    
    
read_argsg_Passwordid ], charsmaxg_Password[ ] ) );
    
remove_quotesg_Passwordid ] );
    
trimg_Passwordid ] );
    
    if( 
strleng_Passwordid ] ) < && strleng_Passwordid ] ) > 21 ) {
        
ccid"%s La contrasenia debe contener mas de^4 5 caracteres^1 y menos de^4 21 caracteres^1."szConstPluginP_PREFIX ] );
        return;
    }
    
    
client_cmdid"messagemode ^"CONFIRMAR_PASSWORD^"" );
}
public 
cm__ConfirmPwid ) {
    if( 
g_Statusid ] == E_STATUS_LOGGED ) return;
    
    static 
iPw21 ];
    
read_argsiPwcharsmaxiPw ) );
    
remove_quotesiPw );
    
trimiPw );
    
    if( !
equaliiPwg_Passwordid ] ) ) {
        
ccid"%s La contrasena no coincide con la anterior."szConstPluginP_PREFIX ] );
        return;
    }
    
    
remove_taskid+500 );
    
sc_queryidE_DATA_REGISTER"INSERT INTO ^"%s^" (Name, Password) VALUES (^"%s^", ^"%s^")"g_szDataBases], g_PlayerNameid ], g_Passwordid ] );
}
public 
cm__LogPwid ) {
    if( 
g_Statusid ] == E_STATUS_LOGGED || g_Statusid ] != E_STATUS_REGISTERED ) return;
    
    
read_argsg_Passwordid ], charsmaxg_Password[ ] ) );
    
remove_quotesg_Passwordid ] );
    
trimg_Passwordid ] );
    
    
remove_taskid+500 );
    
sc_queryidE_DATA_ENTERED"SELECT Password FROM ^"%s^" WHERE Name = ^"%s^""g_szDataBases], g_PlayerNameid ] );
}

public 
Manage__Dataidtype ) {
    if( 
g_Statusid ] != E_STATUS_LOGGED ) return;
    
    if( 
type == )
        
sc_queryidE_DATA_SAVE"UPDATE ^"%s^" SET Nivel='%d',Expe='%d' WHERE Name=^"%s^""g_szDataBases], g_Levelid ], g_Expid ], g_PlayerNameid ] );
    
    if( 
type == )
        
sc_queryidE_DATA_LOAD"SELECT * FROM '%s' WHERE Name=^"%s^""g_szDataBases], g_PlayerNameid ] );
}
        
public 
Save__Accounts( ) {
    static 
iQuery256 ];
    
formatexiQuerycharsmaxiQuery ), "UPDATE ^"%s^" SET Cuentas='%d'"g_szDataBases], g_Cuentas );
    
SQL_ThreadQueryg_hTuple"SQL_IgnoreAccounts"iQuery );
}
        
public 
SQL_DataHandledfailstateHandle:queryerror[], szerrordata[], szdataFloat:time ) {
    static 
idid data];
    
    if( 
failstate == TQUERY_QUERY_FAILED || failstate == TQUERY_CONNECT_FAILED log_to_file"SQL_Error.txt""Error: %i - %s"szerrorerror );
    
    switch( 
data] ) {
        case 
E_DATA_REGISTER: {
            if( 
failstate TQUERY_SUCCESS ccid"%s Ocurrio un error al registrarte!"szConstPluginP_PREFIX ] );
            else {
                
g_Statusid ] = E_STATUS_LOGGED;
                
Manage__Dataid);
                
g_Cuentas++;
                
g_Levelid ] = 0;
                
g_Exp[id] = 0;
                
                
ccid"%s Bienvenido^4 %s^1. Eres la cuenta registrada numero^4 #%d^1."szConstPluginP_PREFIX ], g_PlayerNameid ], g_Cuentas );
                
Save__Accounts( );
            }
        }
        case 
E_DATA_ENTERED: {
            if( 
SQL_NumResultsquery ) ) {
                static 
iPw21 ];
                
SQL_ReadResultquery0iPwcharsmaxiPw ) );
                
                if( 
equaliiPwg_Passwordid ] ) ) {
                    
g_Statusid ] = E_STATUS_LOGGED;
                    
cc0"%s^4 %s^1 ha ingresado."szConstPluginP_PREFIX ], g_PlayerNameid ] );
                    
Manage__Dataid);
                } else {
                    
ccid"%s La contrasenia que introduciste es incorrecta."szConstPluginP_PREFIX ] );
                }
            }
        }
        case 
E_DATA_SAVE: {
            if( 
failstate TQUERY_SUCCESS )
                
ccid"%s Ocurrio un error al guardar tus datos."szConstPluginP_PREFIX ] );
        }
        case 
E_DATA_LOAD: {
            if( 
SQL_NumResultsquery ) ) {
                
g_Levelid ] = SQL_ReadResultquery);
                
g_Expid ] = SQL_ReadResultquery);

                
engclient_cmdid"jointeam""5" );
                
engclient_cmdid"joinclass""5" );
            } else
                
ccid"%s Ocurrio un error al cargar tus datos."szConstPluginP_PREFIX ] );
        }
    }
}

public 
MySqlx( ) {
    static 
/*get_type[ 12 ], table[ 6805 ], len,*/ errorerrorcode128 ];
    
    
/*SQL_SetAffinity( "sqlite" );
    SQL_GetAffinity( get_type, charsmax( get_type ) );*/

    
g_hTuple SQL_MakeDbTupleMYSQL_HOSTMYSQL_USERMYSQL_PASSg_szNameDb );
    
g_hConnection SQL_Connectg_hTupleerrorerrorcodecharsmaxerrorcode ) );
    
    if( !
g_hTuple ) {
        
log_to_file"SQL_Connection.txt""Error en la conexion" );
        return 
pause"a" );
    }
    
    
/*len = 0;
    len += formatex( table[ len ], charsmax( table ) - len, "CREATE TABLE IF NOT EXISTS '%s'", g_szDataBases[ 0 ] );
    len += formatex( table[ len ], charsmax( table ) - len, "( Name varchar(32) NOT NULL UNIQUE PRIMARY KEY," );
    len += formatex( table[ len ], charsmax( table ) - len, "Password varchar(33) NOT NULL," );
    len += formatex( table[ len ], charsmax( table ) - len, "Nivel int NOT NULL DEFAULT '0' ," );
    len += formatex( table[ len ], charsmax( table ) - len, "Expe int NOT NULL DEFAULT '0' )" );
    SQL_ThreadQuery( g_hTuple, "SQL_CreateTable", table );
    
    len = 0;
    len += formatex( table[ len ], charsmax( table ) - len, "CREATE TABLE IF NOT EXISTS '%s'", g_szDataBases[ 1 ] );
    len += formatex( table[ len ], charsmax( table ) - len, "( Cuentas int NOT NULL DEFAULT '0' )" );
    SQL_ThreadQuery( g_hTuple, "SQL_CreateTable", table );*/
    
    
if( g_hConnection != Empty_Handle ) {
        new 
Handle:szquery;
        
szquery SQL_PrepareQueryg_hConnection"SELECT * FROM '%s'"g_szDataBases] );
        
        
SQL_Executeszquery );
        
        if( 
SQL_NumResultsszquery ) && SQL_Executeszquery ) )
            
g_Cuentas SQL_ReadResultszquery);
        else {
            static 
query256 ];
            
formatexquerycharsmaxquery ), "INSERT INTO '%s' (Cuentas) VALUES ('0')"g_szDataBases] );
            
SQL_ThreadQueryg_hTuple"SQL_IgnoreAccounts"query );
        }
        
SQL_FreeHandleszquery );
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
SQL_CreateTablefailstateHandle:queryerror[], szerrordata[], szdataFloat:time ) {
    switch( 
failstate ) {
        case 
TQUERY_CONNECT_FAILEDlog_to_file"SQL_TConnection.txt""Error: %i - %s"szerrorerror );
        case 
TQUERY_QUERY_FAILEDlog_to_file"SQL_TQuery.txt""Error: %i - %s"szerrorerror );
    }
}

public 
SQL_IgnoreAccountsfailstateHandle:queryerror[], szerrordata[], szdataFloat:time ) {
    
SQL_FreeHandlequery );
    return 
PLUGIN_HANDLED;
}

public 
plugin_end( ) {
    if( 
g_hTuple ) {
        
Save__Accounts( );
        
SQL_FreeHandleg_hTuple );
    }
}

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

public taskHudtaskid )
{
    static 
idid ID_SHOWHUD;
    
    if( !
is_user_aliveid ) )
    {
        
id pevidPEV_SPEC_TARGET );
        
        if( !
is_user_aliveid ) ) return;
    }
    
    new 
iHealthiLeveliExp;
    
iHealth get_user_healthid );
    
iLevel g_Levelid ];
    
iExp g_Expid ];
    
    if( 
id != ID_SHOWHUD )
    {
        
set_hudmessageiRediGreeniBlueiPosXiPosY26.01.10.00.0 );
        
ShowSyncHudMsgID_SHOWHUDg_Hud"[ NOMBRE: %s ][ VIDA: %d / NIVEL: %d/%d ][ EXP: %d / EXP RESTANTE: %d ]",
        
g_PlayerNameid ], iHealthiLevelLevelMaxiExpNextLevelg_Levelid ] ));
    }
    else
    {
        
set_hudmessageiRediGreeniBlueiPosXiPosY26.01.10.00.0 );
        
ShowSyncHudMsgID_SHOWHUDg_Hud"[ VIDA: %d / NIVEL: %d/%d ][ EXP: %d / EXP RESTANTE: %d ]",
        
get_user_healthID_SHOWHUD ), g_LevelID_SHOWHUD ], LevelMaxg_ExpID_SHOWHUD ], NextLevelg_LevelID_SHOWHUD ] ));
    }
}

public 
updateLevelid )
{
    static 
levellevel g_Levelid ]; // optimizado :v
    
    
while( g_Expid ] >= NextLevelg_Levelid ] ) && g_Levelid ] < LevelMax ) ++g_Levelid ];
        
    if( 
g_Levelid ] > levelccid"%s Felicitaciones, subiste al nivel: %d."szConstPluginP_PREFIX ], g_Levelid ] );
    
}
stock SetItemsidweapontipo // by hypno :v
{
    static var, 
i; var = 0;
    if(
tipo == 1){
        for(
0i  sizeof(szConstWeaponsPrimary); ++i)
            if(
weapon == szConstWeaponsPrimary[i][W_CSW] && g_Levelid ] >= szConstWeaponsPrimary[i][W_LEVEL] ) var = i;
    }
    if(
tipo == 2){
        for(
0i  sizeof(szConstWeaponsSecondary); ++i)
            if(
weapon == szConstWeaponsSecondary[i][W_CSW] && g_Levelid ] >= szConstWeaponsSecondary[i][W_LEVEL] ) var = i;
    }
    return var;
}

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

stock getWeaponEntId(const ent)
{
    if( 
pev_valident ) != PDATA_SAFE )
        return -
1;
    
    return 
get_pdata_cbaseentOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS );
}
stock cc(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayTextmsgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);
    
    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!team""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();
}

public 
sc_queryidstatus, const buffer[ ], any:... ) {
    new 
query1024 ], data];
    
    
data] = id;
    
data] = status;
    
    
vformatquerycharsmaxquery ), buffer);
    
SQL_ThreadQueryg_hTuple"SQL_DataHandled"querydata);


Código PHP:
/* ===================================================================================
                    
                    [ Surf Mod + Level v1.0.0 ]

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

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

new const __PLUGIN[ ][ ] = { "Surf Mod""v1.0.0""Sky" };
new const 
__PREFIXSAY[ ] = "^3[ SURFMOD ]^1";
new const 
__PREFIXMEN[ ] = "\d[\y SURFMOD\d ]\w";

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

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

#define NextLevel(%1) (%1 * 55 + 20)
#define LevelMax 800
#define ID_SHOWHUD (taskid - TASK_SHOWHUD)
#define TASK_SHOWHUD 16367
#define RANDOMR random_num( 0, 255 )
#define RANDOMG random_num( 0, 255 )
#define RANDOMB random_num( 0, 255 )

const TASK_RESPAWN 49384
const PEV_SPEC_TARGET pev_iuser2;
const 
PRIMARY_WEAPONS_BIT_SUM = (<< CSW_SCOUT)|(<< CSW_XM1014)|(<< CSW_MAC10)|(<< CSW_AUG)|(<< CSW_UMP45)|(<< CSW_SG550)|(<< CSW_GALIL)|(<< CSW_FAMAS)|
(
<< CSW_AWP)|(<< CSW_MP5NAVY)|(<< CSW_M249)|(<< CSW_M3)|(<< CSW_M4A1)|(<< CSW_TMP)|(<< CSW_G3SG1)|(<< CSW_SG552)|(<< CSW_AK47)|(<< CSW_P90);

const 
SECONDARY_WEAPONS_BIT_SUM = (<< CSW_P228)|(<< CSW_ELITE)|(<< CSW_FIVESEVEN)|(<< CSW_USP)|(<< CSW_GLOCK18)|(<< CSW_DEAGLE);
const 
PDATA_SAFE 2;
const 
OFFSET_WEAPONOWNER 41;
const 
OFFSET_LINUX_WEAPONS 4;
const 
HIDE_RM = (1<<3);

enum _:WEAPONSENUM
{
    
NAMEWPN30 ],
    
WEAPON_30 ],
    
CSW_,
    
V_MODEL50 ],
    
BPAMMO,
    
LEVELWPN,
    
Float:DAMAGEWPN,
    
Float:SPEEDWPN,
    
DESCRIPTION50 ]
};

new const 
WEAPONPRIM[ ][ WEAPONSENUM ] = 
{
    { 
"Schmidt TMP""weapon_tmp"CSW_TMP"default"99900.00.07"Sin descripcion" },
    { 
"UMP 45""weapon_ump45"CSW_UMP45"default"99910.00.10"Sin descripcion" },
    { 
"MP5 Navy""weapon_mp5navy"CSW_MP5NAVY"default"99920.00.07"Sin descripcion" },
    { 
"ES P90""weapon_p90"CSW_P90"default"99930.00.06"Sin descripcion" },
    { 
"IMI Galil""weapon_galil"CSW_GALIL"default"99940.00.08"Sin descripcion" },
    { 
"Famas""weapon_famas"CSW_FAMAS"default"99950.00.08"Sin descripcion" },
    { 
"SG-552 Commando""weapon_sg552"CSW_SG552"default"99960.00.08"Sin descripcion" },
    { 
"M4A1 Carbine""weapon_m4a1"CSW_M4A1"default"99970.00.08"Sin descripcion" },
    { 
"AK-47 Kalashnikov""weapon_ak47"CSW_AK47"default"99980.00.09"Sin descripcion" }
};

new const 
WEAPONSEC[ ][ WEAPONSENUM ] =
{
    { 
"USP .45 ACP Tactical""weapon_usp"CSW_USP"default"99900.00.14"Sin descripcion" },
    { 
"Glock 18C""weapon_glock18"CSW_GLOCK18"default"99910.00.15"Sin descripcion" },
    { 
"FiveseveN""weapon_fiveseven"CSW_FIVESEVEN"default"99920.00.15"Sin descripcion" },
    { 
"Dual Elite Berettas""weapon_elite"CSW_ELITE"default"99930.00.07"Sin descripcion" },
    { 
"Desert Eagle .50 AE""weapon_deagle"CSW_DEAGLE"default"99940.00.22"Sin descripcion" }
};

new const 
WEAPONS_ENT[ ][ ] = 

    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_p90" 
};

new const 
szLogName[ ] = "Surf_Logs.txt";

new 
sLevel33 ], sFrags33 ];
new 
sWeaponSelectedPrim33 ], sWeaponSelectedSec33 ];
new 
sWeaponId[33];
new 
sOption33 ], sMode33 ];
new 
sTarget33 ];
new 
sPoints33 ];
new 
sStatusIconsHideWeaponsCrosshair;

new 
cvarFragsUser,
    
cvarFragsAdmin,
    
cvarPointsUser,
    
cvarPointsAdmin,
    
cvarTimeRespawn;

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

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

public plugin_init( )
{
    
register_plugin__PLUGIN], __PLUGIN], __PLUGIN] );

    
register_event"DeathMsg""event_Death""a" );
    
register_event"ResetHUD""event_ResetHud""b" );

    
RegisterHamHam_Killed"player""ham_PlayerKilled_Post"true );
    
RegisterHamHam_Spawn"player""ham_Spawn"true );
    
RegisterHamHam_TakeDamage"player""ham_PlayerTakeDamage" );
    new 
i;
    for( 
0sizeofWEAPONS_ENT ); ++)
    {
        if( 
WEAPONS_ENT][ ] ) RegisterHamHam_Item_DeployWEAPONS_ENT], "ham_ItemDeploy");
        if( 
WEAPONS_ENT][ ] ) RegisterHamHam_Weapon_PrimaryAttackWEAPONS_ENT], "ham_PrimaryAttack");
    }
        
    
register_clcmd"nightvision""open_Menu" );    
    
register_clcmd"drop""clcmd_LockedCommand" );
    
register_clcmd"CANTIDAD""clcmd_Cantidad" );
    
    
sStatusIcon get_user_msgid"StatusIcon" );
    
sHideWeapon get_user_msgid"HideWeapon" );
    
sCrosshair get_user_msgid"Crosshair" );
    
    
register_messagesStatusIcon"message_BlockBuyZone" );
    
register_messagesHideWeapon"message_HideWeapon" );

    
cvarFragsUser register_cvar"sf_fragsuser""5" );
    
cvarFragsAdmin register_cvar"sf_fragsadmin""10" );
    
cvarPointsUser register_cvar"sf_pointsuser""5" );
    
cvarPointsAdmin register_cvar"sf_pointsadmin""10" );
    
cvarTimeRespawn register_cvar"sf_timerespawn""3.0" );
}

public 
plugin_precache( )
{
    new 
b;
    
    for( 
0sizeofWEAPONPRIM ); b++ )
    {
        if( !
equalWEAPONPRIM][ V_MODEL ], "default" ) )
            
precache_modelWEAPONPRIM][ V_MODEL ] );
    }
    for( 
0sizeofWEAPONSEC ); b++ )
    {
        if( !
equalWEAPONSEC][ V_MODEL ], "default" ) )
            
precache_modelWEAPONSEC][ V_MODEL ] );
    }
}

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

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

public client_putinserverid )
{
    
set_task0.5"OpenShowHud"id+TASK_SHOWHUD__"b" );

    
sLevelid ] = 0;
    
sFragsid ] = 0;
    
sPointsid ] = 0;
}

public 
client_disconnectedid )
{
    
remove_taskid+TASK_SHOWHUD );
    
remove_taskid+TASK_RESPAWN );
}

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

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

public event_Death( )
{
    new 
iAttacker read_data);
    new 
iVictim read_data);
    new 
iAdmin is_user_adminiAttacker );
    new 
iCvarFP];
    
iCvarFP] = get_pcvar_numcvarFragsAdmin ); iCvarFP] = get_pcvar_numcvarFragsUser );
    
iCvarFP] = get_pcvar_numcvarPointsAdmin ); iCvarFP] = get_pcvar_numcvarPointsUser );

    if( 
iAttacker == iVictim || !is_user_connectediAttacker ) || !is_user_connectediVictim ) ) return;

    
sFragsiAttacker ] += iAdmin iCvarFP] : iCvarFP];
    
sPointsiAttacker ] += iAdmin iCvarFP] : iCvarFP];
    
cciAttacker"%s Ganaste^4 %d^1 frag(s) y^4 %d^1 punto(s) por matar a un enemigo%s."__PREFIXSAYiAdmin iCvarFP] : iCvarFP], iAdmin iCvarFP] : iCvarFP], iAdmin " siendo admin" "" );

    
UpdateLeveliAttacker );
}

public 
event_ResetHud(id)
{
    
message_beginMSG_ONEsHideWeapon_id );
    
write_byteHIDE_RM );
    
message_end( );
    
    
message_beginMSG_ONEsCrosshair_id );
    
write_byte);
    
message_end( );
}

public 
ham_PlayerKilled_Postvictimattacker )
{
    if( 
victim == attacker || !is_user_connectedattacker ) )
        return;
    
    
set_dhudmessageRANDOMRRANDOMGRANDOMB0.290.4916.01.10.300.30 );
    
show_dhudmessagevictim"Reviviras en %d segundo(s)."get_pcvar_numcvarTimeRespawn ) );
    
set_taskget_pcvar_floatcvarTimeRespawn ), "activeRespawn"victim+TASK_RESPAWN );
}

public 
ham_Spawnid )
{
    if( !
is_user_aliveid ) ) return;
    
    
set_task0.5"GiveWeapons"id );
}

public 
ham_PlayerTakeDamage( const iVictim, const iInflictor, const iAttackerFloat:fDamage, const iDamageBits )
{        
    if( 
iVictim == iAttacker || !is_user_connectediAttacker ))
        return 
HAM_IGNORED;

    static 
idWeaponidWeapon get_user_weapon(iAttacker);    
    
    if( 
idWeapon == WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ CSW_ ] )
    {
        if( 
WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ DAMAGEWPN ] )
            
fDamage *= WEAPONPRIMsWeaponSelectedPrimiAttacker ] ][ DAMAGEWPN ];
    }    
    else if( 
idWeapon == WEAPONSECsWeaponSelectedSeciAttacker ] ][ CSW_ ] )
    {
        if( 
WEAPONSECsWeaponSelectedSeciAttacker ] ][ DAMAGEWPN ] )
            
fDamage *= WEAPONSECsWeaponSelectedSeciAttacker ] ][ DAMAGEWPN ];
    }

    
SetHamParamFloat4fDamage );
    return 
HAM_IGNORED;
}

public 
GiveWeaponsid )
{
    if( !
is_user_aliveid ) ) return;

    
strip_user_weaponsid );
    
give_itemid"weapon_knife" );

    new 
wpn = -1;
    new 
wpntwo = -1;

    for( new 
0sizeofWEAPONPRIM ); b++ )
    {
        if( 
sLevelid ] >= WEAPONPRIM][ LEVELWPN ] )
            
wpn b;
    }
    
    for( new 
sc 0sc sizeofWEAPONSEC ); sc++ )
    {
        if( 
sLevelid ] >= WEAPONSECsc ][ LEVELWPN ] )
            
wpntwo sc;
    }

    
sWeaponSelectedPrimid ] = wpn;
    
sWeaponSelectedSecid ] = wpntwo;

    
give_itemidWEAPONPRIMwpn ][ WEAPON_ ] );
    
cs_set_user_bpammoidWEAPONPRIMwpn ][ CSW_ ], WEAPONPRIMwpn ][ BPAMMO ] );
    
    
give_itemidWEAPONSECwpntwo ][ WEAPON_ ] );
    
cs_set_user_bpammoidWEAPONSECwpntwo ][ CSW_ ], WEAPONSECwpntwo ][ BPAMMO ] );
}

public 
ham_ItemDeployiEnt )
{
    static 
iOwner;
    
iOwner getWeaponEntIdiEnt );

    if( !
pev_validiOwner ) )
        return;

    static 
iWeaponIndex;
    
iWeaponIndex cs_get_weapon_idiEnt );

    
sWeaponIdiOwner ] = iWeaponIndex;
    
SetPlayerWeaponSkiniOwneriWeaponIndex );
}

public 
ham_PrimaryAttackweapon )
{
    new 
id get_pdata_cbaseweapon41);
    
    if( !
is_user_aliveid ) ) return HAM_IGNORED;
    
    if( 
WEAPONPRIMsWeaponSelectedPrimid ] ][ CSW_ ] )
    {
        static 
Float:flRatePrim;
        
flRatePrim WEAPONPRIMsWeaponSelectedPrimid ] ][ SPEEDWPN ];
        
        
set_pdata_floatweapon46flRatePrim);
        
set_pdata_floatweapon47flRatePrim);
        
set_pdata_floatweapon48flRatePrim);
    }
    else if( 
WEAPONSECsWeaponSelectedSecid ] ][ CSW_ ] )
    {
        static 
Float:flRateSec;
        
flRateSec WEAPONSECsWeaponSelectedSecid ] ][ SPEEDWPN ];
        
        
set_pdata_floatweapon46flRateSec);
        
set_pdata_floatweapon47flRateSec);
        
set_pdata_floatweapon48flRateSec);
    }
    
    return 
HAM_IGNORED;
}

public 
message_BlockBuyZonemsgidmsgdestid )
{
    static 
szIcon];
    
get_msg_arg_string2szIcon);
    
    if( 
equalszIcon"buyzone" ) && get_msg_arg_int) )
    {
        
set_pdata_intid235get_pdata_intid235 ) & ~( 1<<) );
        return 
PLUGIN_HANDLED;
    } 
    return 
PLUGIN_CONTINUE;
}

public 
message_HideWeapon( ) set_msg_arg_int1ARG_BYTEget_msg_arg_int) | HIDE_RM ); 

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

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

public clcmd_LockedCommand( ) return PLUGIN_HANDLED;

public 
SetPlayerWeaponSkinidweaponid )
{
    if( ( 
<< weaponid ) & PRIMARY_WEAPONS_BIT_SUM )
    {
        if( !
equalWEAPONPRIMsWeaponSelectedPrimid ] ][ V_MODEL ], "default" ) )
            
entity_set_stringidEV_SZ_viewmodelWEAPONPRIMsWeaponSelectedPrimid ] ][ V_MODEL ] );
    }
    else if( ( 
<< weaponid ) & SECONDARY_WEAPONS_BIT_SUM )
    {
        if( !
equalWEAPONSECsWeaponSelectedSecid ] ][ V_MODEL ], "default" ) )
            
entity_set_stringidEV_SZ_viewmodelWEAPONSECsWeaponSelectedSecid ] ][ V_MODEL ] );
    }
}

public 
OpenShowHudtaskid )
{
    static 
idid ID_SHOWHUD;

    if( !
is_user_aliveid ) )
    {
        
id pevidPEV_SPEC_TARGET );

        if( !
is_user_aliveid ) ) return;
    }

    new 
iName32 ], iHealthiArmoriLeveliFrags;
    
get_user_nameidiNamecharsmaxiName ) );
    
iHealth get_user_healthid );
    
iArmor get_user_armorid );
    
iLevel sLevelid ];
    
iFrags sFragsid ];

    if( 
id != ID_SHOWHUD )
    {
        
set_dhudmessageRANDOMRRANDOMGRANDOMB0.0250.2116.01.10.00.0 );
        
show_dhudmessageID_SHOWHUD"Especteando a %s^nVida: %d^nArmadura: %d^nNivel: %d/%d^nFrags: %d^n"iNameiHealthiArmoriLevelLevelMaxiFrags );
    }
    else 
    {
        
set_dhudmessageRANDOMRRANDOMGRANDOMB0.0250.2116.01.10.00.0 );
        
show_dhudmessageID_SHOWHUD"Vida: %d^nArmadura: %d^nNivel: %d/%d^nFrags: %d/%d^nPuntos: %d"get_user_healthID_SHOWHUD ), get_user_armorID_SHOWHUD ),
        
sLevelID_SHOWHUD ], LevelMaxsFragsID_SHOWHUD ], NextLevelsLevelID_SHOWHUD ] ), sPointsID_SHOWHUD ] );
    }


public 
UpdateLevelid )
{
    new 
iUploaded false;
    new 
iLow false;

    while( 
sFragsid ] >= NextLevelsLevelid ] ) && sLevelid ] < LevelMax )
    {
        
sLevelid ]++;
        
sFragsid ] -= NextLevelsLevelid ] );
        
iUploaded true;
    }
    
    while( 
sFragsid ] < && sLevelid ] > )
    {
        
sLevelid ]--;
        
sFragsid ] += NextLevelsLevelid ] );
        
iLow true;
    }

    if( 
iUploaded )
    {
        
ccid"%s Felicitaciones! - Subiste al^4 nivel: %d^1."__PREFIXSAYsLevelid ] );
        
iUploaded false;
        
GiveWeaponsid )
    }
    
    if( 
iLow )
    {
        
ccid"%s Bajaste al^4 nivel: %d^1."__PREFIXSAYsLevelid ] );
        
iLow false;
        
GiveWeaponsid );
    }
    
    if( 
sFragsid ] <= sFragsid ] = 0;
}    

public 
activeRespawnid )
{
    
id -= TASK_RESPAWN;
    
    if( 
CS_TEAM_T <= cs_get_user_teamid ) <= CS_TEAM_CT )
        
ExecuteHamBHam_CS_RoundRespawnid );
}

public 
open_Menuid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s Menu principal"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_MenuPrincipal" );
    
    if( 
get_user_flagsid ) & ADMIN_RCON )
    {
        
menu_additemiMenu"\wInformacion de Armas Primarias""1" );
        
menu_additemiMenu"\wInformacion de Armas Secundarias^n""2" );
        
menu_additemiMenu"\wTienda""3" );
        
menu_additemiMenu"\wMenu de Dueños""4" );
    
        
menu_setpropiMenuMPROP_EXITNAME"Salir" );
        
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
        
menu_setpropiMenuMPROP_BACKNAME"Atras" );
        
menu_displayidiMenu);
    }
    else
    {
        
menu_additemiMenu"\wInformacion de Armas Primarias""1" );
        
menu_additemiMenu"\wInformacion de Armas Secundarias^n""2" );
        
menu_additemiMenu"\wTienda""3" );
    
        
menu_setpropiMenuMPROP_EXITNAME"Salir" );
        
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
        
menu_setpropiMenuMPROP_BACKNAME"Atras" );
        
menu_displayidiMenu);
    }
}
public 
hand_MenuPrincipalidmenuitem )
{
    if( 
get_user_flagsid ) & ADMIN_RCON )
    {
        switch( 
item )
        {
            case 
0open_InfWeaponsPrimid );
            case 
1open_InfWeaponsSecid );
            case 
2ccid"%s Proximamente."__PREFIXSAY );
            case 
3open_MenuOwnersid );
            case 
MENU_EXIT:
            {
                
menu_destroymenu );
                return 
PLUGIN_HANDLED;
            }
        }
    }
    else
    {
        switch( 
item )
        {
            case 
0open_InfWeaponsPrimid );
            case 
1open_InfWeaponsSecid );
            case 
2ccid"%s Proximamente."__PREFIXSAY );
            case 
MENU_EXIT:
            {
                
menu_destroymenu );
                return 
PLUGIN_HANDLED;
            }
        }
    }
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
open_InfWeaponsPrimid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s Informacion de Armas Primarias"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_InfWeaponsPrim" );
    
    for( new 
0sizeofWEAPONPRIM ); i++ )
    {
        
formatexiFormatexcharsmaxiFormatex ), "\w%s"WEAPONPRIM][ NAMEWPN ] );
        
menu_additemiMenuiFormatex );
    }
    
    
menu_setpropiMenuMPROP_EXITNAME"Salir" );
    
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
    
menu_setpropiMenuMPROP_BACKNAME"Atras" );
    
menu_displayidiMenu);
}
public 
hand_InfWeaponsPrimidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    
ccid"%s Nombre:^4 %s^1 || Nivel:^4 %d^1 || Descripcion:^4 %s^1."__PREFIXSAYWEAPONPRIMitem ][ NAMEWPN ], WEAPONPRIMitem ][ LEVELWPN ], WEAPONPRIMitem ][ DESCRIPTION ] );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
open_InfWeaponsSecid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s Informacion de Armas Secundarias"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_InfWeaponsSec" );
    
    for( new 
0sizeofWEAPONSEC ); i++ )
    {
        
formatexiFormatexcharsmaxiFormatex ), "\w%s"WEAPONSEC][ NAMEWPN ] );
        
menu_additemiMenuiFormatex );
    }
    
    
menu_setpropiMenuMPROP_EXITNAME"Salir" );
    
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
    
menu_setpropiMenuMPROP_BACKNAME"Atras" );
    
menu_displayidiMenu);
}
public 
hand_InfWeaponsSecidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    
ccid"%s Nombre:^4 %s^1 || Nivel:^4 %d^1 || Descripcion:^4 %s^1."__PREFIXSAYWEAPONSECitem ][ NAMEWPN ], WEAPONSECitem ][ LEVELWPN ], WEAPONSECitem ][ DESCRIPTION ] );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}
    
public 
open_MenuOwnersid )
{
    static 
iFormatex999 ];
    
    
formatexiFormatexcharsmaxiFormatex ), "%s Menu de Dueños"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_MenuOwners" );
    
    
menu_additemiMenusOptionid ] ? "\wDar Frags" "\wQuitar Frags" );
    
menu_additemiMenusOptionid ] ? "\wDar Niveles^n" "\wQuitar Niveles^n" );
    
    
menu_additemiMenusOptionid ] ? "\wQuitar" "\wAgregar" );
    
    
menu_setpropiMenuMPROP_EXITNAME"Salir" );
    
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
    
menu_setpropiMenuMPROP_BACKNAME"Atras" );
    
menu_displayidiMenu);
}
public 
hand_MenuOwnersidmenuitem )
{
    switch( 
item )
    {
        case 
0..1sModeid ] = item;
        case 
2:
        {
            
sOptionid ] =! sOptionid ];
            
open_MenuOwnersid );
            return 
PLUGIN_HANDLED;
        }
        case 
MENU_EXIT:
        {
            
menu_destroymenu );
            return 
PLUGIN_HANDLED;
        }
    }
    
    
open_PlayersAdmMenuid );
    return 
PLUGIN_HANDLED;
}
    
public 
open_PlayersAdmMenuid )
{
    static 
iFormatex999 ];
    new 
szData10 ], szName32 ], szPlayers32 ], iNum;
    
    
formatexiFormatexcharsmaxiFormatex ), "%s Menu de Players"__PREFIXMEN );
    new 
iMenu menu_createiFormatex"hand_PlayersAdmMenu" );
    
    
get_playersszPlayersiNum );
    
    for( new 
0iNumi++ )
    {
        
get_user_nameszPlayers], szNamecharsmaxszName ) );
        
num_to_strszPlayers], szDatacharsmaxszData ) );
        
menu_additemiMenuszNameszData);
    }
    
    
menu_setpropiMenuMPROP_EXITNAME"Salir" );
    
menu_setpropiMenuMPROP_NEXTNAME"Siguiente" );
    
menu_setpropiMenuMPROP_BACKNAME"Atras" );
    
menu_displayidiMenu);
}
public 
hand_PlayersAdmMenuidmenuitem )
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
szData], szName64 ];
    new 
szAccesscallback;
    
menu_item_getinfomenuitemszAccessszDatacharsmaxszData ), szNamecharsmaxszName ), callback );
    
    
sTargetid ] = str_to_numszData );
    
    
console_cmdid"messagemode CANTIDAD" );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}

public 
clcmd_Cantidadid )
{
    new 
iCant32 ], szName32 ], iName32 ], szCantszSteamID32 ], szIP21 ], szCurrentMap21 ];
    
read_argv1iCantcharsmaxiCant ) );
    
get_user_namesTargetid ], iNamecharsmaxiName ) );
    
get_user_nameidszNamecharsmaxszName ) );
    
get_user_authididszSteamIDcharsmaxszSteamID ) );
    
get_user_ipidszIPcharsmaxszIP ), );
    
get_mapnameszCurrentMapcharsmaxszCurrentMap ) );
    
szCant str_to_numiCant );
    
    
replace_alliCantcharsmaxiCant ), "%""" );
    
replace_alliCantcharsmaxiCant ), "-""" );
    
    if( 
equaliCant"" ) || equaliCant" " ) ) return PLUGIN_HANDLED;
    
    switch( 
sModeid ] )
    {
        case 
0:
        {
            
log_to_fileszLogName"El dueño %s <^"%s^" | ^"%s^" > en el mapa <^"%s^">, %s %d frag%s a %s."szNameszSteamIDszIP,
            
szCurrentMapsOptionid ] ? "le dio" "le saco"szCantszCant == "" "s"iName );
            
ccid"%s Le %s^4 %d frag%s^1 a^4 %s^1."__PREFIXSAYsOptionid ] ? "diste" "sacaste"szCantszCant == "" "s"iName );
            
ccsTargetid ], "%s El dueño^4 %s^1 te %s^4 %d frag%s^1."__PREFIXSAYszNamesOptionid ] ? "dio" "saco"szCantszCant == "" "s" );
            if( 
sOptionid ] ) sFragssTargetid ] ] += szCant;
            else 
sFragssTargetid ] ] -= szCant;
            
            
UpdateLevelsTargetid ] );
        }
        case 
1:
        {
            
log_to_fileszLogName"El dueño %s <^"%s^" | ^"%s^" > en el mapa <^"%s^">, %s %d nivel%s a %s."szNameszSteamIDszIP,
            
szCurrentMapsOptionid ] ? "le dio" "le saco"szCantszCant == "" "es"iName );
            
ccid"%s Le %s^4 %d nivel%s^1 a^4 %s^1."__PREFIXSAYsOptionid ] ? "diste" "sacaste"szCantszCant == "" "es"iName );
            
ccsTargetid ], "%s El dueño^4 %s^1 te %s^4 %d nivel%s^1."__PREFIXSAYszNamesOptionid ] ? "dio" "saco"szCantszCant == "" "es" );
            if( 
sOptionid ] ) sLevelsTargetid ] ] += szCant;
            else 
sLevelsTargetid ] ] -= szCant;
            
            
GiveWeaponssTargetid ] );
        }
    }
    
    return 
PLUGIN_HANDLED;
}

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

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

stock cc(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!team""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();
}

stock getWeaponEntId(const ent)
{
    if( 
pev_valident ) != PDATA_SAFE )
        return -
1;
    
    return 
get_pdata_cbaseentOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par }
*/ 

Son bastantes viejos xd

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)