Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Supply Box Pro Mod (Havadan Düşen Kutular)

Counter-Strike 1.6 Eklenti Paylaşımı

Moderatör: Moderatörler

Forum kuralları
DİKKAT !
Konu Başlığı veya içeriği BÜYÜK HARFLERLE olan konular direk silenecektir !
Burası eklenti paylaşım bölümüdür ve yönetici onaylıdır. Alakasız konular hiçbir şekilde onaylanmayacaktır

Eklenti eklerken eklenti kurallarına uyulması gerekir.
En önemlisi paylaşılan eklenti şablonuna uyulması gerekir.
Bu hususlara dikkat edilmeyip paylaşılan eklenti konuları silenecektir.
Kullanıcı avatarı

TunnS[C]
Mesajlar: 3971
Kayıt: Prş Oca 05, 2017 12:38 pm
Konum: Ordu
Server Ip/DNS: 213.238.173.78
Clan İsmi: CapitaLL |
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen TunnS[C] »

@redarmygaming

Simdi senin model spr waw larini yukluyorum.Fakat sma @CSmiLeFaCe nin dimi oyle anladim cunki :)

Etiketler:
Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen Taha Demirbaş »

@TunnS[C] aynen bio ise onu yükleyeceksin. Pro-dm-bk-jb-dr-bh(include edilecek item koymadım) ise benim 1.3 versionu yükleyip deneyebilirsin.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

TunnS[C]
Mesajlar: 3971
Kayıt: Prş Oca 05, 2017 12:38 pm
Konum: Ordu
Server Ip/DNS: 213.238.173.78
Clan İsmi: CapitaLL |
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen TunnS[C] »

Biohazar zaten serverim ilk yolu denicem insallah sorun cikarmaz cok zor bir eklenti

Link:
Linklerini gizle
Linki Kopyala

memoby
Mesajlar: 218
Kayıt: Çrş Ağu 31, 2016 7:36 pm

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen memoby »

@redarmygaming plugin çok faydalı fakat belirlediğimiz yerlere malesefki kutu atmıyor hep sabit yere kutuyu atıyor yeşil çizgiler çıkıyor ardından save yapıyorum /kutuat diyorum yine hep kendi belirlemiş olduğu tek noktaya atıyor sürekli olarak

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

LazZz
Mesajlar: 89
Kayıt: Cmt Eyl 03, 2016 10:29 pm

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen LazZz »

@redarmygaming Mrb.

Kutunun içinden çıkmasını istediğim silahımn kodu

