⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
⭐ Buraya kendi metin reklamınızı vererek binlerce kişiye ulaşın! ⭐
Sponsor Görsel 2
SponsorSponsor

Eklenti Derleme Hatası

Eklenti Derleme hatası
Selamlar,

şu Eklenti Oyunyöneticisi serverlerinde şu hatayı veriyormuş;

symbol hatası; bind_pcvar_num

hataları duzeltebilirmisiniz

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

#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))

new const tag[] = "SchnAps";

new const sound[] = "fvox/beep.wav";
new const levelatla[] = "rexp_seviye_atlama.wav"

new g_seviye[MAX_CLIENTS + 1];
new g_xp[MAX_CLIENTS + 1];
new g_chosen[MAX_CLIENTS + 1];
new g_tmpisim[MAX_CLIENTS + 1];
new ly[MAX_CLIENTS + 1];
new ey[MAX_CLIENTS + 1];
new as[MAX_CLIENTS + 1];
new g_rank[MAX_CLIENTS + 1][30];
new syncObj, syncObj2;
new xpkayit;
new xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
bool:xps_heal_up, bool:xps_damage_up, xps_edo, bool:xps_parilti,
bool:xps_seviye_mesaj;
new g_authid[MAX_CLIENTS + 1][30];

public plugin_init() {
    register_plugin("ReXP System", "1.1", "PurposeLess");

    register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
    register_clcmd("say /xplist", "clcmd_xplist");
    register_clcmd("say /xpler", "clcmd_xplist");
    register_clcmd("say /xpreset", "clcmd_reset");

    register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
    register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
    register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
    register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
    register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
    register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
    register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");

    register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
    register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");

    RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
    RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);

    bind_pcvar_num(create_cvar("xps_start", "30"), xps_start);
    bind_pcvar_num(create_cvar("xps_inc", "10"), xps_inc);
    bind_pcvar_num(create_cvar("xps_kill", "30"), xps_kill);
    bind_pcvar_num(create_cvar("xps_knife", "50"), xps_knife);
    bind_pcvar_num(create_cvar("xps_headshot", "50"), xps_headshot);
    bind_pcvar_num(create_cvar("xps_heal_up", "1", _, _, true, 0.0, true, 1.0), xps_heal_up);
    bind_pcvar_num(create_cvar("xps_damage_up", "1", _, _, true, 0.0, true, 1.0), xps_damage_up);
    bind_pcvar_num(create_cvar("xps_maxgivexp", "9999999"), maxgivexp);
    bind_pcvar_num(create_cvar("xps_parilti", "1", _, _, true, 0.0, true, 1.0), xps_parilti);
    bind_pcvar_num(create_cvar("xps_seviye_mesaj", "1", _, _, true, 0.0, true, 1.0), xps_seviye_mesaj);

    syncObj = CreateHudSyncObj();
    syncObj2 = CreateHudSyncObj();

    if(get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
    {
        RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
        RegisterHookChain(RG_PlantBomb, "PlantBomb");

        bind_pcvar_num(create_cvar("xps_edo", "5"), xps_edo);
    }
}

public plugin_precache()
{
    precache_sound(sound);
    precache_sound(levelatla);
}

public plugin_cfg()
{
    xpkayit = nvault_open("xps_kayitt");
}

public plugin_end()
{
    for(new id = 1; id <= MAX_CLIENTS; id++)
    {
        g_save_xps(id, g_authid[id]);
    }

    nvault_close(xpkayit);
}

public client_putinserver(id)
{
    g_rank[id] = "UNRANKED";
}

public client_authorized(id, const authid[])
{
    g_seviye[id] = 1;
    g_xp[id] = 0;
    set_task(1.0, "show_explevel", id, .flags = "b");

    g_load_xps(id, authid);
    copy(g_authid[id], charsmax(g_authid[]), authid);
}

public client_disconnected(id)
{
    g_save_xps(id, g_authid[id]);

    remove_task(id);
}

