Reklam gösterimini engelleyici yazılım kullandığınızı görüyoruz.
Sitemizin ayakta kalıp sizlere hizmet edebilmek için en büyük gelir kaynağı sayfamızda gösterilen reklamlardır.
Reklam gösterimde bizim sayfamıza ayrıcalık tanıyarak ayakta kalmamıza destek olmak ister misiniz ?

silahin hasarı arttırılacak

Konu

#1
merhaba şu silah hasarını arttırırmısınız hasar cvar kodu çalışmıyor çok denedim olmadı mevcut hasarı 3 kat arttırmanız yeterlidir teşekkürler Gülücük


.sma zp_extra_ethereal2.sma (Dosya Boyutu: 17.8 KB | İndirme Sayısı: 7)
#2
Kod:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>

#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define WEAPONKEY 33
#define MAX_PLAYERS                32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
const USE_STOPPED = 0
const OFFSET_ACTIVE_ITEM = 373
const OFFSET_WEAPONOWNER = 41
const OFFSET_LINUX = 5
const OFFSET_LINUX_WEAPONS = 4
#define WEAP_LINUX_XTRA_OFF            4
#define m_fKnown                44
#define m_flNextPrimaryAttack             46
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF            5
#define m_flNextAttack                83
#define RELOAD_TIME 3.0
#define wId CSW_UMP45
#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(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)
new const Sound_Zoom[] = { "weapons/zoom.wav" }
new const Fire_snd[] = {"weapons/ethereal-1.wav"}
new const went[] ={"weapon_ump45"}
new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
new ethereal_V_MODEL[64] = "models/v_ethereal.mdl"
new ethereal_P_MODEL[64] = "models/p_ethereal.mdl"
new ethereal_W_MODEL[64] = "models/w_ethereal.mdl"
new cvar_recoil_ethereal, cvar_dmg_ethereal, g_itemid_ethereal, cvar_clip_ethereal, cvar_ethereal_ammo
new g_has_ethereal[33], g_hasZoom[33], Float:g_flNextUseTime[33], g_Reload[33]
new g_MaxPlayers, g_orig_event_ethereal, g_clip_ammo[33]
new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
new g_ethereal_TmpClip[33],g_beamSpr,gmsgWeaponList
public plugin_init()
{
    register_plugin("[ZP] Extra: Ethereal", "1.0", "Zombie-Panic")
    register_event("CurWeapon","CurrentWeapon","be","1=1")
    RegisterHam(Ham_Item_AddToPlayer, went, "fw_ethereal_AddToPlayer")
    RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Item_Deploy, went, "fw_Item_Deploy_Post", 1)
    RegisterHam(Ham_Weapon_PrimaryAttack, went, "fw_ethereal_PrimaryAttack")
    RegisterHam(Ham_Weapon_PrimaryAttack, went, "fw_ethereal_PrimaryAttack_Post", 1)
    RegisterHam(Ham_Item_PostFrame, went, "ethereal__ItemPostFrame");
    RegisterHam(Ham_Weapon_Reload, went, "ethereal__Reload");
    RegisterHam(Ham_Weapon_Reload, went, "ethereal__Reload_Post", 1);
    RegisterHam(Ham_TakeDamage, "info_target", "fw_TakeDamage")
    RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "worldspawn", "TraceAttack", 1)
    register_forward(FM_SetModel, "fw_SetModel")
    register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
    register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
    RegisterHam(Ham_Item_Holster, "weapon_ump45", "fw_ethereal_Holster_Post", 1)
    register_forward(FM_CmdStart, "fw_CmdStart")

    cvar_recoil_ethereal = register_cvar("zp_Ethereal_recoil", "0.5")
    cvar_dmg_ethereal = register_cvar("zp_Ethereal_dmg", "30")
    cvar_clip_ethereal = register_cvar("zp_Ethereal_clip", "25")
    cvar_ethereal_ammo = register_cvar("zp_Ethereal_ammo", "100")
    g_itemid_ethereal = zp_register_extra_item("Ethereal", 25, ZP_TEAM_HUMAN)
    g_MaxPlayers = get_maxplayers()
    gmsgWeaponList = get_user_msgid("WeaponList")
}
public plugin_precache()
{
    precache_model(ethereal_V_MODEL)
    precache_model(ethereal_P_MODEL)
    precache_model(ethereal_W_MODEL)
    precache_sound(Fire_snd)
    precache_sound(Sound_Zoom)
    precache_sound("weapons/ethereal_draw.wav")
    precache_sound("weapons/ethereal_idle1.wav")
    precache_sound("weapons/ethereal_reload.wav")
    m_iBlood[0] = precache_model("sprites/blood.spr")
    m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
    g_beamSpr = precache_model("sprites/zbeam4.spr")
    precache_generic("sprites/weapon_ethereal.txt")
    precache_generic("sprites/640hud2.spr")
    precache_generic("sprites/640hud74.spr")
    precache_generic("sprites/640hud7.spr")
    register_clcmd("weapon_ethereal", "Hook_Select")
}