public plugin_natives ()
{
register_native("give_weapon_sfgun2", "native_give_weapon_add", 1)
}
public native_give_weapon_add(id)
{
give_sfgun(id)




bu şekilde.

TR_SuPPLyBoX.sma nın içine silah için ayrılan kısım >

public rastgelever(id){
switch (random_num(0, 2))
{
case 0:
{
//Verilen 1
client_print(id, print_chat,"Verilen 1")
}
case 1:
{
//Verilen 2
client_print(id, print_chat,"Verilen 2")
}
case 2:
{
//Verilen 3
client_print(id, print_chat,"Verilen 3")
}


böyleyken verilen yazan kısımlara yukardaki özel silah kodunun hangisini yazmalıyız aktif olması için. Kutular düşmeye başladı onu becerdikde ((: içinden silah çıkartmayı yapamadık.Yardım lütfen..

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9624
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen Yek'-ta »





Ana eklentinin son hali.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <xs>
#include <biohazard>


//Forumda paylaştığım bio supplybox sması

native GoldenM4Ver(oyuncu); //zp_extra_goldenm4.sma dan çekilen native
native BalrogVer(oyuncu); //balrog-i.sma dan çekilen native
native ElementalVer(oyuncu); //balrog-i.sma dan çekilen native

public rastgelever(id){
    switch (random_num(0, 2))
    {
        case 0:
        {
            GoldenM4Ver(id);
            client_print(id, print_chat,"Kutudan GoldenM4A1 Cikti.") //Bu kısımda çıkan yazı.
        }
        case 1:
        {
            BalrogVer(id);
            client_print(id, print_chat,"Kutudan Balrog Cikti.")
        }
        case 2:
        {
            ElementalVer(id);
            client_print(id, print_chat,"Kutudan Elemental Cikti.")
        }
    }
    
}

//KUTUDAN DÜŞMESİNİ İSTEDİKLERİNİZ YUKARI




#define PLUGIN "[BIO] Addon: SupplyBox Multi"
#define VERSION "1.1 Multi"
#define AUTHOR "Dias" //CSmiLeFaCe for biohazard.

// ======================= SUPPLYBOX CONFIG ======================== // 
#define SUPPLYBOX_CLASSNAME "supplybox"
#define TASK_SUPPLYBOX 128256
#define TASK_SUPPLYBOX2 138266
#define TASK_SUPPLYBOX_HELP 129257
#define TASK_SUPPLYBOX_WAIT 130259
const MAX_SUPPLYBOX_ENT = 100
new const supplybox_spawn_file[] = "%s/supplybox/%s.cfg"
new const supplybox_icon_spr[] = 
{
    "sprites/supplybox_plague/icon_supplybox.spr"
}
new const supplybox_model[][] = 
{
    "models/supplybox_plague/supplybox.mdl"
}
new const supplybox_drop_sound[][] = 
{
    "supplybox_plague/supplybox_drop.wav"
}
new const supplybox_pickup_sound[][] = 
{
    "supplybox_plague/supplybox_pickup.wav"
}
// ======================= END OF SUPPLYBOX CONFIG ======================== // 

// Below here is hard code. Don't edit anything except cvars
new g_supplybox_num, g_supplybox_wait[33], supplybox_count, 
supplybox_ent[MAX_SUPPLYBOX_ENT], g_supplybox_icon_id, Float:g_supplybox_spawn[MAX_SUPPLYBOX_ENT][3],
g_total_supplybox_spawn
new cvar_supplybox_icon, cvar_supplybox_max, cvar_supplybox_num, cvar_supplybox_totalintime, 
cvar_supplybox_time, cvar_supplybox_delaytime, cvar_supplybox_icon_size, cvar_supplybox_icon_light
new bool:made_supplybox, Float:g_icon_delay[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    register_forward(FM_Touch, "fw_supplybox_touch")
    
    cvar_supplybox_max = register_cvar("zp_supplybox_max", "16")
    cvar_supplybox_num = register_cvar("zp_supplybox_num", "2")
    cvar_supplybox_totalintime = register_cvar("zp_supplybox_totalintime", "4")
    cvar_supplybox_time = register_cvar("zp_supplybox_time", "30")
    cvar_supplybox_icon = register_cvar("zp_supplybox_icon", "1")
    cvar_supplybox_delaytime = register_cvar("zp_supplybox_icon_delay_time", "1.0")    
    cvar_supplybox_icon_size = register_cvar("zp_supplybox_icon_size", "2")
    cvar_supplybox_icon_light = register_cvar("zp_supplybox_icon_light", "100")
    
    set_task(2.0, "update_radar", _, _, _, "b")
    
    
}
public event_infect()
{
    if(!made_supplybox)
    {
        made_supplybox = true
        
        if(task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
        
        if(!g_total_supplybox_spawn)
        {
            client_print(0, print_console, "[SupplyBox][Hata] Kutu atilacak bolgeler belirli degil Bolge olustur.!")
        } else {
            set_task(get_pcvar_float(cvar_supplybox_time), "create_supplybox", TASK_SUPPLYBOX)
        }
    }
}
public plugin_precache()
{
    
    load_supplybox_spawn()
    
    static i
    for(i = 0; i < sizeof(supplybox_model); i++)
        engfunc(EngFunc_PrecacheModel, supplybox_model[i])
    for(i = 0; i < sizeof(supplybox_drop_sound); i++)
        engfunc(EngFunc_PrecacheSound, supplybox_drop_sound[i])        
    for(i = 0; i < sizeof(supplybox_pickup_sound); i++)
        engfunc(EngFunc_PrecacheSound, supplybox_pickup_sound[i])
        
    g_supplybox_icon_id = engfunc(EngFunc_PrecacheModel, supplybox_icon_spr)
}

public plugin_cfg()
{
    set_task(0.5, "event_newround")
}

public load_supplybox_spawn()
{
    // Check for spawns points of the current map
    new cfgdir[32], mapname[32], filepath[100], linedata[64]
    get_configsdir(cfgdir, charsmax(cfgdir))
    get_mapname(mapname, charsmax(mapname))
    formatex(filepath, charsmax(filepath), supplybox_spawn_file, cfgdir, mapname)
    
    // Load spawns points
    if (file_exists(filepath))
    {
        new file = fopen(filepath,"rt"), row[4][6]
        
        while (file && !feof(file))
        {
            fgets(file, linedata, charsmax(linedata))
            
            // invalid spawn
            if(!linedata[0] || str_count(linedata,' ') < 2) continue;
            
            // get spawn point data
            parse(linedata,row[0],5,row[1],5,row[2],5)
            
            // origin
            g_supplybox_spawn[g_total_supplybox_spawn][0] = floatstr(row[0])
            g_supplybox_spawn[g_total_supplybox_spawn][1] = floatstr(row[1])
            g_supplybox_spawn[g_total_supplybox_spawn][2] = floatstr(row[2])

            g_total_supplybox_spawn++
            if (g_total_supplybox_spawn >= MAX_SUPPLYBOX_ENT) 
                break
        }
        if (file) fclose(file)
    }
}

public update_radar()
{    
    for (new id = 1; id <= get_maxplayers(); id++)
    {
        if (!is_user_alive(id) || !supplybox_count || is_user_zombie(id)) 
            continue
        
        static i, next_ent
        i = 1
        while(i <= supplybox_count)
        {
            next_ent = supplybox_ent[i]
            if (next_ent && is_valid_ent(next_ent))
            {
                static Float:origin[3]
                pev(next_ent, pev_origin, origin)
                
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
                write_byte(id)
                write_byte(i)        
                write_coord(floatround(origin[0]))
                write_coord(floatround(origin[1]))
                write_coord(floatround(origin[2]))
                message_end()
            
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
                write_byte(i)
                message_end()
            }

            i++
        }
    }
}

public event_newround()
{
    made_supplybox = false
    
    remove_supplybox()
    supplybox_count = 0
    
    if(task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
    if(task_exists(TASK_SUPPLYBOX2)) remove_task(TASK_SUPPLYBOX2)
    if(task_exists(TASK_SUPPLYBOX_HELP)) remove_task(TASK_SUPPLYBOX_HELP)
    
}

public client_PostThink(id)
{
    if (!get_pcvar_num(cvar_supplybox_icon) || !is_user_alive(id) || is_user_zombie(id))
        return
    if((g_icon_delay[id] + get_pcvar_float(cvar_supplybox_delaytime)) > get_gametime())
        return
        
    g_icon_delay[id] = get_gametime()

    if (supplybox_count)
    {
        static i, box_ent
        i = 1
        
        while (i <= supplybox_count)
        {
            box_ent = supplybox_ent[i]
            create_icon_origin(id, box_ent, g_supplybox_icon_id)
            i++
        }
    }
}

public create_supplybox(id)
{
    if (supplybox_count >= get_pcvar_num(cvar_supplybox_max)) 
        return

    if (task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
    set_task(get_pcvar_float(cvar_supplybox_time), "create_supplybox", TASK_SUPPLYBOX)
    
    if (get_total_supplybox() >= get_pcvar_num(cvar_supplybox_totalintime)) 
        return
    
    g_supplybox_num = 0
    create_supplybox2()
    
    static random_sound
    random_sound = random_num(0, charsmax(supplybox_drop_sound))
    client_cmd(0, "spk ^"%s^"", supplybox_drop_sound[random_sound])
    
    for(new i = 0; i < get_maxplayers(); i++)
    {
        if(is_user_alive(i) && is_user_connected(i) && !is_user_zombie(i))
            client_print(i, print_center,"Yardim Kutusu Atildi Bul Onu..!")
    }
    
    if (task_exists(TASK_SUPPLYBOX_HELP)) remove_task(TASK_SUPPLYBOX_HELP)
    set_task(3.0, "show_supplybox_help", TASK_SUPPLYBOX_HELP)

    if (task_exists(TASK_SUPPLYBOX2)) remove_task(TASK_SUPPLYBOX2)
    set_task(0.5, "create_supplybox2", TASK_SUPPLYBOX2, _, _, "b")    
}

public create_supplybox2()
{
    if (supplybox_count >= get_pcvar_num(cvar_supplybox_max)
    || get_total_supplybox() >= get_pcvar_num(cvar_supplybox_totalintime))
    {
        remove_task(TASK_SUPPLYBOX2)
        return
    }
    
    supplybox_count++
    g_supplybox_num++

    new ent = create_entity("info_target")
    
    entity_set_string(ent, EV_SZ_classname, SUPPLYBOX_CLASSNAME)
    entity_set_model(ent, supplybox_model[random_num(0, charsmax(supplybox_model))])
    entity_set_size(ent,Float:{-2.0,-2.0,-2.0},Float:{5.0,5.0,5.0})
    entity_set_int(ent,EV_INT_solid,1)
    entity_set_int(ent,EV_INT_movetype,6)
    entity_set_int(ent, EV_INT_iuser1, 3) //here
    entity_set_int(ent, EV_INT_iuser2, supplybox_count)
    
    static Float:Origin[3]
    collect_spawn_point(Origin)
    engfunc(EngFunc_SetOrigin, ent, Origin)
    
    supplybox_ent[supplybox_count] = ent

    if ((g_supplybox_num >= get_pcvar_num(cvar_supplybox_num)) && task_exists(TASK_SUPPLYBOX2)) 
        remove_task(TASK_SUPPLYBOX2)
}

public get_total_supplybox()
{
    new total
    for (new i = 1; i <= supplybox_count; i++)
    {
        if (supplybox_ent[i]) total += 1
    }
    return total
}

public show_supplybox_help()
{
    for(new i = 0; i < get_maxplayers(); i++)
    {
        if(is_user_alive(i) && is_user_connected(i) && !is_user_zombie(i))
            client_print(i, print_center,"Yardim Kutularinin Yerleri Radarina Eklendi..!")
    }
}

public remove_supplybox()
{
    remove_ent_by_class(SUPPLYBOX_CLASSNAME)
    new supplybox_ent_reset[MAX_SUPPLYBOX_ENT]
    supplybox_ent = supplybox_ent_reset
}

public fw_supplybox_touch(ent, id)
{
    if (!pev_valid(ent) || !is_user_alive(id) || is_user_zombie(id) ||  g_supplybox_wait[id]) 
        return FMRES_IGNORED
    
    static classname[32]
    entity_get_string(ent,EV_SZ_classname,classname,31)
    
    if (equal(classname, SUPPLYBOX_CLASSNAME))
    {
        
        rastgelever(id)
        
        static name[32]
        get_user_name(id, name, sizeof(name))
        client_print(0, print_center,"%s Kutu Acti", name)
        
        static random_sound
        random_sound = random_num(0, charsmax(supplybox_pickup_sound))
        emit_sound(id, CHAN_VOICE, supplybox_pickup_sound[random_sound], 1.0, ATTN_NORM, 0, PITCH_NORM)

        new num_box = entity_get_int(ent, EV_INT_iuser2)
        supplybox_ent[num_box] = 0
        remove_entity(ent)

        g_supplybox_wait[id] = 1
        if (task_exists(id+TASK_SUPPLYBOX_WAIT)) remove_task(id+TASK_SUPPLYBOX_WAIT)
        set_task(2.0, "remove_supplybox_wait", id+TASK_SUPPLYBOX_WAIT)
    }
    
    return FMRES_IGNORED
}

public remove_supplybox_wait(id)
{
    id -= TASK_SUPPLYBOX_WAIT
    
    g_supplybox_wait[id] = 0
    if (task_exists(id+TASK_SUPPLYBOX_WAIT)) remove_task(id+TASK_SUPPLYBOX_WAIT)
}

stock collect_spawn_point(Float:origin[3]) // By Sontung0
{
    for (new i = 1; i <= g_total_supplybox_spawn *3 ; i++)
    {
        origin = g_supplybox_spawn[random(g_total_supplybox_spawn)]
        if (check_spawn_box(origin)) return 1;
    }

    return 0;
}
stock check_spawn_box(Float:origin[3]) // By Sontung0
{
    new Float:originE[3], Float:origin1[3], Float:origin2[3]
    new ent = -1
    while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", SUPPLYBOX_CLASSNAME)) != 0)
    {
        pev(ent, pev_origin, originE)
        
        // xoy
        origin1 = origin
        origin2 = originE
        origin1[2] = origin2[2] = 0.0
        if (vector_distance(origin1, origin2) <= 32.0) return 0;
    }
    return 1;
}

stock create_icon_origin(id, ent, sprite) // By sontung0
{
    if (!pev_valid(ent)) return;
    
    new Float:fMyOrigin[3]
    entity_get_vector(id, EV_VEC_origin, fMyOrigin)
    
    new target = ent
    new Float:fTargetOrigin[3]
    entity_get_vector(target, EV_VEC_origin, fTargetOrigin)
    fTargetOrigin[2] += 40.0
    
    if (!is_in_viewcone(id, fTargetOrigin)) return;

    new Float:fMiddle[3], Float:fHitPoint[3]
    xs_vec_sub(fTargetOrigin, fMyOrigin, fMiddle)
    trace_line(-1, fMyOrigin, fTargetOrigin, fHitPoint)
                            
    new Float:fWallOffset[3], Float:fDistanceToWall
    fDistanceToWall = vector_distance(fMyOrigin, fHitPoint) - 10.0
    normalize(fMiddle, fWallOffset, fDistanceToWall)
    
    new Float:fSpriteOffset[3]
    xs_vec_add(fWallOffset, fMyOrigin, fSpriteOffset)
    new Float:fScale
    fScale = 0.01 * fDistanceToWall
    
    new scale = floatround(fScale)
    scale = max(scale, 1)
    scale = min(scale, get_pcvar_num(cvar_supplybox_icon_size))
    scale = max(scale, 1)

    te_sprite(id, fSpriteOffset, sprite, scale, get_pcvar_num(cvar_supplybox_icon_light))
}

stock te_sprite(id, Float:origin[3], sprite, scale, brightness) // By sontung0
{    
    message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
    write_byte(TE_SPRITE)
    write_coord(floatround(origin[0]))
    write_coord(floatround(origin[1]))
    write_coord(floatround(origin[2]))
    write_short(sprite)
    write_byte(scale) 
    write_byte(brightness)
    message_end()
}

stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul) // By sontung0
{
    new Float:fLen = xs_vec_len(fIn)
    xs_vec_copy(fIn, fOut)
    
    fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
    fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}

stock str_count(const str[], searchchar) // By Twilight Suzuka
{
    new count, i, len = strlen(str)
    
    for (i = 0; i <= len; i++)
    {
        if(str[i] == searchchar)
            count++
    }
    
    return count;
}

stock remove_ent_by_class(classname[])
{
    new nextitem  = find_ent_by_class(-1, classname)
    while(nextitem)
    {
        remove_entity(nextitem)
        nextitem = find_ent_by_class(-1, classname)
    }
}
----------------
Golden M4A1

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <biohazard>

#define is_valid_player(%1) (1 <= %1 <= 32)

new M4_V_MODEL[64] = "models/zombie_plague/v_golden_m4a1_UP.mdl"
new M4_P_MODEL[64] = "models/zombie_plague/p_golden_m4a1_UP.mdl"

/* Pcvars */
new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip

new bool:g_HasM4[33]

new g_hasZoom[ 33 ]
new bullets[ 33 ]

// Sprite
new m_spriteTexture

const Wep_m4a1 = ((1<<CSW_M4A1))

public plugin_init()
{
    
    /* CVARS */
    cvar_dmgmultiplier = register_cvar("zp_goldenm4_dmg_multiplier", "12")
    cvar_custommodel = register_cvar("zp_goldenm4_custom_model", "1")
    cvar_goldbullets = register_cvar("zp_goldenm4_gold_bullets", "1")
    cvar_uclip = register_cvar("zp_goldenm4_unlimited_clip", "1")
    
    // Register The Plugin
    register_plugin("[ZP] Extra: Golden M4A1", "1.1", "Bill=Thailand=[UP]")
    
    // 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_HasM4[id] = false
}

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

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

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

public plugin_precache()
{
    precache_model(M4_V_MODEL)
    precache_model(M4_P_MODEL)
    m_spriteTexture = precache_model("sprites/dot.spr")
    precache_sound("weapons/zoom.wav")
}

public event_infect(id, saldiran)
{
    if (is_user_zombie(id)) //ZP deki zombi mi değil mi sorgulaması,
    {
        g_HasM4[id] = false
    }
}

public checkModel(id)
{
    if ( is_user_zombie(id) )
        return PLUGIN_HANDLED
    
    new szWeapID = read_data(2)
    
    if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        set_pev(id, pev_viewmodel2, M4_V_MODEL)
        set_pev(id, pev_weaponmodel2, M4_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_M4A1 && g_HasM4[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_M4A1 && g_HasM4[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_M4A1 && g_HasM4[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_M4A1 && g_HasM4[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_M4A1) && g_HasM4[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
    }
    
}
//Şuanda bioya uyumlu oldu, ama bu silahı supplybox için uyarlayacağımız için hala eklemeler yapacağız.
//Bu yüzden native kullanacağız.

public plugin_natives(){
    register_native("GoldenM4Ver","silahiver",1);
}
    
//Şimdi bio için supplybox eklentimizi açalım.
public silahiver(player)
{
    
    if ( user_has_weapon(player, CSW_M4A1) )
    {
        drop_prim(player)
    }
    give_item(player, "weapon_m4a1")
    //client_print(player, print_chat, "[ZP] You bought Golden M4A1") //Bu yazıya artık ihtiyacımız yok kaldırabililriz.
    g_HasM4[player] = true;
}

stock drop_prim(id) 
{
    new weapons[32], num
    get_user_weapons(id, weapons, num)
    for (new i = 0; i < num; i++) {
        if (Wep_m4a1 & (1<<weapons[i])) 
        {
            static wname[32]
            get_weaponname(weapons[i], wname, sizeof wname - 1)
            engclient_cmd(id, "drop", wname)
        }
    }
}

 
--------------
Balrog

Kod: Tümünü seç

#include <amxmodx>
#include <engine>
#include <fakemeta_util>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <biohazard>

#define ENG_NULLENT            -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define b1_WEAPONKEY     621
#define MAX_PLAYERS          32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)

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 b1_SHOOT1            2
#define b1_SHOOT2              3
#define b1_SHOOT_EMPTY            3
#define b1_RELOAD            4
#define b1_DRAW                5
#define b1_RELOAD_TIME 3.0
#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)


public plugin_natives() {
    register_native("BalrogVer","give_b1",1);
}

new const Fire_Sounds[][] = { "weapons/balrog1-1.wav", "weapons/balrog1-2.wav" }

new b1_V_MODEL[64] = "models/v_balrog1.mdl"
new b1_P_MODEL[64] = "models/p_balrog1.mdl"
new b1_W_MODEL[64] = "models/w_balrog1.mdl"

new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }

new cvar_dmg_b1, cvar_recoil_b1, cvar_clip_b1, cvar_spd_b1, cvar_b1_ammo, cvar_dmg_exp
new g_MaxPlayers, g_orig_event_b1, g_IsInPrimaryAttack, g_iClip
new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
new g_has_b1[33], g_clip_ammo[33], oldweap[33],g_b1_TmpClip[33]
new gmsgWeaponList, gMode[33], sExplo

const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_deagle", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
"weapon_ak47", "weapon_knife", "weapon_p90" }

public plugin_init()
{
    register_plugin("[ZP] Extra: Balrog-I", "1.0", "Barney")
    register_event("CurWeapon","CurrentWeapon","be","1=1")
    RegisterHam(Ham_Item_AddToPlayer, "weapon_deagle", "fw_b1_AddToPlayer")
    for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
    if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
    RegisterHam(Ham_Item_PostFrame, "weapon_deagle", "b1_ItemPostFrame")
    RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "b1_Reload")
    RegisterHam(Ham_Weapon_Reload, "weapon_deagle", "b1_Reload_Post", 1)
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_b1_PrimaryAttack")
    RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_b1_PrimaryAttack_Post", 1)
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    register_forward(FM_SetModel, "fw_SetModel")
    register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
    register_forward(FM_PlaybackEvent, "fwPlaybackEvent")
    
    RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1)
    RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1)

    cvar_dmg_b1 = register_cvar("zp_b1_dmg", "2.5")
    cvar_dmg_exp = register_cvar("zp_b1_dmg_exp", "300.")
    cvar_recoil_b1 = register_cvar("zp_b1_recoil", "1.0")
    cvar_clip_b1 = register_cvar("zp_b1_clip", "10")
    cvar_spd_b1 = register_cvar("zp_b1_spd", "0.7")
    cvar_b1_ammo = register_cvar("zp_b1_ammo", "100")

    g_MaxPlayers = get_maxplayers()
    gmsgWeaponList = get_user_msgid("WeaponList")
}

public plugin_precache()
{
    precache_model(b1_V_MODEL)
    precache_model(b1_P_MODEL)
    precache_model(b1_W_MODEL)
    for(new i = 0; i < sizeof Fire_Sounds; i++)
    precache_sound(Fire_Sounds[i])    
    precache_sound("weapons/balrog1_changea.wav")
    precache_sound("weapons/balrog1_changeb.wav")
    precache_sound("weapons/balrog1_draw.wav")
    precache_sound("weapons/balrog1_reload.wav")
    precache_sound("weapons/balrog1_reloadb.wav")
    m_iBlood[0] = precache_model("sprites/blood.spr")
    m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    precache_generic("sprites/weapon_balrog1.txt")
       precache_generic("sprites/640hud83.spr")
        precache_generic("sprites/640hud4.spr")
    sExplo = precache_model("sprites/balrogcritical.spr")
    register_clcmd("weapon_balrog1", "weapon_hook")

    register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)
}

public weapon_hook(id)
{
    engclient_cmd(id, "weapon_deagle")
    return PLUGIN_HANDLED
}

public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
    if(!is_user_alive(iAttacker))
        return

    new g_currentweapon = get_user_weapon(iAttacker)

    if(g_currentweapon != CSW_DEAGLE) return
    
    if(!g_has_b1[iAttacker]) return

    static Float:flEnd[3]
    get_tr2(ptr, TR_vecEndPos, flEnd)
    
    if(iEnt)
    {
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_DECAL)
        write_coord_f(flEnd[0])
        write_coord_f(flEnd[1])
        write_coord_f(flEnd[2])
        write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
        write_short(iEnt)
        message_end()
    }
    else
    {
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_WORLDDECAL)
        write_coord_f(flEnd[0])
        write_coord_f(flEnd[1])
        write_coord_f(flEnd[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_f(flEnd[0])
    write_coord_f(flEnd[1])
    write_coord_f(flEnd[2])
    write_short(iAttacker)
    write_byte(GUNSHOT_DECALS[random_num (0, sizeof GUNSHOT_DECALS -1)])
    message_end()
}

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

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

public client_disconnected(id) //CSDurağı 1.8.3 compiler'ında ed ekliyorduk sonuna, hazır elimiz değmişken onuda halledelim.
{
    g_has_b1[id] = false
}

public event_infect(id)
{
    if (is_user_zombie(id))
    {
        g_has_b1[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_deagle.mdl"))
    {
        static iStoredAugID
        
        iStoredAugID = find_ent_by_owner(ENG_NULLENT, "weapon_deagle", entity)
    
        if(!is_valid_ent(iStoredAugID))
            return FMRES_IGNORED
    
        if(g_has_b1[iOwner])
        {
            entity_set_int(iStoredAugID, EV_INT_WEAPONKEY, b1_WEAPONKEY)
            
            g_has_b1[iOwner] = false
            
            entity_set_model(entity, b1_W_MODEL)
            
            return FMRES_SUPERCEDE
        }
    }
    return FMRES_IGNORED
}


        
        

public give_b1(id)
{
    drop_weapons(id, 2)
    new iWep2 = fm_give_item(id,"weapon_deagle")
    if( iWep2 > 0 )
    {
        cs_set_weapon_ammo(iWep2, get_pcvar_num(cvar_clip_b1))
        cs_set_user_bpammo (id, CSW_DEAGLE, get_pcvar_num(cvar_b1_ammo))    
        UTIL_PlayWeaponAnimation(id, b1_DRAW)
        set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)

        message_begin(MSG_ONE, gmsgWeaponList, _, id)
        write_string("weapon_balrog1")
        write_byte(8)
        write_byte(35)
        write_byte(-1)
        write_byte(-1)
        write_byte(1)
        write_byte(1)
        write_byte(CSW_DEAGLE)
        message_end()
    }
    g_has_b1[id] = true
} //Bunda yazı yazmıyormuş.

public fw_b1_AddToPlayer(b1, id)
{
    if(!is_valid_ent(b1) || !is_user_connected(id))
        return HAM_IGNORED
    
    if(entity_get_int(b1, EV_INT_WEAPONKEY) == b1_WEAPONKEY)
    {
        g_has_b1[id] = true
        
        entity_set_int(b1, EV_INT_WEAPONKEY, 0)

        message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
        write_string("weapon_balrog1")
        write_byte(8)
        write_byte(35)
        write_byte(-1)
        write_byte(-1)
        write_byte(1)   
        write_byte(1) 
        write_byte(CSW_DEAGLE)
        message_end()
        
        return HAM_HANDLED
    }
    else
    {
        message_begin(MSG_ONE, gmsgWeaponList, {0,0,0}, id)
        write_string("weapon_deagle")
        write_byte(8)
        write_byte(35)
        write_byte(-1)
        write_byte(-1)
        write_byte(1)
        write_byte(1)
        write_byte(CSW_DEAGLE)
        message_end()
    }
    return HAM_IGNORED
}

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)
}

public CurrentWeapon(id)
{
     replace_weapon_models(id, read_data(2))

     if(read_data(2) != CSW_DEAGLE || !g_has_b1[id])
          return
     
     static Float:iSpeed
     if(g_has_b1[id])
          iSpeed = get_pcvar_float(cvar_spd_b1)
     
     static weapon[32],Ent
     get_weaponname(read_data(2),weapon,31)
     Ent = find_ent_by_owner(-1,weapon,id)
     if(Ent)
     {
          static Float:Delay
          Delay = get_pdata_float( Ent, 46, 4) * iSpeed
          if (Delay > 0.0)
          {
               set_pdata_float(Ent, 46, Delay, 4)
          }
     }
}

replace_weapon_models(id, weaponid)
{
    switch (weaponid)
    {
        case CSW_DEAGLE:
        {
            if (is_user_zombie(id))
                return
            
            if(g_has_b1[id])
            {
                set_pev(id, pev_viewmodel2, b1_V_MODEL)
                set_pev(id, pev_weaponmodel2, b1_P_MODEL)
                if(oldweap[id] != CSW_DEAGLE) 
                {
                    UTIL_PlayWeaponAnimation(id, b1_DRAW)
                    set_pdata_float(id, m_flNextAttack, 1.0, PLAYER_LINUX_XTRA_OFF)
                    gMode[id] = 0
                    message_begin(MSG_ONE, gmsgWeaponList, _, id)
                    write_string("weapon_balrog1")
                    write_byte(8)
                    write_byte(35)
                    write_byte(-1)
                    write_byte(-1)
                    write_byte(1)
                    write_byte(1)
                    write_byte(CSW_DEAGLE)
                    message_end()
                }
            }
        }
    }
    oldweap[id] = weaponid
}

public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
{
    if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_DEAGLE || !g_has_b1[Player]))
        return FMRES_IGNORED
    
    set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
    return FMRES_HANDLED
}

public fw_b1_PrimaryAttack(Weapon)
{
    new Player = get_pdata_cbase(Weapon, 41, 4)
    
    if (!g_has_b1[Player])
        return
    
    g_IsInPrimaryAttack = 1
    pev(Player,pev_punchangle,cl_pushangle[Player])
    
    g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    g_iClip = cs_get_weapon_ammo(Weapon)
}

public explode(id)
{
    if(is_user_alive(id))
    {
            new Float:originF[3]
            fm_get_aim_origin(id,originF)
            message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
            write_byte(TE_EXPLOSION)
            engfunc(EngFunc_WriteCoord, originF[0])
            engfunc(EngFunc_WriteCoord, originF[1])
            engfunc(EngFunc_WriteCoord, originF[2])
            write_short(sExplo)
            write_byte(20)
            write_byte(50)
            write_byte(0)
            message_end()
            new a = FM_NULLENT
            while((a = find_ent_in_sphere(a,originF,200.0)) != 0)
            {
            if(pev(a,pev_takedamage)!=DAMAGE_NO)
            {
            ExecuteHamB( Ham_TakeDamage, a ,id ,id, get_pcvar_float(cvar_dmg_exp), DMG_BULLET )
            }
            }
    }
}

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_b1) || !g_IsInPrimaryAttack)
        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_b1_PrimaryAttack_Post(Weapon)
{
    g_IsInPrimaryAttack = 0
    new Player = get_pdata_cbase(Weapon, 41, 4)
    
    new szClip, szAmmo
    get_user_weapon(Player, szClip, szAmmo)
    
    if(!is_user_alive(Player))
        return

    if (g_iClip <= cs_get_weapon_ammo(Weapon))
        return

    if(g_has_b1[Player])
    {
        if (!g_clip_ammo[Player])
            return

        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_b1),push)
        xs_vec_add(push,cl_pushangle[Player],push)
        set_pev(Player,pev_punchangle,push)
        if( gMode[Player] ) {
            explode(Player)
            set_pdata_float( Player, 83, 2.0 )
        }
        emit_sound(Player, CHAN_WEAPON, Fire_Sounds[gMode[Player]], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
        UTIL_PlayWeaponAnimation(Player, gMode[Player]?b1_SHOOT2:b1_SHOOT1)
        if( gMode[Player] ) gMode[Player] = 0
    }
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
    if (victim != attacker && is_user_connected(attacker))
    {
        if(get_user_weapon(attacker) == CSW_DEAGLE)
        {
            if(g_has_b1[attacker])
                SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_b1))
        }
    }
}

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)
{
    set_pev(Player, pev_weaponanim, Sequence)
    
    message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
    write_byte(Sequence)
    write_byte(pev(Player, pev_body))
    message_end()
}