public clcmd_reset(const id)
{
    g_seviye[id] = 1;
    g_xp[id] = 0;

    client_print_color(id, id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
    return PLUGIN_HANDLED;
}

public clcmd_xplist(const id)
{
    new menu = menu_create("\yLevel Score List", "clcmd_xplist2");

    new players[32], text[64], tempid[10], inum;
    static Uid;
    get_players(players, inum, "ac");
    for(new i; i<inum; i++)
    {
        Uid = players[i];
        text[0] = '^0';

        num_to_str(Uid, tempid, charsmax(tempid));
        formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
        menu_additem(menu, text, tempid);
    }

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

public clcmd_xplist2(const id, const menu, const item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public clcmd_xpkontrol(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        client_print_color(id, id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
        return PLUGIN_HANDLED;
    }

    static Menu[64];

    formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
    new menu = menu_create(Menu, "clcmd_xpkontrol2");

    formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
    menu_additem(menu, Menu, "1");

    formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
    menu_additem(menu, Menu, "2");

    formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
    menu_additem(menu, Menu, "3");

    formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
    menu_additem(menu, Menu, "4");

    formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
    menu_additem(menu, Menu, "5");

    formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
    menu_additem(menu, Menu, "6");

    formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
    menu_additem(menu, Menu, "7");

    formatex(Menu, charsmax(Menu), "\yExp Menu");
    menu_additem(menu, Menu, "8");

    formatex(Menu, charsmax(Menu), "\d====\rSchnAps\d====^n^n");
    menu_additem(menu, Menu, "9");

    formatex(Menu, charsmax(Menu), "\yCikis");
    menu_additem(menu, Menu);

    menu_setprop(menu, MPROP_PERPAGE, 0);
    menu_display(id, menu);

    return PLUGIN_HANDLED;
}

public clcmd_xpkontrol2(const id, const menu, const item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new key = str_to_num(data);
    switch(key)
    {
        case 1: {
            menu_display(id, menu);
            return PLUGIN_HANDLED;
        }
        case 2: {
            client_cmd(id, "messagemode xps_kill_giriniz");
        }
        case 3: {
            client_cmd(id, "messagemode xps_inc_giriniz");
        }
        case 4: {
            client_cmd(id, "messagemode xps_headshot_giriniz");
        }
        case 5: {
            client_cmd(id, "messagemode xps_knife_giriniz");
        }
        case 6: {
            client_cmd(id, "messagemode xps_damage_up_giriniz");
        }
        case 7: {
            client_cmd(id, "messagemode xps_heal_up_giriniz");
        }
        case 8: {
            expsenu(id);
        }
        case 9: {
            menu_display(id, menu);
            return PLUGIN_HANDLED;
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public expsenu(const id)
{
    new menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");

    menu_additem(menu, "\yExp Ver", "1");
    menu_additem(menu, "\yExp Al", "2");
    menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
    menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");

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

public expsenu2(const id, const menu, const item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new key = str_to_num(data);
    switch(key)
    {
        case 1: {
            g_chosen[id] = 1;
            oyuncusec(id);
        }
        case 2: {
            g_chosen[id] = 2;
            oyuncusec(id);
        }
        case 3: {
            g_chosen[id] = 3;
            client_cmd(id, "messagemode EXP_MIKTARI");
        }
        case 4: {
            g_chosen[id] = 3;
            client_cmd(id, "messagemode EXP_MIKTARI");
        }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public oyuncusec(const id)
{
    new menu = menu_create("\yOyuncu Sec", "oyuncusec2");

    new players[32], text[64], tempid[10], inum;
    static Uid;
    get_players(players, inum, "ac");
    for(new i; i<inum; i++)
    {
        Uid = players[i];
        text[0] = '^0';

        num_to_str(Uid, tempid, charsmax(tempid));
        formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
        menu_additem(menu, text, tempid);
    }

    get_players(players, inum, "bc");
    for(new i; i<inum; i++)
    {
        Uid = players[i];
        text[0] = '^0';

        num_to_str(Uid, tempid, charsmax(tempid));
        formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
        menu_additem(menu, text, tempid);
    }

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

public oyuncusec2(const id, const menu, const item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], name[32], access, callback;
    menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    g_tmpisim[id] = str_to_num(data);

    client_cmd(id, "messagemode EXP_MIKTARI");

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public xps_kill_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_kill", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public xps_inc_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_inc", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public xps_headshot_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_headshot", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public xps_knife_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_knife", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public xps_damage_up_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_damage_up", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public xps_heal_up_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON)
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);

    if(!is_str_num(arg))
    {
        return PLUGIN_HANDLED;
    }

    new arg_num = str_to_num(arg);
    set_cvar_num("xps_heal_up", arg_num);
    clcmd_xpkontrol(id);

    return PLUGIN_HANDLED;
}

public exp_miktari_giriniz(const id)
{
    if(~get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
    {
        return PLUGIN_HANDLED;
    }

    new arg[32];
    read_args(arg, charsmax(arg));
    remove_quotes(arg);
    new num = str_to_num(arg);

    if(!is_str_num(arg) || num <= 0)
    {
        g_chosen[id] = 0;
        return PLUGIN_HANDLED;
    }

    new Uid = g_tmpisim[id];

    if(!is_user_connected(Uid))
    {
        g_chosen[id] = 0;
        return PLUGIN_HANDLED;
    }

    switch(g_chosen[id])
    {
        case 1: {
            if(num > maxgivexp)
            {
                client_cmd(id, "messagemode EXP_MIKTARI");
                client_print_color(id, id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return PLUGIN_HANDLED;
            }
            g_xp[Uid] += num;
            client_print_color(0, 0, "^1[^3 %n ^1] ^4SERVER IP ADRESIMIZ ^1:95.173.173.xx ^4 FAVORILERINIZE EKLEYIN.", id, Uid, num);
        }
        case 2: {
            if(num > g_xp[Uid])
            {
                g_xp[Uid] = 0;
                client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
            }
            else
            {
                g_xp[Uid] -= num;
                client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
            }
        }
        case 3: {
            if(num > maxgivexp)
            {
                client_cmd(id, "messagemode EXP_MIKTARI");
                client_print_color(id, id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return PLUGIN_HANDLED;
            }

            new players[MAX_CLIENTS], inum;
            static cid;
            get_players(players, inum, "ac");
            for(new i; i<inum; i++)
            {
                cid = players[i];
                g_xp[cid] += num;
            }

            client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
        }
        case 4: {
            new players[32], inum;
            static cid;
            get_players(players, inum, "ac");
            for(new i; i<inum; i++)
            {
                cid = players[i];
                g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
            }

            client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
        }
    }

    return PLUGIN_HANDLED;
}

g_save_xps(const id, const authid[])
{
    new key[74], stats[34];

    formatex(key, charsmax(key), "%s-stats", authid);
    formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
    nvault_set(xpkayit, key, stats);
}

g_load_xps(const id, const authid[])
{
    new key[72], stats[34], stat[3][12];
    formatex(key, charsmax(key), "%s-stats", authid);
    nvault_get(xpkayit, key, stats, charsmax(stats));
    replace_all(stats, charsmax(stats), "#", " ");
    parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));

    g_seviye[id] = str_to_num(stat[0]);
    g_xp[id] = str_to_num(stat[1]);

    if(g_seviye[id] == 0)
    {
        g_seviye[id] = 1
    }
}

public CBasePlayer_Spawn(const id)
{
    if(xps_heal_up && is_user_alive(id))
    {
        set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
    }
}

public CBasePlayer_Killed(const victim, const attacker)
{
    if(victim == attacker && is_user_connected(attacker))    
    {
        if(g_seviye[victim] > 4)
        {
            g_xp[victim] -= xps_kill;
            kontrol2(victim);
            return;
        }
    }

    if(g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
    {
        return;
    }

    g_xp[attacker] += xps_kill;

    if(g_seviye[victim] > 4)
    {
        g_xp[victim] -= xps_kill / 2;
    }

    if(get_member(victim, m_bHeadshotKilled))
    {
        g_xp[attacker] += xps_headshot;

        if(g_seviye[victim] > 4)
        {
            g_xp[victim] -= xps_headshot / 2;
        }
    }

    if(get_user_weapon(attacker) == CSW_KNIFE)
    {
        g_xp[attacker] += xps_knife;

        if(g_seviye[victim] > 4)
        {
            g_xp[victim] -= xps_knife / 2;
        }
    }

    kontrol(attacker);
    kontrol2(victim);
}

public CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
    if(victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
    {
        return HC_CONTINUE;
    }

    if(xps_damage_up)
    {
        new dmg = g_seviye[attacker] * 1 - 1;

        SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
    }

    return HC_CONTINUE;
}

kontrol(const id)
{
    if(g_xp[id] >= level(id))
    {
        g_seviye[id]++;
        g_xp[id] = 0;

        if(xps_parilti)
        {
            parilti_yolla(id);
        }
        if(xps_seviye_mesaj)
        {
            if(g_seviye[id] > 25)
            {
                client_print_color(0, 0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
            }
        }
    }
    else
    {
        rh_emit_sound2(id, id, CHAN_AUTO, sound);
    }

    as[id] = xps_start + (g_seviye[id] * xps_inc);
    ly[id] = g_seviye[id] * 100 / 100;
    ey[id] = g_xp[id] * 100 / as[id];

    rankbelirle(id);
}

kontrol2(const id)
{
    if(g_seviye[id] == 1)
    {
        return;
    }

    if(g_xp[id] < 0)
    {
        g_seviye[id]--;
        g_xp[id] = level(id) + g_xp[id];
    }

    rankbelirle(id);
}

rankbelirle(const id)
{
    new seviye = g_seviye[id];

    switch(seviye)
    {
        case 1..2: {
            g_rank[id] = "eziK";
        }
        case 3..5: {
            g_rank[id] = "YENI SILVER";
        }
        case 6..8: {
            g_rank[id] = "SILVER II";
                         }
        case 9..12: {
            g_rank[id] = "SILVER II";
        }
        case 13..15: {
            g_rank[id] = "SILVER III";
        }
        case 16..18: {
            g_rank[id] = "SILVER IV";
        }
        case 19..21: {
            g_rank[id] = "SUPER SILVER";
        }
        case 22..25: {
            g_rank[id] = "SILVER ELITE";
        }
        case 26..28: {
            g_rank[id] = "SILVER ELITE II";
        }
        case 29..32: {
            g_rank[id] = "SILVER ELITE MASTER";
        }
        case 33..36: {
            g_rank[id] = "SILVER ELITE MASTER II";
        }
        case 37..39: {
            g_rank[id] = "SILVER ELITE MASTER III";
        }
        case 40..45: {
            g_rank[id] = "NOVA I";
        }
        case 46..49: {
            g_rank[id] = "NOVA II";
        }
        case 50..53: {
            g_rank[id] = "NOVA III";
        }
        case 54..58: {
            g_rank[id] = "GOLD NOVA MASTER";
        }
        case 59..61: {
            g_rank[id] = "MASTER GUARDIAN I";
        }
        case 62..67: {
            g_rank[id] = "MASTER GUARDIAN II";
        }
        case 68..70: {
            g_rank[id] = "MASTER GUARDIAN ELITE";
        }
        case 71..74: {
            g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
        }
        case 75..78: {
            g_rank[id] = "LEGENDARY EAGLE";
        }
        case 79..84: {
            g_rank[id] = "LEGENDARY EAGLE MASTER";
        }
        case 85..89: {
            g_rank[id] = "SUPREME MASTER FIRST CLASS";
        }
        case 90..95: {
            g_rank[id] = "SUPREME MASTER FIRST CLASS II";
        }
        case 96..100: {
            g_rank[id] = "GLOBAL ELITE > SUPEROYUNCU";
        }
    }
}

public show_explevel(const id)
{
    static const is[SchnAps] = "%"

    set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
    ShowSyncHudMsg(id, syncObj, "SchnAps GAM!NG ^nLevel: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s] ^n ^nIP: 95.173.173.25 ^nUcretsiz Adminlik", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}

public showStatus(const id)
{
    new Uid = read_data(2);

    if(!is_user_connected(id))
    {
        return;
    }

    new TeamName:team = get_member(Uid, m_iTeam);

    switch(team)
    {
        case TEAM_TERRORIST: {
            set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
        case TEAM_CT: {
            set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
    }

    ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}

public hideStatus(const id)
{
    ClearSyncHud(id, syncObj2);
}

public CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
    #pragma unused id

    if(bDefused)
    {
        g_xp[player] += xps_edo;
    }
}

public PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
    g_xp[id] += xps_edo;
}

parilti_yolla(const id)
{
    new origin[3];
    get_user_origin(id, origin);

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    write_byte(TE_IMPLOSION);
    write_coord(origin[0]);
    write_coord(origin[1]);
    write_coord(origin[2]);
    write_byte(200);
    write_byte(100);
    write_byte(5);
    message_end();

    rh_emit_sound2(id, id, CHAN_AUTO, levelatla);

    message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    write_byte(TE_DLIGHT);
    write_coord(origin[0]);
    write_coord(origin[1]);
    write_coord(origin[2]);
    write_byte(35);
    write_byte(250);
    write_byte(150);
    write_byte(15);
    write_byte(8);
    write_byte(60);
    message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

.smaforumlevel.sma(Dosya Boyutu: 19,7 KB | İndirme Sayısı: 2)
Son Düzenleme: 18-03-2020, 11:38, Düzenleyen: SchnAps
RE: Eklenti Derleme hatası
PHP Kod:
#include <amxmodx>
#include <reapi>
#include <nvault>

#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))

new const tag[] = "SchnAps";

new const 
sound[] = "fvox/beep.wav";
new const 
levelatla[] = "rexp_seviye_atlama.wav"

new g_seviye[MAX_CLIENTS + 1];
new 
g_xp[MAX_CLIENTS + 1];
new 
g_chosen[MAX_CLIENTS + 1];
new 
g_tmpisim[MAX_CLIENTS + 1];
new 
ly[MAX_CLIENTS + 1];
new 
ey[MAX_CLIENTS + 1];
new as[
MAX_CLIENTS + 1];
new 
g_rank[MAX_CLIENTS + 1][30];
new 
syncObj, syncObj2;
new 
xpkayit;
new 
xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
xps_heal_up, xps_damage_up, xps_edo, xps_parilti,
xps_seviye_mesaj;
new 
g_authid[MAX_CLIENTS + 1][30];

public 
plugin_init() {
    
register_plugin("ReXP System", "1.1", "PurposeLess");

    
register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
    
register_clcmd("say /xplist", "clcmd_xplist");
    
register_clcmd("say /xpler", "clcmd_xplist");
    
register_clcmd("say /xpreset", "clcmd_reset");

    
register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
    
register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
    
register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
    
register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
    
register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
    
register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
    
register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");

    
register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
    
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");

    
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
    
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
    
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);

    
xps_start = register_cvar("xps_start", "30");
    
xps_inc = register_cvar("xps_inc", "10");
    
xps_kill = register_cvar("xps_kill", "30");
    
xps_knife = register_cvar("xps_knife", "50");
    
xps_headshot = register_cvar("xps_headshot", "50");
    
xps_heal_up = register_cvar("xps_heal_up", "1");
    
xps_damage_up = register_cvar("xps_damage_up", "1");
    
maxgivexp = register_cvar("xps_maxgivexp", "9999999");
    
xps_parilti = register_cvar("xps_parilti", "1");
    
xps_seviye_mesaj = register_cvar("xps_seviye_mesaj", "1");

    
syncObj = CreateHudSyncObj();
    
syncObj2 = CreateHudSyncObj();

    if(
get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
    {
        
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
        
RegisterHookChain(RG_PlantBomb, "PlantBomb");

        
bind_pcvar_num(create_cvar("xps_edo", "5"), xps_edo);
    }
}

public 
plugin_precache()
{
    
precache_sound(sound);
    
precache_sound(levelatla);
}

public 
plugin_cfg()
{
    
xpkayit = nvault_open("xps_kayitt");
}

public 
plugin_end()
{
    for(new 
id = 1; id <= MAX_CLIENTS; id++)
    {
        
g_save_xps(id, g_authid[id]);
    }

    
nvault_close(xpkayit);
}

public 
client_putinserver(id)
{
    
g_rank[id] = "UNRANKED";
}

public 
client_authorized(id, const authid[])
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
set_task(1.0, "show_explevel", id, .flags = "b");

    
g_load_xps(id, authid);
    
copy(g_authid[id], charsmax(g_authid[]), authid);
}

public 
client_disconnected(id)
{
    
g_save_xps(id, g_authid[id]);

    
remove_task(id);
}

public 
clcmd_reset(const id)
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;

    
Renkli_Yazi(id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xplist(const id)
{
    new 
menu = menu_create("\yLevel Score List", "clcmd_xplist2");

    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }

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

public 
clcmd_xplist2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);

    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        
Renkli_Yazi(id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
        return 
PLUGIN_HANDLED;
    }

    static 
Menu[64];

    
formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
    new 
menu = menu_create(Menu, "clcmd_xpkontrol2");

    
formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
    
menu_additem(menu, Menu, "1");

    
formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
    
menu_additem(menu, Menu, "2");

    
formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
    
menu_additem(menu, Menu, "3");

    
formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
    
menu_additem(menu, Menu, "4");

    
formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
    
menu_additem(menu, Menu, "5");

    
formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "6");

    
formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "7");

    
formatex(Menu, charsmax(Menu), "\yExp Menu");
    
menu_additem(menu, Menu, "8");

    
formatex(Menu, charsmax(Menu), "\d====\rSchnAps\d====^n^n");
    
menu_additem(menu, Menu, "9");

    
formatex(Menu, charsmax(Menu), "\yCikis");
    
menu_additem(menu, Menu);

    
menu_setprop(menu, MPROP_PERPAGE, 0);
    
menu_display(id, menu);

    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
        case 
2: {
            
client_cmd(id, "messagemode xps_kill_giriniz");
        }
        case 
3: {
            
client_cmd(id, "messagemode xps_inc_giriniz");
        }
        case 
4: {
            
client_cmd(id, "messagemode xps_headshot_giriniz");
        }
        case 
5: {
            
client_cmd(id, "messagemode xps_knife_giriniz");
        }
        case 
6: {
            
client_cmd(id, "messagemode xps_damage_up_giriniz");
        }
        case 
7: {
            
client_cmd(id, "messagemode xps_heal_up_giriniz");
        }
        case 
8: {
            
expsenu(id);
        }
        case 
9: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
expsenu(const id)
{
    new 
menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");

    
menu_additem(menu, "\yExp Ver", "1");
    
menu_additem(menu, "\yExp Al", "2");
    
menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
    
menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");

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

public 
expsenu2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
g_chosen[id] = 1;
            
oyuncusec(id);
        }
        case 
2: {
            
g_chosen[id] = 2;
            
oyuncusec(id);
        }
        case 
3: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
        case 
4: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
oyuncusec(const id)
{
    new 
menu = menu_create("\yOyuncu Sec", "oyuncusec2");

    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }

    
get_players(players, inum, "bc");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
        
menu_additem(menu, text, tempid);
    }

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

public 
oyuncusec2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
g_tmpisim[id] = str_to_num(data);

    
client_cmd(id, "messagemode EXP_MIKTARI");

    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
xps_kill_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_kill", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_inc_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_inc", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_headshot_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_headshot", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_knife_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_knife", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_damage_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_damage_up", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_heal_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_heal_up", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
exp_miktari_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    new 
num = str_to_num(arg);

    if(!
is_str_num(arg) || num <= 0)
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }

    new 
Uid = g_tmpisim[id];

    if(!
is_user_connected(Uid))
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }

    switch(
g_chosen[id])
    {
        case 
1: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
g_xp[Uid] += num;
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4SERVER IP ADRESIMIZ ^1:95.173.173.xx ^4 FAVORILERINIZE EKLEYIN.", id, Uid, num);
        }
        case 
2: {
            if(
num > g_xp[Uid])
            {
                
g_xp[Uid] = 0;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
            }
            else
            {
                
g_xp[Uid] -= num;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
            }
        }
        case 
3: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }

            new 
players[MAX_CLIENTS], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[cid] += num;
            }

            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
        }
        case 
4: {
            new 
players[32], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
            }

            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
        }
    }

    return 
PLUGIN_HANDLED;
}

g_save_xps(const id, const authid[])
{
    new 
key[74], stats[34];

    
formatex(key, charsmax(key), "%s-stats", authid);
    
formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
    
nvault_set(xpkayit, key, stats);
}

g_load_xps(const id, const authid[])
{
    new 
key[72], stats[34], stat[3][12];
    
formatex(key, charsmax(key), "%s-stats", authid);
    
nvault_get(xpkayit, key, stats, charsmax(stats));
    
replace_all(stats, charsmax(stats), "#", " ");
    
parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));

    
g_seviye[id] = str_to_num(stat[0]);
    
