⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

Konu

#1
[attachment=22708][attachment=22708][attachment=22708]
[attachment=22708]
csduragında calısıyordu x bir firmadan sunucu acıldı   cs duragının amx 1.9 kullandıgını  aldıgımız yerın amx 1.10 kullandıklarını soyledıler

özetle ektekı plugını amx 1.10a gore yapılıcak tesekkürler simdiden
Son Düzenleme: 27-12-2025, 00:54, Düzenleyen: rexluca.Son Düzenleme: 27-12-2025, 00:54, Düzenleyen: rexluca.
#2
Hatalı olan ne eklentiyi paylaş bakalım
 "Website ve Ücretli eklenti için ulaşabilirsiniz."
#3
(27-12-2025, 00:33)-.RuFF Adlı Kullanıcıdan Alıntı: Hatalı olan ne eklentiyi paylaş bakalım
paylastım hocam
#4
(27-12-2025, 00:53)rexluca Adlı Kullanıcıdan Alıntı:
(27-12-2025, 00:33)-.RuFF Adlı Kullanıcıdan Alıntı: Hatalı olan ne eklentiyi paylaş bakalım
paylastım hocam
hata ne ?
 "Website ve Ücretli eklenti için ulaşabilirsiniz."
#5
hata yok calısmıyor ama
#6
(27-12-2025, 00:59)rexluca Adlı Kullanıcıdan Alıntı: hata yok calısmıyor ama
Deneyebilirsin;

Kod:
/* Sublime AMXX Editor v3.2 - Cleaned & Optimized */

#include <amxmodx>
#include <reapi>
#include <regex>
#include <nvault>

#pragma semicolon 1

#define MAX_RUTBE 22

new const szCheckTag[] = "PROF";
new const szRegenerateTag[] = "^x04PROF^x01@^x03";

new const sChatSay[] = "^x01{DEAD}^x03[^x04{LEVEL}^x03] ^x04{TAG} ^x03{NAME}^x01: {FLAG}{MESSAGE}";
new const ChatTag[] = "^1[ ^3- ^4ASKERI RUTBE SISTEMI ^3- ^1]";

new const sLevelSystem[][][] = {
    {"Er", 0},
    {"Onbasi", 10},
    {"Uz.Onb.", 50},
    {"Uz.Cvs.", 100},
    {"Asb. Cvs", 200},
    {"Asb. Kd. Cvs", 300},
    {"Asb. Ucvs", 400},
    {"Asb. Kd. Ucvs", 500},
    {"Asb. Bcvs", 700},
    {"Asb. Kd. Bcvs", 900},
    {"Astegmen", 1000},
    {"Tegmen", 2000},
    {"Ustegmen", 4000},
    {"Yuzbasi", 8000},
    {"Binbasi", 18000},
    {"Yarbay", 33000},
    {"Albay", 53000},
    {"Tuggeneral", 83000},
    {"Tumgeneral", 123000},
    {"Korgeneral", 173000},
    {"Orgeneral", 223000},
    {"Genelkurmay Baskani", 303000},
    {"Maresal", 403000}
};

new const szAdminTags[][][] = {
    {"a"," K"},
    {"t"," CAPTAN"},
    {"l"," YONETIM"},
    {"o"," E-ADMIN"},
    {"s"," ADMIN"},
    {"r"," SLOT"}
};

enum _: Variables {
    Exp,
    Level,
    bool:Spamming
}

new Vars[MAX_PLAYERS+1][Variables], iCvars[5], iSayText, iTeamInfo, iVault, szUserAdminTag[MAX_PLAYERS+1][64], iUserYetkili[MAX_PLAYERS+1];

public plugin_natives() {
    register_native("ALS_GetUserExp","@ALS_GUEX");
    register_native("ALS_SetUserExp","@ALS_SUEX");
    register_native("ALS_GetUserLevel","@ALS_GULV");
    register_native("ALS_SetUserLevel","@ALS_SULV");
    register_native("ALS_GetMaxLevel","@ALS_GMLV");
}

