Plugin-uri[PLUGIN] Admin menu

Moderatori: Moderators, Founder

Mesaj

Avatar utilizator
CEO
Posts
3802
Descriere: Pluginul deschide un meniu de admini cand scrieti /am sau /adminmenu. Precizez ca pluginul este inceput de la altul a lui Ex1ne, la care am adaugat: - ECHILIBRARE ECHIPE
- UNLAG SV
- RESTART
- SLAP & SLAY TEAM
- RELOAD ADMINS

Poze:

Majoritatea codului de la ce am adaugat e din alte pluginuri, dar integrate in acest meniu de mine, dar vazusem cand am postat addonsul de furien ca multi au intrebat de el. Asa ca il pun acum :flexed_biceps:

Descarcare:

Cod: Selectaţi tot

/* PLUGIN EDITAT DE MIHAY111 pentru ADDONSUL SAU DE FURIEN, ADAUGAT LA MENIUL DE ADMINI: 
    - ECHILIBRARE ECHIPE
    - UNLAG SV
    - RESTART
    - SLAP & SLAY TEAM
    - RELOAD ADMINS
    */


#include <amxmodx>
#include <colorchat>
#include <hamsandwich>
#include <cstrike>


new const VERSION[] = "1.0.2"
new const prefix[] = "[ADMIN MENU] - "

new szName[33], szPlayerName[33]

public plugin_init() 
{
    register_plugin("Admin menu,", VERSION, "Ex1ne + mihay111") 
    
    register_clcmd("say /adminmenu", "CmdAdminMenu")
    register_clcmd("say /am", "CmdAdminMenu")
}