g_xp[id] = str_to_num(stat[1]);

    if(
g_seviye[id] == 0)
    {
        
g_seviye[id] = 1
    
}
}

public 
CBasePlayer_Spawn(const id)
{
    if(
xps_heal_up && is_user_alive(id))
    {
        
set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
    }
}

public 
CBasePlayer_Killed(const victim, const attacker)
{
    if(
victim == attacker && is_user_connected(attacker))    
    {
        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_kill;
            
kontrol2(victim);
            return;
        }
    }

    if(
g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
    {
        return;
    }

    
g_xp[attacker] += xps_kill;

    if(
g_seviye[victim] > 4)
    {
        
g_xp[victim] -= xps_kill / 2;
    }

    if(
get_member(victim, m_bHeadshotKilled))
    {
        
g_xp[attacker] += xps_headshot;

        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_headshot / 2;
        }
    }

    if(
get_user_weapon(attacker) == CSW_KNIFE)
    {
        
g_xp[attacker] += xps_knife;

        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_knife / 2;
        }
    }

    
kontrol(attacker);
    
kontrol2(victim);
}

public 
CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
    if(
victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
    {
        return 
HC_CONTINUE;
    }

    if(
xps_damage_up)
    {
        new 
dmg = g_seviye[attacker] * 1 - 1;

        
SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
    }

    return 
HC_CONTINUE;
}