public Hook_Select(id)
{
   engclient_cmd(id, "weapon_ump45")
   return PLUGIN_HANDLED
}


public fwPrecacheEvent_Post(type, const name[])
{
    if (equal("events/ump45.sc", name))
    {
        g_orig_event_ethereal = get_orig_retval()
        return FMRES_HANDLED
    }
    return FMRES_IGNORED
}

public fw_CmdStart(id, uc_handle, seed)
{
    if(g_Reload[id])
        return PLUGIN_HANDLED

    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_UMP45 && g_has_ethereal[id] && !g_hasZoom[id] == true)
        {
            g_hasZoom[id] = true
            cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0)
            emit_sound(id, CHAN_ITEM, Sound_Zoom, 0.20, 2.40, 0, 100)
        }
        else if(szWeapID == CSW_UMP45 && g_has_ethereal[id] && g_hasZoom[id])
        {
            g_hasZoom[id] = false
            cs_set_user_zoom(id, CS_RESET_ZOOM, 0)    
        }
    }
    return PLUGIN_HANDLED
}

public client_connect(id)
{
    g_has_ethereal[id] = false
}
public client_disconnect(id)
{
    g_has_ethereal[id] = false
}public zp_user_infected_post(id)
{
    if (zp_get_user_zombie(id))
    {
        g_has_ethereal[id] = false
    }
}
public fw_SetModel(entity, model[])
{
    if(!is_valid_ent(entity))
        return FMRES_IGNORED;
    static szClassName[33]
    entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
    if(!equal(szClassName, "weaponbox"))
        return FMRES_IGNORED;
    static iOwner
    iOwner = entity_get_edict(entity, EV_ENT_owner)
    if(equal(model, "models/w_ump45.mdl"))
    {
        static iStoredSVDID
        iStoredSVDID = find_ent_by_owner(ENG_NULLENT, went, entity)
        if(!is_valid_ent(iStoredSVDID))
            return FMRES_IGNORED;
        if(g_has_ethereal[iOwner])
        {
            entity_set_int(iStoredSVDID, EV_INT_WEAPONKEY, WEAPONKEY)
            g_has_ethereal[iOwner] = false
            entity_set_model(entity, ethereal_W_MODEL)
            return FMRES_SUPERCEDE;
        }
    }
    return FMRES_IGNORED;
}
public give_ethereal(id)
{
    drop_weapons(id, 1);
    new iWep2 = give_item(id,went)
    if( iWep2 > 0 )
    {
    cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_ethereal))
    cs_set_user_bpammo (id, wId, get_pcvar_num(cvar_ethereal_ammo))
    }
    g_has_ethereal[id] = true;
}
public zp_extra_item_selected(id, itemid)
{
    if(itemid == g_itemid_ethereal)
    {
    give_ethereal(id)
    Sprite(id)
    }
}
public fw_ethereal_AddToPlayer(ethereal, id)
{
    if(!is_valid_ent(ethereal) || !is_user_connected(id))
        return HAM_IGNORED;
    if(entity_get_int(ethereal, EV_INT_WEAPONKEY) == WEAPONKEY)
    {
        g_has_ethereal[id] = true
        entity_set_int(ethereal, EV_INT_WEAPONKEY, 0)
        Sprite(id)
        return HAM_HANDLED;
    }
    if(entity_get_int(ethereal, EV_INT_WEAPONKEY) != WEAPONKEY)
    {
        Sprite1(id)
        return HAM_HANDLED;
    }
    return HAM_IGNORED;
}

public Sprite(id)
{
   
   message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
   write_string("weapon_ethereal")  
   write_byte(6)
   write_byte(100)
   write_byte(-1)
   write_byte(-1)
   write_byte(0)
   write_byte(15)
   write_byte(12)
   write_byte(0)
   message_end()

}

public Sprite1(id)
{
   
   message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
   write_string("weapon_ump45")  
   write_byte(6)
   write_byte(100)
   write_byte(-1)
   write_byte(-1)
   write_byte(0)
   write_byte(15)
   write_byte(12)
   write_byte(0)
   message_end()

}