@ALS_GUEX() return Vars[get_param(1)][Exp];
@ALS_GULV() return Vars[get_param(1)][Level];
@ALS_GMLV() return (sizeof(sLevelSystem)-1);

@ALS_SUEX() {
    new nPlayerID = get_param(1), nAmount = get_param(2);
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    if(nAmount >= sLevelSystem[iMaxLevel][1][0]) {
        Vars[nPlayerID][Level] = iMaxLevel;
        Vars[nPlayerID][Exp] = sLevelSystem[iMaxLevel][1][0];
    } else {
        Vars[nPlayerID][Exp] = nAmount;
        for(new i=iMaxLevel; i >= 0; i--) {
            if(nAmount >= sLevelSystem[i][1][0]) {
                Vars[nPlayerID][Level] = i;
                break;
            }
        }
    }
    return PLUGIN_CONTINUE;
}

@ALS_SULV() {
    new nPlayerID = get_param(1), nAmount = get_param(2);
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    if(nAmount >= iMaxLevel) {
        Vars[nPlayerID][Level] = iMaxLevel;
        Vars[nPlayerID][Exp] = sLevelSystem[iMaxLevel][1][0];
    } else {
        Vars[nPlayerID][Level] = nAmount;
        Vars[nPlayerID][Exp] = sLevelSystem[nAmount][1][0];
    }
    return PLUGIN_CONTINUE;
}

public plugin_cfg() iVault = nvault_open("ALS_V4");
public plugin_end() nvault_close(iVault);

public plugin_init() {
    register_plugin("Advanced Level System", "1.3", "PawNod'");

    register_concmd("amx_give_level","@GiveLevel",ADMIN_IMMUNITY,"<isim> <miktar>");
    register_clcmd("say","@Hook_Say");
    register_clcmd("say /rutbe","@Sonraki_Rutbe");
    register_clcmd("say /rutbeler","@ToplamRutbe");

    RegisterHookChain(RG_CBasePlayer_Killed, "@IsKilled", .post = true);
   
    iSayText = get_user_msgid("SayText");
    iTeamInfo = get_user_msgid("TeamInfo");

    Cvars();
}

@Sonraki_Rutbe(const iPlayer) {
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    if(Vars[iPlayer][Level] < iMaxLevel) {
        client_print_color(iPlayer, iPlayer, "Siradaki rutbeniz ^4(%s) ^1Almaniz gereken kill: ^3(%i)", sLevelSystem[Vars[iPlayer][Level]+1][0][0], sLevelSystem[Vars[iPlayer][Level]+1][1][0]-Vars[iPlayer][Exp]);
        client_print_color(iPlayer, iPlayer, "Mevcut Kill: ^3%i | ^1Hedef Sayi: ^3%i!", Vars[iPlayer][Exp], sLevelSystem[Vars[iPlayer][Level]+1][1][0]);
    } else {
        client_print_color(iPlayer, iPlayer, "Maksimum rutbeye ulastiniz ^4(%s)^1!", sLevelSystem[Vars[iPlayer][Level]][0][0]);
    }
}

@ToplamRutbe(const iPlayer) {
    new szMotd[2048], iPos;
    // Arkaplan siyah (#000), yazilar beyaz (#FFF) yapildi.
    iPos = format(szMotd, charsmax(szMotd),"<body bgcolor=#000000 style='color:#FFFFFF; font-family:sans-serif;'><center><table width=90%% border=0 style='text-align:center; border:1px solid #444;'>");
    iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"<tr bgcolor=#222222 style='font-weight:bold;'><td>#</td><td>Rutbe Ismi</td><td>Toplam Kill</td></tr>");

    for(new i = 0; i < sizeof sLevelSystem; i++) {
        // Satir aralarina hafif renk farki eklendi (okunabilirlik icin)
        iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"<tr bgcolor=%s><td>%d</td><td>%s</td><td>%d</td></tr>", (i % 2 == 0) ? "#111111" : "#181818", i+1, sLevelSystem[i][0][0], sLevelSystem[i][1][0]);
    }
    iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"</table></center></body>");
    show_motd(iPlayer, szMotd, "Rutbe Listesi");
}