kontrol(const id)
{
    if(
g_xp[id] >= level(id))
    {
        
g_seviye[id]++;
        
g_xp[id] = 0;

        if(
xps_parilti)
        {
            
parilti_yolla(id);
        }
        if(
xps_seviye_mesaj)
        {
            if(
g_seviye[id] > 25)
            {
                
Renkli_Yazi(0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
            }
        }
    }
    else
    {
        
rh_emit_sound2(id, id, CHAN_AUTO, sound);
    }

    as[
id] = xps_start + (g_seviye[id] * xps_inc);
    
ly[id] = g_seviye[id] * 100 / 100;
    
ey[id] = g_xp[id] * 100 / as[id];

    
rankbelirle(id);
}

kontrol2(const id)
{
    if(
g_seviye[id] == 1)
    {
        return;
    }

    if(
g_xp[id] < 0)
    {
        
g_seviye[id]--;
        
g_xp[id] = level(id) + g_xp[id];
    }

    
rankbelirle(id);
}

rankbelirle(const id)
{
    new 
seviye = g_seviye[id];

    switch(
seviye)
    {
        case 
1..2: {
            
g_rank[id] = "eziK";
        }
        case 
3..5: {
            
g_rank[id] = "YENI SILVER";
        }
        case 
6..8: {
            
g_rank[id] = "SILVER II";
    
                     }
        case 
9..12: {
            
g_rank[id] = "SILVER II";
        }
        case 
13..15: {
            
g_rank[id] = "SILVER III";
        }
        case 
16..18: {
            
g_rank[id] = "SILVER IV";
        }
        case 
19..21: {
            
g_rank[id] = "SUPER SILVER";
        }
        case 
22..25: {
            
g_rank[id] = "SILVER ELITE";
        }
        case 
26..28: {
            
g_rank[id] = "SILVER ELITE II";
        }
        case 
29..32: {
            
g_rank[id] = "SILVER ELITE MASTER";
        }
        case 
33..36: {
            
g_rank[id] = "SILVER ELITE MASTER II";
        }
        case 
37..39: {
            
g_rank[id] = "SILVER ELITE MASTER III";
        }
        case 
40..45: {
            
g_rank[id] = "NOVA I";
        }
        case 
46..49: {
            
g_rank[id] = "NOVA II";
        }
        case 
50..53: {
            
g_rank[id] = "NOVA III";
        }
        case 
54..58: {
            
g_rank[id] = "GOLD NOVA MASTER";
        }
        case 
59..61: {
            
g_rank[id] = "MASTER GUARDIAN I";
        }
        case 
62..67: {
            
g_rank[id] = "MASTER GUARDIAN II";
        }
        case 
68..70: {
            
g_rank[id] = "MASTER GUARDIAN ELITE";
        }
        case 
71..74: {
            
g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
        }
        case 
75..78: {
            
g_rank[id] = "LEGENDARY EAGLE";
        }
        case 
79..84: {
            
g_rank[id] = "LEGENDARY EAGLE MASTER";
        }
        case 
85..89: {
            
g_rank[id] = "SUPREME MASTER FIRST CLASS";
        }
        case 
90..95: {
            
g_rank[id] = "SUPREME MASTER FIRST CLASS II";
        }
        case 
96..100: {
            
g_rank[id] = "GLOBAL ELITE > SUPEROYUNCU";
        }
    }
}

public 
show_explevel(const id)
{
    static const 
is[SchnAps] = "%"

    
set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
    
ShowSyncHudMsg(id, syncObj, "SchnAps GAM!NG ^nLevel: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s] ^n ^nIP: 95.173.173.25 ^nUcretsiz Adminlik", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}

public 
showStatus(const id)
{
    new 
Uid = read_data(2);

    if(!
is_user_connected(id))
    {
        return;
    }

    new 
TeamName:team = get_member(Uid, m_iTeam);

    switch(
team)
    {
        case 
TEAM_TERRORIST: {
            
set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
        case 
TEAM_CT: {
            
set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
    }

    
ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}

public 
hideStatus(const id)
{
    
ClearSyncHud(id, syncObj2);
}

public 
CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
    
#pragma unused id

    
if(bDefused)
    {
        
g_xp[player] += xps_edo;
    }
}

public 
PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
    
g_xp[id] += xps_edo;
}

parilti_yolla(const id)
{
    new 
origin[3];
    
get_user_origin(id, origin);

    
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    
write_byte(TE_IMPLOSION);
    
write_coord(origin[0]);
    
write_coord(origin[1]);
    
write_coord(origin[2]);
    
write_byte(200);
    
write_byte(100);
    
write_byte(5);
    
message_end();

    
rh_emit_sound2(id, id, CHAN_AUTO, levelatla);

    
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    
write_byte(TE_DLIGHT);
    
write_coord(origin[0]);
    
write_coord(origin[1]);
    
write_coord(origin[2]);
    
write_byte(35);
    
write_byte(250);
    
write_byte(150);
    
write_byte(15);
    
write_byte(8);
    
write_byte(60);
    
message_end();
}

stock Renkli_Yazi(const ID, const input[], any:...)
{
    new 
Count = 1, Players[32];
    static 
Message[191];
    
vformat(Message, 190, input, 3);
    
    
/* ^1 | ^x01 --> Yellow */
    /* ^4 | ^x04 --> Green */
    /* ^3 | ^x03 --> Team Color */
        
    
replace_all(Message, 190, "^1", "^x01");
    
replace_all(Message, 190, "^4", "^x04");
    
replace_all(Message, 190, "^3", "^x03");
    
    if(
ID) Players[0] = ID; else get_players(Players, Count, "ch");
    {
        for(new 
i = 0; i < Count; i++)
        {
            if(
is_user_connected(Players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
                
write_byte(Players[i]);
                
write_string(Message);
                
message_end();
            }
        }
    }
} 
Linksta
Son Düzenleme: 18-03-2020, 12:58, Düzenleyen: By.KinG
RE: Eklenti Derleme hatası
(18-03-2020, 12:57)By.KinG Adlı Kullanıcıdan Alıntı:
PHP Kod:
#include <amxmodx>
#include <reapi>
#include <nvault>

#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))

new const tag[] = "SchnAps";

new const 
sound[] = "fvox/beep.wav";
new const 
levelatla[] = "rexp_seviye_atlama.wav"

new g_seviye[MAX_CLIENTS + 1];
new 
g_xp[MAX_CLIENTS + 1];
new 
g_chosen[MAX_CLIENTS + 1];
new 
g_tmpisim[MAX_CLIENTS + 1];
new 
ly[MAX_CLIENTS + 1];
new 
ey[MAX_CLIENTS + 1];
new as[
MAX_CLIENTS + 1];
new 
g_rank[MAX_CLIENTS + 1][30];
new 
syncObj, syncObj2;
new 
xpkayit;
new 
xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
xps_heal_up, xps_damage_up, xps_edo, xps_parilti,
xps_seviye_mesaj;
new 
g_authid[MAX_CLIENTS + 1][30];

public 
plugin_init() {
    
register_plugin("ReXP System", "1.1", "PurposeLess");

    
register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
    
register_clcmd("say /xplist", "clcmd_xplist");
    
register_clcmd("say /xpler", "clcmd_xplist");
    
register_clcmd("say /xpreset", "clcmd_reset");

    
register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
    
register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
    
register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
    
register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
    
register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
    
register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
    
register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");

    
register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
    
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");

    
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
    
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
    
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);

    
xps_start = register_cvar("xps_start", "30");
    
xps_inc = register_cvar("xps_inc", "10");
    
xps_kill = register_cvar("xps_kill", "30");
    
xps_knife = register_cvar("xps_knife", "50");
    
xps_headshot = register_cvar("xps_headshot", "50");
    
xps_heal_up = register_cvar("xps_heal_up", "1");
    
xps_damage_up = register_cvar("xps_damage_up", "1");
    
maxgivexp = register_cvar("xps_maxgivexp", "9999999");
    
xps_parilti = register_cvar("xps_parilti", "1");
    
xps_seviye_mesaj = register_cvar("xps_seviye_mesaj", "1");

    
syncObj = CreateHudSyncObj();
    
syncObj2 = CreateHudSyncObj();

    if(
get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
    {
        
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
        
RegisterHookChain(RG_PlantBomb, "PlantBomb");

        
bind_pcvar_num(create_cvar("xps_edo", "5"), xps_edo);
    }
}

public 
plugin_precache()
{
    
precache_sound(sound);
    
precache_sound(levelatla);
}

public 
plugin_cfg()
{
    
xpkayit = nvault_open("xps_kayitt");
}

public 
plugin_end()
{
    for(new 
id = 1; id <= MAX_CLIENTS; id++)
    {
        
g_save_xps(id, g_authid[id]);
    }

    
nvault_close(xpkayit);
}

public 
client_putinserver(id)
{
    
g_rank[id] = "UNRANKED";
}

public 
client_authorized(id, const authid[])
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
set_task(1.0, "show_explevel", id, .flags = "b");

    
g_load_xps(id, authid);
    
copy(g_authid[id], charsmax(g_authid[]), authid);
}

public 
client_disconnected(id)
{
    
g_save_xps(id, g_authid[id]);

    
remove_task(id);
}

public 
clcmd_reset(const id)
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;

    
Renkli_Yazi(id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xplist(const id)
{
    new 
menu = menu_create("\yLevel Score List", "clcmd_xplist2");

    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }

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

public 
clcmd_xplist2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);

    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        
Renkli_Yazi(id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
        return 
PLUGIN_HANDLED;
    }

    static 
Menu[64];

    
formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
    new 
menu = menu_create(Menu, "clcmd_xpkontrol2");

    
formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
    
menu_additem(menu, Menu, "1");

    
formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
    
menu_additem(menu, Menu, "2");

    
formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
    
menu_additem(menu, Menu, "3");

    
formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
    
menu_additem(menu, Menu, "4");

    
formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
    
menu_additem(menu, Menu, "5");

    
formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "6");

    
formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "7");

    
formatex(Menu, charsmax(Menu), "\yExp Menu");
    
menu_additem(menu, Menu, "8");

    
formatex(Menu, charsmax(Menu), "\d====\rSchnAps\d====^n^n");
    
menu_additem(menu, Menu, "9");

    
formatex(Menu, charsmax(Menu), "\yCikis");
    
menu_additem(menu, Menu);

    
menu_setprop(menu, MPROP_PERPAGE, 0);
    
menu_display(id, menu);

    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
        case 
2: {
            
client_cmd(id, "messagemode xps_kill_giriniz");
        }
        case 
3: {
            
client_cmd(id, "messagemode xps_inc_giriniz");
        }
        case 
4: {
            
client_cmd(id, "messagemode xps_headshot_giriniz");
        }
        case 
5: {
            
client_cmd(id, "messagemode xps_knife_giriniz");
        }
        case 
6: {
            
client_cmd(id, "messagemode xps_damage_up_giriniz");
        }
        case 
7: {
            
client_cmd(id, "messagemode xps_heal_up_giriniz");
        }
        case 
8: {
            
expsenu(id);
        }
        case 
9: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
expsenu(const id)
{
    new 
menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");

    
menu_additem(menu, "\yExp Ver", "1");
    
menu_additem(menu, "\yExp Al", "2");
    
menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
    
menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");

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

public 
expsenu2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
g_chosen[id] = 1;
            
oyuncusec(id);
        }
        case 
2: {
            
g_chosen[id] = 2;
            
oyuncusec(id);
        }
        case 
3: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
        case 
4: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
oyuncusec(const id)
{
    new 
menu = menu_create("\yOyuncu Sec", "oyuncusec2");

    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }

    
get_players(players, inum, "bc");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';

        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
        
menu_additem(menu, text, tempid);
    }

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

public 
oyuncusec2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
g_tmpisim[id] = str_to_num(data);

    
client_cmd(id, "messagemode EXP_MIKTARI");

    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
xps_kill_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_kill", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_inc_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_inc", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_headshot_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_headshot", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_knife_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_knife", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_damage_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_damage_up", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
xps_heal_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);

    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_heal_up", arg_num);
    
clcmd_xpkontrol(id);

    return 
PLUGIN_HANDLED;
}

public 
exp_miktari_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    new 
num = str_to_num(arg);

    if(!
is_str_num(arg) || num <= 0)
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }

    new 
