Allied Modders en español

Versión completa: [ZP] Extra Item M4A1
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
¿Alguien puede hacer un Extra ítem M4A1?
Para zp. Gracias.
Proud

Aquí te dejos unos Extra de la M4 Dark y la Ak Paladin son Extra items para el Zp

Autor : Dev!l 100% recomendadas

https://yadi.sk/d/QyoI4RqpjStWn
(14/01/2019, 02:40 PM)NoMercy escribió: [ -> ]¿Alguien puede hacer un Extra ítem M4A1?
Para zp. Gracias.

Supongo que quieres esto, porque no especificastes como querias la M4A1.

Código PHP:
#include <amxmodx> 
#include <zombieplague> 
#include <fun> 
#include <cstrike> 

new g_comprar 

public plugin_init()
{
register_plugin("[ZP] Extra Item: Comprar M4A1""1.0""Alguien")  
g_comprar zp_register_extra_item("Comprar M4A1"10ZP_TEAM_HUMAN

}

public 
zp_extra_item_selected(iditemid
{
if (
itemid ==g_comprar
{

give_item (id"weapon_m4a1")
cs_set_user_bpammo(idCSW_M4A190
client_print(idprint_chat"[ZP] Has comprado una M4A1"

}


(14/01/2019, 10:25 PM)Boddah. escribió: [ -> ]
(14/01/2019, 02:40 PM)NoMercy escribió: [ -> ]¿Alguien puede hacer un Extra ítem M4A1?
Para zp. Gracias.

Supongo que quieres esto, porque no especificastes como querias la M4A1.

Código PHP:
#include <amxmodx> 
#include <zombieplague> 
#include <fun> 
#include <cstrike> 

new g_comprar 

public plugin_init()
{
register_plugin("[ZP] Extra Item: Comprar M4A1""1.0""Alguien")  
g_comprar zp_register_extra_item("Comprar M4A1"10ZP_TEAM_HUMAN

}

public 
zp_extra_item_selected(iditemid
{
if (
itemid ==g_comprar
{

give_item (id"weapon_m4a1")
cs_set_user_bpammo(idCSW_M4A190
client_print(idprint_chat"[ZP] Has comprado una M4A1"

}



Sí, eso es exactamente lo que quería, pero ¿puedes agregar un modelo? P, V y W.
Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <zombieapocalypse>

#define is_valid_player(%1) (1 <= %1 <= 32)
#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define ITEM_WEAPONKEY    001

const Float:ataque 999.999
new const g_ItemEnt[] = "weapon_usp"

new V_MODEL[64] = "models/extra_weapons/v_fnp.mdl"
new P_MODEL[64] = "models/extra_weapons/p_fnp.mdl"
new W_MODEL[64] = "models/extra_weapons/w_fnp.mdl"

/* Pcvars */
new cvar_goldbullets,  cvar_custommodelcvar_uclip

// Item ID
new g_itemid

new bool:g_HasItem[33]

new 
g_hasZoom33 ]
new 
bullets33 ]

// Sprite
new m_spriteTexture
const Wep_ItemS = ((1<<CSW_USP))
const 
CSW_ITEM CSW_USP

public plugin_init()
{
    
    
/* CVARS */
    
cvar_custommodel register_cvar("za_ITEM_custom_model""1")
    
cvar_goldbullets register_cvar("za_ITEM_gold_bullets""1")
    
cvar_uclip register_cvar("za_ITEM_unlimited_clip""1")
    
    
register_event("DeathMsg""Death""a")
    
register_event("WeapPickup","checkModel","b","1=19")
    
register_event("CurWeapon","checkWeapon","be","1=1")
    
register_event("CurWeapon""make_tracer""be""1=1""3>0")
    
    
register_forwardFM_CmdStart"fw_CmdStart" )
    
register_forward(FM_SetModel"fw_SetModel")
    
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
RegisterHam(Ham_Item_AddToPlayerg_ItemEnt"fw_ItemAddToPlayer")
    
// si quieren agregarlo como extra item
    
g_itemid zp_register_extra_item("arma"0ZP_TEAM_HUMAN)
}

public 
client_connect(id)
{
    
g_HasItem[id] = false
}

public 
client_disconnect(id)
{
    
g_HasItem[id] = false
}

public 
Death()
{
    
g_HasItem[read_data(2)] = false
}

public 
fwHamPlayerSpawnPost(id)
{
    
g_HasItem[id] = false
}

public 
plugin_precache()
{
    
precache_model(V_MODEL)
    
precache_model(P_MODEL)
    
precache_model(W_MODEL)
    
m_spriteTexture precache_model("sprites/dot.spr")
    
precache_sound("weapons/zoom.wav")
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_HasItem[id] = false
    
}
}

public 
checkModel(id)
{
    if ( 
zp_get_user_zombie(id) )
        return 
PLUGIN_HANDLED
    
    
new szWeapID read_data(2)
    
    if ( 
szWeapID == CSW_ITEM && g_HasItem[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        
set_pev(idpev_viewmodel2V_MODEL)
        
set_pev(idpev_weaponmodel2P_MODEL)
    }
    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
new clip

    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_ITEM && g_HasItem[id])
    {
        
checkModel(id)
    }
    else 
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if (
bullets[id] >= clip  && get_pcvar_num(cvar_uclip))
    {
        
get_weaponname(plrWeapIdplrWeap31)

        
give_item(idplrWeap)
        
engclient_cmd(idplrWeap
        
engclient_cmd(idplrWeap)
        
engclient_cmd(idplrWeap)

    }

    return 
PLUGIN_HANDLED

}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if ( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_ITEM && g_HasItem[attacker] )
    {
        
SetHamParamFloat(4damage ataque )
    }
}

public 
fw_CmdStartiduc_handleseed )
{
    if( !
is_user_aliveid ) ) 
        return 
PLUGIN_HANDLED
    
    
if( ( get_ucuc_handleUC_Buttons ) & IN_ATTACK2 ) && !( pevidpev_oldbuttons ) & IN_ATTACK2 ) )
    {
        new 
szClipszAmmo
        
new szWeapID get_user_weaponidszClipszAmmo )
        
        if( 
szWeapID == CSW_ITEM && g_HasItem[id] == true && !g_hasZoom[id] == false)
        {
            
g_hasZoom[id] = true
            cs_set_user_zoom
idCS_SET_AUGSG552_ZOOM)
            
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 )
        }
        
        else if ( 
szWeapID == CSW_ITEM && g_HasItem[id] == true && g_hasZoom[id])
        {
            
g_hasZoomid ] = false
            cs_set_user_zoom
idCS_RESET_ZOOM)
            
        }
        
    }
    return 