public CmdAdminMenu(iPlayer)
{
    if(!(get_user_flags(iPlayer) & ADMIN_CFG))
    {
        ColorChat(iPlayer, GREY, "%s Only^4 Admins^3 can open this menu.", prefix)
        return PLUGIN_HANDLED
    }
    
    new szText[555 char]
    formatex(szText, charsmax(szText), "\yAdmin Menu")
    new AdminMenu = menu_create(szText, "AdminMenuHandle")
    
    formatex(szText, charsmax(szText), "\ySlap [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "1", 0)
    
    formatex(szText, charsmax(szText), "\ySlay [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "2", 0)
    
    formatex(szText, charsmax(szText), "\yRevive [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "3", 0)
    
    formatex(szText, charsmax(szText), "\yKick [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "4", 0)
    
    formatex(szText, charsmax(szText), "\yBan [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "5", 0)
    
    formatex(szText, charsmax(szText), "\yTransfer [\wChoose Player\y]")
    menu_additem(AdminMenu, szText, "6", 0)

    formatex(szText, charsmax(szText), "\yEchilibrare echipe")
    menu_additem(AdminMenu, szText, "7", 0)

    formatex(szText, charsmax(szText), "\yUnlag Server")
    menu_additem(AdminMenu, szText, "8", 0)

    formatex(szText, charsmax(szText), "\yRestart Server")
    menu_additem(AdminMenu, szText, "9", 0)

    formatex(szText, charsmax(szText), "\ySlap Team")
    menu_additem(AdminMenu, szText, "10", 0)

    formatex(szText, charsmax(szText), "\ySlay Team")
    menu_additem(AdminMenu, szText, "11", 0)

    formatex(szText, charsmax(szText), "\yReload Admins")
    menu_additem(AdminMenu, szText, "12", 0)
    
    
    menu_setprop(AdminMenu, MPROP_EXIT, MEXIT_ALL)
    menu_display(iPlayer, AdminMenu, 0)
    
    return PLUGIN_HANDLED
}

public AdminMenuHandle(id, menu, item) 
{  
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data, charsmax(data), iName, charsmax(iName), callback )
    new key = str_to_num(data)
    
    switch(key)
    { 
        case 1: SlapMenu(id)
        case 2: SlayMenu(id)
        
        case 3: ReviveMenu(id)
        case 4: KickMenu(id)
        case 5: BanMenu(id)
        case 6: TransferMenu(id)
        case 7: EchilibrareMenu(id)
        case 8: UnlagMenu(id)
        case 9: RestartMenu(id)
        case 10: SlapTeamMenu(id)
        case 11: SlayTeam(id)
        case 12: ReloadAdmins(id)
    }
    return PLUGIN_HANDLED
}

//////////////////////////////////////////
//////// PLAYER MENU
//////////////////////////////////////////


public ReloadAdmins(id)
{
	server_cmd ("amx_reloadadmins");
	ColorChat(0, GREY, "%s ^4%s^3 a reimprospatat lista de admini!", prefix, szName)
}

public SlapTeamMenu(id)
{
    new menu = menu_create ("\wSLAP Team Menu", "SLAP");
    menu_additem(menu, "\ySlap \rT", "1");
    menu_additem(menu, "\ySlap \rCT", "2");
 
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu, 0 );
 
return 1;
}

public SLAP(id, menu, item)
{
if(item == MENU_EXIT)
{
return 1;
}
 
new data [6], szName [64];
new access, callback;
menu_item_getinfo (menu, item, access, data,charsmax (data), szName,charsmax (szName), callback);
new key = str_to_num (data);
 
new name[32]
get_user_name(id, name, 31);
 
switch (key)
{
case 1:
{
    server_cmd ("amx_slapteam 1");
}
 
case 2:
{
    server_cmd ("amx_slapteam 2");
}
}
 
menu_display(id, menu, 0);
return 1;
}

public SlayTeam(id)
{
new menu = menu_create ("\wSLAY Team Menu", "SLAY");
menu_additem(menu, "\ySlay \rT", "1");
menu_additem(menu, "\ySlay \rCT", "2");
 
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0 );
 
return 1;
}
 
public SLAY(id, menu, item)
{
if(item == MENU_EXIT)
{
return 1;
}
 
new data [6], szName [64];
new access, callback;
menu_item_getinfo (menu, item, access, data,charsmax (data), szName,charsmax (szName), callback);
new key = str_to_num (data);
 
new name[32]
get_user_name(id, name, 31);
 
switch (key)
{
case 1:
{
    server_cmd ("amx_slayteam @T");
}
 
case 2:
{
    server_cmd ("amx_slayteam @CT");
}
}
 
menu_destroy (menu);
return 1;
}

public RestartMenu(id)
{
    server_cmd ("sv_restartround 1");
    ColorChat(0, GREY, "%s ^4%s^3 a restartat runda!", prefix, szName) 
}

public UnlagMenu(id)
{
    server_cmd ("sv_unlag 1"); 
    server_cmd ("sv_maxunlag 1");
    ColorChat(0, GREY, "%s ^4%s^3 seteaza ^4sv_unlag ^3 si ^4sv_maxunlag ^3 pe 1!", prefix, szName)
}

public EchilibrareMenu(id) 
{
    server_cmd ("mp_autoteambalance 1"); 
    server_cmd ("mp_limitteams 2");
    ColorChat(0, GREY, "%s ^4%s^3 a echilibrat echipele!", prefix, szName)
}

public SlapMenu(id)
{
    new SlapPlayer = menu_create ("\rSlap Menu^nChoose player:", "HandleSlap")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "a")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name (tempid, tempname, 31)
        num_to_str (tempid, szTempID, 9)
        menu_additem (SlapPlayer, tempname, szTempID, 0)
    }

    menu_display (id, SlapPlayer)
    return PLUGIN_HANDLED
}

public SlayMenu(id)
{
    new SlayPlayer = menu_create ("\rSlay Menu^nChoose player:", "HandleSlay")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "a")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name (tempid, tempname, 31)
        num_to_str (tempid, szTempID, 9)
        menu_additem (SlayPlayer, tempname, szTempID, 0)
    }

    menu_display (id, SlayPlayer)
    return PLUGIN_HANDLED
}

public ReviveMenu(id)
{
    new RevivePlayer = menu_create ("\rRevive Menu^nChoose player:", "HandleRevive")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "b")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name (tempid, tempname, 31)
        num_to_str (tempid, szTempID, 9)
        menu_additem (RevivePlayer, tempname, szTempID, 0)
    }

    menu_display (id, RevivePlayer)
    return PLUGIN_HANDLED
}