Uid = g_tmpisim[id];

    if(!
is_user_connected(Uid))
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }

    switch(
g_chosen[id])
    {
        case 
1: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
g_xp[Uid] += num;
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4SERVER IP ADRESIMIZ ^1:95.173.173.xx ^4 FAVORILERINIZE EKLEYIN.", id, Uid, num);
        }
        case 
2: {
            if(
num > g_xp[Uid])
            {
                
g_xp[Uid] = 0;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
            }
            else
            {
                
g_xp[Uid] -= num;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
            }
        }
        case 
3: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }

            new 
players[MAX_CLIENTS], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[cid] += num;
            }

            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
        }
        case 
4: {
            new 
players[32], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
            }

            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
        }
    }

    return 
PLUGIN_HANDLED;
}

g_save_xps(const id, const authid[])
{
    new 
key[74], stats[34];

    
formatex(key, charsmax(key), "%s-stats", authid);
    
formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
    
nvault_set(xpkayit, key, stats);
}

g_load_xps(const id, const authid[])
{
    new 
key[72], stats[34], stat[3][12];
    
formatex(key, charsmax(key), "%s-stats", authid);
    
nvault_get(xpkayit, key, stats, charsmax(stats));
    
replace_all(stats, charsmax(stats), "#", " ");
    
parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));

    
g_seviye[id] = str_to_num(stat[0]);
    
g_xp[id] = str_to_num(stat[1]);

    if(
g_seviye[id] == 0)
    {
        
g_seviye[id] = 1
    
}
}

public 
CBasePlayer_Spawn(const id)
{
    if(
xps_heal_up && is_user_alive(id))
    {
        
set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
    }
}

public 
CBasePlayer_Killed(const victim, const attacker)
{
    if(
victim == attacker && is_user_connected(attacker))    
    {
        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_kill;
            
kontrol2(victim);
            return;
        }
    }

    if(
g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
    {
        return;
    }

    
g_xp[attacker] += xps_kill;

    if(
g_seviye[victim] > 4)
    {
        
g_xp[victim] -= xps_kill / 2;
    }

    if(
get_member(victim, m_bHeadshotKilled))
    {
        
g_xp[attacker] += xps_headshot;

        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_headshot / 2;
        }
    }

    if(
get_user_weapon(attacker) == CSW_KNIFE)
    {
        
g_xp[attacker] += xps_knife;

        if(
g_seviye[victim] > 4)
        {
            
g_xp[victim] -= xps_knife / 2;
        }
    }

    
kontrol(attacker);
    
kontrol2(victim);
}

public 
CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
    if(
victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
    {
        return 
HC_CONTINUE;
    }

    if(
xps_damage_up)
    {
        new 
dmg = g_seviye[attacker] * 1 - 1;

        
SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
    }

    return 
HC_CONTINUE;
}

kontrol(const id)
{
    if(
g_xp[id] >= level(id))
    {
        
g_seviye[id]++;
        
g_xp[id] = 0;

        if(
xps_parilti)
        {
            
parilti_yolla(id);
        }
        if(
xps_seviye_mesaj)
        {
            if(
g_seviye[id] > 25)
            {
                
Renkli_Yazi(0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
            }
        }
    }
    else
    {
        
rh_emit_sound2(id, id, CHAN_AUTO, sound);
    }

    as[
id] = xps_start + (g_seviye[id] * xps_inc);
    
ly[id] = g_seviye[id] * 100 / 100;
    
ey[id] = g_xp[id] * 100 / as[id];

    
rankbelirle(id);
}

kontrol2(const id)
{
    if(
g_seviye[id] == 1)
    {
        return;
    }

    if(
g_xp[id] < 0)
    {
        
g_seviye[id]--;
        
g_xp[id] = level(id) + g_xp[id];
    }

    
rankbelirle(id);
}

rankbelirle(const id)
{
    new 
seviye = g_seviye[id];

    switch(
seviye)
    {
        case 
1..2: {
            
g_rank[id] = "eziK";
        }
        case 
3..5: {
            
g_rank[id] = "YENI SILVER";
        }
        case 
6..8: {
            
g_rank[id] = "SILVER II";
    
                     }
        case 
9..12: {
            
g_rank[id] = "SILVER II";
        }
        case 
13..15: {
            
g_rank[id] = "SILVER III";
        }
        case 
16..18: {
            
g_rank[id] = "SILVER IV";
        }
        case 
19..21: {
            
g_rank[id] = "SUPER SILVER";
        }
        case 
22..25: {
            
g_rank[id] = "SILVER ELITE";
        }
        case 
26..28: {
            
g_rank[id] = "SILVER ELITE II";
        }
        case 
29..32: {
            
g_rank[id] = "SILVER ELITE MASTER";
        }
        case 
33..36: {
            
g_rank[id] = "SILVER ELITE MASTER II";
        }
        case 
37..39: {
            
g_rank[id] = "SILVER ELITE MASTER III";
        }
        case 
40..45: {
            
g_rank[id] = "NOVA I";
        }
        case 
46..49: {
            
g_rank[id] = "NOVA II";
        }
        case 
50..53: {
            
g_rank[id] = "NOVA III";
        }
        case 
54..58: {
            
g_rank[id] = "GOLD NOVA MASTER";
        }
        case 
59..61: {
            
g_rank[id] = "MASTER GUARDIAN I";
        }
        case 
62..67: {
            
g_rank[id] = "MASTER GUARDIAN II";
        }
        case 
68..70: {
            
g_rank[id] = "MASTER GUARDIAN ELITE";
        }
        case 
71..74: {
            
g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
        }
        case 
75..78: {
            
g_rank[id] = "LEGENDARY EAGLE";
        }
        case 
79..84: {
            
g_rank[id] = "LEGENDARY EAGLE MASTER";
        }
        case 
85..89: {
            
g_rank[id] = "SUPREME MASTER FIRST CLASS";
        }
        case 
90..95: {
            
g_rank[id] = "SUPREME MASTER FIRST CLASS II";
        }
        case 
96..100: {
            
g_rank[id] = "GLOBAL ELITE > SUPEROYUNCU";
        }
    }
}

public 
show_explevel(const id)
{
    static const 
is[SchnAps] = "%"

    
set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
    
ShowSyncHudMsg(id, syncObj, "SchnAps GAM!NG ^nLevel: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s] ^n ^nIP: xx ^nUcretsiz Adminlik", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}

public 
showStatus(const id)
{
    new 
Uid = read_data(2);

    if(!
is_user_connected(id))
    {
        return;
    }

    new 
TeamName:team = get_member(Uid, m_iTeam);

    switch(
team)
    {
        case 
TEAM_TERRORIST: {
            
set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
        case 
TEAM_CT: {
            
set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
        }
    }

    
ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}

public 
hideStatus(const id)
{
    
ClearSyncHud(id, syncObj2);
}

public 
CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
    
#pragma unused id

    
if(bDefused)
    {
        
g_xp[player] += xps_edo;
    }
}

public 
PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
    
g_xp[id] += xps_edo;
}

parilti_yolla(const id)
{
    new 
origin[3];
    
get_user_origin(id, origin);

    
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    
write_byte(TE_IMPLOSION);
    
write_coord(origin[0]);
    
write_coord(origin[1]);
    
write_coord(origin[2]);
    
write_byte(200);
    
write_byte(100);
    
write_byte(5);
    
message_end();

    
rh_emit_sound2(id, id, CHAN_AUTO, levelatla);

    
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
    
write_byte(TE_DLIGHT);
    
write_coord(origin[0]);
    
write_coord(origin[1]);
    
write_coord(origin[2]);
    
write_byte(35);
    
write_byte(250);
    
write_byte(150);
    
write_byte(15);
    
write_byte(8);
    
write_byte(60);
    
message_end();
}

stock Renkli_Yazi(const ID, const input[], any:...)
{
    new 
Count = 1, Players[32];
    static 
Message[191];
    
vformat(Message, 190, input, 3);
    
    
/* ^1 | ^x01 --> Yellow */
    /* ^4 | ^x04 --> Green */
    /* ^3 | ^x03 --> Team Color */
        
    
replace_all(Message, 190, "^1", "^x01");
    
replace_all(Message, 190, "^4", "^x04");
    
replace_all(Message, 190, "^3", "^x03");
    
    if(
ID) Players[0] = ID; else get_players(Players, Count, "ch");
    {
        for(new 
i = 0; i < Count; i++)
        {
            if(
is_user_connected(Players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
                
write_byte(Players[i]);
                
write_string(Message);
                
message_end();
            }
        }
    }
} 

undefined symbol ''bind_pcvar_num''
function heading differs from prototype hatasını veriyor hocam halen
RE: Eklenti Derleme hatası
Sorunum Günceldir.
RE: Eklenti Derleme hatası
Editleyecem diye eklentiyi bozmuşsunuz, 807. satır gibi bir yerde hata verecek; bunun için eklentini default haline bakın ve orayı eski haline çevirin.

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

#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))

new const tag[] = "SchnAps";

new const 
sound[] = "fvox/beep.wav";
new const 
levelatla[] = "rexp_seviye_atlama.wav"

new g_seviye[MAX_CLIENTS + 1];
new 
g_xp[MAX_CLIENTS + 1];
new 
g_chosen[MAX_CLIENTS + 1];
new 
g_tmpisim[MAX_CLIENTS + 1];
new 
ly[MAX_CLIENTS + 1];
new 
ey[MAX_CLIENTS + 1];
new as[
MAX_CLIENTS + 1];
new 
g_rank[MAX_CLIENTS + 1][30];
new 
syncObj, syncObj2;
new 
xpkayit;
new 
xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
xps_heal_up, xps_damage_up, xps_edo, xps_parilti,
xps_seviye_mesaj;
new 
g_authid[MAX_CLIENTS + 1][30];

public 
plugin_init() {
    
register_plugin("ReXP System", "1.1", "PurposeLess");
    
    
register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
    
register_clcmd("say /xplist", "clcmd_xplist");
    
register_clcmd("say /xpler", "clcmd_xplist");
    
register_clcmd("say /xpreset", "clcmd_reset");
    
    
register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
    
register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
    
register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
    
register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
    
register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
    
register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
    
register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");
    
    
register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
    
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");
    
    
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
    
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
    
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);
    
    
xps_start = register_cvar("xps_start", "30");
    
xps_inc = register_cvar("xps_inc", "10");
    
xps_kill = register_cvar("xps_kill", "30");
    
xps_knife = register_cvar("xps_knife", "50");
    
xps_headshot = register_cvar("xps_headshot", "50");
    
xps_heal_up = register_cvar("xps_heal_up", "1");
    
xps_damage_up = register_cvar("xps_damage_up", "1");
    
maxgivexp = register_cvar("xps_maxgivexp", "9999999");
    
xps_parilti = register_cvar("xps_parilti", "1");
    
xps_seviye_mesaj = register_cvar("xps_seviye_mesaj", "1");
    
    
syncObj = CreateHudSyncObj();
    
syncObj2 = CreateHudSyncObj();
    
    if(
get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
    {
        
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
        
RegisterHookChain(RG_PlantBomb, "PlantBomb");
        
        
xps_edo = register_cvar("xps_edo", "5");
    }
}

public 
plugin_precache()
{
    
precache_sound(sound);
    
precache_sound(levelatla);
}

public 
plugin_cfg()
{
    
xpkayit = nvault_open("xps_kayitt");
}

public 
plugin_end()
{
    for(new 
id = 1; id <= MAX_CLIENTS; id++)
    {
        
g_save_xps(id, g_authid[id]);
    }
    
    
nvault_close(xpkayit);
}

public 
client_putinserver(id)
{
    
g_rank[id] = "UNRANKED";
}

public 
client_authorized(id)
{
    new 
authid[128];
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
set_task(1.0, "show_explevel", id, .flags = "b");
    
    
g_load_xps(id, authid);
    
copy(g_authid[id], charsmax(g_authid[]), authid);
}

public 
client_disconnected(id)
{
    
g_save_xps(id, g_authid[id]);
    
    
remove_task(id);
}

public 
clcmd_reset(const id)
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
    
Renkli_Yazi(id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xplist(const id)
{
    new 
menu = menu_create("\yLevel Score List", "clcmd_xplist2");
    
    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
clcmd_xplist2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        
Renkli_Yazi(id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
        return 
PLUGIN_HANDLED;
    }
    
    static 
Menu[64];
    
    
formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
    new 
menu = menu_create(Menu, "clcmd_xpkontrol2");
    
    
formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
    
menu_additem(menu, Menu, "1");
    
    
formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
    
menu_additem(menu, Menu, "2");
    
    
formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
    
menu_additem(menu, Menu, "3");
    
    
formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
    
menu_additem(menu, Menu, "4");
    
    
formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
    
menu_additem(menu, Menu, "5");
    
    
formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "6");
    
    
formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "7");
    
    
formatex(Menu, charsmax(Menu), "\yExp Menu");
    
menu_additem(menu, Menu, "8");
    
    
formatex(Menu, charsmax(Menu), "\d====\rSchnAps\d====^n^n");
    
menu_additem(menu, Menu, "9");
    
    
formatex(Menu, charsmax(Menu), "\yCikis");
    
menu_additem(menu, Menu);
    
    
menu_setprop(menu, MPROP_PERPAGE, 0);
    
menu_display(id, menu);
    
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
        case 
2: {
            
client_cmd(id, "messagemode xps_kill_giriniz");
        }
        case 
3: {
            
client_cmd(id, "messagemode xps_inc_giriniz");
        }
        case 
4: {
            
client_cmd(id, "messagemode xps_headshot_giriniz");
        }
        case 
5: {
            
client_cmd(id, "messagemode xps_knife_giriniz");
        }
        case 
6: {
            
client_cmd(id, "messagemode xps_damage_up_giriniz");
        }
        case 
7: {
            
client_cmd(id, "messagemode xps_heal_up_giriniz");
        }
        case 
8: {
            
expsenu(id);
        }
        case 
9: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
expsenu(const id)
{
    new 
menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");
    
    
menu_additem(menu, "\yExp Ver", "1");
    
menu_additem(menu, "\yExp Al", "2");
    
menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
    
menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
expsenu2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
g_chosen[id] = 1;
            
oyuncusec(id);
        }
        case 
2: {
            
g_chosen[id] = 2;
            
oyuncusec(id);
        }
        case 
3: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
        case 
4: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
oyuncusec(const id)
{
    new 
menu = menu_create("\yOyuncu Sec", "oyuncusec2");
    
    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
get_players(players, inum, "bc");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
oyuncusec2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
g_tmpisim[id] = str_to_num(data);
    
    
client_cmd(id, "messagemode EXP_MIKTARI");
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
xps_kill_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_kill", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_inc_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_inc", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_headshot_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_headshot", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_knife_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_knife", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_damage_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_damage_up", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_heal_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_heal_up", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
exp_miktari_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    new 
num = str_to_num(arg);
    
    if(!
is_str_num(arg) || num <= 0)
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }
    
    new 
Uid = g_tmpisim[id];
    
    if(!
is_user_connected(Uid))
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }
    
    switch(
g_chosen[id])
    {
        case 
1: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
g_xp[Uid] += num;
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4SERVER IP ADRESIMIZ ^1:95.173.173.xx ^4 FAVORILERINIZE EKLEYIN.", id, Uid, num);
        }
        case 
2: {
            if(
num > g_xp[Uid])
            {
                
g_xp[Uid] = 0;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
            }
            else
            {
                
g_xp[Uid] -= num;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
            }
        }
        case 
3: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
            new 
players[MAX_CLIENTS], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[cid] += num;
            }
            
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
        }
        case 