PLUGIN_HANDLED
}

                        
// #/////~$L%ux%or xD%_="······ªª¡?//
public make_tracer(id)
{
    if (
get_pcvar_num(cvar_goldbullets))
    {
        new 
clip,ammo
        
new wpnid get_user_weapon(id,clip,ammo)
        new 
pteam[16]
        
        
get_user_team(idpteam15)
        
        if ((
bullets[id] > clip) && (wpnid == CSW_ITEM) && g_HasItem[id]) 
        {
            new 
vec1[3], vec2[3]
            
get_user_origin(idvec11// origen; el punto de tu camara
            
get_user_origin(idvec24// termina; donde coliciona la bala
            
            
message_beginMSG_BROADCAST,SVC_TEMPENTITY)
            
write_byte (0)
            
write_coord(vec1[0])
            
write_coord(vec1[1])
            
write_coord(vec1[2])
            
write_coord(vec2[0])
            
write_coord(vec2[1])
            
write_coord(vec2[2])
            
write_shortm_spriteTexture )
            
write_byte(1// framestart
            
write_byte(5// framerate
            
write_byte(2// Vida
            
write_byte(10// width
            
write_byte(0// noise
            
write_byte0)// r
            
write_byte0)// g
            
write_byte0)// b
            
write_byte(200// brillo
            
write_byte(150// velocidad
            
message_end()
        }
    
        
bullets[id] = clip
    
}
    
}

public 
zp_extra_item_selected(playeritemid)
{
    if ( 
itemid == g_itemid )
    {
        if ( 
user_has_weapon(playerCSW_ITEM) )
        {
            
drop_item(player)
        }
        
        
give_item(playerg_ItemEnt)
        
g_HasItem[player] = true;
    }
}

stock drop_item(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
Wep_ItemS & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}

public 
fw_SetModel(entitymodel[])
{
    if(!
is_valid_ent(entity))
        return 
FMRES_IGNORED;
        
            
// Cambiarlo
    
if(!equal(model"models/w_usp.mdl")) 
        return 
FMRES_IGNORED;
        
    static 
szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    if(!
equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
static iOwneriStoredItemID

    iOwner 
entity_get_edict(entityEV_ENT_owner)
    
                              
// Cambiar
    
iStoredItemID find_ent_by_owner(ENG_NULLENT"weapon_usp"entity)
    if(
g_HasItem[iOwner] && is_valid_ent(iStoredItemID))
    {
        
        
entity_set_int(iStoredItemIDEV_INT_WEAPONKEYITEM_WEAPONKEY)
        
g_HasItem[iOwner] = false
        entity_set_model
(entityW_MODEL)
        
        return 
FMRES_SUPERCEDE
    
}

    return 
FMRES_IGNORED
}

public 
fw_ItemAddToPlayer(ITEMid)
{
    if( 
is_valid_ent(ITEM) && is_user_connected(id) && entity_get_int(ITEMEV_INT_WEAPONKEY) == ITEM_WEAPONKEY)
    {
        
g_HasItem[id] = true
        entity_set_int
(ITEMEV_INT_WEAPONKEY0)
        return 
HAM_HANDLED
    
}
    return 
HAM_IGNORED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang8202\\ f0\\ fs16 \n\\ par }
*/ 
AUTORES: MUCHOS DE ESTE FORO :V