Cvars() {
    bind_pcvar_num(create_cvar("ALS_Give_Exp","1"), iCvars[0]);
    bind_pcvar_num(create_cvar("ALS_Give_Min_Exp","20"), iCvars[1]);
    bind_pcvar_num(create_cvar("ALS_Give_Max_Exp","70"), iCvars[2]);
    bind_pcvar_num(create_cvar("ALS_Chat","1"), iCvars[3]);
    bind_pcvar_num(create_cvar("ALS_Chat_Messages","1"), iCvars[4]);
}

@GiveLevel(const iPlayer, const iLevelFlags, const iCid) {
    if(!(get_user_flags(iPlayer) & ADMIN_IMMUNITY)) return PLUGIN_HANDLED;

    new iStringName[32], iStringAmount[10];
    read_argv(1, iStringName, charsmax(iStringName));
    read_argv(2, iStringAmount, charsmax(iStringAmount));
   
    new iAmmount = str_to_num(iStringAmount);
    new iMaxLevel = (sizeof(sLevelSystem)-1);

    if(iStringName[0] == '@') {
        new iPlayers[32], iPlayerNum, iTemp;
        get_players(iPlayers, iPlayerNum, "ch");
       
        for(new i = 0; i < iPlayerNum; i++) {
            iTemp = iPlayers[i];
            Vars[iTemp][Level] = min(iMaxLevel, Vars[iTemp][Level] + iAmmount);
            Vars[iTemp][Exp] = sLevelSystem[Vars[iTemp][Level]][1][0];
           
            new sAuth[32]; get_user_authid(iTemp, sAuth, charsmax(sAuth));
            sSetIntData("%s>Exp", Vars[iTemp][Exp], sAuth);
            sSetIntData("%s>Level", Vars[iTemp][Level], sAuth);
        }
        client_print_color(0, 0, "%s Admin ^4%n ^1herkese ^4%i Level ^1verdi!", ChatTag, iPlayer, iAmmount);
        return PLUGIN_HANDLED;
    }

    new iTarget = find_player("bl", iStringName);
    if(iTarget) {
        Vars[iTarget][Level] = min(iMaxLevel, Vars[iTarget][Level] + iAmmount);
        Vars[iTarget][Exp] = sLevelSystem[Vars[iTarget][Level]][1][0];
       
        new sAuth[32]; get_user_authid(iTarget, sAuth, charsmax(sAuth));
        sSetIntData("%s>Exp", Vars[iTarget][Exp], sAuth);
        sSetIntData("%s>Level", Vars[iTarget][Level], sAuth);
       
        client_print_color(0, 0, "%s Admin ^4%n, ^3%n ^1kisisine ^4%i Level ^1verdi!", ChatTag, iPlayer, iTarget, iAmmount);
    }
    return PLUGIN_HANDLED;
}