4: {
            new 
players[32], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
            }
            
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
        }
    }
    
    return 
PLUGIN_HANDLED;
}

g_save_xps(const id, const authid[])
{
new 
key[74], stats[34];

formatex(key, charsmax(key), "%s-stats", authid);
formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
nvault_set(xpkayit, key, stats);
}

g_load_xps(const id, const authid[])
{
new 
key[72], stats[34], stat[3][12];
formatex(key, charsmax(key), "%s-stats", authid);
nvault_get(xpkayit, key, stats, charsmax(stats));
replace_all(stats, charsmax(stats), "#", " ");
parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));

g_seviye[id] = str_to_num(stat[0]);
g_xp[id] = str_to_num(stat[1]);

if(
g_seviye[id] == 0)
{
g_seviye[id] = 1
}
}

public 
CBasePlayer_Spawn(const id)
{
if(
xps_heal_up && is_user_alive(id))
{
set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
}
}

public 
CBasePlayer_Killed(const victim, const attacker)
{
if(
victim == attacker && is_user_connected(attacker))    
{
if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_kill;
    
kontrol2(victim);
    return;
}
}

if(
g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
{
return;
}

g_xp[attacker] += xps_kill;

if(
g_seviye[victim] > 4)
{
g_xp[victim] -= xps_kill / 2;
}

if(
get_member(victim, m_bHeadshotKilled))
{
g_xp[attacker] += xps_headshot;

if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_headshot / 2;
}
}

if(
get_user_weapon(attacker) == CSW_KNIFE)
{
g_xp[attacker] += xps_knife;

if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_knife / 2;
}
}

kontrol(attacker);
kontrol2(victim);
}

public 
CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
if(
victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
{
return 
HC_CONTINUE;
}

if(
xps_damage_up)
{
new 
dmg = g_seviye[attacker] * 1 - 1;

SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
}

return 
HC_CONTINUE;
}

