⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
SponsorSponsor

Kniferank

kniferank
Hello, I found this plugin here from you and I liked it and it works perfectly. But I would ask you if someone makes it instead of knives to become ak47.Thanks to everyone who made it, greetings from Bulgaria.

Kod:
#include <amxmodx>
#include <reapi>
#include <nvault>
#include <cromchat>

new const tag[] = "\rKNIFE \ySKIN \wFRAG";

new gorunum3[MAX_CLIENTS + 1];
new g_kills[MAX_CLIENTS + 1];

new const RANK_NAMES[][] = {
    "Default", "Grizzly", "Snow", "Blueplasma", "White", "Galaxy",
    "Space", "Tron", "Purple", "Green", "Frozen", "Tronblue", "Venom",
    "Mecenat", "Blooby", "Color", "Shadow Fire", "Pro Skull", "Graffiti", "Titan",
    "Vip"
};

new const RANK_KILL_LIMITS[] = {
    0, 100, 200, 300, 400, 500, 600, 700, 800, 1000, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3400, 3800, 4500
};

new const menuclcmd[][] = { "say /kf", "say /knife" };

new knifemodel[][][] = {
    {"Default", "models/v_knife.mdl"},
    {"Grizzly", "models/latinn/v_grizly.mdl"},
    {"Snow", "models/latinn/v_snow.mdl"},
    {"Blueplasma", "models/latinn/v_blueplazma.mdl"},
    {"White", "models/latinn/v_white.mdl"},
    {"Galaxy", "models/latinn/v_galaxy.mdl"},
    {"Space", "models/latinn/v_space.mdl"},
    {"Tron", "models/latinn/v_tron.mdl"},
    {"Purple", "models/latinn/v_purple.mdl"},
    {"Green", "models/latinn/v_green.mdl"},
    {"Frozen", "models/latinn/v_frozen.mdl"},
    {"Tronblue", "models/latinn/v_tronblue.mdl"},
    {"Venom", "models/latinn/v_venom.mdl"},
    {"Mecenat", "models/latinn/v_mecenat.mdl"},
    {"Blooby", "models/latinn/v_blooby.mdl"},
    {"Color", "models/latinn/v_color.mdl"},
    {"Shadow Fire", "models/latinn/v_shadow_fire.mdl"},
    {"Pro Skull", "models/latinn/v_pro_skull.mdl"},
    {"Graffiti", "models/latinn/v_graffiti.mdl"},
    {"Titan", "models/latinn/v_titan.mdl"},
    {"Vip", "models/latinn/v_vip.mdl"}
};

new g_vault;

public plugin_init() {
    register_plugin("Knife Menu + Rank ", "1.0", "Latinn");

    for (new i; i < sizeof(menuclcmd); i++) {
        register_clcmd(menuclcmd[i], "anamenu");
    }

    register_event("DeathMsg", "event_death", "a");
    RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "CBasePlayerWeapon_DefaultDeploy_Pre", .post = false);
    set_task(1.0, "show_hud", .flags="b");
}

public plugin_precache() {
    for (new i = 0; i < sizeof(knifemodel); i++) {
        precache_model(knifemodel[i][1]);
    }
}

public CBasePlayerWeapon_DefaultDeploy_Pre(const pEntity, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
    new pPlayer = get_member(pEntity, m_pPlayer);

    if (get_member(pEntity, m_iId) == WEAPON_KNIFE) {
        SetHookChainArg(2, ATYPE_STRING, knifemodel[gorunum3[pPlayer]][1]);
    }
}

public anamenu(const id) {
    new rankname[32];
    get_user_rankname(id, rankname, charsmax(rankname));

    new menu = menu_create(fmt("\d[ %s\d ]^n \r~\w> \wKnife Menu | \dSkin: \y%s", tag, rankname), "anamenu_devam");

    menu_additem(menu, "Knife Skins^n");

    menu_setprop(menu, MPROP_EXITNAME, fmt("\wExit"));
    menu_display(id, menu);
}

