29/11/2018, 10:44 PM
(Última modificación: 30/11/2018, 03:34 PM por Alejandro. Edited 4 times in total.)
SHOP FOR SKINS AND DAMAGE
Código:
S H O P F O R S K I N S A N D D A M A G E v 1.
B Y: |ALEJANDRO-.
Informacion:
Simple tienda de armas con skins y damage,
si mueres pierdes el arma, puedes abrir
el menu principal tipeando say /armas
Escoges el arma que quieres comprar
las armas contienen skins personalizados
y damage perzonalisado...
espero te guste
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <colorchat>
////////////////////////////////////////////////// S H O P F O R S K I N S A N D D A M A G E v 1.0
///////////////////////////////////////////////// S H O P F O R S K I N S A N D D A M A G E v 1.0
////// // // // /////// // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
// // // // // // // // //// S H O P F O R S K I N S A N D D A M A G E v 1.0
// // // // // // // // // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
// // // // // // // // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
////// // // // // ///// // //// // S H O P F O R S K I N S A N D D A M A G E v 1.0
// // // // // // // // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
// // // // // // // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
// ////// ///// /////// // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
// ////// ///// /////// // // // S H O P F O R S K I N S A N D D A M A G E v 1.0
//////////////////////////////////////////////// S H O P F O R S K I N S A N D D A M A G E v 1.0
/////////////////////////////////////////////// S H O P F O R S K I N S A N D D A M A G E v 1.0
/////////////////////////////////////////////////
// VARIABLES //
///////////////////////////////////////////////
new gz_Plugin [ ] [ ] =
{
"Shop for skins and damage",
"1.0",
"|Alejandro-."
}
enum _: DATA_MODEL
{
NAME [ 32 ],
CSW_WEAPON,
V_MODEL [ 64 ],
Float:DAMAGE,
PRECIO,
WeaponMDL [ 33 ]
}
new Select1 [ 33 ], Select2 [ 33 ], Select3 [ 33 ]
new gz_ArmasAk [ ] [ DATA_MODEL ] =
{
{ "AK47 DFAULT", CSW_AK47 , "models/v_ak47.mdl", 1.0, 0, },
{ "AK47 CURAZON", CSW_AK47 , "models/PACK_1/v_ak47.mdl", 1.5, 100, "weapon_ak47" },
{ "AK47 BLUE", CSW_AK47 , "models/PACK_2/v_ak47.mdl", 1.5, 100, "weapon_ak47" }
}
new gz_ArmasM4 [ ] [ DATA_MODEL ] =
{
{ "M4A1 DFAULT", CSW_M4A1 , "models/v_m4a1.mdl", 1.0, 0, },
{ "M4A1 CURAZON", CSW_M4A1 , "models/PACK_1/v_m4a1.mdl", 1.5, 100, "weapon_m4a1" },
{ "M4A1 BLUE", CSW_M4A1 , "models/PACK_2/v_m4a1.mdl", 1.5, 100, "weapon_m4a1" }
}
new gz_ArmasKKNIFE [ ] [ DATA_MODEL ] =
{
{ "KNIFE DFAULT", CSW_KNIFE , "models/v_knife.mdl", 1.0, 0, },
{ "KNIFE CURAZON", CSW_KNIFE , "models/PACK_1/v_knife.mdl", 1.5, 100, "weapon_knife" },
{ "KNIFE BLUE", CSW_KNIFE , "models/PACK_2/v_knife.mdl", 1.5, 100, "weapon_knife" }
}
/////////////////////////////////////////////////
// PLUGIN-INI //
///////////////////////////////////////////////
public plugin_init()
{
register_plugin( gz_Plugin [ 0 ], gz_Plugin [ 1 ], gz_Plugin [ 2 ])
register_clcmd("say /armas", "armas") //Comando para abrir el menu
register_event("DeathMsg", "DeathMSG", "a")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage", 0)
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
}
/////////////////////////////////////////////////
// PLUGIN-PRECACHE //
///////////////////////////////////////////////
public plugin_precache( )
{
for(new i = 0; i < sizeof gz_ArmasAk; i++) {
precache_model(gz_ArmasAk [ i ] [ V_MODEL ])
}
for(new i = 0; i < sizeof gz_ArmasAk; i++) {
precache_model(gz_ArmasM4 [ i ] [ V_MODEL ])
}
for(new i = 0; i < sizeof gz_ArmasAk; i++) {
precache_model(gz_ArmasKKNIFE [ i ] [ V_MODEL ])
}
}
/////////////////////////////////////////////////
// EVENTO-VIEW-MODEL //
///////////////////////////////////////////////
public Event_CurWeapon(id)
{
new weaponID = read_data(2)
if( weaponID == CSW_AK47 )
{
set_pev(id, pev_viewmodel2, gz_ArmasAk [ Select1 [ id ] ] [ V_MODEL ] )
}
if( weaponID == CSW_M4A1 )
{
set_pev(id, pev_viewmodel2, gz_ArmasM4 [ Select2 [ id ] ] [ V_MODEL ] )
}
if( weaponID == CSW_KNIFE )
{
set_pev(id, pev_viewmodel2, gz_ArmasKKNIFE [ Select3 [ id ] ] [ V_MODEL ] )
}
return PLUGIN_CONTINUE
}
/////////////////////////////////////////////////
// EVENTO DE MUERTE //
///////////////////////////////////////////////
public DeathMSG ( )
{
new victima = read_data( 2 )
Select1 [ victima ] = 0
Select2 [ victima ] = 0
Select3 [ victima ] = 0
return PLUGIN_HANDLED;
}
/////////////////////////////////////////////////
// PUTINSERVER //
///////////////////////////////////////////////
public client_putinserver( id )
{
Select1 [ id ] = 0
Select2 [ id ] = 0
Select3 [ id ] = 0
}
/////////////////////////////////////////////////
// EVENTO PARA EL DAMAGE //
///////////////////////////////////////////////
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(!is_user_alive(attacker)) return HAM_IGNORED;
switch(get_user_weapon(attacker))
{
case CSW_AK47: damage *= gz_ArmasAk [ Select1 [ attacker ] ] [ DAMAGE ];
case CSW_M4A1: damage *= gz_ArmasM4 [ Select2 [ attacker ] ] [ DAMAGE ];
case CSW_KNIFE: damage *= gz_ArmasKKNIFE [ Select3 [ attacker ] ] [ DAMAGE ];
}
SetHamParamFloat(4, damage)
return HAM_HANDLED
}
/////////////////////////////////////////////////
// MENU PRINCIPAL //
///////////////////////////////////////////////
public armas ( id )
{
static menu, szMenu[ 200 ];
formatex( szMenu, sizeof(szMenu), "\r**********************^n\wARMAS X SKINS ^nAND DAMAGE^n\r**********************");
menu = menu_create(szMenu, "item");
menu_additem(menu, "AK47")
menu_additem(menu, "M4A1")
menu_additem(menu, "KNIFE")
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)
}
/////////////////////////////////////////////////
// ITEM PRINCIPAL //
///////////////////////////////////////////////
public item ( id, menu, item )
{
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED;
}
switch( item ) {
case 0: AK47 ( id );
case 1: M4A1 ( id );
case 2: KNIFE ( id );
}
return PLUGIN_HANDLED;
}
/////////////////////////////////////////////////
// A K 4 7 //
///////////////////////////////////////////////
public AK47 ( id )
{
static menu, szMenu[ 200 ], MenuItem [ 100 ];
formatex( szMenu, sizeof(szMenu), "\r**********************^n\wAK47^n\r**********************");
menu = menu_create(szMenu, "item2");
for(new i = 0; i < sizeof gz_ArmasAk; i++) {
formatex(MenuItem, charsmax(MenuItem), "%s \y%d", gz_ArmasAk [ i ] [ NAME ], gz_ArmasAk [ i ] [ PRECIO ])
menu_additem( menu, MenuItem, _, _, menu_makecallback("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 CallBack ( id, menu, item )
{
if( cs_get_user_money(id) < gz_ArmasAk [ item ] [ PRECIO ] )
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public item2 ( id, menu, item )
{
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED;
}
Select1 [ id ] = item
drop_weapons(id, 1)
give_item(id, gz_ArmasAk [ item ] [ WeaponMDL ])
cs_set_user_bpammo(id, gz_ArmasAk [ item ] [ CSW_WEAPON ] , 200)
cs_set_user_money(id, cs_get_user_money ( id ) - gz_ArmasAk [ item ] [ PRECIO ])
ChatColor(0, GREEN, "^x04[::^x03SG^x04::]^x01 Compraste un ^x03%s^x01.", gz_ArmasAk [ item ] [ NAME ]);
return PLUGIN_HANDLED;
}
/////////////////////////////////////////////////
// M 4 A 1 //
///////////////////////////////////////////////
public M4A1 ( id )
{
static menu, szMenu[ 200 ], MenuItem [ 100 ];
formatex( szMenu, sizeof(szMenu), "\r**********************^n\wM4A1^n\r**********************");
menu = menu_create(szMenu, "item3");
for(new i = 0; i < sizeof gz_ArmasM4; i++) {
formatex(MenuItem, charsmax(MenuItem), "%s \y%d", gz_ArmasM4 [ i ] [ NAME ], gz_ArmasM4 [ i ] [ PRECIO ])
menu_additem( menu, MenuItem, _, _, menu_makecallback("CallBack2"))
}
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 CallBack2 ( id, menu, item )
{
if( cs_get_user_money(id) < gz_ArmasM4 [ item ] [ PRECIO ] )
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public item3 ( id, menu, item )
{
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED;
}
Select2 [ id ] = item
drop_weapons(id, 1)
give_item(id, gz_ArmasM4 [ item ] [ WeaponMDL ])
cs_set_user_bpammo(id, gz_ArmasM4 [ item ] [ CSW_WEAPON ] , 200)
cs_set_user_money(id, cs_get_user_money ( id ) - gz_ArmasM4 [ item ] [ PRECIO ])
ChatColor(0, GREEN, "^x04[::^x03SG^x04::]^x01 Compraste un ^x03%s^x01.", gz_ArmasM4 [ item ] [ NAME ]);
return PLUGIN_HANDLED;
}
/////////////////////////////////////////////////
// K N I F E //
///////////////////////////////////////////////
public KNIFE ( id )
{
static menu, szMenu[ 200 ], MenuItem [ 100 ];
formatex( szMenu, sizeof(szMenu), "\r**********************^n\wKNIFE^n\r**********************");
menu = menu_create(szMenu, "item4");
for(new i = 0; i < sizeof gz_ArmasKKNIFE; i++) {
formatex(MenuItem, charsmax(MenuItem), "%s \y%d", gz_ArmasKKNIFE [ i ] [ NAME ], gz_ArmasKKNIFE [ i ] [ PRECIO ])
menu_additem( menu, MenuItem, _, _, menu_makecallback("CallBack3"))
}
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 CallBack3 ( id, menu, item )
{
if( cs_get_user_money(id) < gz_ArmasKKNIFE [ item ] [ PRECIO ] )
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public item4 ( id, menu, item )
{
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED;
}
Select3 [ id ] = item
give_item(id, gz_ArmasKKNIFE [ item ] [ WeaponMDL ])
cs_set_user_bpammo(id, gz_ArmasKKNIFE [ item ] [ CSW_WEAPON ] , 200)
cs_set_user_money(id, cs_get_user_money ( id ) - gz_ArmasKKNIFE [ item ] [ PRECIO ])
ChatColor(0, GREEN, "^x04[::^x03SG^x04::]^x01 Compraste un ^x03%s^x01.", gz_ArmasKKNIFE [ item ] [ NAME ]);
return PLUGIN_HANDLED;
}
/////////////////////////////////////////////////
// S T O C K //
///////////////////////////////////////////////
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_MAC10)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_MAC10)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|
(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
/////////////////////////////////////////////////
// SHOP FOR SKINS //
///////////////////////////////////////////////