/* Armas x frags */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <fvault>
new PLUGIN [ ] = "Models de armas X Flag"
new VERSION [ ] = "1.0"
new AUTHOR [ ] = "|Alejandro-."
new TAG [ ] = "TAG"
new PRINTTAG[ ] = "!g[!t TAG!g ]"
new GUARD [ ] = "SKINDSxFLAG"
enum _:DATA_ACCESO
{
ACCESO,
CALLBACK [ 20 ]
}
new ACCESOS [ ] [ DATA_ACCESO ] =
{
{ ADMIN_KICK, "ACCES" },
{ ADMIN_BAN, "ACCES2" },
{ ADMIN_CVAR, "ACCES3" },
{ ADMIN_CVAR, "ACCES4" }
}
new NAME_SKIN [ ] [ ] =
{
"SKINS 1",
"SKINS 2",
"SKINS 3",
"SKINS 4"
}
new AK47 [ ] [ ] = {
"models/PACK_1/v_ak47.mdl",
"models/PACK_2/v_ak47.mdl",
"models/PACK_3/v_ak47.mdl",
"models/PACK_4/v_ak47.mdl"
}
new M4A1 [ ] [ ] = {
"models/PACK_1/v_m4a1.mdl",
"models/PACK_2/v_m4a1.mdl",
"models/PACK_3/v_m4a1.mdl",
"models/PACK_4/v_m4a1.mdl"
}
new DEAGLE[ ] [ ] = {
"models/PACK_1/v_deagle.mdl",
"models/PACK_2/v_deagle.mdl",
"models/PACK_3/v_deagle.mdl",
"models/PACK_4/v_deagle.mdl"
}
new AWP [ ] [ ] = {
"models/v_awp.mdl",
"models/v_awp.mdl",
"models/v_awp.mdl"
}
new KNIFE [ ] [ ] = {
"models/PACK_1/v_knife.mdl",
"models/PACK_2/v_knife.mdl",
"models/PACK_3/v_knife.mdl"
}
new g_select [ 33 ]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "nightvision", "cmd" )
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
register_forward(FM_SetModel, "fw_SetModel")
}
public client_putinserver( id ) {
new iFlags; iFlags = get_user_flags( id );
switch( iFlags ) {
case ADMIN_CVAR: g_select[ id ] = 2;
case ADMIN_BAN: g_select[ id ] = 1;
case ADMIN_KICK: g_select[ id ] = 0
}
if(is_user_admin( id )) Cargar( id )
}
public client_disconnect( id ) if(is_user_admin( id )) Guardar( id )
public plugin_precache()
{
for(new i = 0; i < sizeof AK47; i++)
precache_model( AK47 [ i ] )
for(new i = 0; i < sizeof M4A1; i++)
precache_model( M4A1 [ i ] )
for(new i = 0; i < sizeof DEAGLE; i++)
precache_model( DEAGLE [ i ] )
for(new i = 0; i < sizeof KNIFE; i++)
precache_model( KNIFE [ i ] )
for(new i = 0; i < sizeof AWP; i++)
precache_model( AWP [ i ] )
}
public Event_CurWeapon(id)
{
new weaponID = read_data(2)
if( is_user_admin( id ) )
{
if( weaponID == CSW_KNIFE )
{
set_pev(id, pev_viewmodel2, KNIFE [ g_select [ id ] ] )
}
if( weaponID == CSW_AK47 )
{
set_pev(id, pev_viewmodel2, AK47 [ g_select [ id ] ] )
}
if( weaponID == CSW_AWP )
{
set_pev(id, pev_viewmodel2, AWP [ g_select [ id ] ] )
}
if( weaponID == CSW_M4A1 )
{
set_pev(id, pev_viewmodel2, M4A1 [ g_select [ id ] ] )
}
if( weaponID == CSW_DEAGLE )
{
set_pev(id, pev_viewmodel2, DEAGLE [ g_select [ id ] ] )
}
}
return PLUGIN_CONTINUE
}
public cmd(id) {
if(!is_user_admin(id) && ACCESOS [2] [ACCESO])
{
static menu, szMenu[ 200 ], Select [ 100 ];
formatex( szMenu, sizeof(szMenu), "\r**********************^n\w( \y%s \w) ARMAS X FLAG^nBy: \y%s^n\r**********************", TAG, AUTHOR);
menu = menu_create(szMenu, "Items");
for(new i = 0; i < sizeof NAME_SKIN; i++) {
if( g_select [ id ] == i )
{
formatex( Select, sizeof(Select), "%s\r [ \yACTUAL \r]", NAME_SKIN [ i ]);
menu_additem(menu, Select, _, _, menu_makecallback( ACCESOS [ i ] [ CALLBACK ] ))
}
else menu_additem(menu, NAME_SKIN [ i ], _, _, menu_makecallback( ACCESOS [ i ] [ CALLBACK ] ))
}
menu_setprop( menu, MPROP_BACKNAME, "\yAtras" );
menu_setprop( menu, MPROP_NEXTNAME, "\ySiguiente" );
menu_setprop( menu, MPROP_EXITNAME, "\ySalir" );
menu_setprop( menu, MPROP_NOCOLORS, "\r" );
menu_display(id, menu, 0)
}
}
public ACCES ( id, menu, item )
{
if(~get_user_flags( id ) & ACCESOS [ 0 ] [ ACCESO ])
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public ACCES2 ( id, menu, item )
{
if(~get_user_flags( id ) & ACCESOS [ 1 ] [ ACCESO ])
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public ACCES3 ( id, menu, item )
{
if(~get_user_flags( id ) & ACCESOS [ 2 ] [ ACCESO ])
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public ACCES4 ( id, menu, item )
{
if(~get_user_flags( id ) & ACCESOS [ 3 ] [ ACCESO ])
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public Items ( id, menu, item ) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED;
}
if( g_select [ id ] == item )
{
ColorChat( id, "!yYa tienes puesta esas !gskins")
return PLUGIN_HANDLED;
}
g_select [ id ] = item
ColorChat( id, "!ySeleccionaste las skins !g[ !t%s !g]", NAME_SKIN [ g_select [ id ] ])
return PLUGIN_HANDLED;
}
Guardar(id)
{
new data[ 60 ];
formatex(data, charsmax(data), "%d", g_select[id])
new iName[33];
get_user_name(id, iName, charsmax(iName))
fvault_set_data(GUARD, iName, data)
}
Cargar(id)
{
new data[ 60 ], iName[33];
get_user_name(id, iName, charsmax(iName))
if(fvault_get_data(GUARD, iName, data, charsmax(data)))
g_select[id] = str_to_num(data)
}
stock ColorChat( const id, const Text[ ], any:... ) {
new count = 1, players[ 32 ];
static msg[ 191 ], len, i;
len = formatex( msg, charsmax(msg), "%s ", PRINTTAG );
vformat( msg[ len ], 190 - len, Text, 3 );
replace_all( msg, 190, "!g", "^4" );
replace_all( msg, 190, "!y", "^1" );
replace_all( msg, 190, "!t", "^3" );
if(id)
players[ 0 ] = id;
else
get_players( players, count, "ch" );
for( i = 0; i < count; ++i) {
if( is_user_connected( players[ i ] ) )
writeMessage( players[ i ], msg );
}
}
stock writeMessage( player, message[ ] ) {
message_begin( MSG_ONE, get_user_msgid( "SayText" ), { 0, 0, 0 }, player );
write_byte( player );
write_string( message );
message_end( );
}