⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Webailesi.comWebailesi.com

Konu

#1
Eklentideki bıçaklara sabit hasar özelliği ekleyebilir misiniz her bıçağın hasarı farklı olacak şekilde
.smaknifemenu.sma(Dosya Boyutu: 2,79 KB | İndirme Sayısı: 10)
#2
Kod:
#include <amxmodx>
#include <reapi>

native get_user_level(id);

new gorunum[MAX_CLIENTS+1];

new bicakmodel[][][]={
    {"Default","models/v_knife.mdl", "models/p_knife.mdl", 0},
    {"Sheep Sword","models/v_chevalbec1.mdl", "models/p_chevalbec1.mdl", 10},
    {"Dragon Knife","models/v_chevalbec2.mdl", "models/p_chevalbec2.mdl", 20},
    {"Vampire Sword","models/v_chevalbecc3.mdl", "models/p_chevalbec3.mdl", 30},
    {"FrostMourne","models/v_chevalbec4.mdl", "models/p_chevalbec4.mdl", 40},
    {"Fire Axe","models/v_chevalbec5.mdl", "models/p_chevalbec5.mdl", 50},
    {"Double Sword","models/v_chevalbec6.mdl", "models/p_chevalbec6.mdl", 60},
    {"Ice Axe","models/v_chevalbec7.mdl", "models/p_chevalbec7.mdl", 70},
    {"Flame Sword","models/v_xtreme_knife3.mdl", "models/p_xtreme_knife3.mdl", 75}
};
public plugin_init() {
    register_plugin( "Bicak Menu", "0.1", "bilalgecer47");
    
    new const menuclcmd[][]={
        "say /bicak","knife"
    };
    for(new i;i<sizeof(menuclcmd);i++){
        register_clcmd(menuclcmd[i],"@anamenu");
    }
    
    RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "@CBasePlayerWeapon_DefaultDeploy_Pre", .post = false);
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post = false);
}

public plugin_precache() {
    for(new i = 0; i < sizeof(bicakmodel); i++) {
        precache_model(bicakmodel[i][1][0]);
        precache_model(bicakmodel[i][2][0]);
    }
}
@CBasePlayerWeapon_DefaultDeploy_Pre(const pEntity, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
    
    if(get_member(pEntity, m_iId) != WEAPON_KNIFE) {
        return;
    }
    new pPlayer = get_member(pEntity, m_pPlayer);
    
    SetHookChainArg(2, ATYPE_STRING, bicakmodel[gorunum[pPlayer]][1][0]);
    SetHookChainArg(3, ATYPE_STRING, bicakmodel[gorunum[pPlayer]][2][0]);
}

public CBasePlayer_TakeDamage(const iVictim, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
    if(iVictim == pevAttacker) return HC_CONTINUE;
    if(pevInflictor != pevAttacker) return HC_CONTINUE;
    if(!is_user_connected(pevAttacker)) return HC_CONTINUE; //non-player damage
    if(WeaponIdType:get_member(get_member(pevAttacker, m_pActiveItem), m_iId) != WEAPON_KNIFE) return HC_CONTINUE;

    switch(gorunum[pevAttacker])
    {
        //case 0: SetHookChainArg(4, ATYPE_FLOAT, 100.0);
        case 1: SetHookChainArg(4, ATYPE_FLOAT, 110.0);
        case 2: SetHookChainArg(4, ATYPE_FLOAT, 120.0);
        case 3: SetHookChainArg(4, ATYPE_FLOAT, 130.0);
        case 4: SetHookChainArg(4, ATYPE_FLOAT, 140.0);
        case 5: SetHookChainArg(4, ATYPE_FLOAT, 150.0);
        case 6: SetHookChainArg(4, ATYPE_FLOAT, 160.0);
        case 7: SetHookChainArg(4, ATYPE_FLOAT, 170.0);
        case 8: SetHookChainArg(4, ATYPE_FLOAT, 180.0);
    }

    return HC_CONTINUE;
}

@anamenu(const id)
{
    new TeamName:iTeam = get_member(id, m_iTeam);
    if(iTeam != TEAM_CT)
    {
        client_print_color(id, id, "^4[ ^1KNIFE ^4] ^3Bicak menüye yalnızca ^4Arayanlar ^3girebilir");
        client_cmd(id, "spk %s", "events/friend_died.wav");
        return;
    }
    new menu = menu_create(fmt("\rBICAK MENU"), "@anamenu_devam");

    for(new i = 0; i < sizeof(bicakmodel); i++) {
        menu_additem(menu, fmt("\r[ \w%s \r] \r[ Level : %i \r]", bicakmodel[i][0][0], bicakmodel[i][3][0]), fmt("%d", i));
        
    }
    menu_setprop(menu, MPROP_PERPAGE, 0);
    menu_display(id, menu);
}
@anamenu_devam(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
    new key = str_to_num(data);
    if(get_user_level(id) >= bicakmodel[key][3][0]) {
        gorunum[id] = key;
        rg_remove_item(id,"weapon_knife");rg_give_item(id,"weapon_knife");
    }
    else {
        client_print_color(id, id, "^4[ ^1KNIFE ^4] ^3Levelin yetersiz");
        client_cmd(id, "spk %s", "events/friend_died.wav");
        return PLUGIN_HANDLED;
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

9 tane bıçağın mevcut sanırım. 0. bıçak default olduğu için onun hasarını değiştirmedim.
Kod:
        case 1: SetHookChainArg(4, ATYPE_FLOAT, 110.0);
        case 2: SetHookChainArg(4, ATYPE_FLOAT, 120.0);
        case 3: SetHookChainArg(4, ATYPE_FLOAT, 130.0);
        case 4: SetHookChainArg(4, ATYPE_FLOAT, 140.0);
        case 5: SetHookChainArg(4, ATYPE_FLOAT, 150.0);
        case 6: SetHookChainArg(4, ATYPE_FLOAT, 160.0);
        case 7: SetHookChainArg(4, ATYPE_FLOAT, 170.0);
        case 8: SetHookChainArg(4, ATYPE_FLOAT, 180.0);

Hasarları değiştirmek istiyorsan. Örnek case 1'de ki şu kısmı değiştir. "110.0" Sonunda her zaman ".0" olsun.
Test etmedim çünkü elimde modeller yok. Test edip geri dönüş yaparsın.
Steam
Son Düzenleme: 22-07-2022, 09:09, Düzenleyen: deciduous.Son Düzenleme: 22-07-2022, 09:09, Düzenleyen: deciduous.
#3
Teşekkürler sorunsuz çalışıyor @deciduous
#4
İstek konusu, @deciduous adlı kullanıcı tarafından 21 saat içinde çözülmüştür.
İsteği çözdüğü için deciduous Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
deciduous Adlı kullanıcı sizin dışınızda toplam 20 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task