Herkese merhaba bu extra golden deagleyi sınırız mermi yaparmısınız fakat şöyle olcak. ÖRN : sınırsız mermi yapmanın 2 farklı yolu vardır 1. sıktığında 6. aşşa inmeyen şekilde sınırsız mermi 2. ise 6 5 4 2 1 ve sonra 6'dan başlayan sınırsız mermi sıralayışı şeklinde giden sınırsız türündendir 2. şeklinde olan sınırsız mermi eklentisi istiyorum nedenini diyecek olursanız sıktığında 6. aşşa düşmediğinde deagleden çıkan sarı mermi izi gözükmüyor görenlerde normal deagle zannediyor yardımcı olanlara şimdiden teşekürler.
Kod:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#define is_valid_player(%1) (1 <= %1 <= 32)
new DG_V_MODEL[64] = "models/v_golden_deagle.mdl"
new DG_P_MODEL[64] = "models/p_golden_deagle.mdl"
/* Pcvars */
new cvar_dmgmultiplier, cvar_goldbullets, cvar_custommodel, cvar_uclip
new bool:g_HasDg[33]
new g_hasZoom[ 33 ]
new bullets[ 33 ]
// Sprite
new m_spriteTexture
const Wep_deagle = ((1<<CSW_DEAGLE))
public plugin_init()
{
/* CVARS */
cvar_dmgmultiplier = register_cvar("zp_goldendg_dmg_multiplier", "2")
cvar_custommodel = register_cvar("zp_goldendg_custom_model", "1")
cvar_goldbullets = register_cvar("zp_goldendg_gold_bullets", "1")
cvar_uclip = register_cvar("zp_goldendg_unlimited_clip", "1")
// Register The Plugin
register_plugin("Golden Deagle", "1.1", "AlejandroSk"); /* By.KinG - Furien Uyarlama */
// Death Msg
register_event("DeathMsg", "Death", "a")
// Weapon Pick Up
register_event("WeapPickup","checkModel","b","1=19")
// Current Weapon Event
register_event("CurWeapon","checkWeapon","be","1=1")
register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")
// Ham TakeDamage
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
register_forward( FM_CmdStart, "fw_CmdStart" )
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public client_connect(id)
{
g_HasDg[id] = false
}
public client_disconnected(id)
{
g_HasDg[id] = false
}
public Death()
{
g_HasDg[read_data(2)] = false
}
public fwHamPlayerSpawnPost(id)
{
g_HasDg[id] = false
}
public plugin_precache()
{
precache_model(DG_V_MODEL)
precache_model(DG_P_MODEL)
m_spriteTexture = precache_model("sprites/dot.spr")
precache_sound("weapons/zoom.wav")
}
public plugin_natives()
{
register_native("N_Get_Golden_Deagle", "Native_Get_Golden_Deagle", 1);
}
public checkModel(id)
{
new szWeapID = read_data(2)
if ( szWeapID == CSW_DEAGLE && g_HasDg[id] == true && get_pcvar_num(cvar_custommodel) )
{
set_pev(id, pev_viewmodel2, DG_V_MODEL)
set_pev(id, pev_weaponmodel2, DG_P_MODEL)
}
return PLUGIN_HANDLED
}
public checkWeapon(id)
{
new plrClip, plrAmmo, plrWeap[32]
new plrWeapId
plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
if (plrWeapId == CSW_DEAGLE && g_HasDg[id])
{
checkModel(id)
}
else
{
return PLUGIN_CONTINUE
}
if (plrClip == 0 && get_pcvar_num(cvar_uclip))
{
// If the user is out of ammo..
get_weaponname(plrWeapId, plrWeap, 31)
// Get the name of their weapon
give_item(id, plrWeap)
engclient_cmd(id, plrWeap)
engclient_cmd(id, plrWeap)
engclient_cmd(id, plrWeap)
}
return PLUGIN_HANDLED
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_DEAGLE && g_HasDg[attacker] )
{
SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )
}
}
public fw_CmdStart( id, uc_handle, seed )
{
if( !is_user_alive( id ) )
return PLUGIN_HANDLED
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
new szClip, szAmmo
new szWeapID = get_user_weapon( id, szClip, szAmmo )
if( szWeapID == CSW_DEAGLE && g_HasDg[id] == true && !g_hasZoom[id] == true)
{
g_hasZoom[id] = true
cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )
}
else if ( szWeapID == CSW_DEAGLE && g_HasDg[id] == true && g_hasZoom[id])
{
g_hasZoom[ id ] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
}
return PLUGIN_HANDLED
}
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(id, pteam, 15)
if ((bullets[id] > clip) && (wpnid == CSW_DEAGLE) && g_HasDg[id])
{
new vec1[3], vec2[3]
get_user_origin(id, vec1, 1) // origin; your camera point.
get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
//BEAMENTPOINTS
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (0) //TE_BEAMENTPOINTS 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_short( m_spriteTexture )
write_byte(1) // framestart
write_byte(5) // framerate
write_byte(2) // life
write_byte(10) // width
write_byte(0) // noise
write_byte( 255 ) // r, g, b
write_byte( 215 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte(200) // brightness
write_byte(150) // speed
message_end()
}
bullets[id] = clip
}
}
/* By.KinG - Start */
public Native_Get_Golden_Deagle(ID)
{
if(user_has_weapon(ID, CSW_DEAGLE))
{
drop_prim(ID);
}
give_item(ID, "weapon_deagle");
g_HasDg[ID] = true;
}
/* By.KinG - End */
stock drop_prim(id)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
if (Wep_deagle & (1<<weapons[i]))
{
static wname[32]
get_weaponname(weapons[i], wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}Dc adresimiz : Tıhğla
)