kontrol(const id)
{
if(
g_xp[id] >= level(id))
{
g_seviye[id]++;
g_xp[id] = 0;

if(
xps_parilti)
{
parilti_yolla(id);
}
if(
xps_seviye_mesaj)
{
if(
g_seviye[id] > 25)
{
    
Renkli_Yazi(0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
}
}
}
else
{
rh_emit_sound2(id, id, CHAN_AUTO, sound);
}

as[
id] = xps_start + (g_seviye[id] * xps_inc);
ly[id] = g_seviye[id] * 100 / 100;
ey[id] = g_xp[id] * 100 / as[id];

rankbelirle(id);
}

kontrol2(const id)
{
if(
g_seviye[id] == 1)
{
return;
}

if(
g_xp[id] < 0)
{
g_seviye[id]--;
g_xp[id] = level(id) + g_xp[id];
}

rankbelirle(id);
}

rankbelirle(const id)
{
new 
seviye = g_seviye[id];

switch(
seviye)
{
case 
1..2: {
g_rank[id] = "eziK";
}
case 
3..5: {
g_rank[id] = "YENI SILVER";
}
case 
6..8: {
g_rank[id] = "SILVER II";
}
case 
9..12: {
g_rank[id] = "SILVER II";
}
case 
13..15: {
g_rank[id] = "SILVER III";
}
case 
16..18: {
g_rank[id] = "SILVER IV";
}
case 
19..21: {
g_rank[id] = "SUPER SILVER";
}
case 
22..25: {
g_rank[id] = "SILVER ELITE";
}
case 
26..28: {
g_rank[id] = "SILVER ELITE II";
}
case 
29..32: {
g_rank[id] = "SILVER ELITE MASTER";
}
case 
33..36: {
g_rank[id] = "SILVER ELITE MASTER II";
}
case 
37..39: {
g_rank[id] = "SILVER ELITE MASTER III";
}
case 
40..45: {
g_rank[id] = "NOVA I";
}
case 
46..49: {
g_rank[id] = "NOVA II";
}
case 
50..53: {
g_rank[id] = "NOVA III";
}
case 
54..58: {
g_rank[id] = "GOLD NOVA MASTER";
}
case 
59..61: {
g_rank[id] = "MASTER GUARDIAN I";
}
case 
62..67: {
g_rank[id] = "MASTER GUARDIAN II";
}
case 
68..70: {
g_rank[id] = "MASTER GUARDIAN ELITE";
}
case 
71..74: {
g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
}
case 
75..78: {
g_rank[id] = "LEGENDARY EAGLE";
}
case 
79..84: {
g_rank[id] = "LEGENDARY EAGLE MASTER";
}
case 
85..89: {
g_rank[id] = "SUPREME MASTER FIRST CLASS";
}
case 
90..95: {
g_rank[id] = "SUPREME MASTER FIRST CLASS II";
}
case 
96..100: {
g_rank[id] = "GLOBAL ELITE > SUPEROYUNCU";
}
}
}

public 
show_explevel(const id)
{
static const 
is[SchnAps] = "%"

set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
ShowSyncHudMsg(id, syncObj, "SchnAps GAM!NG ^nLevel: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s] ^n ^nIP: xx ^nUcretsiz Adminlik", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}

public 
showStatus(const id)
{
new 
Uid = read_data(2);

if(!
is_user_connected(id))
{
return;
}

new 
TeamName:team = get_member(Uid, m_iTeam);

switch(
team)
{
case 
TEAM_TERRORIST: {
set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
case 
TEAM_CT: {
set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
}

ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}

public 
hideStatus(const id)
{
ClearSyncHud(id, syncObj2);
}

public 
CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
#pragma unused id

if(bDefused)
{
g_xp[player] += xps_edo;
}
}

public 
PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
g_xp[id] += xps_edo;
}

parilti_yolla(const id)
{
new 
origin[3];
get_user_origin(id, origin);

message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_IMPLOSION);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(200);
write_byte(100);
write_byte(5);
message_end();

rh_emit_sound2(id, id, CHAN_AUTO, levelatla);

message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_DLIGHT);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(35);
write_byte(250);
write_byte(150);
write_byte(15);
write_byte(8);
write_byte(60);
message_end();
}

stock Renkli_Yazi(const ID, const input[], any:...)
{
new 
Count = 1, Players[32];
static 
Message[191];
vformat(Message, 190, input, 3);

/* ^1 | ^x01 --> Yellow */
/* ^4 | ^x04 --> Green */
/* ^3 | ^x03 --> Team Color */

replace_all(Message, 190, "^1", "^x01");
replace_all(Message, 190, "^4", "^x04");
replace_all(Message, 190, "^3", "^x03");

if(
ID) Players[0] = ID; else get_players(Players, Count, "ch");
{
for(new 
i = 0; i < Count; i++)
{
if(
is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
write_byte(Players[i]);
write_string(Message);
message_end();
}
}
}
} 
Linksta
RE: Eklenti Derleme hatası
(18-03-2020, 15:47)By.KinG Adlı Kullanıcıdan Alıntı: Editleyecem diye eklentiyi bozmuşsunuz, 807. satır gibi bir yerde hata verecek; bunun için eklentini default haline bakın ve orayı eski haline çevirin.

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

#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))

new const tag[] = "SchnAps";

new const 
sound[] = "fvox/beep.wav";
new const 
levelatla[] = "rexp_seviye_atlama.wav"

new g_seviye[MAX_CLIENTS + 1];
new 
g_xp[MAX_CLIENTS + 1];
new 
g_chosen[MAX_CLIENTS + 1];
new 
g_tmpisim[MAX_CLIENTS + 1];
new 
ly[MAX_CLIENTS + 1];
new 
ey[MAX_CLIENTS + 1];
new as[
MAX_CLIENTS + 1];
new 
g_rank[MAX_CLIENTS + 1][30];
new 
syncObj, syncObj2;
new 
xpkayit;
new 
xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
xps_heal_up, xps_damage_up, xps_edo, xps_parilti,
xps_seviye_mesaj;
new 
g_authid[MAX_CLIENTS + 1][30];

public 
plugin_init() {
    
register_plugin("ReXP System", "1.1", "PurposeLess");
    
    
register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
    
register_clcmd("say /xplist", "clcmd_xplist");
    
register_clcmd("say /xpler", "clcmd_xplist");
    
register_clcmd("say /xpreset", "clcmd_reset");
    
    
register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
    
register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
    
register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
    
register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
    
register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
    
register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
    
register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");
    
    
register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
    
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");
    
    
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
    
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
    
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);
    
    
xps_start = register_cvar("xps_start", "30");
    
xps_inc = register_cvar("xps_inc", "10");
    
xps_kill = register_cvar("xps_kill", "30");
    
xps_knife = register_cvar("xps_knife", "50");
    
xps_headshot = register_cvar("xps_headshot", "50");
    
xps_heal_up = register_cvar("xps_heal_up", "1");
    
xps_damage_up = register_cvar("xps_damage_up", "1");
    
maxgivexp = register_cvar("xps_maxgivexp", "9999999");
    
xps_parilti = register_cvar("xps_parilti", "1");
    
xps_seviye_mesaj = register_cvar("xps_seviye_mesaj", "1");
    
    
syncObj = CreateHudSyncObj();
    
syncObj2 = CreateHudSyncObj();
    
    if(
get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
    {
        
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
        
RegisterHookChain(RG_PlantBomb, "PlantBomb");
        
        
xps_edo = register_cvar("xps_edo", "5");
    }
}

public 
plugin_precache()
{
    
precache_sound(sound);
    
precache_sound(levelatla);
}

public 
plugin_cfg()
{
    
xpkayit = nvault_open("xps_kayitt");
}

public 
plugin_end()
{
    for(new 
id = 1; id <= MAX_CLIENTS; id++)
    {
        
g_save_xps(id, g_authid[id]);
    }
    
    
nvault_close(xpkayit);
}

public 
client_putinserver(id)
{
    
g_rank[id] = "UNRANKED";
}

public 
client_authorized(id)
{
    new 
authid[128];
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
set_task(1.0, "show_explevel", id, .flags = "b");
    
    
g_load_xps(id, authid);
    
copy(g_authid[id], charsmax(g_authid[]), authid);
}

public 
client_disconnected(id)
{
    
g_save_xps(id, g_authid[id]);
    
    
remove_task(id);
}