@Hook_Say(const iPlayer) {
    if(iCvars[4] == 0) return PLUGIN_CONTINUE;

    new iMessage[191];
    read_args(iMessage, charsmax(iMessage));
    remove_quotes(iMessage);

    if(!iMessage[0] || iMessage[0] == '@' || iMessage[0] == '/' || iMessage[0] == '!') return PLUGIN_CONTINUE;

    // Reklam Filtresi
    new ret, szError[128], Regex:iSayCheck = regex_compile("[0-9]{5,}", ret, szError, 127);
    if(regex_match_c(iMessage, iSayCheck, ret)) {
        client_print_color(iPlayer, iPlayer, "^4[HATA] ^1Mesajinizda cok fazla rakam var, reklam engellendi!");
        regex_free(iSayCheck);
        return PLUGIN_HANDLED;
    }
    regex_free(iSayCheck);

    new sNewData[191], szTagData[128], iColor[10];
    get_user_team(iPlayer, iColor, charsmax(iColor));
    copy(sNewData, charsmax(sNewData), sChatSay);

    if(iUserYetkili[iPlayer]) formatex(szTagData, 127, "^x04[^x03%s^x04]", szUserAdminTag[iPlayer]);
    else szTagData = "";

    replace_all(sNewData, charsmax(sNewData), "{TAG}", szTagData);
    replace_all(sNewData, charsmax(sNewData), "{DEAD}", is_user_alive(iPlayer) ? "" : "(OLU) ");
    replace_all(sNewData, charsmax(sNewData), "{LEVEL}", sLevelSystem[Vars[iPlayer][Level]][0][0]);
    replace_all(sNewData, charsmax(sNewData), "{NAME}", fmt("^x03%n", iPlayer));
    replace_all(sNewData, charsmax(sNewData), "{FLAG}", (get_user_flags(iPlayer) & ADMIN_RESERVATION) ? "^x04" : "^x01");
    replace_all(sNewData, charsmax(sNewData), "{MESSAGE}", iMessage);

    @sendMessage(iColor, is_user_alive(iPlayer), sNewData);
    return PLUGIN_HANDLED;
}

@IsKilled(const iVictim, const iAttacker) {
    if(!is_user_connected(iAttacker) || iVictim == iAttacker) return;

    new iExpGained = (iCvars[0] == 0) ? random_num(iCvars[1], iCvars[2]) : iCvars[0];
    new iMaxLevel = (sizeof(sLevelSystem)-1);

    if(Vars[iAttacker][Level] < iMaxLevel) {
        Vars[iAttacker][Exp] += iExpGained;
       
        new sAuth[32]; get_user_authid(iAttacker, sAuth, charsmax(sAuth));
        sSetIntData("%s>Exp", Vars[iAttacker][Exp], sAuth);

        if(Vars[iAttacker][Exp] >= sLevelSystem[Vars[iAttacker][Level] + 1][1][0]) {
            Vars[iAttacker][Level]++;
            client_print_color(iAttacker, iAttacker, "%s ^1Basarili bir sekilde ^4Rutbe Atladiniz^1! Yeni Rutbe: ^4%s", ChatTag, sLevelSystem[Vars[iAttacker][Level]][0][0]);
            sSetIntData("%s>Level", Vars[iAttacker][Level], sAuth);
        }
    }
}

public client_putinserver(iPlayer) {
    new sAuth[32]; get_user_authid(iPlayer, sAuth, charsmax(sAuth));
    Vars[iPlayer][Exp] = sGetIntData("%s>Exp", sAuth);
    Vars[iPlayer][Level] = sGetIntData("%s>Level", sAuth);

    iUserYetkili[iPlayer] = 0;
    for(new i = 0; i < sizeof(szAdminTags); i++) {
        if(get_user_flags(iPlayer) & read_flags(szAdminTags[i][0][0])) {
            copy(szUserAdminTag[iPlayer], 63, szAdminTags[i][1][0]);
            iUserYetkili[iPlayer] = 1;
            break;
        }
    }
}

@sendMessage(const color[], const alive, const message[]) {
    for(new player = 1; player <= MaxClients; player++) {
        if(!is_user_connected(player)) continue;
        if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) & ADMIN_BAN)) {
            new teamName[10]; get_user_team(player, teamName, 9);
            @changeTeamInfo(player, color);
            @writeMessage(player, message);
            @changeTeamInfo(player, teamName);
        }
    }
}

@changeTeamInfo(const player, const team[]) {
    message_begin(MSG_ONE, iTeamInfo, _, player);
    write_byte(player); write_string(team); message_end();                  
}

@writeMessage(const player, const message[]) {
    message_begin(MSG_ONE, iSayText, _, player);   
    write_byte(player); write_string(message); message_end();                                          
}

stock sGetIntData(const sKey[], any:...){
    new sFixedData[128]; vformat(sFixedData, 127, sKey, 2);
    return nvault_get(iVault, sFixedData);
}