public KickMenu(id)
{
    new KickPlayer = menu_create ("\rKick Menu^nChoose player:", "HandleKick")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "a")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name(tempid, tempname, 31)
        num_to_str(tempid, szTempID, 9)
        menu_additem(KickPlayer, tempname, szTempID, 0)
    }

    menu_display (id, KickPlayer)
    return PLUGIN_HANDLED
}

public BanMenu(id)
{
    new BanPlayer = menu_create ("\rBan Menu^nChoose player:", "HandleBan")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "a")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name(tempid, tempname, 31)
        num_to_str(tempid, szTempID, 9)
        menu_additem(BanPlayer, tempname, szTempID, 0)
    }

    menu_display (id, BanPlayer)
    return PLUGIN_HANDLED
}
public TransferMenu(id)
{
    new TransferPlayer = menu_create ("\rTransfer Menu^nChoose player:", "HandleTransfer")

    new num, players[32], tempid, szTempID [10], tempname [32]
    get_players (players, num, "a")

    for (new i = 0; i < num; i++)
    {
        tempid = players [ i ]

        get_user_name(tempid, tempname, 31)
        num_to_str(tempid, szTempID, 9)
        menu_additem(TransferPlayer, tempname, szTempID, 0)
    }

    menu_display (id, TransferPlayer)
    return PLUGIN_HANDLED
}


//////////////////////////////////////////
//////// HANDLES
//////////////////////////////////////////

public HandleSlap(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num (data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    
    ColorChat(0, GREY, "%s ^4%s^3 just slapped ^4%s^3!", prefix, szName, szPlayerName)
    user_slap(tempid, 0)
    
    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
}

public HandleSlay(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num (data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    
    ColorChat(0, GREY, "%s ^4%s^3 just slayed ^4%s^3!", prefix, szName, szPlayerName)
    user_silentkill(tempid)

    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
}

public HandleRevive(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num (data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    
    ColorChat(0, GREY, "%s ^4%s^3 just revived ^4%s^3!", prefix, szName, szPlayerName)

    ExecuteHamB(Ham_CS_RoundRespawn, tempid)

    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
}

public HandleKick(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback, UserID
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num(data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    UserID = get_user_userid(tempid)
    
    ColorChat(0, GREY, "%s ^4%s^3 just kicked ^4%s^3!", prefix, szName, szPlayerName)

    server_cmd("kick #%d", UserID)

    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
}

public HandleBan(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback, UserID
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num(data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    UserID = get_user_userid(tempid)
    
    ColorChat(0, GREY, "%s ^4%s^3 just banned ^4%s^3 [Length:^4 30^3 minutes]!", prefix, szName, szPlayerName)

    server_cmd("amx_ban ^"#%d^" ^"30^" ^"Banned by ADMIN %s^"", UserID, szName)

    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
}
public HandleTransfer(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
    
    new data[6], name[64]
    new access, callback
    
    menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
    new tempid = str_to_num (data)
    
    get_user_name(id, szName, 32)
    get_user_name(tempid, szPlayerName, 32)
    
    ColorChat(0, GREY, "%s ^4%s^3 just transfered ^4%s^3!", prefix, szName, szPlayerName)
    if(cs_get_user_team(id) == CS_TEAM_T)
    {
        cs_set_user_team(id, CS_TEAM_CT)
        ExecuteHamB(Ham_CS_RoundRespawn, tempid)
    }
    if(!(cs_get_user_team(id) == CS_TEAM_T))
    {
        cs_set_user_team(id, CS_TEAM_T)
        ExecuteHamB(Ham_CS_RoundRespawn, tempid)
    }
    CmdAdminMenu(id)
    
    return PLUGIN_CONTINUE
} 
Nume: Admin menu
Versiune: 1.0.2
Link oficial: -

Instalare:
1. Fisierul admin_menu.sma il puneti in addons/amxmodx/scripting
2. Fisierul admin_menu.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Cod: Selectaţi tot

admin_menu.amxx
========================
CONTACT : diliulro@yahoo.com
========================
Scrie răspuns