public fw_UseStationary_Post(entity, caller, activator, use_type)
{
    if (use_type == USE_STOPPED && is_user_connected(caller))
        replace_weapon_models(caller, get_user_weapon(caller))
}
public fw_Item_Deploy_Post(weapon_ent)
{
    static owner
    owner = fm_cs_get_weapon_ent_owner(weapon_ent)
    static weaponid
    weaponid = cs_get_weapon_id(weapon_ent)
    replace_weapon_models(owner, weaponid)
    UTIL_PlayWeaponAnimation(owner,2,2)
}
public CurrentWeapon(id)
{
    replace_weapon_models(id, read_data(2))
}
replace_weapon_models(id, weaponid)
{
    switch (weaponid)
    {
        case wId:
        {
            if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
                return;
            if(g_has_ethereal[id])
            {
                set_pev(id, pev_viewmodel2, ethereal_V_MODEL)
                set_pev(id, pev_weaponmodel2, ethereal_P_MODEL)
            }
        }
    }
}
public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
{
 if(!is_user_alive(Player) || (get_user_weapon(Player) != wId) || !g_has_ethereal[Player])
 return FMRES_IGNORED
 set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
 return FMRES_HANDLED
}
public fw_ethereal_PrimaryAttack(Weapon)
{
    new Player = get_pdata_cbase(Weapon, 41, 4)
    if (!g_has_ethereal[Player])
        return;
    pev(Player,pev_punchangle,cl_pushangle[Player])
    g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    if(g_clip_ammo[Player]>0)
    UTIL_PlayWeaponAnimation(Player, 5,2)
}
public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
{
    if ((eventid != g_orig_event_ethereal))
        return FMRES_IGNORED
    if (!(1 <= invoker <= g_MaxPlayers))
        return FMRES_IGNORED
    playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
    return FMRES_SUPERCEDE
}
public fw_ethereal_PrimaryAttack_Post(Weapon)
{    new Player = get_pdata_cbase(Weapon, 41, 4)
    new szClip, szAmmo
    get_user_weapon(Player, szClip, szAmmo)
    if(Player > 0 && Player < 33)
    {
    if(g_has_ethereal[Player])
    {
    if(szClip > 0)emit_sound(Player, CHAN_WEAPON, Fire_snd, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
    }
    if(g_has_ethereal[Player])
    {
        new Float:push[3]
        pev(Player,pev_punchangle,push)
        xs_vec_sub(push,cl_pushangle[Player],push)
        xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_ethereal),push)
        xs_vec_add(push,cl_pushangle[Player],push)
        set_pev(Player,pev_punchangle,push)
        if (!g_clip_ammo[Player])
            return
        //show_tracer_effect(Player)
        make_blood_and_bulletholes(Player)
    }
    }
}
public TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
    if( !is_user_alive(iAttacker) || !g_has_ethereal[iAttacker])
        return
    new iWeapon = get_user_weapon(iAttacker)
    if( iWeapon !=CSW_UMP45 )
        return
    
    new szClip
    get_user_weapon(iAttacker, szClip)
    if(szClip < 1)
    return
    new flEnd[3]
    get_tr2(ptr, TR_vecEndPos, flEnd)

    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY )
    write_byte(TE_BEAMENTPOINT)
    write_short(iAttacker | 0x1000)
    write_coord_f(flEnd[0])
    write_coord_f(flEnd[1])
    write_coord_f(flEnd[2])
    write_short(g_beamSpr)
    write_byte(0) // framerate
    write_byte(0) // framerate
    write_byte(1) // life
    write_byte(5)  // width
    write_byte(0)// noise
    write_byte(255)// r, g, b
    write_byte(0)// r, g, b
    write_byte(0)// r, g, b
    write_byte(255)    // brightness
    write_byte(200)    // speed
    message_end()
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if (victim != attacker && is_user_connected(attacker))
    {
        if(get_user_weapon(attacker) == wId)
        {
            if(g_has_ethereal[attacker])
                SetHamParamFloat(10, damage * 30)
        }
    }
}
stock fm_cs_get_current_weapon_ent(id)
{
    return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX);
}
stock fm_cs_get_weapon_ent_owner(ent)
{
    return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS);
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence,body)
{
    set_pev(Player, pev_weaponanim, Sequence)
    message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
    write_byte(Sequence)
    write_byte(body)//pev(Player, pev_body))
    message_end()
}
stock make_blood_and_bulletholes(id)
{
    new aimOrigin[3], target, body
    get_user_origin(id, aimOrigin, 3)
    get_user_aiming(id, target, body)
    if(target > 0 && target <= g_MaxPlayers && zp_get_user_zombie(target))
    {
        new Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
        pev(id, pev_origin, fStart)
        velocity_by_aim(id, 64, fVel)
        fStart[0] = float(aimOrigin[0])
        fStart[1] = float(aimOrigin[1])
        fStart[2] = float(aimOrigin[2])
        fEnd[0] = fStart[0]+fVel[0]
        fEnd[1] = fStart[1]+fVel[1]
        fEnd[2] = fStart[2]+fVel[2]
        new res
        engfunc(EngFunc_TraceLine, fStart, fEnd, 0, target, res)
        get_tr2(res, TR_vecEndPos, fRes)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BLOODSPRITE)
        write_coord(floatround(fStart[0]))
        write_coord(floatround(fStart[1]))
        write_coord(floatround(fStart[2]))
        write_short( m_iBlood [ 1 ])
        write_short( m_iBlood [ 0 ] )
        write_byte(70)
        write_byte(random_num(1,2))
        message_end()
    }
    else if(!is_user_connected(target))
    {
        if(target)
        {
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_DECAL)
            write_coord(aimOrigin[0])
            write_coord(aimOrigin[1])
            write_coord(aimOrigin[2])
            write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
            write_short(target)
            message_end()
        }
        else
        {
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_WORLDDECAL)
            write_coord(aimOrigin[0])
            write_coord(aimOrigin[1])
            write_coord(aimOrigin[2])
            write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
            message_end()
        }
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_GUNSHOTDECAL)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        write_short(id)
        write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0]+2)
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1]+2)
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2]+2)
        message_end()
        
    }
}
public ethereal__ItemPostFrame(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
    new iBpAmmo = cs_get_user_bpammo(id, wId);
    new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
    new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
    if( fInReload && flNextAttack <= 0.0 )
    {
        new j = min(get_pcvar_num(cvar_clip_ethereal) - iClip, iBpAmmo)
        set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
        cs_set_user_bpammo(id, wId, iBpAmmo-j);
        set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
        fInReload = 0
    }
    return HAM_IGNORED;
}
public ethereal__Reload(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    g_ethereal_TmpClip[id] = -1;
    new iBpAmmo = cs_get_user_bpammo(id, wId);
    new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
    if (iBpAmmo <= 0)
        return HAM_SUPERCEDE;
    if (iClip >= get_pcvar_num(cvar_clip_ethereal))
        return HAM_SUPERCEDE;
    UTIL_PlayWeaponAnimation(id, 1,2)
    g_ethereal_TmpClip[id] = iClip;
    return HAM_IGNORED;
}
public ethereal__Reload_Post(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    if (g_ethereal_TmpClip[id] == -1)
        return HAM_IGNORED;
    set_pdata_int(weapon_entity, m_iClip, g_ethereal_TmpClip[id], WEAP_LINUX_XTRA_OFF)
    set_pdata_float(weapon_entity, m_flTimeWeaponIdle, RELOAD_TIME, WEAP_LINUX_XTRA_OFF)
    set_pdata_float(id, m_flNextAttack, RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)
    set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
    UTIL_PlayWeaponAnimation(id, 1,2)
    return HAM_IGNORED;
}
public fw_ethereal_Holster_Post(weapon_entity)
{
    static Player
    Player = get_pdata_cbase(weapon_entity, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
    
    g_flNextUseTime[Player] = 0.0

    if(g_has_ethereal[Player])
    {
        cs_set_user_zoom(Player, CS_RESET_ZOOM, 1)
    }
}
stock drop_weapons(id, dropwhat)
{
    static weapons[32], num, i, weaponid
    num = 0
    get_user_weapons(id, weapons, num)
    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)
         }
    }
}