public anamenu_devam(const id, const menu, const item) {
    switch (item) {
        case 0: knifemenu(id);
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public knifemenu(const id) {
    new rankname[32];
    get_user_rankname(id, rankname, charsmax(rankname));

    new menu = menu_create(fmt("\d[ %s\d ] \r~\w> \wKnife Menu | \dSkin: \y%s", tag, rankname), "knifemenu_handler");

    new player_kills = g_kills[id];

    for (new i = 0; i < sizeof(knifemodel); i++) {
        if (player_kills >= RANK_KILL_LIMITS[i]) {
            menu_additem(menu, fmt("\w%s \d[ \y%s \d]", knifemodel[i][0], RANK_NAMES[i]), fmt("%d", i));
        } else {
            menu_additem(menu, fmt("\d%s \d[ \y%d kill need \d]", knifemodel[i][0], RANK_KILL_LIMITS[i]));
        }
    }

    menu_setprop(menu, MPROP_EXITNAME, fmt("\wExit"));
    menu_display(id, menu);
}

public knifemenu_handler(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 (g_kills[id] >= RANK_KILL_LIMITS[key]) {
        gorunum3[id] = key;
        CC_SendMessage(id, "&x01[&x04SKIN&x01] &x03%s &x01the knife was chosen.", knifemodel[key][0]);
    } else {
        CC_SendMessage(id, "&x01[&x04SKIN&x01] &x03You don't have enough kills for this knife&x01!");
    }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public plugin_cfg() {
    g_vault = nvault_open("ChampionsKnifeData");
}

public plugin_end() {
    nvault_close(g_vault);
}

public client_authorized(id) {
    new authid[MAX_AUTHID_LENGTH];
    get_user_authid(id, authid, charsmax(authid));

    g_kills[id] = nvault_get(g_vault, fmt("%s-[Kills]", authid));
    gorunum3[id] = nvault_get(g_vault, fmt("%s-[Pick]", authid));

    new rankname[32];
    get_user_rankname(id, rankname, charsmax(rankname));
    CC_SendMessage(id, "&x01[&x04SKIN&x01] &x04Knife: &x01%s &x03| &x04Kill: &x01%d", rankname, g_kills[id]);
}

public client_disconnected(id) {
    new authid[MAX_AUTHID_LENGTH];
    get_user_authid(id, authid, charsmax(authid));

    nvault_set(g_vault, fmt("%s-[Pick]", authid), fmt("%d", gorunum3[id]));
    nvault_set(g_vault, fmt("%s-[Kills]", authid), fmt("%d", g_kills[id]));
}

public event_death() {
    new killer = read_data(1);
    new victim = read_data(2);

    if (killer > 0 && killer <= 32 && killer != victim) {
        g_kills[killer]++;

        new authid[MAX_AUTHID_LENGTH];
        get_user_authid(killer, authid, charsmax(authid));
        nvault_set(g_vault, fmt("%s-[Kills]", authid), fmt("%d", g_kills[killer]));
    }
}

public get_user_rankname(id, rankname[], len) {
    new kills = g_kills[id];

    for (new i = sizeof(RANK_KILL_LIMITS) - 1; i >= 0; i--) {
        if (kills >= RANK_KILL_LIMITS[i]) {
            formatex(rankname, len, RANK_NAMES[i]);
            return;
        }
    }
    formatex(rankname, len, RANK_NAMES[0]);
}

public show_hud() {
    for (new id = 1; id <= 32; id++) {
        if (!is_user_connected(id)) continue;

        new kills = g_kills[id];
        new nextRankKills = 0;
        new rankIdx = 0;

        for (new i = 0; i < sizeof(RANK_KILL_LIMITS); i++) {
            if (kills < RANK_KILL_LIMITS[i]) {
                nextRankKills = RANK_KILL_LIMITS[i];
                rankIdx = i - 1;
                break;
            }
            rankIdx = i;
        }

        // Настройки на позицията за зелен цвят и ляв централен дисплей
        set_hudmessage(0, 255, 0, 0.01, 0.92, 0, 1.0, 1.0, 0.1, 0.2, -1); // RGB: 0,255,0 (Yeşil)
        show_hudmessage(id, "[Knife: %s] [Frag: %d/%d kill]",
            RANK_NAMES[rankIdx], kills, nextRankKills);
    }
}

.inccromchat.inc(Dosya Boyutu: 26,21 KB | İndirme Sayısı: 2)
RE: kniferank
Hello,
Change this:
Kod:
if (get_member(pEntity, m_iId) == WEAPON_KNIFE) {
==>
if (get_member(pEntity, m_iId) == WEAPON_AK47) {

You can also change the knife texts that in the menu titles to ak47.
Steam:Tıkla • Discord: lynchk
RE: kniferank
İstek konusu, @Lynchk adlı kullanıcı tarafından 6 saat içinde çözülmüştür.
İsteği çözdüğü için Lynchk Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Lynchk Adlı kullanıcı sizin dışınızda toplam 1078 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
Konuyu Okuyanlar: 1 Ziyaretçi
Task