0
Awards
LV
0
 
43
Likes
180

Messages

tweky

BOSS DE BOSS
Staff member
Administrator
Moderator LCS
High Rollers
Joined
Jun 7, 2024
Reaction score
43
Points
28
Age
31
Website
minios.ro
Credits
2,860
Descriere: Pluginul transformă experiența de joc dintr-una individuală în una de echipă. Permite administratorilor să creeze clanuri oficiale, iar jucătorilor să colaboreze pentru a strânge Clan XP. Sistemul include o ierarhie de 6 rank-uri complet personalizabile, chat privat și un clasament dinamic (Top 10) bazat pe performanță.
> clanurile pot fi create doar de admini cu accesele: abcdefghijklmnopqrstuv
> nu poti fi lider la 2 clanuri


Pluginul este creat de mine cu ajutorul Gemini GPT, nu stiu atat de bine sa scriptez.

Cum se face XP in clan?

Kill normal, +1 Clan XP
Headshot, +3 Clan XP
Kill cu Cuțitul, +5 Clan XP
Plantare Bombă, +3 Clan XP
Dezamorsare Bombă, +3 Clan XP

Descarcare:
Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>

#define PLUGIN "Clan System+"
#define VERSION "0.5"
#define AUTHOR "mihay111/Gemini GPT"

#define ADMIN_ACCESS_FLAG (ADMIN_ALL|ADMIN_IMMUNITY|ADMIN_RESERVATION|ADMIN_KICK|ADMIN_BAN|ADMIN_SLAY|ADMIN_MAP|ADMIN_CVAR|ADMIN_CFG|ADMIN_CHAT|ADMIN_VOTE|ADMIN_PASSWORD|ADMIN_RCON|ADMIN_LEVEL_A|ADMIN_LEVEL_B|ADMIN_LEVEL_C|ADMIN_LEVEL_D|ADMIN_LEVEL_E|ADMIN_LEVEL_F|ADMIN_LEVEL_G|ADMIN_LEVEL_H|ADMIN_MENU)

new g_vault_clans, g_vault_ranks, g_vault_xp;
new g_szPlayerClan[33][32], g_iPlayerRank[33], g_iMemberXP[33];
new g_szRankNames[33][7][32], g_szAuthID[33][35];

new g_iTargetOwner[33], g_szTempClanName[33][32], g_iInviteSource[33], g_iEditingRank[33], g_iManagingMember[33];

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

    register_clcmd("say /createclan", "Cmd_CreateClan", ADMIN_ACCESS_FLAG);
    register_clcmd("say /clandelete", "Cmd_DeleteClan", ADMIN_ACCESS_FLAG);
    register_concmd("amx_deleteclanxp", "Cmd_ResetClanXP", ADMIN_ACCESS_FLAG);
    register_concmd("amx_deleteallclanxp", "Cmd_ResetAllXP", ADMIN_ACCESS_FLAG);

    register_clcmd("say /clan", "Cmd_ClanMenu");
    register_clcmd("say /invite", "Cmd_Invite");
    register_clcmd("say /myclanxp", "Cmd_MyXP");
    register_clcmd("say /clanhelp", "Cmd_ClanHelp");
    register_clcmd("say /clantop", "Cmd_ClanTop");
    register_clcmd("say", "Handle_SayCommands");

    register_event("DeathMsg", "Event_DeathMsg", "a");
    register_logevent("Event_BombPlanted", 3, "2=Planted_The_Bomb");
    register_logevent("Event_BombDefused", 3, "2=Defused_The_Bomb");

    register_clcmd("SET_CLAN_NAME", "Handle_SetClanName");
    register_clcmd("SET_RANK_NAME", "Handle_SetRankName");

    g_vault_clans = nvault_open("clans_v10");
    g_vault_ranks = nvault_open("clan_ranks_v10");
    g_vault_xp = nvault_open("clan_xp_v10");
}

public plugin_end() {
    nvault_close(g_vault_clans); nvault_close(g_vault_ranks); nvault_close(g_vault_xp);
}

public client_putinserver(id) {
    get_user_authid(id, g_szAuthID[id], 34);
    g_szPlayerClan[id][0] = 0; g_iPlayerRank[id] = 0; g_iMemberXP[id] = 0;
    for(new i=1; i<=6; i++) formatex(g_szRankNames[id][i], 31, "Rank %d", i);
    LoadClanData(id);
}