stock sSetIntData(const sKey[], const iData, any:...){
    new sFixedData[128], sNTS[12]; vformat(sFixedData, 127, sKey, 3);
    num_to_str(iData, sNTS, 11); nvault_set(iVault, sFixedData, sNTS);
}

 "Website ve Ücretli eklenti için ulaşabilirsiniz."
Son Düzenleme: 27-12-2025, 01:29, Düzenleyen: -.RuFF.
#7
elıne saglık tesekkür ederim bir sorun var sadece steam yazmıyor sadece yanda nonsteamdada useryazması gerekiyor
#8
(27-12-2025, 01:11)rexluca Adlı Kullanıcıdan Alıntı: elıne saglık tesekkür ederim  bir sorun var sadece steam yazmıyor sadece  yanda  nonsteamdada useryazması gerekiyor
Demek istedğin steam ve / non-steam veya user de olsa [user] mi yazsın?
 "Website ve Ücretli eklenti için ulaşabilirsiniz."
#9
Dosya Adı: xddd.png | Dosya Boyutu: 45,24 KB | 27-12-2025, 01:33
Yok yetkılerın yanında örnek  suan  YONETIM VARYA      onun onunde kullanıcı steamsa  steam YONETICI  non steamsa sadece YONETICI      eger yetkısı yoksa swde  STEAM USER    non steamsa  USER yazsın Dosya Adı: xddd.png | Dosya Boyutu: 45,24 KB | 27-12-2025, 01:33
Son Düzenleme: 27-12-2025, 01:33, Düzenleyen: rexluca.
#10
(27-12-2025, 01:32)rexluca Adlı Kullanıcıdan Alıntı: Yok yetkılerın yanında örnek  suan  YONETIM VARYA      onun onunde kullanıcı steamsa  steam YONETICI  non steamsa sadece YONETICI      eger yetkısı yoksa swde  STEAM USER    non steamsa  USER yazsın 
Dene;

Kod:
/* Sublime AMXX Editor v3.2 - Cleaned & Optimized */

#include <amxmodx>
#include <reapi>
#include <regex>
#include <nvault>

#pragma semicolon 1

#define MAX_RUTBE 22

new const sChatSay[] = "^x01{DEAD}^x03[^x04{LEVEL}^x03] ^x04{TAG} ^x03{NAME}^x01: {FLAG}{MESSAGE}";
new const ChatTag[] = "^1[ ^3- ^4ASKERI RUTBE SISTEMI ^3- ^1]";

new const sLevelSystem[][][] = {
    {"Er", 0}, {"Onbasi", 10}, {"Uz.Onb.", 50}, {"Uz.Cvs.", 100}, {"Asb. Cvs", 200},
    {"Asb. Kd. Cvs", 300}, {"Asb. Ucvs", 400}, {"Asb. Kd. Ucvs", 500}, {"Asb. Bcvs", 700},
    {"Asb. Kd. Bcvs", 900}, {"Astegmen", 1000}, {"Tegmen", 2000}, {"Ustegmen", 4000},
    {"Yuzbasi", 8000}, {"Binbasi", 18000}, {"Yarbay", 33000}, {"Albay", 53000},
    {"Tuggeneral", 83000}, {"Tumgeneral", 123000}, {"Korgeneral", 173000},
    {"Orgeneral", 223000}, {"Genelkurmay Baskani", 303000}, {"Maresal", 403000}
};

new const szAdminTags[][][] = {
    {"a","K"}, {"t","CAPTAN"}, {"l","YONETIM"}, {"o","E-ADMIN"}, {"s","ADMIN"}, {"r","SLOT"}
};

enum _: Variables {
    Exp,
    Level,
    bool:Spamming
}

new Vars[MAX_PLAYERS+1][Variables], iCvars[5], iSayText, iTeamInfo, iVault;
new szUserAdminTag[MAX_PLAYERS+1][64], bool:is_user_steam[MAX_PLAYERS+1];