stock fm_get_aim_vector(index, forward_distance, Float:forward_origin[3], Float:view_end_origin[3])
{
    new Float:start[3], Float:view_ofs[3]
    pev(index, pev_origin, start);
    pev(index, pev_view_ofs, view_ofs);
    xs_vec_add(start, view_ofs, start);
    
    new Float:vector[3], Float:temp[3];
    pev(index, pev_v_angle, vector);
    engfunc(EngFunc_MakeVectors, vector);
    global_get(glb_v_forward, vector);
    xs_vec_mul_scalar(vector, float(forward_distance), temp);
    xs_vec_add(start, temp, forward_origin);
    
    new Float:dest[3]
    xs_vec_mul_scalar(vector, 9999.0, temp);
    xs_vec_add(start, temp, dest);
    engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
    get_tr2(0, TR_vecEndPos, view_end_origin);
    
    return 1;
}

Denermisin


Verified Females
#3
denedim,maalesef damagesi halen aynı değişmemiş


#4
14. Satıra ayarlman için 
#Define CSAILESI_ATAK 40 'Diğe birşey ekledim. 40 ı arttırırsan damege artar indirrisen azalır Gülmekten Ölüyorum

Kod:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>





#define CSAILESI_ATAK 40




#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define WEAPONKEY 33
#define MAX_PLAYERS                32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)
const USE_STOPPED = 0
const OFFSET_ACTIVE_ITEM = 373
const OFFSET_WEAPONOWNER = 41
const OFFSET_LINUX = 5
const OFFSET_LINUX_WEAPONS = 4
#define WEAP_LINUX_XTRA_OFF            4
#define m_fKnown                44
#define m_flNextPrimaryAttack             46
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF            5
#define m_flNextAttack                83
#define RELOAD_TIME 3.0
#define wId CSW_UMP45
#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(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)
new const Sound_Zoom[] = { "weapons/zoom.wav" }
new const Fire_snd[] = {"weapons/ethereal-1.wav"}
new const went[] ={"weapon_ump45"}
new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
new ethereal_V_MODEL[64] = "models/v_ethereal.mdl"
new ethereal_P_MODEL[64] = "models/p_ethereal.mdl"
new ethereal_W_MODEL[64] = "models/w_ethereal.mdl"
new cvar_recoil_ethereal, cvar_dmg_ethereal, g_itemid_ethereal, cvar_clip_ethereal, cvar_ethereal_ammo
new g_has_ethereal[33], g_hasZoom[33], Float:g_flNextUseTime[33], g_Reload[33]
new g_MaxPlayers, g_orig_event_ethereal, g_clip_ammo[33]
new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
new g_ethereal_TmpClip[33],g_beamSpr,gmsgWeaponList
public plugin_init()
{
    register_plugin("[ZP] Extra: Ethereal", "1.0", "Zombie-Panic")
    register_event("CurWeapon","CurrentWeapon","be","1=1")
    RegisterHam(Ham_Item_AddToPlayer, went, "fw_ethereal_AddToPlayer")
    RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
    RegisterHam(Ham_Item_Deploy, went, "fw_Item_Deploy_Post", 1)
    RegisterHam(Ham_Weapon_PrimaryAttack, went, "fw_ethereal_PrimaryAttack")
    RegisterHam(Ham_Weapon_PrimaryAttack, went, "fw_ethereal_PrimaryAttack_Post", 1)
    RegisterHam(Ham_Item_PostFrame, went, "ethereal__ItemPostFrame");
    RegisterHam(Ham_Weapon_Reload, went, "ethereal__Reload");
    RegisterHam(Ham_Weapon_Reload, went, "ethereal__Reload_Post", 1);
    RegisterHam(Ham_TakeDamage, "info_target", "fw_TakeDamage")
    RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "worldspawn", "TraceAttack", 1)
    register_forward(FM_SetModel, "fw_SetModel")
    register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
    register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
    RegisterHam(Ham_Item_Holster, "weapon_ump45", "fw_ethereal_Holster_Post", 1)
    register_forward(FM_CmdStart, "fw_CmdStart")

    cvar_recoil_ethereal = register_cvar("zp_Ethereal_recoil", "0.5")
    cvar_dmg_ethereal = register_cvar("zp_Ethereal_dmg", "30")
    cvar_clip_ethereal = register_cvar("zp_Ethereal_clip", "25")
    cvar_ethereal_ammo = register_cvar("zp_Ethereal_ammo", "100")
    g_itemid_ethereal = zp_register_extra_item("Ethereal", 25, ZP_TEAM_HUMAN)
    g_MaxPlayers = get_maxplayers()
    gmsgWeaponList = get_user_msgid("WeaponList")
}
public plugin_precache()
{
    precache_model(ethereal_V_MODEL)
    precache_model(ethereal_P_MODEL)
    precache_model(ethereal_W_MODEL)
    precache_sound(Fire_snd)
    precache_sound(Sound_Zoom)
    precache_sound("weapons/ethereal_draw.wav")
    precache_sound("weapons/ethereal_idle1.wav")
    precache_sound("weapons/ethereal_reload.wav")
    m_iBlood[0] = precache_model("sprites/blood.spr")
    m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
    g_beamSpr = precache_model("sprites/zbeam4.spr")
    precache_generic("sprites/weapon_ethereal.txt")
    precache_generic("sprites/640hud2.spr")
    precache_generic("sprites/640hud74.spr")
    precache_generic("sprites/640hud7.spr")
    register_clcmd("weapon_ethereal", "Hook_Select")
}

