Thread: [Solved] [CSGO] Menu Help
View Single Post
I am inevitable
Member
Join Date: May 2019
Location: 0xA6DA34
Old 06-24-2019 , 11:50   Re: [CSGO] Menu Help
Reply With Quote #2

in some places you have used menu handlers from other menus. a global var and a cmd callback being the same, is not a good idea. there are some things i would have another look out

made this compilable:

PHP Code:
#pragma semicolon 1 

#define DEBUG 

#define SHOP "SHOP" 
#define REG1 "REG" 
#define VIP "VIP" 

#define JUCATORI "JUCATORI" 
#define ADMINI "ADMINI" 

#define NAME "NAME" 
#define CHAT "CHAT" 
#define VMENU "VMENU" 
#define TAG "TAG" 

#include <sourcemod> 
#include <sdktools> 

#pragma newdecls required 

public Plugin myinfo =  

    
name "Meniu OLDCS"
    
author "PorcusorulMagic"
    
description "Deschide un meniu cu preturile serverului"
    
version "1.0"
    
url "usp.ro" 
}; 

public 
void OnPluginStart() 

    
RegConsoleCmd("sm_menu"Command_info"Deschide meniul principal"); 
     
    
RegConsoleCmd("sm_regulament"REG"Regulamentul Serverlui OLDCS"); 
    
RegConsoleCmd("sm_regulamentjucatori"REGJUC"Regulamentul Jucatorilor"); 
    
RegConsoleCmd("sm_regulamentadmini"REGADM"Regulamentul Adminilor"); 

    
RegConsoleCmd("sm_meniuvip"MENIUVIP"Comenzi pentru VIPl"); 

    
CreateTimer(20.0Timer_Info1); 


