25/01/2021, 10:04 AM
(Última modificación: 28/01/2021, 10:51 PM por Axon. Edited 6 times in total.
Razón: Arreglado con errores
)
Buenas gente tengo este plugins en la cual no anda bien el menú de cuchillos. Al seleccionar uno de los dos cuchillos agregados me selecciona pero no aparece el v_model en pantalla y te saca del servidor.
Me podrían ayudar.
Código actualizado el 28/01/2021 - 22:50 (Hora ARG.)
Me podrían ayudar.
Código actualizado el 28/01/2021 - 22:50 (Hora ARG.)
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <chr_engine>
#include <pubnite_mod>
#include <hamsandwich>
#include <cs_player_models_api>
#include <colorchat>
#include <sqlx>
native pubnite_set_emote( iId, iNum );
const TASK_TURNBACK = 124512512;
new const szPlugin[ ] = "PUBNite : Plugin Tienda";
new const szVersion[ ] = "1.0";
new const szAutor[ ] = "";
new const szPrefix[ ] = "";
new const szBuySound[ ] = "pubg/effects/model_buy_sound.wav"
#define validEntity(%1) (g_iEntityID[%1] && pev_valid(g_iEntityID[%1]))
enum
{
M1 = 1 << 0,
M2 = 1 << 1,
M3 = 1 << 2,
M4 = 1 << 3,
M5 = 1 << 4,
M6 = 1 << 5,
M7 = 1 << 6,
M8 = 1 << 7,
M9 = 1 << 8,
M0 = 1 << 9,
MN = 1 << 10
};
enum _:dataPersonaje
{
pj__Nombre[ 32 ],
pj__Price,
pj__Model[ 64 ]
};
enum _:dataPets
{
pets__Nombre[ 32 ],
pets__Price,
pets__Model[ 64 ],
pets__Idle,
Float:pets__IdleSpeed,
pets__Run,
Float:pets__RunSpeed,
pets__Die,
Float:pets__DieLength,
Float:pets__ZStanding,
Float:pets__ZCrouching,
Float:pets__MaxDistance,
Float:pets__MinDistance
};
enum _:dataMochila
{
mochila__Nombre[ 32 ],
mochila__Price,
mochila__Model[ 64 ]
};
enum _:dataParachute
{
para__Nombre[ 32 ],
para__Price,
para__Model[ 64 ]
};
enum _:dataKnife
{
knife__Nombre[ 32 ],
knife__Price,
knife__ModelV[ 64 ],
knife__ModelP[ 64 ]
};
enum _:dataEmotes
{
emote__Nombre[ 32 ],
emote__Price
};
enum _:dataMenu
{
SUBMENU_PJS = 0,
SUBMENU_PETS,
SUBMENU_BAGS,
SUBMENU_PARACHUTE,
SUBMENU_KNIFE,
SUBMENU_EMOTES
};
enum
{
GUARDAR_DATOS,
CARGAR_DATOS,
INSERTAR_DATOS
};
new const szPersonaje[ ][ dataPersonaje ] =
{
{ "Ninguna", 0, "terror" },
{ "VIP [Común]", 800, "vip" },
{ "General Grievous [Legendaria]", 2000, "general_grievous" },
{ "General Grievous 4", 2000, "general_grievous" },
{ "General Grievous 5", 2000, "general_grievous" }
};
new const szPets[ ][ dataPets ] =
{
{ "Ninguna", 0, "", 0, 1.0, 4, 2.0, 7, 2.4, 36.0, 16.0, 300.0, 80.0 },
{ "Headcrab [Rara]", 1200, "models/headcrab.mdl", 0, 1.0, 4, 2.0, 7, 2.4, 36.0, 16.0, 300.0, 80.0 },
{ "Rat [Poco común]", 800, "models/bigrat.mdl", 1, 1.0, 4, 6.0, 7, 2.4, 36.0, 16.0, 300.0, 80.0 },
{ "Bat [Rara]", 1200, "models/boid.mdl", 0, 1.0, 0, 3.0, 0, 0.1, 5.0, 6.0, 300.0, 80.0 },
{ "Frog [Rara]", 1200, "models/chumtoad.mdl", 0, 1.0, 5, 0.75,12, 3.0, 36.0, 16.0, 300.0, 80.0 },
{ "Floater [Epica]", 1500, "models/floater.mdl", 0, 1.0, 0, 1.0, 0, 0.1, 5.0, 6.0, 300.0, 80.0 },
{ "Cockroach [Poco común]", 800, "models/roach.mdl", 1, 1.0, 0, 1.0, 0, 0.1, 36.0, 16.0, 300.0, 80.0 },
{ "Hyper Bat [Legendaria]", 2000, "models/stukabat.mdl", 13,0.5, 13, 13.0, 5, 3.0, 10.0, 11.0, 300.0, 80.0 },
{ "Mom [Poco común]", 800, "models/big_mom.mdl", 0, 1.0, 3, 1.0, 4, 5.0, 36.0, 16.0, 1000.0, 300.0 },
{ "Grunt [Epica]", 1500, "models/agrunt.mdl", 0, 1.0, 3, 1.0, 22, 5.0, 36.0, 16.0, 600.0, 200.0 },
{ "Fish [Epica]", 1500, "models/archer.mdl", 0, 1.0, 6, 0.6, 9, 3.0, 20.0, 30.0, 300.0, 80.0 },
{ "Baby Headcrab [Poco común]", 800, "models/baby_headcrab.mdl", 1, 1.0, 4, 0.6, 7, 3.0, 36.0, 16.0, 300.0, 80.0 },
{ "Knuckles [Mitica]", 5000, "models/knuckles.mdl", 0, 1.0, 0, 1.0, 1, 1.0, 36.0, 16.0, 300.0, 80.0 },
{ "Gargantuan [Poco común]", 800, "models/garg.mdl", 7, 1.0, 4, 1.0, 14, 6.0, 36.0, 16.0, 800.0, 250.0 },
{ "Bull Squid [Legendaria]", 2000, "models/bullsquid.mdl", 1, 1.0, 0, 2.0, 16, 2.5, 36.0, 16.0, 400.0, 100.0 },
{ "Hound Eye [Legendaria]", 2000, "models/houndeye.mdl", 1, 1.0, 3, 1.0, 6, 2.5, 36.0, 16.0, 400.0, 100.0 },
{ "Loading Machine [Poco común]", 800, "models/loader.mdl", 3, 1.0, 2, 0.4, 5, 7.0, 36.0, 16.0, 1000.0, 300.0 },
{ "Controller [Legendaria]", 2000, "models/controller.mdl", 3, 1.0, 9, 1.0, 18, 7.0, 0.0, 0.0, 800.0, 200.0 }
};
new const szBags[ ][ dataMochila ] =
{
{ "Ninguna", 0, "" },
{ "BB-8 [Poco común]", 800, "models/pubg/resources/BB-8.mdl" },
{ "Browser JR [Legendaria]", 2000, "models/pubg/resources/browser_jr.mdl" },
{ "Pequeño Freddy [Rara]", 1200, "models/pubg/resources/fredy.mdl" },
{ "Fritz Smith [Epica]", 1500, "models/pubg/resources/fredy2.mdl" },
{ "Minion [Legendaria]", 2000, "models/pubg/resources/minion.mdl" },
{ "Planta [Legendaria]", 2000, "models/pubg/resources/plant.mdl" },
{ "Girasol [Epica]", 1500, "models/pubg/resources/sunflower.mdl" }
};
new const szParachute[ ][ dataParachute ] =
{
{ "Warthog [Común]", 0, "models/pubg/resources/pubg_user_parachute.mdl" },
{ "Alas de Murcielago [Epica]", 2000, "models/pubg/resources/pubg_parachute_diablo.mdl" },
{ "Angel Caido [Legendaria]", 1500, "models/pubg/resources/pubg_parachute_alas.mdl" }
};
new const szKnife[ ][ dataKnife ] =
{
{ "Cuchillo [Común]", 0, "models/v_knife.mdl", "models/p_knife.mdl" },
{ "Martillo Amatista [Epica]", 1500, "models/pubg/resources/v_boss.mdl", "models/pubg/resources/p_boss.mdl" },
{ "Katana [Legendaria]", 2000, "models/pubg/resources/v_katana.mdl", "models/pubg/resources/p_katana.mdl" }
};
new const szEmotes[ ][ dataEmotes ] =
{
{ "Hola [Común]", 0 },
{ "Provocar [Poco común]", 800 },
{ "Alegria [Rara]", 1200 },
{ "Enojado [Epica]", 1500 },
{ "Danza [Legendaria]", 2000 },
{ "Especial Danza [Mitica]", 5000 }
};
new g_iKeys = M1 | M2 | M3 | M4 | M5 | M6 | M7 | M8 | M9 | M0;
new g_iPersonaje[ MAX_PLAYERS + 1 ][ sizeof( szPersonaje ) ], g_iPersonajeU[ MAX_PLAYERS + 1 ];
new g_iPets[ MAX_PLAYERS + 1 ][ sizeof( szPets ) ], g_iPetsU[ MAX_PLAYERS + 1 ], g_iPetsEnt[ MAX_PLAYERS + 1 ];
new g_iBags[ MAX_PLAYERS + 1 ][ sizeof( szBags ) ], g_iBagsU[ MAX_PLAYERS + 1 ], g_iBagsEnt[ MAX_PLAYERS + 1 ];
new g_iParachute[ MAX_PLAYERS + 1 ][ sizeof( szParachute ) ], g_iParachuteU[ MAX_PLAYERS + 1 ];
new g_iKnife[ MAX_PLAYERS + 1 ][ sizeof( szKnife ) ], g_iKnifeU[ MAX_PLAYERS + 1 ];
new g_iEmote[ MAX_PLAYERS + 1 ][ sizeof( szEmotes ) ], g_iEmoteU[ MAX_PLAYERS + 1 ];
new g_iPlayerName[ MAX_PLAYERS + 1 ][ MAX_PLAYERS ];
new g_iMenu[ MAX_PLAYERS + 1 ][ dataMenu ];
new g_bCamera[ MAX_PLAYERS + 1 ];
new g_iMessageScreenFade;
new g_iEntityID[ MAX_PLAYERS + 1 ];
new Handle:g_hTuple;
public plugin_precache( )
{
new i;
for( i = 0; i < sizeof( szPersonaje ); ++i )
precache_player_model( szPersonaje[ i ][ pj__Model ] );
for( i = 1; i < sizeof( szPets ); ++i )
precache_model( szPets[ i ][ pets__Model ] );
for( i = 1; i < sizeof( szBags ); ++i )
precache_model( szBags[ i ][ mochila__Model ] );
for( i = 1; i < sizeof( szParachute ); ++i )
precache_model( szParachute[ i ][ para__Model ] );
for( i = 1; i < sizeof( szKnife); ++i )
precache_model( szKnife[ i ][ knife__ModelV ] );
precache_model( "models/rpgrocket.mdl" );
precache_sound( szBuySound );
}
public plugin_init( )
{
register_plugin( szPlugin, szVersion, szAutor );
register_clcmd( "say /models", "show__MenuModels" );
register_clcmd( "say /cam", "clcmd__Cam" );
register_clcmd( "say /gesto", "clcmd__Bailar" );
register_forward( FM_AddToFullPack, "fw__AddToFullPack", 1 );
RegisterHam( Ham_Spawn, "player", "ham__PlayerSpawnPost", 1 );
RegisterHam( Ham_Item_Deploy, "weapon_knife", "ham__KnifeDeploy_Post", 1 );
register_event( "DeathMsg", "ev__DeathMsg", "a" );
register_forward( FM_Think, "FM__ThinkHook" );
g_iMessageScreenFade = get_user_msgid( "ScreenFade" );
register__Menu( );
MySQLx_Init( );
}
public plugin_natives( )
{
register_native( "pubnite_model_parachute", "native__ModelParachute", 1 );
register_native( "pubnite_show_models", "native__ShowMenuModel", 1 );
}
public native__ShowMenuModel( iId )
{
show__MenuModels( iId );
}
public native__ModelParachute( iId )
return g_iParachuteU[ iId ];
public clcmd__Cam( iId )
{
if( !is_user_connected( iId ) )
return PLUGIN_CONTINUE;
g_bCamera[ iId ] =! g_bCamera[ iId ];
g_bCamera[ iId ] ? set_view ( iId, CAMERA_3RDPERSON ) : set_view ( iId, CAMERA_NONE );
return PLUGIN_HANDLED;
}
public clcmd__Bailar( iId )
{
if( !is_user_connected( iId ) || !is_user_alive( iId ) )
return PLUGIN_HANDLED;
pubnite_set_emote( iId, g_iEmoteU[ iId ] );
return PLUGIN_HANDLED;
}
public sql__CargarDatos( iId )
{
static iData[ 2 ], szQuery[ 300 ];
iData[ 0 ] = iId;
iData[ 1 ] = CARGAR_DATOS;
formatex( szQuery, charsmax( szQuery ), "SELECT Pj, Pets, Paracaidas, Mochila, Knife, Bailes FROM 'pubnite_skins' WHERE Nombre=^"%s^"", g_iPlayerName[ iId ] );
SQL_ThreadQuery( g_hTuple, "sql__DataHandler", szQuery, iData, 2 );
}
public sql__GuardarDatos( iId )
{
static iData[ 2 ], szQuery[ 1024 ], szPj[ 200 ], szPt[ 200 ], szPara[ 200 ], szMoch[ 200 ], szCuchi[ 200 ], szBai[ 200 ];
formatex( szPj, 199, "%d %d %d %d %d %d", g_iPersonaje[ iId ][ 0 ], g_iPersonaje[ iId ][ 1 ],
g_iPersonaje[ iId ][ 2 ], g_iPersonaje[ iId ][ 3 ], g_iPersonaje[ iId ][ 4 ], g_iPersonajeU[ iId ] );
formatex( szPt, 199, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", g_iPets[ iId ][ 0 ], g_iPets[ iId ][ 1 ], g_iPets[ iId ][ 2 ], g_iPets[ iId ][ 3 ],
g_iPets[ iId ][ 4 ], g_iPets[ iId ][ 5 ], g_iPets[ iId ][ 6 ], g_iPets[ iId ][ 7 ], g_iPets[ iId ][ 8 ], g_iPets[ iId ][ 9 ], g_iPets[ iId ][ 10 ], g_iPets[ iId ][ 11 ],
g_iPets[ iId ][ 12 ], g_iPets[ iId ][ 13 ], g_iPets[ iId ][ 14 ], g_iPets[ iId ][ 15 ], g_iPets[ iId ][ 16 ], g_iPets[ iId ][ 17 ], g_iPetsU[ iId ] );
formatex( szPara, 199, "%d %d %d", g_iParachute[ iId ][ 1 ], g_iParachute[ iId ][ 2 ], g_iParachuteU[ iId ] );
formatex( szMoch, 199, "%d %d %d %d %d %d %d %d", g_iBags[ iId ][ 1 ], g_iBags[ iId ][ 2 ], g_iBags[ iId ][ 3 ], g_iBags[ iId ][ 4 ], g_iBags[ iId ][ 5 ], g_iBags[ iId ][ 6 ],
g_iBags[ iId ][ 7 ], g_iBagsU[ iId ] );
formatex( szCuchi, 199, "%d %d %d", g_iKnife[ iId ][ 1 ], g_iKnife[ iId ][ 2 ], g_iKnifeU[ iId ] );
formatex( szBai, 199, "%d %d %d %d %d %d", g_iEmote[ iId ][ 1 ], g_iEmote[ iId ][ 2 ], g_iEmote[ iId ][ 3 ], g_iEmote[ iId ][ 4 ], g_iEmote[ iId ][ 5 ], g_iEmoteU[ iId ] );
iData[ 0 ] = iId;
iData[ 1 ] = GUARDAR_DATOS;
formatex( szQuery, charsmax( szQuery ), "UPDATE 'pubnite_skins' SET Pj=^"%s^", Pets=^"%s^", Paracaidas=^"%s^", Mochila=^"%s^", Knife=^"%s^", Bailes=^"%s^" WHERE Nombre=^"%s^"", szPj, szPt, szPara, szMoch, szCuchi, szBai, g_iPlayerName[ iId ] );
SQL_ThreadQuery( g_hTuple, "sql__DataHandler", szQuery, iData, 2 );
}
public sql__DataHandler( failstate, Handle:Query, Error[], szError, Data[], szData[], Float:time )
{
static iId;
iId = Data[ 0 ];
if( !is_user_connected( iId ) )
return;
if( failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED )
log_to_file( "SQLERROR-1.txt", "Error %d : %s", szError, Error );
switch( Data[ 1 ] )
{
case CARGAR_DATOS:
{
if( SQL_NumResults( Query ) )
{
static szConsulta[ 128 ], iDatos[ 6 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Pj" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos[ 0 ], charsmax( iDatos[ ] ),
iDatos[ 1 ], charsmax( iDatos[ ] ),
iDatos[ 2 ], charsmax( iDatos[ ] ),
iDatos[ 3 ], charsmax( iDatos[ ] ),
iDatos[ 4 ], charsmax( iDatos[ ] ),
iDatos[ 5 ], charsmax( iDatos[ ] ) );
g_iPersonaje[ iId ][ 0 ] = str_to_num( iDatos[ 0 ] );
g_iPersonaje[ iId ][ 1 ] = str_to_num( iDatos[ 1 ] );
g_iPersonaje[ iId ][ 2 ] = str_to_num( iDatos[ 2 ] );
g_iPersonaje[ iId ][ 3 ] = str_to_num( iDatos[ 3 ] );
g_iPersonaje[ iId ][ 4 ] = str_to_num( iDatos[ 4 ] );
g_iPersonajeU[ iId ] = str_to_num( iDatos[ 5 ] );
static iDatos2[ 19 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Pets" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos2[ 0 ], charsmax( iDatos2[ ] ),
iDatos2[ 1 ], charsmax( iDatos2[ ] ), iDatos2[ 2 ], charsmax( iDatos2[ ] ),
iDatos2[ 3 ], charsmax( iDatos2[ ] ), iDatos2[ 4 ], charsmax( iDatos2[ ] ),
iDatos2[ 5 ], charsmax( iDatos2[ ] ), iDatos2[ 6 ], charsmax( iDatos2[ ] ),
iDatos2[ 7 ], charsmax( iDatos2[ ] ), iDatos2[ 8 ], charsmax( iDatos2[ ] ),
iDatos2[ 9 ], charsmax( iDatos2[ ] ), iDatos2[ 10 ], charsmax( iDatos2[ ] ),
iDatos2[ 11 ], charsmax( iDatos2[ ] ), iDatos2[ 12 ], charsmax( iDatos2[ ] ),
iDatos2[ 13 ], charsmax( iDatos2[ ] ), iDatos2[ 14 ], charsmax( iDatos2[ ] ),
iDatos2[ 15 ], charsmax( iDatos2[ ] ), iDatos2[ 16 ], charsmax( iDatos2[ ] ),
iDatos2[ 17 ], charsmax( iDatos2[ ] ), iDatos2[ 18 ], charsmax( iDatos2[ ] ) );
g_iPets[ iId ][ 0 ] = str_to_num( iDatos2[ 0 ] );
g_iPets[ iId ][ 1 ] = str_to_num( iDatos2[ 1 ] );
g_iPets[ iId ][ 2 ] = str_to_num( iDatos2[ 2 ] );
g_iPets[ iId ][ 3 ] = str_to_num( iDatos2[ 3 ] );
g_iPets[ iId ][ 4 ] = str_to_num( iDatos2[ 4 ] );
g_iPets[ iId ][ 5 ] = str_to_num( iDatos2[ 5 ] );
g_iPets[ iId ][ 6 ] = str_to_num( iDatos2[ 6 ] );
g_iPets[ iId ][ 7 ] = str_to_num( iDatos2[ 7 ] );
g_iPets[ iId ][ 8 ] = str_to_num( iDatos2[ 8 ] );
g_iPets[ iId ][ 9 ] = str_to_num( iDatos2[ 9 ] );
g_iPets[ iId ][ 10 ] = str_to_num( iDatos2[ 10 ] );
g_iPets[ iId ][ 11 ] = str_to_num( iDatos2[ 11 ] );
g_iPets[ iId ][ 12 ] = str_to_num( iDatos2[ 12 ] );
g_iPets[ iId ][ 13 ] = str_to_num( iDatos2[ 13 ] );
g_iPets[ iId ][ 14 ] = str_to_num( iDatos2[ 14 ] );
g_iPets[ iId ][ 15 ] = str_to_num( iDatos2[ 15 ] );
g_iPets[ iId ][ 16 ] = str_to_num( iDatos2[ 16 ] );
g_iPets[ iId ][ 17 ] = str_to_num( iDatos2[ 17 ] );
g_iPetsU[ iId ] = str_to_num( iDatos2[ 18 ] );
static iDatos3[ 3 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Paracaidas" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos3[ 0 ], charsmax( iDatos3[ ] ),
iDatos3[ 1 ], charsmax( iDatos3[ ] ),
iDatos3[ 2 ], charsmax( iDatos3[ ] ) );
g_iParachute[ iId ][ 1 ] = str_to_num( iDatos3[ 0 ] );
g_iParachute[ iId ][ 2 ] = str_to_num( iDatos3[ 1 ] );
g_iParachuteU[ iId ] = str_to_num( iDatos3[ 2 ] );
static iDatos4[ 8 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Mochila" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos4[ 0 ], charsmax( iDatos4[ ] ),
iDatos4[ 1 ], charsmax( iDatos4[ ] ),
iDatos4[ 2 ], charsmax( iDatos4[ ] ),
iDatos4[ 3 ], charsmax( iDatos4[ ] ),
iDatos4[ 4 ], charsmax( iDatos4[ ] ),
iDatos4[ 5 ], charsmax( iDatos4[ ] ),
iDatos4[ 6 ], charsmax( iDatos4[ ] ),
iDatos4[ 7 ], charsmax( iDatos4[ ] ) );
g_iBags[ iId ][ 1 ] = str_to_num( iDatos4[ 0 ] );
g_iBags[ iId ][ 2 ] = str_to_num( iDatos4[ 1 ] );
g_iBags[ iId ][ 3 ] = str_to_num( iDatos4[ 2 ] );
g_iBags[ iId ][ 4 ] = str_to_num( iDatos4[ 3 ] );
g_iBags[ iId ][ 5 ] = str_to_num( iDatos4[ 4 ] );
g_iBags[ iId ][ 6 ] = str_to_num( iDatos4[ 5 ] );
g_iBags[ iId ][ 7 ] = str_to_num( iDatos4[ 6 ] );
g_iBagsU[ iId ] = str_to_num( iDatos4[ 7 ] );
static iDatos5[ 3 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Knife" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos5[ 0 ], charsmax( iDatos5[ ] ),
iDatos5[ 1 ], charsmax( iDatos5[ ] ),
iDatos5[ 2 ], charsmax( iDatos5[ ] ) );
g_iKnife[ iId ][ 1 ] = str_to_num( iDatos5[ 0 ] );
g_iKnife[ iId ][ 2 ] = str_to_num( iDatos5[ 1 ] );
g_iKnifeU[ iId ] = str_to_num( iDatos5[ 2 ] );
static iDatos6[ 6 ][ 4 ];
SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Bailes" ), szConsulta, charsmax( szConsulta ) );
parse( szConsulta, iDatos6[ 0 ], charsmax( iDatos6[ ] ),
iDatos6[ 1 ], charsmax( iDatos6[ ] ),
iDatos6[ 2 ], charsmax( iDatos6[ ] ),
iDatos6[ 3 ], charsmax( iDatos6[ ] ),
iDatos6[ 4 ], charsmax( iDatos6[ ] ),
iDatos6[ 5 ], charsmax( iDatos6[ ] ) );
g_iEmote[ iId ][ 1 ] = str_to_num( iDatos6[ 0 ] );
g_iEmote[ iId ][ 2 ] = str_to_num( iDatos6[ 1 ] );
g_iEmote[ iId ][ 3 ] = str_to_num( iDatos6[ 2 ] );
g_iEmote[ iId ][ 4 ] = str_to_num( iDatos6[ 3 ] );
g_iEmote[ iId ][ 5 ] = str_to_num( iDatos6[ 4 ] );
g_iEmoteU[ iId ] = str_to_num( iDatos6[ 5 ] );
}
else
{
static iData[ 2 ], szQuery[ 300 ];
iData[ 0 ] = iId;
iData[ 1 ] = INSERTAR_DATOS;
formatex( szQuery, charsmax( szQuery ), "INSERT INTO 'pubnite_skins' ( Nombre ) VALUES (^"%s^")", g_iPlayerName[ iId ] );
SQL_ThreadQuery( g_hTuple, "sql__DataHandler", szQuery, iData, 2 );
}
}
case GUARDAR_DATOS:
{
if( failstate < TQUERY_SUCCESS ) client_print( iId, print_console, "Error al guardar datos." );
else client_print( iId, print_console, "Datos guardados con exito!" );
}
case INSERTAR_DATOS:
{
if( failstate < TQUERY_SUCCESS ) return;
else sql__CargarDatos( iId );
}
}
}
public show__MenuModels( iId )
{
SetMenuKeys( 1, 2, 3, 4, 5, 6, .Zero = 1 );
new szTexto[ 2000 ], szLen;
szLen = 0;
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wMenú de Skins^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Indumentarias:\y [ %s ]^n", szPersonaje[ g_iPersonajeU[ iId ] ][ pj__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r2.\w Cuchillos - \r*ERROR*\y [ %s ]^n", szKnife[ g_iKnifeU[ iId ] ][ knife__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r3.\w Mochilas:\y [ %s ]^n", szBags[ g_iBagsU[ iId ] ][ mochila__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r4.\w Ala deltas:\y [ %s ]^n", szParachute[ g_iParachuteU[ iId ] ][ para__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r5.\w Mascotas:\y [ %s ]^n", szPets[ g_iPetsU[ iId ] ][ pets__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r6.\w Gestos:\y [ %s ]^n^n", szEmotes[ g_iEmoteU[ iId ] ][ emote__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\y- \wTienes \y%d\w VBucks!^n", pubnite_get_user_vbucks( iId ) );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\y- \w¿Queres comprar VBucks?^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\y- \wEntra a\y www.facebook.com/CounterStrikePUBNite^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "A_1" );
}
public hand__MenuModels( iId, iKeys )
{
switch( iKeys )
{
case 0: show__MenuPersonajes( iId );
case 1: show__MenuKnife( iId );
case 2: show__MenuMochila( iId );
case 3: show__MenuParacaidas( iId );
case 4: show__MenuMascotas( iId );
case 5: show__MenuEmotes( iId );
}
return PLUGIN_HANDLED;
}
public show__MenuPersonajes( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Indumentarias^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuPersonajes" );
for( new i = 0; i < sizeof( szPersonaje ); i++ )
{
if( g_iPersonajeU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szPersonaje[ i ][ pj__Nombre ] );
else if( g_iPersonaje[ iId ][ i ] >= 1 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szPersonaje[ i ][ pj__Nombre ] );
else if( iVBucks >= szPersonaje[ i ][ pj__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szPersonaje[ i ][ pj__Nombre ], szPersonaje[ i ][ pj__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szPersonaje[ i ][ pj__Nombre ], szPersonaje[ i ][ pj__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuPersonajes( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuPersonajes( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuPersonajes( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_PJS ] = iItem;
SetMenuKeys( 1, 2, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wIndumentaria: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szPersonaje[ iItem ][ pj__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szPersonaje[ iItem ][ pj__Price ] );
if( g_iPersonaje[ iId ][ iItem ] >= 1 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar indumentaria^n^n" );
else if( iVBucks >= szPersonaje[ iItem ][ pj__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar modelo\y [%d VBucks]^n^n", szPersonaje[ iItem ][ pj__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar modelo [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, is_user_alive( iId ) ? "\r2.\w Vista previa^n^n" : "\d2. Vistas previa^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_1" );
}
public hand__SubMenuPersonajes( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_PJS ];
new iPrice = szPersonaje[ iItem ][ pj__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iPersonajeU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando la indumentaria:^4 %s^1.", szPrefix, szPersonaje[ iItem ][ pj__Nombre ] );
show__SubMenuPersonajes( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iPersonaje[ iId ][ iItem ] >= 1 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado la indumentaria:^4 %s^1.", szPrefix, szPersonaje[ iItem ][ pj__Nombre ] );
g_iPersonajeU[ iId ] = iItem;
cs_set_player_model( iId, szPersonaje[ g_iPersonajeU[ iId ] ][ pj__Model ] );
show__SubMenuPersonajes( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado la indumentaria:^4 %s^1.", szPrefix, szPersonaje[ iItem ][ pj__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iPersonaje[ iId ][ iItem ] = 1;
g_iPersonajeU[ iId ] = iItem;
cs_set_player_model( iId, szPersonaje[ g_iPersonajeU[ iId ] ][ pj__Model ] );
show__SubMenuPersonajes( iId, iItem );
return PLUGIN_HANDLED;
}
}
case 1:
{
if( !is_user_alive( iId ) )
{
show__SubMenuPersonajes( iId, iItem );
return PLUGIN_HANDLED;
}
new Float:fOrigin[ 3 ], iEnt, szModel[ 128 ];
originUnitsAhead( iId, fOrigin, 110 );
if( validEntity( iId ) )
{
iEnt = g_iEntityID[ iId ];
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), "models/player/%s/%s.mdl", szPersonaje[ iItem ][ pj__Model ], szPersonaje[ iItem ][ pj__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
return PLUGIN_HANDLED;
}
if( isInvalidPlace( fOrigin, iId ) )
{
ColorChat( iId, GREEN, "%s^1 Inténtalo en otra parte.", szPrefix );
client_cmd( iId, "spk buttons/button11" );
return PLUGIN_HANDLED;
}
iEnt = create_entity( "info_target" );
if( pev_valid( iEnt ) )
{
g_iEntityID[ iId ] = iEnt;
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), "models/player/%s/%s.mdl", szPersonaje[ iItem ][ pj__Model ], szPersonaje[ iItem ][ pj__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
set_pev( iEnt, pev_solid, SOLID_NOT );
set_pev( iEnt, pev_owner, iId );
set_pev( iEnt, pev_movetype, MOVETYPE_NOCLIP );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );
static Float:fFloatvector[ 3 ];
fFloatvector[ 1 ] = 30.0;
set_pev( iEnt, pev_avelocity, fFloatvector );
}
set_task( 10.0, "task__VistaPrevModel", iId + TASK_TURNBACK );
}
case 9:
{
show__MenuPersonajes( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public show__MenuMascotas( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Mascotas^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuMascotas" );
for( new i = 0; i < sizeof( szPets ); i++ )
{
if( g_iPetsU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szPets[ i ][ pets__Nombre ] );
else if( g_iPets[ iId ][ i ] >= 1 || i == 0 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szPets[ i ][ pets__Nombre ] );
else if( iVBucks >= szPets[ i ][ pets__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szPets[ i ][ pets__Nombre ], szPets[ i ][ pets__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szPets[ i ][ pets__Nombre ], szPets[ i ][ pets__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuMascotas( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuMascotas( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuMascotas( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_PETS ] = iItem;
SetMenuKeys( 1, 2, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wMascota: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szPets[ iItem ][ pets__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szPets[ iItem ][ pets__Price ] );
if( g_iPetsU[ iId ] == iItem )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Mascota equipada^n^n" );
else if( g_iPets[ iId ][ iItem ] >= 1 || iItem == 0 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar mascota^n^n" );
else if( iVBucks >= szPets[ iItem ][ pets__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar mascota\y [%d VBucks]^n^n", szPets[ iItem ][ pets__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar mascota [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, is_user_alive( iId ) ? "\r2.\w Vista previa^n^n" : "\d2. Vistas previa^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_2" );
}
public hand__SubMenuMascotas( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_PETS ];
new iPrice = szPets[ iItem ][ pets__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iPetsU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando la mascota:^4 %s^1.", szPrefix, szPets[ iItem ][ pets__Nombre ] );
show__SubMenuMascotas( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iPets[ iId ][ iItem ] >= 1 || iItem == 0 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado la mascota:^4 %s^1.", szPrefix, szPets[ iItem ][ pets__Nombre ] );
g_iPetsU[ iId ] = iItem;
if( g_iPetsEnt[ iId ] )
remover__Pets( iId );
if( g_iPetsU[ iId ] != 0 )
set__Pets( iId );
show__SubMenuMascotas( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado la mascota:^4 %s^1.", szPrefix, szPets[ iItem ][ pets__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iPets[ iId ][ iItem ] = 1;
show__SubMenuMascotas( iId, iItem );
}
}
case 1:
{
if( !is_user_alive( iId ) )
{
show__SubMenuMascotas( iId, iItem );
return PLUGIN_HANDLED;
}
new Float:fOrigin[ 3 ], iEnt, szModel[ 128 ];
originUnitsAhead( iId, fOrigin, 110 );
if( validEntity( iId ) )
{
iEnt = g_iEntityID[ iId ];
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szPets[ iItem ][ pets__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
return PLUGIN_HANDLED;
}
if( isInvalidPlace( fOrigin, iId ) )
{
ColorChat( iId, GREEN, "%s^1 Inténtalo en otra parte.", szPrefix );
client_cmd( iId, "spk buttons/button11" );
return PLUGIN_HANDLED;
}
iEnt = create_entity( "info_target" );
if( pev_valid( iEnt ) )
{
g_iEntityID[ iId ] = iEnt;
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szPets[ iItem ][ pets__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
set_pev( iEnt, pev_solid, SOLID_NOT );
set_pev( iEnt, pev_owner, iId );
set_pev( iEnt, pev_movetype, MOVETYPE_NOCLIP );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );
static Float:fFloatvector[ 3 ];
fFloatvector[ 1 ] = 30.0;
set_pev( iEnt, pev_avelocity, fFloatvector );
}
set_task( 10.0, "task__VistaPrevModel", iId + TASK_TURNBACK );
show__SubMenuMascotas( iId, iItem );
}
case 9:
{
show__MenuMascotas( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public show__MenuMochila( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Mochilas^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuMochila" );
for( new i = 0; i < sizeof( szBags ); i++ )
{
if( g_iBagsU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szBags[ i ][ mochila__Nombre ] );
else if( g_iBags[ iId ][ i ] >= 1 || i == 0 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szBags[ i ][ mochila__Nombre ] );
else if( iVBucks >= szBags[ i ][ mochila__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szBags[ i ][ mochila__Nombre ], szBags[ i ][ mochila__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szBags[ i ][ mochila__Nombre ], szBags[ i ][ mochila__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuMochila( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuMochila( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuMochila( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_BAGS ] = iItem;
SetMenuKeys( 1, 2, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wMochila: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szBags[ iItem ][ mochila__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szBags[ iItem ][ mochila__Price ] );
if( g_iBagsU[ iId ] == iItem )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Mochila equipada^n^n" );
else if( g_iBags[ iId ][ iItem ] >= 1 || iItem == 0 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar mochila^n^n" );
else if( iVBucks >= szBags[ iItem ][ mochila__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar mochila\y [%d VBucks]^n^n", szBags[ iItem ][ mochila__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar mochila [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, is_user_alive( iId ) ? "\r2.\w Vista previa^n^n" : "\d2. Vistas previa^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_3" );
}
public hand__SubMenuMochila( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_BAGS ];
new iPrice = szBags[ iItem ][ mochila__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iBagsU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando la mochila:^4 %s^1.", szPrefix, szBags[ iItem ][ mochila__Nombre ] );
show__SubMenuMochila( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iBags[ iId ][ iItem ] >= 1 || iItem == 0 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado la mochila:^4 %s^1.", szPrefix, szBags[ iItem ][ mochila__Nombre ] );
g_iBagsU[ iId ] = iItem;
set__Bags( iId );
show__SubMenuMochila( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado la mochila:^4 %s^1.", szPrefix, szBags[ iItem ][ mochila__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iBags[ iId ][ iItem ] = 1;
show__SubMenuMochila( iId, iItem );
}
}
case 1:
{
if( !is_user_alive( iId ) )
{
show__SubMenuMochila( iId, iItem );
return PLUGIN_HANDLED;
}
new Float:fOrigin[ 3 ], iEnt, szModel[ 128 ];
originUnitsAhead( iId, fOrigin, 110 );
if( validEntity( iId ) )
{
iEnt = g_iEntityID[ iId ];
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szBags[ iItem ][ mochila__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
return PLUGIN_HANDLED;
}
if( isInvalidPlace( fOrigin, iId ) )
{
ColorChat( iId, GREEN, "%s^1 Inténtalo en otra parte.", szPrefix );
client_cmd( iId, "spk buttons/button11" );
return PLUGIN_HANDLED;
}
iEnt = create_entity( "info_target" );
if( pev_valid( iEnt ) )
{
g_iEntityID[ iId ] = iEnt;
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szBags[ iItem ][ mochila__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
set_pev( iEnt, pev_solid, SOLID_NOT );
set_pev( iEnt, pev_owner, iId );
set_pev( iEnt, pev_movetype, MOVETYPE_NOCLIP );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );
static Float:fFloatvector[ 3 ];
fFloatvector[ 1 ] = 30.0;
set_pev( iEnt, pev_avelocity, fFloatvector );
}
set_task( 10.0, "task__VistaPrevModel", iId + TASK_TURNBACK );
show__SubMenuMochila( iId, iItem );
}
case 9:
{
show__MenuMochila( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public show__MenuParacaidas( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Ala delta^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuParacaidas" );
for( new i = 0; i < sizeof( szParachute ); i++ )
{
if( g_iParachuteU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szParachute[ i ][ para__Nombre ] );
else if( g_iParachute[ iId ][ i ] >= 1 || i == 0 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szParachute[ i ][ para__Nombre ] );
else if( iVBucks >= szParachute[ i ][ para__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szParachute[ i ][ para__Nombre ], szParachute[ i ][ para__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szParachute[ i ][ para__Nombre ], szParachute[ i ][ para__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuParacaidas( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuParacaidas( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuParacaidas( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_PARACHUTE ] = iItem;
SetMenuKeys( 1, 2, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wAla delta: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szParachute[ iItem ][ para__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szParachute[ iItem ][ para__Price ] );
if( g_iParachuteU[ iId ] == iItem )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Ala delta equipado^n^n" );
else if( g_iParachute[ iId ][ iItem ] >= 1 || iItem == 0 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar Ala delta^n^n" );
else if( iVBucks >= szParachute[ iItem ][ para__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar Ala delta\y [%d VBucks]^n^n", szParachute[ iItem ][ para__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar Ala delta [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, is_user_alive( iId ) ? "\r2.\w Vista previa^n^n" : "\d2. Vistas previa^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_4" );
}
public hand__SubMenuParacaidas( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_PARACHUTE ];
new iPrice = szParachute[ iItem ][ para__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iParachuteU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando el ala delta:^4 %s^1.", szPrefix, szParachute[ iItem ][ para__Nombre ] );
show__SubMenuParacaidas( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iParachute[ iId ][ iItem ] >= 1 || iItem == 0 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado el ala delta:^4 %s^1.", szPrefix, szParachute[ iItem ][ para__Nombre ] );
g_iParachuteU[ iId ] = iItem;
show__SubMenuParacaidas( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado el ala delta:^4 %s^1.", szPrefix, szParachute[ iItem ][ para__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iParachute[ iId ][ iItem ] = 1;
show__SubMenuParacaidas( iId, iItem );
}
}
case 1:
{
if( !is_user_alive( iId ) )
{
show__SubMenuParacaidas( iId, iItem );
return PLUGIN_HANDLED;
}
new Float:fOrigin[ 3 ], iEnt, szModel[ 128 ];
originUnitsAhead( iId, fOrigin, 110 );
if( validEntity( iId ) )
{
iEnt = g_iEntityID[ iId ];
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szParachute[ iItem ][ para__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
return PLUGIN_HANDLED;
}
if( isInvalidPlace( fOrigin, iId ) )
{
ColorChat( iId, GREEN, "%s^1 Inténtalo en otra parte.", szPrefix );
client_cmd( iId, "spk buttons/button11" );
return PLUGIN_HANDLED;
}
iEnt = create_entity( "info_target" );
if( pev_valid( iEnt ) )
{
g_iEntityID[ iId ] = iEnt;
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szParachute[ iItem ][ para__Model ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
set_pev( iEnt, pev_solid, SOLID_NOT );
set_pev( iEnt, pev_owner, iId );
set_pev( iEnt, pev_movetype, MOVETYPE_NOCLIP );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );
static Float:fFloatvector[ 3 ];
fFloatvector[ 1 ] = 30.0;
set_pev( iEnt, pev_avelocity, fFloatvector );
}
set_task( 10.0, "task__VistaPrevModel", iId + TASK_TURNBACK );
show__SubMenuParacaidas( iId, iItem );
}
case 9:
{
show__MenuParacaidas( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public show__MenuKnife( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Cuchillos^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuKnife" );
for( new i = 0; i < sizeof( szKnife ); i++ )
{
if( g_iKnifeU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szKnife[ i ][ knife__Nombre ] );
else if( g_iKnife[ iId ][ i ] >= 1 || i == 0 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szKnife[ i ][ knife__Nombre ] );
else if( iVBucks >= szKnife[ i ][ knife__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szKnife[ i ][ knife__Nombre ], szKnife[ i ][ knife__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szKnife[ i ][ knife__Nombre ], szKnife[ i ][ knife__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuKnife( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuKnife( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuKnife( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_KNIFE ] = iItem;
SetMenuKeys( 1, 2, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wCuchillo: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szKnife[ iItem ][ knife__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szKnife[ iItem ][ knife__Price ] );
if( g_iKnifeU[ iId ] == iItem )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Cuchillo equipado^n^n" );
else if( g_iKnife[ iId ][ iItem ] >= 1 || iItem == 0 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar cuchillo^n^n" );
else if( iVBucks >= szKnife[ iItem ][ knife__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar cuchillo\y [%d VBucks]^n^n", szKnife[ iItem ][ knife__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar cuchillo [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, is_user_alive( iId ) ? "\r2.\w Vista previa^n^n" : "\d2. Vistas previa^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_5" );
}
public hand__SubMenuKnife( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_KNIFE ];
new iPrice = szKnife[ iItem ][ knife__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iKnifeU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando el cuchillo:^4 %s^1.", szPrefix, szKnife[ iItem ][ knife__Nombre ] );
show__SubMenuKnife( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iKnife[ iId ][ iItem ] >= 1 || iItem == 0 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado el cuchillo:^4 %s^1.", szPrefix, szKnife[ iItem ][ knife__Nombre ] );
g_iKnifeU[ iId ] = iItem;
if( get_user_weapon( iId ) == CSW_KNIFE && is_user_alive( iId ) )
{
set_pev( iId, pev_viewmodel2, szKnife[ iItem ][ knife__ModelV ] );
set_pev( iId, pev_weaponmodel2, szKnife[ iItem ][ knife__ModelP ] );
}
show__SubMenuKnife( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado el cuchillo:^4 %s^1.", szPrefix, szKnife[ iItem ][ knife__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iKnife[ iId ][ iItem ] = 1;
show__SubMenuKnife( iId, iItem );
}
}
case 1:
{
if( !is_user_alive( iId ) )
{
show__SubMenuKnife( iId, iItem );
return PLUGIN_HANDLED;
}
new Float:fOrigin[ 3 ], iEnt, szModel[ 128 ];
originUnitsAhead( iId, fOrigin, 110 );
if( validEntity( iId ) )
{
iEnt = g_iEntityID[ iId ];
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szKnife[ iItem ][ knife__ModelV ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
return PLUGIN_HANDLED;
}
if( isInvalidPlace( fOrigin, iId ) )
{
ColorChat( iId, GREEN, "%s^1 Inténtalo en otra parte.", szPrefix );
client_cmd( iId, "spk buttons/button11" );
return PLUGIN_HANDLED;
}
iEnt = create_entity( "info_target" );
if( pev_valid( iEnt ) )
{
g_iEntityID[ iId ] = iEnt;
set_pev( iEnt, pev_origin, fOrigin );
formatex( szModel, charsmax( szModel ), szKnife[ iItem ][ knife__ModelV ] );
engfunc( EngFunc_SetModel, iEnt, szModel );
set_pev( iEnt, pev_solid, SOLID_NOT );
set_pev( iEnt, pev_owner, iId );
set_pev( iEnt, pev_movetype, MOVETYPE_NOCLIP );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );
static Float:fFloatvector[ 3 ];
fFloatvector[ 1 ] = 30.0;
set_pev( iEnt, pev_avelocity, fFloatvector );
}
set_task( 10.0, "task__VistaPrevModel", iId + TASK_TURNBACK );
show__SubMenuKnife( iId, iItem );
}
case 9:
{
show__MenuKnife( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
public show__MenuEmotes( iId )
{
new iMenu, szTexto[ 128 ], iNum[ 3 ], iVBucks;
iVBucks = pubnite_get_user_vbucks( iId );
formatex( szTexto, charsmax( szTexto ), "\r[PUBNite]\d | \wMenú de Gestos^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________" );
iMenu = menu_create( szTexto, "hand__MenuEmotes" );
for( new i = 0; i < sizeof( szEmotes ); i++ )
{
if( g_iEmoteU[ iId ] == i )
formatex( szTexto, charsmax( szTexto ), "\d%s \y(Actual)", szEmotes[ i ][ emote__Nombre ] );
else if( g_iEmote[ iId ][ i ] >= 1 || i == 0 )
formatex( szTexto, charsmax( szTexto ), "\w%s", szEmotes[ i ][ emote__Nombre ] );
else if( iVBucks >= szEmotes[ i ][ emote__Price ] )
formatex( szTexto, charsmax( szTexto ), "\w%s\y (VBucks: %d)", szEmotes[ i ][ emote__Nombre ], szEmotes[ i ][ emote__Price ] );
else
formatex( szTexto, charsmax( szTexto ), "\d%s\r (VBucks: %d)", szEmotes[ i ][ emote__Nombre ], szEmotes[ i ][ emote__Price ] );
num_to_str( i, iNum, charsmax( iNum ) );
menu_additem( iMenu, szTexto, iNum );
}
menu_setprop( iMenu, MPROP_BACKNAME, "Atrás");
menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente");
menu_setprop( iMenu, MPROP_EXITNAME, "Cerrar");
menu_display( iId, iMenu );
return PLUGIN_HANDLED;
}
public hand__MenuEmotes( iId, iMenu, iItem )
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
show__SubMenuEmotes( iId, iItem );
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
public show__SubMenuEmotes( iId, iItem )
{
g_iMenu[ iId ][ SUBMENU_EMOTES ] = iItem;
SetMenuKeys( 1, .Zero = 1 );
new szTexto[ 2000 ], szLen, iVBucks;
szLen = 0;
iVBucks = pubnite_get_user_vbucks( iId );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r[PUBNite]\d | \wGesto: \y%s^n\yVisitanos en\r www.facebook.com/CounterStrikePUBNite^n\y___________________________________^n^n", szEmotes[ iItem ][ emote__Nombre ] );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r* REQUISITOS:^n\d - \y%d VBucks^n^n", szEmotes[ iItem ][ emote__Price ] );
if( g_iEmoteU[ iId ] == iItem )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Gesto equipado^n^n" );
else if( g_iEmote[ iId ][ iItem ] >= 1 || iItem == 0 )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Equipar gesto^n^n" );
else if( iVBucks >= szEmotes[ iItem ][ emote__Price ] )
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r1.\w Comprar gesto\y [%d VBucks]^n^n", szEmotes[ iItem ][ emote__Price ] );
else
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\d1. Comprar gesto [NO DISPONIBLE]^n^n" );
szLen += formatex( szTexto[ szLen ], charsmax( szTexto ) - szLen, "\r0.\w Volver" );
show_menu( iId, g_iKeys, szTexto, -1, "S_6" );
}
public hand__SubMenuEmotes( iId, iKeys )
{
new iItem = g_iMenu[ iId ][ SUBMENU_EMOTES ];
new iPrice = szEmotes[ iItem ][ emote__Price ];
new iVBucks = pubnite_get_user_vbucks( iId );
switch( iKeys )
{
case 0:
{
if( g_iEmoteU[ iId ] == iItem )
{
ColorChat( iId, GREEN, "%s^1 Ya estas usando el gesto:^4 %s^1.", szPrefix, szEmotes[ iItem ][ emote__Nombre ] );
show__SubMenuEmotes( iId, iItem );
return PLUGIN_HANDLED;
}
else if( g_iEmote[ iId ][ iItem ] >= 1 || iItem == 0 )
{
ColorChat( iId, GREEN, "%s^1 Has seleccionado el gesto:^4 %s^1.", szPrefix, szEmotes[ iItem ][ emote__Nombre ] );
g_iEmoteU[ iId ] = iItem;
show__SubMenuEmotes( iId, iItem );
return PLUGIN_HANDLED;
}
else if( iVBucks >= iPrice )
{
ColorChat( iId, GREEN, "%s^1 Has comprado el gesto:^4 %s^1.", szPrefix, szEmotes[ iItem ][ emote__Nombre ] );
message_begin( MSG_ONE, g_iMessageScreenFade, .player = iId );
write_short( 4300 );
write_short( 0 );
write_short( 0 );
write_byte( 255 );
write_byte( 255 );
write_byte( 255 );
write_byte( 65 );
message_end( );
client_cmd( iId, "spk ^"%s^"", szBuySound );
pubnite_set_user_vbucks( iId, ( iVBucks - iPrice ) );
g_iEmote[ iId ][ iItem ] = 1;
show__SubMenuEmotes( iId, iItem );
}
}
case 9:
{
show__MenuEmotes( iId );
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
set__Bags( iId )
{
if( !is_user_alive( iId ) )
{
ColorChat( iId, GREEN, "%s^1 Debes estar vivo para seleccionar una mascota", szPrefix );
}
else
{
if( g_iBagsU[ iId ] == 0 )
{
if( is_valid_ent( g_iBagsEnt[ iId ] ) )
{
remove_entity( g_iBagsEnt[ iId ] );
g_iBagsEnt[ iId ] = 0;
}
return;
}
if( is_valid_ent( g_iBagsEnt[ iId ] ) )
{
remove_entity( g_iBagsEnt[ iId ] );
g_iBagsEnt[ iId ] = 0;
}
g_iBagsEnt[ iId ] = create_entity( "info_target" );
if( !is_valid_ent( g_iBagsEnt[ iId ] ) )
return;
entity_set_int( g_iBagsEnt[ iId ], EV_INT_movetype, MOVETYPE_FOLLOW );
entity_set_edict( g_iBagsEnt[ iId ], EV_ENT_aiment, iId );
entity_set_int( g_iBagsEnt[ iId ], EV_INT_rendermode, kRenderNormal );
entity_set_model( g_iBagsEnt[ iId ], szBags[ g_iBagsU[ iId ] ][ mochila__Model ] );
}
}
set__Pets( iId )
{
if( !is_user_alive( iId ) )
{
ColorChat( iId, GREEN, "%s^1 Debes estar vivo para seleccionar una mascota", szPrefix );
}
else
{
g_iPetsEnt[ iId ] = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString,"info_target" ) );
set_pev( g_iPetsEnt[ iId ], pev_classname, "GHW_Pet" );
engfunc( EngFunc_SetModel, g_iPetsEnt[ iId ], szPets[ g_iPetsU[ iId ] ][ pets__Model ] );
new Float:fOrigin[ 3 ];
pev( iId, pev_origin, fOrigin );
if( is_user_crouching( iId ) ) fOrigin[ 2 ] -= szPets[ g_iPetsU[ iId ] ][ pets__ZCrouching ];
else fOrigin[ 2 ] -= szPets[ g_iPetsU[ iId ] ][ pets__ZStanding ];
set_pev( g_iPetsEnt[ iId ], pev_origin, fOrigin );
set_pev( g_iPetsEnt[ iId ], pev_solid, SOLID_NOT );
set_pev( g_iPetsEnt[ iId ], pev_movetype, MOVETYPE_FLY );
set_pev( g_iPetsEnt[ iId ], pev_owner, 33 );
set_pev( g_iPetsEnt[ iId ], pev_nextthink, 1.0 );
set_pev( g_iPetsEnt[ iId ], pev_sequence, 0 );
set_pev( g_iPetsEnt[ iId ], pev_gaitsequence, 0 );
set_pev( g_iPetsEnt[ iId ], pev_framerate, 1.0 );
}
}
remover__Pets( iId )
{
if( g_iPetsEnt[ iId ] && pev_valid( g_iPetsEnt[ iId ] ) )
{
set_pev( g_iPetsEnt[ iId ], pev_animtime, 100.0 );
set_pev( g_iPetsEnt[ iId ], pev_framerate, 1.0 );
set_pev( g_iPetsEnt[ iId ], pev_sequence, szPets[ g_iPetsU[ iId ] ][ pets__Die ] );
set_pev( g_iPetsEnt[ iId ], pev_gaitsequence, szPets[ g_iPetsU[ iId ] ][ pets__Die ] );
set_task( szPets[ g_iPetsU[ iId ] ][ pets__DieLength ], "task__RemovePets", g_iPetsEnt[ iId ] );
}
g_iPetsEnt[ iId ] = 0;
}
public task__RemovePets( iEnt )
{
if( pev_valid( iEnt ) )
engfunc( EngFunc_RemoveEntity, iEnt );
}
public task__VistaPrevModel( iId )
{
turnPlayerModelBack( iId - TASK_TURNBACK );
}
public client_putinserver( iId )
{
get_user_name( iId, g_iPlayerName[ iId ], charsmax( g_iPlayerName[ ] ) );
sql__CargarDatos( iId );
g_bCamera[ iId ] = false;
}
public client_disconnected( iId )
{
sql__GuardarDatos( iId );
remover__Pets( iId );
if( is_valid_ent( g_iBagsEnt[ iId ] ) )
remove_entity( g_iBagsEnt[ iId ] );
g_iBagsEnt[ iId ] = 0;
}
public ham__PlayerSpawnPost( iId )
{
if( !is_user_alive( iId ) )
return;
sql__GuardarDatos( iId );
if( g_iPersonajeU[ iId ] )
cs_set_player_model( iId, szPersonaje[ g_iPersonajeU[ iId ] ][ pj__Model ] );
else
cs_reset_player_model( iId );
if( g_iPetsEnt[ iId ] )
remover__Pets( iId );
if( g_iPetsU[ iId ] != 0 )
set__Pets( iId );
set__Bags( iId );
}
public ham__KnifeDeploy_Post( iKnife )
{
static iId;
iId = get_pdata_cbase( iKnife, 41, 4 );
if( !is_user_connected( iId ) )
return;
set_pev( iId, pev_viewmodel2, szKnife[ g_iKnifeU[ iId ] ][ knife__ModelV ] );
set_pev( iId, pev_weaponmodel2, szKnife[ g_iKnifeU[ iId ] ][ knife__ModelP ] );
}
public ev__DeathMsg( )
{
remover__Pets( read_data( 2 ) );
}
public fw__AddToFullPack( es_handle, e, iEnt, iHost, hostflags, player, pSet )
{
if( is_user_alive( iEnt ) || !pev_valid( iEnt ) )
return FMRES_IGNORED;
if( is_user_alive( iHost ) && validEntity( iHost ) )
{
static iOwner;
iOwner = pev( iEnt, pev_owner );
if( is_user_connected( iOwner ) && ( iOwner == iHost ) && ( iEnt == g_iEntityID[ iHost ] ) )
set_es( es_handle, ES_RenderAmt, 255 );
}
return FMRES_IGNORED
}
public FM__ThinkHook( iEnt )
{
for( new i = 0; i <= get_maxplayers( ); ++i )
{
if( iEnt == g_iPetsEnt[ i ] )
{
static Float:fOrigin[ 3 ];
static Float:fOrigin2[ 3 ];
static Float:fVelocity[ 3 ];
pev( iEnt, pev_origin, fOrigin2 );
get_offset_origin_body( i, Float:{50.0,0.0,0.0}, fOrigin );
if( is_user_crouching( i ) )
fOrigin[ 2 ] -= szPets[ g_iPetsU[ i ] ][ pets__ZCrouching ];
else
fOrigin[ 2 ] -= szPets[ g_iPetsU[ i ] ][ pets__ZStanding ];
if( get_distance_f( fOrigin, fOrigin2 ) > szPets[ g_iPetsU[ i ] ][ pets__MaxDistance ] )
set_pev( iEnt, pev_origin, fOrigin );
else if( get_distance_f( fOrigin, fOrigin2 ) > szPets[ g_iPetsU[ i ] ][ pets__MinDistance ] )
{
get_speed_vector( fOrigin2, fOrigin, 250.0, fVelocity );
set_pev( iEnt, pev_velocity, fVelocity );
if( pev( iEnt, pev_sequence ) != szPets[ g_iPetsU[ i ] ][ pets__Run ] || pev( iEnt, pev_framerate ) != szPets[ g_iPetsU[ i ] ][ pets__RunSpeed ] )
{
set_pev( iEnt, pev_frame, 1 );
set_pev( iEnt, pev_sequence, szPets[ g_iPetsU[ i ] ][ pets__Run ] );
set_pev( iEnt, pev_gaitsequence, szPets[ g_iPetsU[ i ] ][ pets__Run ] );
set_pev( iEnt, pev_framerate, szPets[ g_iPetsU[ i ] ][ pets__RunSpeed ] );
}
}
else if( get_distance_f( fOrigin, fOrigin2 ) < szPets[ g_iPetsU[ i ] ][ pets__MinDistance ] - 5.0 )
{
if( pev( iEnt, pev_sequence ) != szPets[ g_iPetsU[ i ] ][ pets__Idle ] || pev( iEnt, pev_framerate ) != szPets[ g_iPetsU[ i ] ][ pets__IdleSpeed ] )
{
set_pev( iEnt, pev_frame, 1 );
set_pev( iEnt, pev_sequence, szPets[ g_iPetsU[ i ] ][ pets__Idle ] );
set_pev( iEnt, pev_gaitsequence, szPets[ g_iPetsU[ i ] ][ pets__Idle ] );
set_pev( iEnt, pev_framerate, szPets[ g_iPetsU[ i ] ][ pets__IdleSpeed ] );
}
set_pev( iEnt, pev_velocity, Float:{0.0,0.0,0.0} );
}
pev( i, pev_origin, fOrigin );
fOrigin[ 2 ] = fOrigin2[ 2 ];
entity_set_aim( iEnt, fOrigin );
set_pev( iEnt, pev_nextthink, 1.0 );
break;
}
}
}
turnPlayerModelBack( iId )
{
if( validEntity( iId ) )
remove_entity( g_iEntityID[ iId ] );
g_iEntityID[ iId ] = 0;
if( !is_user_connected( iId ) )
return;
show_menu( iId, 0, "^n" );
if( g_iPersonajeU[ iId ] )
cs_set_player_model( iId, szPersonaje[ g_iPersonajeU[ iId ] ][ pj__Model ] );
else
cs_reset_player_model( iId );
}
//=============================================================
register__Menu( )
{
register_menu( "A_1", g_iKeys, "hand__MenuModels" );
register_menu( "S_1", g_iKeys, "hand__SubMenuPersonajes" );
register_menu( "S_2", g_iKeys, "hand__SubMenuMascotas" );
register_menu( "S_3", g_iKeys, "hand__SubMenuMochila" );
register_menu( "S_4", g_iKeys, "hand__SubMenuParacaidas" );
register_menu( "S_5", g_iKeys, "hand__SubMenuKnife" );
register_menu( "S_6", g_iKeys, "hand__SubMenuEmotes" );
}
public MySQLx_Init( )
{
new iType[ 12 ], iTable[ 1208 ], iLen;
SQL_SetAffinity( "sqlite" );
SQL_GetAffinity( iType, sizeof( iType ) );
if( !equal( iType, "sqlite" ) )
{
log_to_file( "SqlEROR.txt", "Error al conectar la base de datos!" );
return pause( "a" );
}
g_hTuple = SQL_MakeDbTuple( "","","", "pubnite_skins" );
iLen = 0;
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "CREATE TABLE IF NOT EXISTS pubnite_skins(" );
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Nombre VARCHAR NOT NULL UNIQUE,");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Pj VARCHAR NOT NULL default '0 0 0 0 0 0',");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Pets VARCHAR NOT NULL default '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0',");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Paracaidas VARCHAR NOT NULL default '0 0 0',");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Mochila VARCHAR NOT NULL default '0 0 0 0 0 0 0 0',");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Knife VARCHAR NOT NULL default '0 0 0',");
iLen += formatex( iTable[ iLen ], charsmax( iTable) - iLen, "Bailes VARCHAR NOT NULL default '0 0 0 0 0 0',");
SQL_ThreadQuery( g_hTuple, "sql__CreateTable", iTable );
return PLUGIN_HANDLED;
}
public sql__CreateTable(failstate, Handle:query, error[], szerror, data[], szdata, Float:time)
{
switch(failstate)
{
case TQUERY_CONNECT_FAILED: log_to_file("SQL_TConnection.txt", "Error: %i - %s", szerror, error);
case TQUERY_QUERY_FAILED: log_to_file("SQL_TQuery.txt", "Error: %i - %s", szerror, error);
}
}
SetMenuKeys( One = 0, Two = 0, Three = 0, Four = 0, Five = 0, Six = 0, Seven = 0, Eight = 0, Nine = 0, Zero = 0, NoExit = 0 )
{
g_iKeys = 0;
if (One) g_iKeys |= M1;
if (Two) g_iKeys |= M2;
if (Three) g_iKeys |= M3;
if (Four) g_iKeys |= M4;
if (Five) g_iKeys |= M5;
if (Six) g_iKeys |= M6;
if (Seven) g_iKeys |= M7;
if (Eight) g_iKeys |= M8;
if (Nine) g_iKeys |= M9;
if (Zero) g_iKeys |= M0;
if (NoExit) g_iKeys = MN;
}
stock precache_player_model(const modelname[])
{
static longname[128]
formatex(longname, charsmax(longname), "models/player/%s/%s.mdl", modelname, modelname)
precache_model(longname)
copy(longname[strlen(longname)-4], charsmax(longname) - (strlen(longname)-4), "T.mdl")
if (file_exists(longname)) precache_model(longname)
}