public plugin_natives() {
    register_native("ALS_GetUserExp","@ALS_GUEX");
    register_native("ALS_SetUserExp","@ALS_SUEX");
    register_native("ALS_GetUserLevel","@ALS_GULV");
    register_native("ALS_SetUserLevel","@ALS_SULV");
    register_native("ALS_GetMaxLevel","@ALS_GMLV");
}

@ALS_GUEX() return Vars[get_param(1)][Exp];
@ALS_GULV() return Vars[get_param(1)][Level];
@ALS_GMLV() return (sizeof(sLevelSystem)-1);

@ALS_SUEX() {
    new nPlayerID = get_param(1), nAmount = get_param(2);
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    Vars[nPlayerID][Exp] = clamp(nAmount, 0, sLevelSystem[iMaxLevel][1][0]);
    for(new i=iMaxLevel; i >= 0; i--) {
        if(Vars[nPlayerID][Exp] >= sLevelSystem[i][1][0]) {
            Vars[nPlayerID][Level] = i;
            break;
        }
    }
    return PLUGIN_CONTINUE;
}

@ALS_SULV() {
    new nPlayerID = get_param(1), nAmount = get_param(2);
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    Vars[nPlayerID][Level] = clamp(nAmount, 0, iMaxLevel);
    Vars[nPlayerID][Exp] = sLevelSystem[Vars[nPlayerID][Level]][1][0];
    return PLUGIN_CONTINUE;
}

public plugin_cfg() iVault = nvault_open("ALS_V4");
public plugin_end() nvault_close(iVault);

public plugin_init() {
    register_plugin("Advanced Level System", "1.4", "PawNod'");

    register_concmd("amx_give_level","@GiveLevel",ADMIN_IMMUNITY,"<isim> <miktar>");
    register_clcmd("say","@Hook_Say");
    register_clcmd("say /rutbe","@Sonraki_Rutbe");
    register_clcmd("say /rutbeler","@ToplamRutbe");

    RegisterHookChain(RG_CBasePlayer_Killed, "@IsKilled", .post = true);
   
    iSayText = get_user_msgid("SayText");
    iTeamInfo = get_user_msgid("TeamInfo");

    Cvars();
}

@Sonraki_Rutbe(const iPlayer) {
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    if(Vars[iPlayer][Level] < iMaxLevel) {
        client_print_color(iPlayer, iPlayer, "Siradaki rutbeniz ^4(%s) ^1Almaniz gereken kill: ^3(%i)", sLevelSystem[Vars[iPlayer][Level]+1][0][0], sLevelSystem[Vars[iPlayer][Level]+1][1][0]-Vars[iPlayer][Exp]);
    } else {
        client_print_color(iPlayer, iPlayer, "Maksimum rutbeye ulastiniz ^4(%s)^1!", sLevelSystem[Vars[iPlayer][Level]][0][0]);
    }
}

@ToplamRutbe(const iPlayer) {
    new szMotd[2048], iPos;
    iPos = format(szMotd, charsmax(szMotd),"<body bgcolor=#000000 style='color:#FFFFFF; font-family:sans-serif;'><center><table width=90%% border=0 style='text-align:center; border:1px solid #444;'>");
    iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"<tr bgcolor=#222222 style='font-weight:bold;'><td>#</td><td>Rutbe Ismi</td><td>Toplam Kill</td></tr>");
    for(new i = 0; i < sizeof sLevelSystem; i++) {
        iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"<tr bgcolor=%s><td>%d</td><td>%s</td><td>%d</td></tr>", (i % 2 == 0) ? "#111111" : "#181818", i+1, sLevelSystem[i][0][0], sLevelSystem[i][1][0]);
    }
    iPos += format(szMotd[iPos], charsmax(szMotd)-iPos,"</table></center></body>");
    show_motd(iPlayer, szMotd, "Rutbe Listesi");
}