public Hook_Select(id)
{
   engclient_cmd(id, "weapon_ump45")
   return PLUGIN_HANDLED
}


public fwPrecacheEvent_Post(type, const name[])
{
    if (equal("events/ump45.sc", name))
    {
        g_orig_event_ethereal = get_orig_retval()
        return FMRES_HANDLED
    }
    return FMRES_IGNORED
}

public fw_CmdStart(id, uc_handle, seed)
{
    if(g_Reload[id])
        return PLUGIN_HANDLED

    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_UMP45 && g_has_ethereal[id] && !g_hasZoom[id] == true)
        {
            g_hasZoom[id] = true
            cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0)
            emit_sound(id, CHAN_ITEM, Sound_Zoom, 0.20, 2.40, 0, 100)
        }
        else if(szWeapID == CSW_UMP45 && g_has_ethereal[id] && g_hasZoom[id])
        {
            g_hasZoom[id] = false
            cs_set_user_zoom(id, CS_RESET_ZOOM, 0)    
        }
    }
    return PLUGIN_HANDLED
}

public client_connect(id)
{
    g_has_ethereal[id] = false
}
public client_disconnect(id)
{
    g_has_ethereal[id] = false
}public zp_user_infected_post(id)
{
    if (zp_get_user_zombie(id))
    {
        g_has_ethereal[id] = false
    }
}
public fw_SetModel(entity, model[])
{
    if(!is_valid_ent(entity))
        return FMRES_IGNORED;
    static szClassName[33]
    entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
    if(!equal(szClassName, "weaponbox"))
        return FMRES_IGNORED;
    static iOwner
    iOwner = entity_get_edict(entity, EV_ENT_owner)
    if(equal(model, "models/w_ump45.mdl"))
    {
        static iStoredSVDID
        iStoredSVDID = find_ent_by_owner(ENG_NULLENT, went, entity)
        if(!is_valid_ent(iStoredSVDID))
            return FMRES_IGNORED;
        if(g_has_ethereal[iOwner])
        {
            entity_set_int(iStoredSVDID, EV_INT_WEAPONKEY, WEAPONKEY)
            g_has_ethereal[iOwner] = false
            entity_set_model(entity, ethereal_W_MODEL)
            return FMRES_SUPERCEDE;
        }
    }
    return FMRES_IGNORED;
}
public give_ethereal(id)
{
    drop_weapons(id, 1);
    new iWep2 = give_item(id,went)
    if( iWep2 > 0 )
    {
    cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_ethereal))
    cs_set_user_bpammo (id, wId, get_pcvar_num(cvar_ethereal_ammo))
    }
    g_has_ethereal[id] = true;
}
public zp_extra_item_selected(id, itemid)
{
    if(itemid == g_itemid_ethereal)
    {
    give_ethereal(id)
    Sprite(id)
    }
}
public fw_ethereal_AddToPlayer(ethereal, id)
{
    if(!is_valid_ent(ethereal) || !is_user_connected(id))
        return HAM_IGNORED;
    if(entity_get_int(ethereal, EV_INT_WEAPONKEY) == WEAPONKEY)
    {
        g_has_ethereal[id] = true
        entity_set_int(ethereal, EV_INT_WEAPONKEY, 0)
        Sprite(id)
        return HAM_HANDLED;
    }
    if(entity_get_int(ethereal, EV_INT_WEAPONKEY) != WEAPONKEY)
    {
        Sprite1(id)
        return HAM_HANDLED;
    }
    return HAM_IGNORED;
}