public 
Action Timer_Info1(Handle timer

    if (
GetRandomInt(01) == 0
        
PrintToChatAll("\x01★ \x04[USP] \x01Scrie\x04 !menu\x1 pentru a vedea informatiile!"); 
                 
    else 
        
PrintToChatAll("\x01★ \x04[USP] \x01Scrie\x04 !menu\x1 pentru a vedea informatiile!"); 


public 
Action Command_info(int iIdint args

    if(
IsClientInGame(iId)) 
    { 
        
Menu MAIN_MENU = new Menu(MenuHandler1); 
         
        
MAIN_MENU.SetTitle("★Menu OLDCS.USP.RO★"); 
         
        
MAIN_MENU.AddItem(SHOP"★Regulament"); 
        
MAIN_MENU.AddItem(REG1"★Shop"); 
        
MAIN_MENU.AddItem(VIP"★Comenzi VIP"); 
        
MAIN_MENU.AddItem("""★Contact PorcusorulMagic(!porc)"ITEMDRAW_DISABLED); 

        
MAIN_MENU.Display(iIdMENU_TIME_FOREVER); 
    } 



public 
int MenuHandler1(Handle MAIN_MENUMenuAction actionint param1int param2

    switch(
action
    { 
        case 
MenuAction_Select
        { 
            
char item[64]; 

            
GetMenuItem(MAIN_MENUparam2itemsizeof(item)); 

            if(
StrEqual(item"SHOP")) 
            { 
                
ClientCommand(param1"sm_shop"); 
            }         
            else if(
StrEqual(item"REG")) 
            { 
                
ClientCommand(param1"sm_regulament"); 
            }         
            else if(
StrEqual(item"VIP")) 
            { 
                
ClientCommand(param1"sm_meniuvip"); 
            }     
        } 
    } 


public 
Action REG(int iIdint args

    if(
IsClientInGame(iId)) 
    { 
        
Menu REG2 = new Menu(MenuHandler2); 
         
        
REG2.SetTitle("★Alege regulamentul★"); 
         
        
REG2.AddItem(JUCATORI"★Regulament Jucatori"); 
        
REG2.AddItem(ADMINI"★Regulament Admini"); 

        
REG2.Display(iIdMENU_TIME_FOREVER); 
    } 



public 
int MenuHandler2(Handle REGMenuAction actionint param1int param2

    switch(
action
    { 
        case 
MenuAction_Select
        { 
            
char item[64]; 

            
GetMenuItem(REGparam2itemsizeof(item)); 

            if(
StrEqual(item"JUCATORI")) 
            { 
                
ClientCommand(param1"sm_regulamentjucatori"); 
            }         
            else if(
StrEqual(item"ADMINI")) 
            { 
                
ClientCommand(param1"sm_regulamentadmini"); 
            }         
        } 
    } 


public 
Action REGJUC(int clientint args

PrintToChat(client"\x02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); 
PrintToChat(client"\x04 1: Folosirea cheaturilor, hackurilor, cfg-urilor, care avantajeaza jucatorii, se sanctioneaza cu ban permanent."); 
PrintToChat(client"\x04 2: Limbajul vulgar se sanctioneaza cu GAG/MUTE urmat de BAN."); 
PrintToChat(client"\x04 3: Reclamele la alte servere, forumuri se sanctioneaza cu ban permanent."); 
PrintToChat(client"\x04 4: Injuraturile la adresa adminilor se pedepsesc cu ban temporar. Daca continuati sa injurati veti primi ban permanent."); 
PrintToChat(client"\x04 5: NU bateti la cap adminii cu cereri absurde."); 
PrintToChat(client"\x04 6: Codatii se reclama folosind say_team @ numecodat(U@)."); 
PrintToChat(client"\x04 7: Nu aveti voie sa puneti muzica pe server! Aveti voie sa folositi microfoanele , dar nu in exces. Daca nu veti respecta aceasta regula riscati MUTE ."); 
PrintToChat(client"\x04 8: Este interzisa dispretuirea adminului prin : nume , poze , comportament se aplica gag/kick/mute/ban dupa caz."); 
PrintToChat(client"\x04 9: Daca cineva scrie pe u@ fara un motiv intemeiat prima oara este advertizat iar apoi primeste kick !"); 
PrintToChat(client"\x04 10: Daca sunt sub 10 jucatori pe harta , se va juca doar pe un site. Cine nu va respecta regula va primi slay/kick/ban  dupa caz."); 
PrintToChat(client"\x04 11: Cand o persoana este in situatie de clutch(1vs~) jucatorii morti nu au voie sa vorbeasca altfel risca mute/kick/ban dupa caz."); 
PrintToChat(client"\x04 12: Nu aveti voie sa folositi alte arme in afara de AWP pe hartile de tip awp_. Riscati slay/kick/ban dupa caz."); 
PrintToChat(client"\x04 13: Nu aveti voie sa va folositi de comanda !tp pentru a vedea inamicii prin pereti. Riscati kick/ban."); 
PrintToChat(client"\x02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); 


public 
Action REGADM(int clientint args

PrintToChat(client"\x02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); 
PrintToChat(client"\x04 1: Nu abuzati de admin si nu va bateti joc de jucatori. Orice fapta care strica imaginea serverului va fi aspru sanctionata."); 
PrintToChat(client"\x04 2: Ban permanent se va da doar in urmatoarele situatii:"); 
PrintToChat(client"\x04 *daca jucatorul respectiv face reclama la alt server/site/forum"); 
PrintToChat(client"\x04 *daca jucatorul foloseste cod"); 
PrintToChat(client"\x04 *daca jucatorul foloseste un limbaj vulgar (banul permanent se va da doar dupa ce il avertizati cu gag sau ban temporar)"); 
PrintToChat(client"\x04 3: In cazul in care aveti probleme si sunteti nevoiti sa lipsiti cateva zile de pe server anuntati inainte ownerii."); 
PrintToChat(client"\x04 4: Sunt interzise atacurile de orice natura intre admini. (-1 rank)"); 
PrintToChat(client"\x04 5: La intrebarea Ati citit regulamentul serverului? se va raspunde cu USP."); 
PrintToChat(client"\x04 6: La cereri admin se va da pro/contra urmat de argument. (Warn)"); 
PrintToChat(client"\x04 7: Adminii trebuie sa discute intre ei inainte de a folosi comenzi gen sm_map / sm_ban pe chatul adminilor adica u@."); 
PrintToChat(client"\x04 8: Toti adminii sunt obligati sa se comporte exemplar fata de jucatori."); 
PrintToChat(client"\x04 9: Fiecare admin este obligat sa frecventeze forumul si sa posteze in cererile de unban/ban/cerere helper/etc. (Warn)"); 
PrintToChat(client"\x04 10: Nu se aplica comenzi pe alti admini fara un motiv bun. (Warn/-1 rank)"); 
PrintToChat(client"\x04 11: Jignirile intre admini / jucatori pe server sunt strict interzise , cat si pe forum. (Warn/-1 rank)"); 
PrintToChat(client"\x04 12: Trebuie sa aveti DEMO / SCREENSHOT in momentul in care dati BAN PERMANENT. (Warn)"); 
PrintToChat(client"\x04 13: Comenzile gag/mute/silence vor tine intre 5-10 minute. (NU 30)"); 
PrintToChat(client"\x04 14: Abuzul de comenzi ( slap SPAM ,etc..) duc la cel putin 2 warnuri / -1 / REMOVE depinde de situatie ."); 
PrintToChat(client"\x02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); 


public 
Action MENIUVIP(int iIdint args

    if(
IsClientInGame(iId)) 
    { 
        
Menu VIPMENU = new Menu(MenuHandler3); 
         
        
VIPMENU.SetTitle("★Comenzi VIP OLDCS★"); 
         
        
VIPMENU.AddItem(NAME"★Culoare Nume"); 
        
VIPMENU.AddItem(CHAT"★Culoare Chat"); 
        
VIPMENU.AddItem(VMENU"★VIP Menu"); 
        
VIPMENU.AddItem(TAG"★Tag (daca e cumparat)"); 

        
VIPMENU.Display(iIdMENU_TIME_FOREVER); 
    } 




public 
int MenuHandler3(Handle VIPMENUMenuAction actionint param1int param2

    switch(
action
    { 
        case 
MenuAction_Select
        { 
            
char item[64]; 

            
GetMenuItem(VIPMENUparam2itemsizeof(item)); 

            if(
StrEqual(item"NAME")) 
            { 
                
ClientCommand(param1"sm_namecolors"); 
            }         
            else if(
StrEqual(item"CHAT")) 
            { 
                
ClientCommand(param1"sm_chatcolors"); 
            }         
            else if(
StrEqual(item"VMENU")) 
            { 
                
ClientCommand(param1"sm_vip"); 
            }     
            else if(
StrEqual(item"TAG")) 
            { 
                
ClientCommand(param1"sm_tag"); 
            } 
        } 
    } 

__________________
I do make plugins upon requests, so hit me up on discord if you're interested: Stefan Milivojevic#5311
I am inevitable is offline