Thread: [Solved] [CSGO] Menu Help
View Single Post
Author Message
PorcusorulMagic
Member
Join Date: Dec 2018
Location: Romania
Old 06-24-2019 , 11:41   [CSGO] Menu Help
Reply With Quote #1

Hello! Recently i tried to do my own menu for players , but i failed again...
Surse:
PHP Code:
#pragma semicolon 1

#define DEBUG

#define SHOP "SHOP"
#define REG "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(REG"★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 REG = new Menu(MenuHandler2);
        
        
REG.SetTitle("★Alege regulamentul★");
        
        
REG.AddItem(JUCATORI"★Regulament Jucatori");
        
REG.AddItem(ADMINI"★Regulament Admini");

        
MAIN_MENU.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");
            }
        }
    }

Errors:
PHP Code:
// E:\Sourcemod\addons\sourcemod\scripting\include\menus.inc(1097) : warning 219: local variable "param2" shadows a variable at a preceding level
// USP_menu.sp(35) : error 035: argument type mismatch (argument 2)
// USP_menu.sp(57) : warning 219: local variable "MAIN_MENU" shadows a variable at a preceding level
// USP_menu.sp(71) : warning 219: local variable "MAIN_MENU" shadows a variable at a preceding level
// USP_menu.sp(71) : warning 219: local variable "action" shadows a variable at a preceding level
// USP_menu.sp(71) : warning 219: local variable "param1" shadows a variable at a preceding level
// USP_menu.sp(71) : warning 219: local variable "param2" shadows a variable at a preceding level
// USP_menu.sp(77) : warning 219: local variable "item" shadows a variable at a preceding level
// USP_menu.sp(97) : error 147: new-style declarations are required
// USP_menu.sp(99) : error 010: invalid function or declaration
// USP_menu.sp(103) : error 010: invalid function or declaration
// USP_menu.sp(105) : error 010: invalid function or declaration
// USP_menu.sp(108) : error 147: new-style declarations are required
// USP_menu.sp(111) : error 054: unmatched closing brace ("}")
// USP_menu.sp(113) : error 147: new-style declarations are required
// USP_menu.sp(113) : error 001: expected token: "{", but found "-string-"
// USP_menu.sp(113) : warning 215: expression has no effect
// USP_menu.sp(113) : warning 215: expression has no effect
// USP_menu.sp(113) : error 001: expected token: ";", but found "-identifier-"
// USP_menu.sp(113) : fatal error 190: too many error messages on one line 
__________________
Steam - https://steamcommunity.com/id/porcusorulmagic
Discord - PorcusorulMagic#4908

Last edited by PorcusorulMagic; 06-24-2019 at 11:52. Reason: Solved
PorcusorulMagic is offline