public 
clcmd_reset(const id)
{
    
g_seviye[id] = 1;
    
g_xp[id] = 0;
    
    
Renkli_Yazi(id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xplist(const id)
{
    new 
menu = menu_create("\yLevel Score List", "clcmd_xplist2");
    
    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
clcmd_xplist2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        
Renkli_Yazi(id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
        return 
PLUGIN_HANDLED;
    }
    
    static 
Menu[64];
    
    
formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
    new 
menu = menu_create(Menu, "clcmd_xpkontrol2");
    
    
formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
    
menu_additem(menu, Menu, "1");
    
    
formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
    
menu_additem(menu, Menu, "2");
    
    
formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
    
menu_additem(menu, Menu, "3");
    
    
formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
    
menu_additem(menu, Menu, "4");
    
    
formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
    
menu_additem(menu, Menu, "5");
    
    
formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "6");
    
    
formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
    
menu_additem(menu, Menu, "7");
    
    
formatex(Menu, charsmax(Menu), "\yExp Menu");
    
menu_additem(menu, Menu, "8");
    
    
formatex(Menu, charsmax(Menu), "\d====\rSchnAps\d====^n^n");
    
menu_additem(menu, Menu, "9");
    
    
formatex(Menu, charsmax(Menu), "\yCikis");
    
menu_additem(menu, Menu);
    
    
menu_setprop(menu, MPROP_PERPAGE, 0);
    
menu_display(id, menu);
    
    return 
PLUGIN_HANDLED;
}

public 
clcmd_xpkontrol2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
        case 
2: {
            
client_cmd(id, "messagemode xps_kill_giriniz");
        }
        case 
3: {
            
client_cmd(id, "messagemode xps_inc_giriniz");
        }
        case 
4: {
            
client_cmd(id, "messagemode xps_headshot_giriniz");
        }
        case 
5: {
            
client_cmd(id, "messagemode xps_knife_giriniz");
        }
        case 
6: {
            
client_cmd(id, "messagemode xps_damage_up_giriniz");
        }
        case 
7: {
            
client_cmd(id, "messagemode xps_heal_up_giriniz");
        }
        case 
8: {
            
expsenu(id);
        }
        case 
9: {
            
menu_display(id, menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
expsenu(const id)
{
    new 
menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");
    
    
menu_additem(menu, "\yExp Ver", "1");
    
menu_additem(menu, "\yExp Al", "2");
    
menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
    
menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
expsenu2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    new 
key = str_to_num(data);
    switch(
key)
    {
        case 
1: {
            
g_chosen[id] = 1;
            
oyuncusec(id);
        }
        case 
2: {
            
g_chosen[id] = 2;
            
oyuncusec(id);
        }
        case 
3: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
        case 
4: {
            
g_chosen[id] = 3;
            
client_cmd(id, "messagemode EXP_MIKTARI");
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
oyuncusec(const id)
{
    new 
menu = menu_create("\yOyuncu Sec", "oyuncusec2");
    
    new 
players[32], text[64], tempid[10], inum;
    static 
Uid;
    
get_players(players, inum, "ac");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
get_players(players, inum, "bc");
    for(new 
i; i<inum; i++)
    {
        
Uid = players[i];
        
text[0] = '^0';
        
        
num_to_str(Uid, tempid, charsmax(tempid));
        
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
        
menu_additem(menu, text, tempid);
    }
    
    
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    
menu_display(id, menu);
}

public 
oyuncusec2(const id, const menu, const item)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], name[32], access, callback;
    
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
    
g_tmpisim[id] = str_to_num(data);
    
    
client_cmd(id, "messagemode EXP_MIKTARI");
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
xps_kill_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_kill", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_inc_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_inc", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_headshot_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_headshot", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_knife_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_knife", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_damage_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_damage_up", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
xps_heal_up_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON)
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    
    if(!
is_str_num(arg))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg_num = str_to_num(arg);
    
set_cvar_num("xps_heal_up", arg_num);
    
clcmd_xpkontrol(id);
    
    return 
PLUGIN_HANDLED;
}

public 
exp_miktari_giriniz(const id)
{
    if(~
get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
arg[32];
    
read_args(arg, charsmax(arg));
    
remove_quotes(arg);
    new 
num = str_to_num(arg);
    
    if(!
is_str_num(arg) || num <= 0)
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }
    
    new 
Uid = g_tmpisim[id];
    
    if(!
is_user_connected(Uid))
    {
        
g_chosen[id] = 0;
        return 
PLUGIN_HANDLED;
    }
    
    switch(
g_chosen[id])
    {
        case 
1: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
g_xp[Uid] += num;
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4SERVER IP ADRESIMIZ ^1:95.173.173.xx ^4 FAVORILERINIZE EKLEYIN.", id, Uid, num);
        }
        case 
2: {
            if(
num > g_xp[Uid])
            {
                
g_xp[Uid] = 0;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
            }
            else
            {
                
g_xp[Uid] -= num;
                
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
            }
        }
        case 
3: {
            if(
num > maxgivexp)
            {
                
client_cmd(id, "messagemode EXP_MIKTARI");
                
Renkli_Yazi(id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
                return 
PLUGIN_HANDLED;
            }
            
            new 
players[MAX_CLIENTS], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[cid] += num;
            }
            
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
        }
        case 
4: {
            new 
players[32], inum;
            static 
cid;
            
get_players(players, inum, "ac");
            for(new 
i; i<inum; i++)
            {
                
cid = players[i];
                
g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
            }
            
            
Renkli_Yazi(0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
        }
    }
    
    return 
PLUGIN_HANDLED;
}

g_save_xps(const id, const authid[])
{
new 
key[74], stats[34];

formatex(key, charsmax(key), "%s-stats", authid);
formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
nvault_set(xpkayit, key, stats);
}

g_load_xps(const id, const authid[])
{
new 
key[72], stats[34], stat[3][12];
formatex(key, charsmax(key), "%s-stats", authid);
nvault_get(xpkayit, key, stats, charsmax(stats));
replace_all(stats, charsmax(stats), "#", " ");
parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));

g_seviye[id] = str_to_num(stat[0]);
g_xp[id] = str_to_num(stat[1]);

if(
g_seviye[id] == 0)
{
g_seviye[id] = 1
}
}

public 
CBasePlayer_Spawn(const id)
{
if(
xps_heal_up && is_user_alive(id))
{
set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
}
}

public 
CBasePlayer_Killed(const victim, const attacker)
{
if(
victim == attacker && is_user_connected(attacker))    
{
if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_kill;
    
kontrol2(victim);
    return;
}
}

if(
g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
{
return;
}

g_xp[attacker] += xps_kill;

if(
g_seviye[victim] > 4)
{
g_xp[victim] -= xps_kill / 2;
}

if(
get_member(victim, m_bHeadshotKilled))
{
g_xp[attacker] += xps_headshot;

if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_headshot / 2;
}
}

if(
get_user_weapon(attacker) == CSW_KNIFE)
{
g_xp[attacker] += xps_knife;

if(
g_seviye[victim] > 4)
{
    
g_xp[victim] -= xps_knife / 2;
}
}

kontrol(attacker);
kontrol2(victim);
}

public 
CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
if(
victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
{
return 
HC_CONTINUE;
}

if(
xps_damage_up)
{
new 
dmg = g_seviye[attacker] * 1 - 1;

SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
}

return 
HC_CONTINUE;
}

kontrol(const id)
{
if(
g_xp[id] >= level(id))
{
g_seviye[id]++;
g_xp[id] = 0;

if(
xps_parilti)
{
parilti_yolla(id);
}
if(
xps_seviye_mesaj)
{
if(
g_seviye[id] > 25)
{
    
Renkli_Yazi(0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
}
}
}
else
{
rh_emit_sound2(id, id, CHAN_AUTO, sound);
}

as[
id] = xps_start + (g_seviye[id] * xps_inc);
ly[id] = g_seviye[id] * 100 / 100;
ey[id] = g_xp[id] * 100 / as[id];

rankbelirle(id);
}

kontrol2(const id)
{
if(
g_seviye[id] == 1)
{
return;
}

if(
g_xp[id] < 0)
{
g_seviye[id]--;
g_xp[id] = level(id) + g_xp[id];
}

rankbelirle(id);
}

rankbelirle(const id)
{
new 
seviye = g_seviye[id];

switch(
seviye)
{
case 
1..2: {
g_rank[id] = "eziK";
}
case 
3..5: {
g_rank[id] = "YENI SILVER";
}
case 
6..8: {
g_rank[id] = "SILVER II";
}
case 
9..12: {
g_rank[id] = "SILVER II";
}
case 
13..15: {
g_rank[id] = "SILVER III";
}
case 
16..18: {
g_rank[id] = "SILVER IV";
}
case 
19..21: {
g_rank[id] = "SUPER SILVER";
}
case 
22..25: {
g_rank[id] = "SILVER ELITE";
}
case 
26..28: {
g_rank[id] = "SILVER ELITE II";
}
case 
29..32: {
g_rank[id] = "SILVER ELITE MASTER";
}
case 
33..36: {
g_rank[id] = "SILVER ELITE MASTER II";
}
case 
37..39: {
g_rank[id] = "SILVER ELITE MASTER III";
}
case 
40..45: {
g_rank[id] = "NOVA I";
}
case 
46..49: {
g_rank[id] = "NOVA II";
}
case 
50..53: {
g_rank[id] = "NOVA III";
}
case 
54..58: {
g_rank[id] = "GOLD NOVA MASTER";
}
case 
59..61: {
g_rank[id] = "MASTER GUARDIAN I";
}
case 
62..67: {
g_rank[id] = "MASTER GUARDIAN II";
}
case 
68..70: {
g_rank[id] = "MASTER GUARDIAN ELITE";
}
case 
71..74: {
g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
}
case 
75..78: {
g_rank[id] = "LEGENDARY EAGLE";
}
case 
79..84: {
g_rank[id] = "LEGENDARY EAGLE MASTER";
}
case 
85..89: {
g_rank[id] = "SUPREME MASTER FIRST CLASS";
}
case 
90..95: {
g_rank[id] = "SUPREME MASTER FIRST CLASS II";
}
case 
96..100: {
g_rank[id] = "GLOBAL ELITE > SUPEROYUNCU";
}
}
}

public 
show_explevel(const id)
{
static const 
is[SchnAps] = "%"

set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
ShowSyncHudMsg(id, syncObj, "SchnAps GAM!NG ^nLevel: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s] ^n ^nIP: xx ^nUcretsiz Adminlik", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}

public 
showStatus(const id)
{
new 
Uid = read_data(2);

if(!
is_user_connected(id))
{
return;
}

new 
TeamName:team = get_member(Uid, m_iTeam);

switch(
team)
{
case 
TEAM_TERRORIST: {
set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
case 
TEAM_CT: {
set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
}

ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}

public 
hideStatus(const id)
{
ClearSyncHud(id, syncObj2);
}

public 
CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
#pragma unused id

if(bDefused)
{
g_xp[player] += xps_edo;
}
}

public 
PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
g_xp[id] += xps_edo;
}

parilti_yolla(const id)
{
new 
origin[3];
get_user_origin(id, origin);

message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_IMPLOSION);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(200);
write_byte(100);
write_byte(5);
message_end();

rh_emit_sound2(id, id, CHAN_AUTO, levelatla);

message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_DLIGHT);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(35);
write_byte(250);
write_byte(150);
write_byte(15);
write_byte(8);
write_byte(60);
message_end();
}

stock Renkli_Yazi(const ID, const input[], any:...)
{
new 
Count = 1, Players[32];
static 
Message[191];
vformat(Message, 190, input, 3);

/* ^1 | ^x01 --> Yellow */
/* ^4 | ^x04 --> Green */
/* ^3 | ^x03 --> Team Color */

replace_all(Message, 190, "^1", "^x01");
replace_all(Message, 190, "^4", "^x04");
replace_all(Message, 190, "^3", "^x03");

if(
ID) Players[0] = ID; else get_players(Players, Count, "ch");
{
for(new 
i = 0; i < Count; i++)
{
if(
is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
write_byte(Players[i]);
write_string(Message);
message_end();
}
}
}
} 


Denilen satırı halletim hocam sorun kalkti lakin bu seferde söyle bi durum oldu buna bakabilir misiniz?
https://i.hizliresim.com/N1wSvY.png 

Scor eklentisi cok sacmaladı farklı bir editte yapmadım hocam
RE: Eklenti Derleme hatası
Bu eklenti 1.8.3 için yapılmış, o yüzden çalışmıyordu ama internette bunun 1.8.2 için uygun olanı da vardı.Onu kullanmayı denemelisiniz bence.
Linksta
Eklenti Derleme hatası
Konunuz uzun bir süre güncellenmediği için "Zaman aşımına uğramış istekler" kategorisine taşınmıştır.
Linksta

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