// --- LOGICA XP SI EVENIMENTE ---
public AddClanXP(id, iAmount) {
    if(!is_user_connected(id) || !g_szPlayerClan[id][0]) return;
    g_iMemberXP[id] += iAmount; SaveClanData(id);
    new szK[64]; copy(szK, 63, g_szPlayerClan[id]);
    new iT = nvault_get(g_vault_xp, szK);
    static szT[16]; num_to_str(iT + iAmount, szT, 15); nvault_set(g_vault_xp, szK, szT);
}

public Event_DeathMsg() {
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
    static szWeapon[24]; read_data(4, szWeapon, 23);

    if(!killer || killer == victim || !is_user_connected(killer)) return;

    if(containi(szWeapon, "knife") != -1) AddClanXP(killer, 5);
    else if(headshot) AddClanXP(killer, 3);
    else AddClanXP(killer, 1);
}

public Event_BombPlanted() {
    new loguser[80], name[32]; read_logargv(0, loguser, 79); parse_loguser(loguser, name, 31);
    new id = get_user_index(name); if(is_user_connected(id)) AddClanXP(id, 3);
}

public Event_BombDefused() {
    new loguser[80], name[32]; read_logargv(0, loguser, 79); parse_loguser(loguser, name, 31);
    new id = get_user_index(name); if(is_user_connected(id)) AddClanXP(id, 3);
}

// --- CHAT SI COMENZI ---
public Handle_SayCommands(id) {
    static szArgs[192]; read_args(szArgs, 191); remove_quotes(szArgs);
    if(containi(szArgs, "/c ") == 0) {
        if(!g_szPlayerClan[id][0]) return PLUGIN_HANDLED;
        static szChatMsg[192], szName[32]; get_user_name(id, szName, 31);
        formatex(szChatMsg, 191, "^1[^3%s^1] ^4%s ^1: %s", g_szRankNames[id][g_iPlayerRank[id]], szName, szArgs[3]);
        new players[32], num, target; get_players(players, num);
        for(new i=0; i<num; i++) {
            target = players[i];
            if(is_user_connected(target) && equal(g_szPlayerClan[id], g_szPlayerClan[target]))
                ChatColor(target, szChatMsg);
        }
        return PLUGIN_HANDLED;
    }
    return PLUGIN_CONTINUE;
}

// --- CREATE CLAN ---
public Cmd_CreateClan(id) {
    if(!(get_user_flags(id) & ADMIN_ACCESS_FLAG)) return PLUGIN_HANDLED;
    new menu = menu_create("\r[WTFCS]\w Create Clan", "AdminCreate_Handler");
    static sz1[64], sz2[64], szN[32];
    if(g_iTargetOwner[id] && is_user_connected(g_iTargetOwner[id])) get_user_name(g_iTargetOwner[id], szN, 31); else copy(szN, 31, "Neselectat");
    formatex(sz1, 63, "Owner: \y%s", szN);
    formatex(sz2, 63, "Nume: \y%s", g_szTempClanName[id][0] ? g_szTempClanName[id] : "Nesetat");
    menu_additem(menu, sz1, "1"); menu_additem(menu, sz2, "2");
    menu_additem(menu, "\r[FINALIZEAZA]", "3");
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}

