Skocz do zawartości

Rekomendowane odpowiedzi

Opis działania:

!pomoc - główne menu serwerowe

Konfiguracja menu przez pliki cfg --> addons/sourcemod/configs/Maroxx/

 

Instalacja Standardowa

 

 

Kod:

Spoiler

#include <sourcemod>
#include <multicolors>
#include <sdkhooks>


#define PLUGIN_AUTHOR "Maroxx"
#define PLUGIN_VERSION "1.00"

public Plugin myinfo = 
{
    name = "[CS:GO] Menu Pomocy"
    author = PLUGIN_AUTHOR
    description = ""
    version = PLUGIN_VERSION
    url = "https://creativve.pro"
};

public void OnPluginStart() {
    RegConsoleCmd("sm_pomoc", HelpMenu);
    RegConsoleCmd("sm_komendy", Commands);
    RegConsoleCmd("sm_administracja", Administracja);
    RegConsoleCmd("sm_regulamin", Regulamin);
    RegConsoleCmd("sm_vip", Vip);
    
}

public Action HelpMenu(int client, int args) {
    char sBuffer[512];
    Format(sBuffer, sizeof(sBuffer), "[ ★ MENU POMOCY ★ ]\n ");
    Format(sBuffer, sizeof(sBuffer), "%s\n★ Witaj, %N!", sBuffer, client);
    Format(sBuffer, sizeof(sBuffer), "%s\n★ Wybierz jedną z podanych opcji.\n ", sBuffer, client);
    
    Menu menu = new Menu(HelpMenu_Handler);
    menu.SetTitle(sBuffer);
    menu.AddItem("", "★ Kontakt z Administracją ★");
    menu.AddItem("", "★ Lista Adminów ★");
    menu.AddItem("", "★ Lista Komend ★");
    menu.AddItem("", "★ Regulamin ★");
    menu.AddItem("", "★ Opis Vipa ★");
    
    menu.Display(client, MENU_TIME_FOREVER);
    
}

public int HelpMenu_Handler(Menu menu, MenuAction action, int client, int position) {
    switch (action) {
        case MenuAction_Select: {
            switch (position) {
                case 0:ClientCommand(client, "sm_kontakt");
                case 1:ClientCommand(client, "sm_administracja");
                case 2:ClientCommand(client, "sm_komendy");
                case 3:ClientCommand(client, "sm_regulamin");
                case 4:ClientCommand(client, "sm_vip");
            }
        }
        case MenuAction_End:delete menu;
    }
} 

public Action Administracja(int client, int args) {
    Handle hFile = OpenFile("addons/sourcemod/configs/Maroxx/Administracja.cfg", "rt");
    if (hFile == INVALID_HANDLE)
    return Plugin_Continue;
    
    char sBuffer[1024];
    Menu menu = new Menu(Administracja_Handler);
    menu.SetTitle("[ ★ ADMINISTRACJA SERWERA ★ ] \n");
    while (!IsEndOfFile(hFile) && ReadFileLine(hFile, sBuffer, sizeof(sBuffer)))
        menu.AddItem(sBuffer, sBuffer, ITEMDRAW_DISABLED);
    CloseHandle(hFile);
    menu.Display(client, MENU_TIME_FOREVER);
    return Plugin_Continue;
}

public int Administracja_Handler(Menu menu, MenuAction action, int client, int args) {
    if (action == MenuAction_End)
        delete menu;
}

public Action Commands(int client, int args) {
    Handle hFile = OpenFile("addons/sourcemod/configs/Maroxx/Komendy.cfg", "rt");
    if (hFile == INVALID_HANDLE)
    return Plugin_Continue;
    
    char sBuffer[1024];
    Menu menu = new Menu(Commands_Handler);
    menu.SetTitle("[ ★ DOSTĘPNE KOMENDY ★ ] \n");
    while (!IsEndOfFile(hFile) && ReadFileLine(hFile, sBuffer, sizeof(sBuffer)))
        menu.AddItem(sBuffer, sBuffer, ITEMDRAW_DISABLED);
    CloseHandle(hFile);
    menu.Display(client, MENU_TIME_FOREVER);
    return Plugin_Continue;
}

public int Commands_Handler(Menu menu, MenuAction action, int client, int args) {
    if (action == MenuAction_End)
        delete menu;

}

public Action Regulamin(int client, int args) {
    Handle rules = OpenFile("addons/sourcemod/configs/Maroxx/Regulamin.cfg", "rt");
    if (rules == INVALID_HANDLE)
    return Plugin_Continue;
    
    char sBuffer[1024];
    Menu menu = new Menu(Regulamin_Handler);
    menu.SetTitle("[ ★  REGULAMIN ★ ] \n");
    while (!IsEndOfFile(rules) && ReadFileLine(rules, sBuffer, sizeof(sBuffer)))
        menu.AddItem(sBuffer, sBuffer, ITEMDRAW_DISABLED);
    CloseHandle(rules);
    menu.Display(client, MENU_TIME_FOREVER);
    return Plugin_Continue;
}

public int Regulamin_Handler(Menu menu, MenuAction action, int client, int args) {
    if (action == MenuAction_End)
        delete menu;
}

public Action Vip(int client, int args) {
    Handle rules = OpenFile("addons/sourcemod/configs/Maroxx/OpisVipa.cfg", "rt");
    if (rules == INVALID_HANDLE)
    return Plugin_Continue;
    
    char sBuffer[1024];
    Menu menu = new Menu(Vip_Handler);
    menu.SetTitle("[ ★  Funkcje Vipa ★ ] \n");
    while (!IsEndOfFile(rules) && ReadFileLine(rules, sBuffer, sizeof(sBuffer)))
        menu.AddItem(sBuffer, sBuffer, ITEMDRAW_DISABLED);
    CloseHandle(rules);
    menu.Display(client, MENU_TIME_FOREVER);
    return Plugin_Continue;
}

public int Vip_Handler(Menu menu, MenuAction action, int client, int args) {
    if (action == MenuAction_End)
        delete menu;
}

Może kod i pliki konfiguracyjne nie są z najwyższej półki lecz sprawdzają się w zastosowaniu 😛

 

Maroxx_MenuSerwera.rar

Sygnatura użytkownika

sygnatura.png.2bb174ebd0d762771c922cae7f9ce73c.png

 

  • Lubię to!
Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (5 użytkowników)

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...