public Sprite(id)
{
   
   message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
   write_string("weapon_ethereal")  
   write_byte(6)
   write_byte(100)
   write_byte(-1)
   write_byte(-1)
   write_byte(0)
   write_byte(15)
   write_byte(12)
   write_byte(0)
   message_end()

}

public Sprite1(id)
{
   
   message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
   write_string("weapon_ump45")  
   write_byte(6)
   write_byte(100)
   write_byte(-1)
   write_byte(-1)
   write_byte(0)
   write_byte(15)
   write_byte(12)
   write_byte(0)
   message_end()

}

public fw_UseStationary_Post(entity, caller, activator, use_type)
{
    if (use_type == USE_STOPPED && is_user_connected(caller))
        replace_weapon_models(caller, get_user_weapon(caller))
}
public fw_Item_Deploy_Post(weapon_ent)
{
    static owner
    owner = fm_cs_get_weapon_ent_owner(weapon_ent)
    static weaponid
    weaponid = cs_get_weapon_id(weapon_ent)
    replace_weapon_models(owner, weaponid)
    UTIL_PlayWeaponAnimation(owner,2,2)
}
public CurrentWeapon(id)
{
    replace_weapon_models(id, read_data(2))
}
replace_weapon_models(id, weaponid)
{
    switch (weaponid)
    {
        case wId:
        {
            if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
                return;
            if(g_has_ethereal[id])
            {
                set_pev(id, pev_viewmodel2, ethereal_V_MODEL)
                set_pev(id, pev_weaponmodel2, ethereal_P_MODEL)
            }
        }
    }
}
public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
{
 if(!is_user_alive(Player) || (get_user_weapon(Player) != wId) || !g_has_ethereal[Player])
 return FMRES_IGNORED
 set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
 return FMRES_HANDLED
}
public fw_ethereal_PrimaryAttack(Weapon)
{
    new Player = get_pdata_cbase(Weapon, 41, 4)
    if (!g_has_ethereal[Player])
        return;
    pev(Player,pev_punchangle,cl_pushangle[Player])
    g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    if(g_clip_ammo[Player]>0)
    UTIL_PlayWeaponAnimation(Player, 5,2)
}
public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
{
    if ((eventid != g_orig_event_ethereal))
        return FMRES_IGNORED
    if (!(1 <= invoker <= g_MaxPlayers))
        return FMRES_IGNORED
    playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
    return FMRES_SUPERCEDE
}
public fw_ethereal_PrimaryAttack_Post(Weapon)
{    new Player = get_pdata_cbase(Weapon, 41, 4)
    new szClip, szAmmo
    get_user_weapon(Player, szClip, szAmmo)
    if(Player > 0 && Player < 33)
    {
    if(g_has_ethereal[Player])
    {
    if(szClip > 0)emit_sound(Player, CHAN_WEAPON, Fire_snd, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
    }
    if(g_has_ethereal[Player])
    {
        new Float:push[3]
        pev(Player,pev_punchangle,push)
        xs_vec_sub(push,cl_pushangle[Player],push)
        xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_ethereal),push)
        xs_vec_add(push,cl_pushangle[Player],push)
        set_pev(Player,pev_punchangle,push)
        if (!g_clip_ammo[Player])
            return
        //show_tracer_effect(Player)
        make_blood_and_bulletholes(Player)
    }
    }
}
public TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
    if( !is_user_alive(iAttacker) || !g_has_ethereal[iAttacker])
        return
    new iWeapon = get_user_weapon(iAttacker)
    if( iWeapon !=CSW_UMP45 )
        return
    
    new szClip
    get_user_weapon(iAttacker, szClip)
    if(szClip < 1)
    return
    new flEnd[3]
    get_tr2(ptr, TR_vecEndPos, flEnd)

    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY )
    write_byte(TE_BEAMENTPOINT)
    write_short(iAttacker | 0x1000)
    write_coord_f(flEnd[0])
    write_coord_f(flEnd[1])
    write_coord_f(flEnd[2])
    write_short(g_beamSpr)
    write_byte(0) // framerate
    write_byte(0) // framerate
    write_byte(1) // life
    write_byte(5)  // width
    write_byte(0)// noise
    write_byte(255)// r, g, b
    write_byte(0)// r, g, b
    write_byte(0)// r, g, b
    write_byte(255)    // brightness
    write_byte(200)    // speed
    message_end()
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if (victim != attacker && is_user_connected(attacker))
    {
        if(get_user_weapon(attacker) == wId)
        {
            if(g_has_ethereal[attacker])
                SetHamParamFloat(10, damage * CSAILESI_ATAK)
        }
    }
}
stock fm_cs_get_current_weapon_ent(id)
{
    return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX);
}
stock fm_cs_get_weapon_ent_owner(ent)
{
    return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS);
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence,body)
{
    set_pev(Player, pev_weaponanim, Sequence)
    message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
    write_byte(Sequence)
    write_byte(body)//pev(Player, pev_body))
    message_end()
}
stock make_blood_and_bulletholes(id)
{
    new aimOrigin[3], target, body
    get_user_origin(id, aimOrigin, 3)
    get_user_aiming(id, target, body)
    if(target > 0 && target <= g_MaxPlayers && zp_get_user_zombie(target))
    {
        new Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
        pev(id, pev_origin, fStart)
        velocity_by_aim(id, 64, fVel)
        fStart[0] = float(aimOrigin[0])
        fStart[1] = float(aimOrigin[1])
        fStart[2] = float(aimOrigin[2])
        fEnd[0] = fStart[0]+fVel[0]
        fEnd[1] = fStart[1]+fVel[1]
        fEnd[2] = fStart[2]+fVel[2]
        new res
        engfunc(EngFunc_TraceLine, fStart, fEnd, 0, target, res)
        get_tr2(res, TR_vecEndPos, fRes)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BLOODSPRITE)
        write_coord(floatround(fStart[0]))
        write_coord(floatround(fStart[1]))
        write_coord(floatround(fStart[2]))
        write_short( m_iBlood [ 1 ])
        write_short( m_iBlood [ 0 ] )
        write_byte(70)
        write_byte(random_num(1,2))
        message_end()
    }
    else if(!is_user_connected(target))
    {
        if(target)
        {
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_DECAL)
            write_coord(aimOrigin[0])
            write_coord(aimOrigin[1])
            write_coord(aimOrigin[2])
            write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
            write_short(target)
            message_end()
        }
        else
        {
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_WORLDDECAL)
            write_coord(aimOrigin[0])
            write_coord(aimOrigin[1])
            write_coord(aimOrigin[2])
            write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
            message_end()
        }
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_GUNSHOTDECAL)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        write_short(id)
        write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0]+2)
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1]+2)
        write_coord(aimOrigin[2])
        message_end()
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_SPARKS)
        write_coord(aimOrigin[0])
        write_coord(aimOrigin[1])
        write_coord(aimOrigin[2]+2)
        message_end()
        
    }
}
public ethereal__ItemPostFrame(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)
    new iBpAmmo = cs_get_user_bpammo(id, wId);
    new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
    new fInReload = get_pdata_int(weapon_entity, m_fInReload, WEAP_LINUX_XTRA_OFF)
    if( fInReload && flNextAttack <= 0.0 )
    {
        new j = min(get_pcvar_num(cvar_clip_ethereal) - iClip, iBpAmmo)
        set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
        cs_set_user_bpammo(id, wId, iBpAmmo-j);
        set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
        fInReload = 0
    }
    return HAM_IGNORED;
}
public ethereal__Reload(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    g_ethereal_TmpClip[id] = -1;
    new iBpAmmo = cs_get_user_bpammo(id, wId);
    new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)
    if (iBpAmmo <= 0)
        return HAM_SUPERCEDE;
    if (iClip >= get_pcvar_num(cvar_clip_ethereal))
        return HAM_SUPERCEDE;
    UTIL_PlayWeaponAnimation(id, 1,2)
    g_ethereal_TmpClip[id] = iClip;
    return HAM_IGNORED;
}
public ethereal__Reload_Post(weapon_entity) {
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED;
    if (!g_has_ethereal[id])
        return HAM_IGNORED;
    if (g_ethereal_TmpClip[id] == -1)
        return HAM_IGNORED;
    set_pdata_int(weapon_entity, m_iClip, g_ethereal_TmpClip[id], WEAP_LINUX_XTRA_OFF)
    set_pdata_float(weapon_entity, m_flTimeWeaponIdle, RELOAD_TIME, WEAP_LINUX_XTRA_OFF)
    set_pdata_float(id, m_flNextAttack, RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)
    set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)
    UTIL_PlayWeaponAnimation(id, 1,2)
    return HAM_IGNORED;
}
public fw_ethereal_Holster_Post(weapon_entity)
{
    static Player
    Player = get_pdata_cbase(weapon_entity, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS)
    
    g_flNextUseTime[Player] = 0.0

    if(g_has_ethereal[Player])
    {
        cs_set_user_zoom(Player, CS_RESET_ZOOM, 1)
    }
}
stock drop_weapons(id, dropwhat)
{
    static weapons[32], num, i, weaponid
    num = 0
    get_user_weapons(id, weapons, num)
    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)
         }
    }
}