public b1_ItemPostFrame(weapon_entity) 
{
     new id = pev(weapon_entity, pev_owner)
     if (!is_user_connected(id))
          return HAM_IGNORED

     if (!g_has_b1[id])
          return HAM_IGNORED

     static iClipExtra
     
     iClipExtra = get_pcvar_num(cvar_clip_b1)
     new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, PLAYER_LINUX_XTRA_OFF)

     new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE);
     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( pev( id, pev_button ) & IN_ATTACK2 && flNextAttack <= 0.0) {
        UTIL_PlayWeaponAnimation(id, !gMode[id]?6:7 )
        gMode[id] = (gMode[id]?0:1)
        set_pdata_float( id, 83, 2.0 )
     }
     if( fInReload && flNextAttack <= 0.0 )
     {
         new j = min(iClipExtra - iClip, iBpAmmo)
    
         set_pdata_int(weapon_entity, m_iClip, iClip + j, WEAP_LINUX_XTRA_OFF)
         cs_set_user_bpammo(id, CSW_DEAGLE, iBpAmmo-j)
        
         set_pdata_int(weapon_entity, m_fInReload, 0, WEAP_LINUX_XTRA_OFF)
         fInReload = 0
     }
     return HAM_IGNORED
}

public b1_Reload(weapon_entity) 
{
     new id = pev(weapon_entity, pev_owner)
     if (!is_user_connected(id))
          return HAM_IGNORED

     if (!g_has_b1[id])
          return HAM_IGNORED

     static iClipExtra

     if(g_has_b1[id])
          iClipExtra = get_pcvar_num(cvar_clip_b1)

     g_b1_TmpClip[id] = -1

     new iBpAmmo = cs_get_user_bpammo(id, CSW_DEAGLE)
     new iClip = get_pdata_int(weapon_entity, m_iClip, WEAP_LINUX_XTRA_OFF)

     if (iBpAmmo <= 0)
          return HAM_SUPERCEDE

     if (iClip >= iClipExtra)
          return HAM_SUPERCEDE

     g_b1_TmpClip[id] = iClip

     return HAM_IGNORED
}