public AdminCreate_Handler(id, menu, item) {
    if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
    switch(item) {
        case 0: {
            new pMenu = menu_create("Alege Owner", "OwnerSelect_Handler");
            new players[32], num, szN[32], szID[3]; get_players(players, num);
            for(new i=0; i<num; i++) {
                if(g_szPlayerClan[players[i]][0]) continue;
                get_user_name(players[i], szN, 31); num_to_str(players[i], szID, 2);
                menu_additem(pMenu, szN, szID);
            }
            menu_display(id, pMenu, 0);
        }
        case 1: client_cmd(id, "messagemode SET_CLAN_NAME");
        case 2: {
            new target = g_iTargetOwner[id];
            if(!is_user_connected(target)) { ChatColor(id, "^4[ERR]^1 Jucator offline."); return PLUGIN_HANDLED; }
            if(g_szPlayerClan[target][0]) { ChatColor(id, "^4[ERR]^1 Are deja clan."); return PLUGIN_HANDLED; }
            if(!g_szTempClanName[id][0]) { ChatColor(id, "^4[ERR]^1 Seteaza numele!"); return PLUGIN_HANDLED; }
            
            copy(g_szPlayerClan[target], 31, g_szTempClanName[id]);
            g_iPlayerRank[target] = 6; SaveClanData(target);
            ChatColor(0, "^4[CLAN]^1 Clan creat: ^3%s^1. Lider: ^4%n", g_szTempClanName[id], target);
        }
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public OwnerSelect_Handler(id, menu, item) {
    if(item != MENU_EXIT) {
        new szD[3], _a, _c; menu_item_getinfo(menu, item, _a, szD, 2, _, _, _c);
        g_iTargetOwner[id] = str_to_num(szD); Cmd_CreateClan(id);
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

// --- MENIU CLAN ---
public Cmd_ClanMenu(id) {
    if(!g_szPlayerClan[id][0]) { ChatColor(id, "^4[CLAN]^1 Nu ai clan."); return PLUGIN_HANDLED; }
    new iTotalXP = nvault_get(g_vault_xp, g_szPlayerClan[id]);
    static szTitle[128]; formatex(szTitle, 127, "\r[CLAN]\w %s^n\dXP Total: \y%d", g_szPlayerClan[id], iTotalXP);
    new menu = menu_create(szTitle, "PlayerMenu_Handler");
    menu_additem(menu, "Membri", "1");
    if(g_iPlayerRank[id] == 6) {
        menu_additem(menu, "Rankuri", "2");
        menu_additem(menu, "Invita", "3");
    } else menu_additem(menu, "Paraseste", "4");
    menu_display(id, menu, 0); return PLUGIN_HANDLED;
}

public PlayerMenu_Handler(id, menu, item) {
    if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; }
    switch(item) {
        case 0: ShowMembersMenu(id);
        case 1: if(g_iPlayerRank[id] == 6) ShowRankEditMenu(id);
        case 2: if(g_iPlayerRank[id] == 6) Cmd_Invite(id);
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public ShowMembersMenu(id) {
    new menu = menu_create("Membri Clan", "MemberMgmt_Handler");
    new players[32], num, szN[32], szID[3], szT[128]; get_players(players, num);
    for(new i=0; i<num; i++) {
        if(!equal(g_szPlayerClan[id], g_szPlayerClan[players[i]])) continue;
        get_user_name(players[i], szN, 31); num_to_str(players[i], szID, 2);
        formatex(szT, 127, "%s \d[%s] \r[%d XP]", szN, g_szRankNames[id][g_iPlayerRank[players[i]]], g_iMemberXP[players[i]]);
        menu_additem(menu, szT, szID);
    }
    menu_display(id, menu, 0);
}

public MemberMgmt_Handler(id, menu, item) {
    if(item != MENU_EXIT && g_iPlayerRank[id] == 6) {
        new szD[3], _a, _c; menu_item_getinfo(menu, item, _a, szD, 2, _, _, _c);
        new target = str_to_num(szD);
        if(id == target) { ChatColor(id, "^4[CLAN]^1 Nu te poti edita pe tine."); return PLUGIN_HANDLED; }
        g_iManagingMember[id] = target;
        new pMenu = menu_create("Membru", "MemberOptions_Handler");
        menu_additem(pMenu, "Rank", "1"); menu_additem(pMenu, "Kick", "2"); menu_display(id, pMenu, 0);
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public MemberOptions_Handler(id, menu, item) {
    if(item == 0) {
        new rMenu = menu_create("Alege Rank", "RankChange_Handler");
        for(new i=1; i<=6; i++) {
            new szI[2]; num_to_str(i, szI, 1);
            menu_additem(rMenu, g_szRankNames[id][i], szI);
        }
        menu_display(id, rMenu, 0);
    } else if(item == 1) {
        new t = g_iManagingMember[id]; g_szPlayerClan[t][0] = 0; SaveClanData(t); ChatColor(t, "^4[CLAN]^1 Ai fost eliminat.");
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public RankChange_Handler(id, menu, item) {
    if(item != MENU_EXIT) {
        new szD[2], _a, _c; menu_item_getinfo(menu, item, _a, szD, 1, _, _, _c);
        g_iPlayerRank[g_iManagingMember[id]] = str_to_num(szD);
        SaveClanData(g_iManagingMember[id]); ChatColor(id, "^4[CLAN]^1 Rank actualizat.");
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

// --- INVITE SI RANK EDIT ---
public Cmd_Invite(id) {
    new menu = menu_create("Invita", "Invite_Handler");
    new players[32], num, szN[32], szID[3]; get_players(players, num);
    for(new i=0; i<num; i++) {
        if(g_szPlayerClan[players[i]][0]) continue;
        get_user_name(players[i], szN, 31); num_to_str(players[i], szID, 2); menu_additem(menu, szN, szID);
    }
    menu_display(id, menu, 0); return PLUGIN_HANDLED;
}

public Invite_Handler(id, menu, item) {
    if(item != MENU_EXIT) {
        new szD[3], _a, _c; menu_item_getinfo(menu, item, _a, szD, 2, _, _, _c);
        new t = str_to_num(szD); g_iInviteSource[t] = id;
        new iMenu = menu_create("Accepti invitatia?", "Accept_Handler");
        menu_additem(iMenu, "Da", "1"); menu_additem(iMenu, "Nu", "2"); menu_display(t, iMenu, 0);
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public Accept_Handler(id, menu, item) {
    if(item == 0) {
        new s = g_iInviteSource[id]; 
        if(is_user_connected(s)) {
            copy(g_szPlayerClan[id], 31, g_szPlayerClan[s]); g_iPlayerRank[id] = 1;
            for(new i=1; i<=6; i++) copy(g_szRankNames[id][i], 31, g_szRankNames[s][i]);
            SaveClanData(id); ChatColor(id, "^4[CLAN]^1 Bine ai venit!");
        }
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public ShowRankEditMenu(id) {
    new menu = menu_create("Rankuri", "RankEdit_Handler");
    for(new i=1; i<=6; i++) {
        static szT[64]; formatex(szT, 63, "%s", g_szRankNames[id][i]);
        static szI[2]; num_to_str(i, szI, 1); menu_additem(menu, szT, szI);
    }
    menu_display(id, menu, 0);
}

public RankEdit_Handler(id, menu, item) {
    if(item != MENU_EXIT) { g_iEditingRank[id] = item+1; client_cmd(id, "messagemode SET_RANK_NAME"); }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

public Handle_SetRankName(id) {
    static szN[32]; read_args(szN, 31); remove_quotes(szN); trim(szN);
    if(szN[0]) {
        for(new i=1; i<=32; i++) if(is_user_connected(i) && equal(g_szPlayerClan[id], g_szPlayerClan[i])) copy(g_szRankNames[i][g_iEditingRank[id]], 31, szN);
        SaveRankNames(id);
    }
    ShowRankEditMenu(id); return PLUGIN_HANDLED;
}

// --- ADMIN TOOLS SI TOP ---
public Cmd_DeleteClan(id) {
    if(!(get_user_flags(id) & ADMIN_ACCESS_FLAG)) return PLUGIN_HANDLED;
    client_cmd(id, "messagemode DEL_CLAN_CMD");
    register_clcmd("DEL_CLAN_CMD", "Handle_DelClan");
    return PLUGIN_HANDLED;
}

public Handle_DelClan(id) {
    static szC[32]; read_args(szC, 31); remove_quotes(szC); trim(szC);
    if(!szC[0]) return PLUGIN_HANDLED;
    nvault_remove(g_vault_xp, szC);
    for(new i=1; i<=32; i++) if(is_user_connected(i) && equal(g_szPlayerClan[i], szC)) { g_szPlayerClan[i][0] = 0; SaveClanData(i); }
    ChatColor(id, "^4[CLAN]^1 Sters."); return PLUGIN_HANDLED;
}

public Cmd_ClanTop(id) {
    static szPath[128]; get_configsdir(szPath, 127);
    add(szPath, 127, "/clan_top.txt");
    if(!file_exists(szPath)) return PLUGIN_HANDLED;
    static szFile[2048], szRows[1024]; new iFile = fopen(szPath, "rt"), iLen = 0;
    while(!feof(iFile)) iLen += fgets(iFile, szFile[iLen], 2047-iLen);
    fclose(iFile);
    new iRLen = 0, players[32], num, target, iC = 0; static szF[10][32]; get_players(players, num);
    for(new i = 0; i < num; i++) {
        target = players[i]; if(!g_szPlayerClan[target][0]) continue;
        new bool:bE = false; for(new j = 0; j < iC; j++) if(equal(g_szPlayerClan[target], szF[j])) { bE = true; break; }
        if(!bE && iC < 10) {
            copy(szF[iC], 31, g_szPlayerClan[target]);
            new iX = nvault_get(g_vault_xp, szF[iC]);
            iRLen += formatex(szRows[iRLen], 1023-iRLen, "<tr><td>%d</td><td>%s</td><td>%d</td></tr>", iC+1, szF[iC], iX);
            iC++;
        }
    }
    replace(szFile, 2047, "%CLAN_ROWS%", szRows[0] ? szRows : "<tr><td>-</td><td>Fara clanuri</td><td>0</td></tr>");
    show_motd(id, szFile, "Top"); return PLUGIN_HANDLED;
}

// --- UTILS SI VAULT ---
public Cmd_ClanHelp(id) {
    static szP[128]; get_configsdir(szP, 127); add(szP, 127, "/clan_help.txt");
    if(file_exists(szP)) show_motd(id, szP, "Help");
    return PLUGIN_HANDLED;
}

public Cmd_MyXP(id) { ChatColor(id, "^4[CLAN]^1 XP: ^3%d", g_iMemberXP[id]); return PLUGIN_HANDLED; }

public Cmd_ResetClanXP(id, l, c) {
    if(!cmd_access(id, l, c, 2)) return PLUGIN_HANDLED;
    static szC[32]; read_argv(1, szC, 31); nvault_set(g_vault_xp, szC, "0"); return PLUGIN_HANDLED;
}

public Cmd_ResetAllXP(id, l, c) {
    if(!cmd_access(id, l, c, 1)) return PLUGIN_HANDLED;
    nvault_prune(g_vault_xp, 0, get_systime()+1); return PLUGIN_HANDLED;
}

public Handle_SetClanName(id) {
    read_args(g_szTempClanName[id], 31); remove_quotes(g_szTempClanName[id]); trim(g_szTempClanName[id]);
    Cmd_CreateClan(id); return PLUGIN_HANDLED;
}

public SaveClanData(id) {
    static szD[128]; formatex(szD, 127, "^"%s^" %d %d", g_szPlayerClan[id], g_iPlayerRank[id], g_iMemberXP[id]);
    nvault_set(g_vault_clans, g_szAuthID[id], szD);
}

public LoadClanData(id) {
    static szD[128], szC[32], szR[3], szX[10];
    if(nvault_get(g_vault_clans, g_szAuthID[id], szD, 127)) {
        parse(szD, szC, 31, szR, 2, szX, 9);
        copy(g_szPlayerClan[id], 31, szC); g_iPlayerRank[id] = str_to_num(szR); g_iMemberXP[id] = str_to_num(szX);
        LoadRankNames(id);
    }
}

public SaveRankNames(id) {
    static szK[64], szD[256]; formatex(szK, 63, "RN_%s", g_szPlayerClan[id]);
    new l = 0; for(new i=1; i<=6; i++) l += formatex(szD[l], 255-l, "^"%s^" ", g_szRankNames[id][i]);
    nvault_set(g_vault_ranks, szK, szD);
}

public LoadRankNames(id) {
    static szK[64], szD[256]; formatex(szK, 63, "RN_%s", g_szPlayerClan[id]);
    if(nvault_get(g_vault_ranks, szK, szD, 255)) parse(szD, g_szRankNames[id][1], 31, g_szRankNames[id][2], 31, g_szRankNames[id][3], 31, g_szRankNames[id][4], 31, g_szRankNames[id][5], 31, g_szRankNames[id][6], 31);
}

stock ChatColor(id, const msg[], any:...) {
    static szM[191]; vformat(szM, 190, msg, 3);
    static m_id; if(!m_id) m_id = get_user_msgid("SayText");
    message_begin(id ? MSG_ONE_UNRELIABLE : MSG_ALL, m_id, _, id);
    write_byte(id ? id : 1); write_string(szM); message_end();
}

clan_top.txt [configs/]:
Code:
<html>
<head>
<style type="text/css">
    body {
        background-color: #000000;
        font-family: Tahoma, Geneva, sans-serif;
        color: #FFFFFF;
        margin: 15px;
    }
    h2 { 
        color: #FF8C00; 
        text-align: center; 
        text-transform: uppercase;
        border-bottom: 1px solid #333;
        padding-bottom: 10px;
    }
    table { 
        width: 100%; 
        border-collapse: collapse; 
        margin-top: 10px;
        background-color: #111;
    }
    th { 
        background-color: #222; 
        color: #FFD700; 
        padding: 10px; 
        border: 1px solid #333;
        font-size: 14px;
    }
    td { 
        padding: 8px; 
        border: 1px solid #222; 
        text-align: center;
        font-size: 13px;
    }
    tr:nth-child(even) {
        background-color: #161616;
    }
    .footer {
        text-align: center;
        margin-top: 20px;
        font-size: 10px;
        color: #555;
    }
</style>
</head>
<body>

<h2>Top 10 Clanuri - WTFCS</h2>

<table>
    <thead>
        <tr>
            <th>Loc</th>
            <th>Nume Clan</th>
            <th>XP Colectat</th>
        </tr>
    </thead>
    <tbody>
        %CLAN_ROWS%
    </tbody>
</table>

<div class="footer">
    Clasamentul se actualizeaza in timp real pe baza activitatii jucatorilor online.
</div>

</body>
</html>

clan_help.txt [configs/]:
Code:
<html>
<head>
<style type="text/css">
    body {
        background-color: #000000;
        font-family: Verdana, Geneva, sans-serif;
        color: #FFFFFF;
        margin: 20px;
    }
    h1 { color: #FFD700; text-align: center; border-bottom: 2px solid #FFD700; }
    h2 { color: #4CAF50; border-left: 5px solid #4CAF50; padding-left: 10px; }
    .cmd { color: #00FF00; font-weight: bold; }
    .desc { color: #CCCCCC; margin-bottom: 10px; }
    table { width: 100%; border-collapse: collapse; margin-top: 15px; }
    th, td { border: 1px solid #444; padding: 8px; text-align: left; }
    th { background-color: #333; color: #FFD700; }
</style>
</head>
<body>

<h1>Sistemul de Clanuri - WTFCS</h1>

<h2>Comenzi Jucatori</h2>
<ul>
    <li><span class="cmd">/clan</span> - Deschide meniul principal al clanului (XP, Membri, Management).</li>
    <li><span class="cmd">/c &lt;mesaj&gt;</span> - Trimite un mesaj privat vizibil doar membrilor din clanul tau.</li>
    <li><span class="cmd">/myclanxp</span> - Vezi cat XP ai contribuit tu personal la clan.</li>
    <li><span class="cmd">/clantop</span> - Afiseaza topul celor mai puternice clanuri.</li>
    <li><span class="cmd">/invite</span> - (Doar Lider) Invita un jucator online in clanul tau.</li>
</ul>

<h2>Sistemul de Clan XP</h2>
<p>Ajuta-ti clanul sa urce in top prin activitatea ta pe server:</p>
<table>
    <tr>
        <th>Actiune</th>
        <th>Recompensa</th>
    </tr>
    <tr>
        <td>Kill normal</td>
        <td>+1 Clan XP</td>
    </tr>
    <tr>
        <td>Headshot</td>
        <td>+3 Clan XP</td>
    </tr>
    <tr>
        <td>Kill cu Cutitul</td>
        <td>+5 Clan XP</td>
    </tr>
    <tr>
        <td>Plantare/Dezamorsare Bomba</td>
        <td>+3 Clan XP</td>
    </tr>
</table>

<h2>Ierarhie (Rankuri)</h2>
<p>Fiecare clan are 6 rank-uri. Liderul (Rank 6) are control total asupra numelor rank-urilor si membrilor.</p>

<p align="center" style="color: #666; font-size: 10px;">Plugin creat special pentru comunitatea WTFCS</p>

</body>
</html>

Nume: Clan System+
Versiune: 0.5
Link oficial: -

Instalare:
1. Fisierul clan_system.sma il puneti in addons/amxmodx/scripting
2. Fisierul clan_system.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code:
clan_system.amxx
4. Creati in /cstrike/addons/amxmodx/configs, fisierul clan_top.txt si puneti codul de mai sus
5. Creati in /cstrike/addons/amxmodx/configs, fisierul clan_help.txt si puneti codul de mai sus

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):


Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
/createclan - Deschide meniul de creație. Necesită selectarea unui Owner (care trebuie să fie online și fără alt clan) și setarea unui nume.

/clandelete - Permite ștergerea definitivă a unui clan prin introducerea numelui acestuia.

amx_deleteclanxp <nume> - (Consolă) Resetează experiența unui anumit clan la 0.

amx_deleteallclanxp - (Consolă) Șterge baza de date de XP pentru toate clanurile de pe server.

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
/clan - Deschide meniul principal. Aici poți vedea XP-ul total, lista membrilor online și opțiunile de administrare (dacă ești Lider).

/c <mesaj> - Chat privat. Mesajul va apărea sub forma: [NumeRank] Nume : mesaj și va fi văzut doar de colegii de clan.

/clantop - Afișează o fereastră (MOTD) cu cele mai bune 10 clanuri de pe server în funcție de XP.

/myclanxp - Îți arată cât de mult ai contribuit tu personal la progresul clanului tău.

/clanhelp - Deschide un manual de utilizare (din clan_help.txt).

/invite - Deschide meniul de invitații (disponibil doar pentru Rank 6).

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>

Imagini:

Pentru buguri si sugestii, va rog sa lasati un reply.
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top