Cvars() {
    bind_pcvar_num(create_cvar("ALS_Give_Exp","1"), iCvars[0]);
    bind_pcvar_num(create_cvar("ALS_Give_Min_Exp","20"), iCvars[1]);
    bind_pcvar_num(create_cvar("ALS_Give_Max_Exp","70"), iCvars[2]);
    bind_pcvar_num(create_cvar("ALS_Chat","1"), iCvars[3]);
    bind_pcvar_num(create_cvar("ALS_Chat_Messages","1"), iCvars[4]);
}

@GiveLevel(const iPlayer, const iLevelFlags, const iCid) {
    if(!(get_user_flags(iPlayer) & ADMIN_IMMUNITY)) return PLUGIN_HANDLED;
    new iStringName[32], iStringAmount[10];
    read_argv(1, iStringName, 31); read_argv(2, iStringAmount, 9);
    new iAmmount = str_to_num(iStringAmount), iMaxLevel = (sizeof(sLevelSystem)-1);

    if(iStringName[0] == '@') {
        new iPlayers[32], iPlayerNum, iTemp;
        get_players(iPlayers, iPlayerNum, "ch");
        for(new i = 0; i < iPlayerNum; i++) {
            iTemp = iPlayers[i];
            Vars[iTemp][Level] = min(iMaxLevel, Vars[iTemp][Level] + iAmmount);
            Vars[iTemp][Exp] = sLevelSystem[Vars[iTemp][Level]][1][0];
            new sAuth[32]; get_user_authid(iTemp, sAuth, 31);
            sSetIntData("%s>Exp", Vars[iTemp][Exp], sAuth);
            sSetIntData("%s>Level", Vars[iTemp][Level], sAuth);
        }
        client_print_color(0, 0, "%s Admin ^4%n ^1herkese ^4%i Level ^1verdi!", ChatTag, iPlayer, iAmmount);
        return PLUGIN_HANDLED;
    }
    new iTarget = find_player("bl", iStringName);
    if(iTarget) {
        Vars[iTarget][Level] = min(iMaxLevel, Vars[iTarget][Level] + iAmmount);
        Vars[iTarget][Exp] = sLevelSystem[Vars[iTarget][Level]][1][0];
        new sAuth[32]; get_user_authid(iTarget, sAuth, 31);
        sSetIntData("%s>Exp", Vars[iTarget][Exp], sAuth);
        sSetIntData("%s>Level", Vars[iTarget][Level], sAuth);
        client_print_color(0, 0, "%s Admin ^4%n, ^3%n ^1kisisine ^4%i Level ^1verdi!", ChatTag, iPlayer, iTarget, iAmmount);
    }
    return PLUGIN_HANDLED;
}

@Hook_Say(const iPlayer) {
    if(iCvars[4] == 0) return PLUGIN_CONTINUE;
    new iMessage[191]; read_args(iMessage, 190); remove_quotes(iMessage);
    if(!iMessage[0] || iMessage[0] == '@' || iMessage[0] == '/' || iMessage[0] == '!') return PLUGIN_CONTINUE;

    new ret, szError[128], Regex:iSayCheck = regex_compile("[0-9]{5,}", ret, szError, 127);
    if(regex_match_c(iMessage, iSayCheck, ret)) {
        client_print_color(iPlayer, iPlayer, "^4[HATA] ^1Mesajinizda cok fazla rakam var!");
        regex_free(iSayCheck); return PLUGIN_HANDLED;
    }
    regex_free(iSayCheck);

    new sNewData[191], szTagData[128], iColor[10];
    get_user_team(iPlayer, iColor, 9);
    copy(sNewData, 190, sChatSay);

    // TAG EDİT BÖLÜMÜ
    if(is_user_steam[iPlayer]) {
        formatex(szTagData, 127, "^x04[Steam] ^x03[%s]", szUserAdminTag[iPlayer]);
    } else {
        formatex(szTagData, 127, "^x03[%s]", szUserAdminTag[iPlayer]);
    }

    replace_all(sNewData, 190, "{TAG}", szTagData);
    replace_all(sNewData, 190, "{DEAD}", is_user_alive(iPlayer) ? "" : "(OLU) ");
    replace_all(sNewData, 190, "{LEVEL}", sLevelSystem[Vars[iPlayer][Level]][0][0]);
    replace_all(sNewData, 190, "{NAME}", fmt("^x03%n", iPlayer));
    replace_all(sNewData, 190, "{FLAG}", (get_user_flags(iPlayer) & ADMIN_RESERVATION) ? "^x04" : "^x01");
    replace_all(sNewData, 190, "{MESSAGE}", iMessage);

    @sendMessage(iColor, is_user_alive(iPlayer), sNewData);
    return PLUGIN_HANDLED;
}