public b1_Reload_Post(weapon_entity) 
{
    new id = pev(weapon_entity, pev_owner)
    if (!is_user_connected(id))
        return HAM_IGNORED

    if (!g_has_b1[id])
        return HAM_IGNORED

    if (g_b1_TmpClip[id] == -1)
        return HAM_IGNORED

    set_pdata_int(weapon_entity, m_iClip, g_b1_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    set_pdata_float(weapon_entity, m_flTimeWeaponIdle, b1_RELOAD_TIME, WEAP_LINUX_XTRA_OFF)

    set_pdata_float(id, m_flNextAttack, b1_RELOAD_TIME, PLAYER_LINUX_XTRA_OFF)

    set_pdata_int(weapon_entity, m_fInReload, 1, WEAP_LINUX_XTRA_OFF)

    UTIL_PlayWeaponAnimation(id, gMode[id]?8:b1_RELOAD)
    gMode[id] = 0

    return HAM_IGNORED
}

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 == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))
          {
               static wname[32]
               get_weaponname(weaponid, wname, sizeof wname - 1)
               engclient_cmd(id, "drop", wname)
          }
     }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/


Gerisi size kalmış, nasıl yapacağınızı 3 video çekerek gösterdim.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

caddegarge
Yasaklı Üye
Yasaklı Üye
Mesajlar: 623
Kayıt: Cmt Kas 21, 2015 6:16 pm
Konum: Eskişehir
Server Ip/DNS: cs120.csduragi.com

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen caddegarge »

@CSmiLeFaCe Vaov süper anlatılmış teşekkürler :D

Link:
Linklerini gizle
Linki Kopyala

dogukankbcm0626
Mesajlar: 9
Kayıt: Çrş Ara 07, 2016 10:56 pm

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen dogukankbcm0626 »

zombie biohazard mod ıcın ayarlarmısınız ?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen Taha Demirbaş »

Konunun icerisinde bioya uygun paylasilmistir.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Supply Box Pro Mod (Havadan Düşen Kutular)

Mesaj gönderen Taha Demirbaş »

Anlasilan bu ele pro versionunda ek silahlar icin el atmak gerekecek. Bu aksam icerisinde ekstra silah ekleme gibi ozellikler gelecek

Link:
Linklerini gizle
Linki Kopyala
Cevapla