stock fm_get_aim_vector(index, forward_distance, Float:forward_origin[3], Float:view_end_origin[3])
{
    new Float:start[3], Float:view_ofs[3]
    pev(index, pev_origin, start);
    pev(index, pev_view_ofs, view_ofs);
    xs_vec_add(start, view_ofs, start);
    
    new Float:vector[3], Float:temp[3];
    pev(index, pev_v_angle, vector);
    engfunc(EngFunc_MakeVectors, vector);
    global_get(glb_v_forward, vector);
    xs_vec_mul_scalar(vector, float(forward_distance), temp);
    xs_vec_add(start, temp, forward_origin);
    
    new Float:dest[3]
    xs_vec_mul_scalar(vector, 9999.0, temp);
    xs_vec_add(start, temp, dest);
    engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
    get_tr2(0, TR_vecEndPos, view_end_origin);
    
    return 1;
}





#6
Son Düzenleme: 06-08-2017, Saat: 12:32, Düzenleyen: satknun1997.
@ MawiLarq değeri 90 yaptığım halde artmadı Gülücük
@SwindLer maalesef seninkindede hasarda değişen bişey olmadı Üzüldüm


#7
#define m_flNextPrimaryAttack



#8
yok olmuyor onunda değerini arttırdım yinede olmuyor çıldırıcam olmuyor Gülücük


#9
@satknun1997 :d Plugini en baştan incelicez mecburda bu silah modlu felanmı baya atak komutu var ?



#10
@ MawiLarq hayır sadece sadece tek atak modu var birde dürbünü var o kadar ruslardan çaldım Gülücük




Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Silinmiş Konu   | Bu Silahın Kudretini Bilmeyen HalfLife'cı Çıkar mı ? `SherLock 1 248 20-08-2019, Saat: 15:42
Son Yorum: Smash
Silinmiş Konu   | Zeus silahının hasarı yükseltilecek serhat2110 1 273 29-07-2019, Saat: 15:41
Son Yorum: ITenGriTR

Task