@IsKilled(const iVictim, const iAttacker) {
    if(!is_user_connected(iAttacker) || iVictim == iAttacker) return;
    new iExpGained = (iCvars[0] == 0) ? random_num(iCvars[1], iCvars[2]) : iCvars[0];
    new iMaxLevel = (sizeof(sLevelSystem)-1);
    if(Vars[iAttacker][Level] < iMaxLevel) {
        Vars[iAttacker][Exp] += iExpGained;
        new sAuth[32]; get_user_authid(iAttacker, sAuth, 31);
        sSetIntData("%s>Exp", Vars[iAttacker][Exp], sAuth);
        if(Vars[iAttacker][Exp] >= sLevelSystem[Vars[iAttacker][Level] + 1][1][0]) {
            Vars[iAttacker][Level]++;
            client_print_color(iAttacker, iAttacker, "%s ^1Basarili bir sekilde ^4Rutbe Atladiniz^1!", ChatTag);
            sSetIntData("%s>Level", Vars[iAttacker][Level], sAuth);
        }
    }
}

public client_putinserver(iPlayer) {
    new sAuth[32]; get_user_authid(iPlayer, sAuth, 31);
    Vars[iPlayer][Exp] = sGetIntData("%s>Exp", sAuth);
    Vars[iPlayer][Level] = sGetIntData("%s>Level", sAuth);

    // Steam Kontrolü
    is_user_steam[iPlayer] = (containi(sAuth, "STEAM_0:") != -1);

    new bool:has_tag = false;
    for(new i = 0; i < sizeof(szAdminTags); i++) {
        if(get_user_flags(iPlayer) & read_flags(szAdminTags[i][0][0])) {
            copy(szUserAdminTag[iPlayer], 63, szAdminTags[i][1][0]);
            // Baştaki boşluğu temizle (CAPTAN -> CAPTAN)
            if(szUserAdminTag[iPlayer][0] == ' ') {
                copy(szUserAdminTag[iPlayer], 63, szUserAdminTag[iPlayer][1]);
            }
            has_tag = true;
            break;
        }
    }
   
    if(!has_tag) {
        copy(szUserAdminTag[iPlayer], 63, "USER");
    }
}

@sendMessage(const color[], const alive, const message[]) {
    for(new player = 1; player <= MaxClients; player++) {
        if(!is_user_connected(player)) continue;
        if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) & ADMIN_BAN)) {
            new teamName[10]; get_user_team(player, teamName, 9);
            @changeTeamInfo(player, color);
            @writeMessage(player, message);
            @changeTeamInfo(player, teamName);
        }
    }
}

@changeTeamInfo(const player, const team[]) {
    message_begin(MSG_ONE, iTeamInfo, _, player);
    write_byte(player); write_string(team); message_end();                   
}

@writeMessage(const player, const message[]) {
    message_begin(MSG_ONE, iSayText, _, player);   
    write_byte(player); write_string(message); message_end();                                           
}

stock sGetIntData(const sKey[], any:...){
    new sFixedData[128]; vformat(sFixedData, 127, sKey, 2);
    return nvault_get(iVault, sFixedData);
}

stock sSetIntData(const sKey[], const iData, any:...){
    new sFixedData[128], sNTS[12]; vformat(sFixedData, 127, sKey, 3);
    num_to_str(iData, sNTS, 11); nvault_set(iVault, sFixedData, sNTS);
}

 "Website ve Ücretli eklenti için ulaşabilirsiniz."

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task