Skocz do zawartości
Ruzio

[Rozwiązane] ON/OFF opcja

Rekomendowane odpowiedzi

#include <sourcemod>
#include <sdktools>

public void OnPluginStart(){
    RegConsoleCmd("sm_menubroni", bronie);
}

 public Action bronie(int client, int args){
     Menu gMenu = new Menu(gMenu_Handler);
     gMenu.SetTitle("Wybierz broń!");
     gMenu.AddItem("1", "BROŃ - AK-47");
     gMenu.AddItem("2", "BROŃ - NEGEV");
     gMenu.AddItem("3", "[ON/OFF] wiadomości przy wybieraniu broni");
     gMenu.Display(client, 140000000);
 }
 
 public int gMenu_Handled(Menu menu, MenuAction action, int client, int Position, int a) {
     switch(action)
	{
		case MenuAction_Select:
		{
			switch(a) {
				case 0:
				{
				    GivePlayerItem(client, "weapon_ak47");
					 PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
					case 1:
				{
				    GivePlayerItem(client, "weapon_negev");
					 PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
					case 2:
				{
				    FakeClientCommandEx(client, "sm_menubroni");
				     PrintToChat(client, "\x03 Wiadomości zostały: (wlaczone/wylaczone}");
				    
				    // i tu te if powinny byc by wlaczac/wylaczac opcje " gMenu.AddItem("3", "[ON/OFF] wiadomości przy wybieraniu broni");", ze wlaczam wylaczam wiadomosci. cos tam ogarniam te ify, ale nie na tyle by zrobic z tego jakos dzialajaca rzecz
				}
			}
		}
		case MenuAction_End:
			delete menu;
	}
	return 0;
 }

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Powinno działać:

Spoiler

#include <sourcemod>
#include <sdktools>

bool g_bEnabled[MAXPLAYERS + 1] = true;

public void OnPluginStart() {
	RegConsoleCmd("sm_menubroni", bronie);
}

public Action bronie(int client, int args) {
	Menu gMenu = new Menu(gMenu_Handler);
	gMenu.SetTitle("Wybierz broń!");
	gMenu.AddItem("", "BROŃ - AK-47");
	gMenu.AddItem("", "BROŃ - NEGEV");
	
	char sBuffer[64];
	Format(sBuffer, sizeof(sBuffer), "%s wiadomość przy wybieraniu broni.", g_bEnabled[client] ? "Wyłącz":"Włącz");
	gMenu.AddItem("", sBuffer);
	gMenu.Display(client, MENU_TIME_FOREVER);
}

public int gMenu_Handler(Menu menu, MenuAction action, int client, int Position, int a) {
	switch (action)
	{
		case MenuAction_Select:
		{
			switch (a) {
				case 0:
				{
					GivePlayerItem(client, "weapon_ak47");
					PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
				case 1:
				{
					GivePlayerItem(client, "weapon_negev");
					PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
				case 2:
				{
					if (g_bEnabled[client])
						g_bEnabled[client] = false;
					else
						g_bEnabled[client] = true;
					
					bronie(client, 0);
					PrintToChat(client, "\x03 Wiadomości zostały: %s", g_bEnabled[client] ? "włączone":"wyłączone");
				}
			}
		}
		case MenuAction_End:delete menu;
	}
} 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Godzinę temu, Paweł napisał:

Powinno działać:

 
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Ukryj zawartość


#include <sourcemod>
#include <sdktools>

bool g_bEnabled[MAXPLAYERS + 1] = true;

public void OnPluginStart() {
	RegConsoleCmd("sm_menubroni", bronie);
}

public Action bronie(int client, int args) {
	Menu gMenu = new Menu(gMenu_Handler);
	gMenu.SetTitle("Wybierz broń!");
	gMenu.AddItem("", "BROŃ - AK-47");
	gMenu.AddItem("", "BROŃ - NEGEV");
	
	char sBuffer[64];
	Format(sBuffer, sizeof(sBuffer), "%s wiadomość przy wybieraniu broni.", g_bEnabled[client] ? "Wyłącz":"Włącz");
	gMenu.AddItem("", sBuffer);
	gMenu.Display(client, MENU_TIME_FOREVER);
}

public int gMenu_Handler(Menu menu, MenuAction action, int client, int Position, int a) {
	switch (action)
	{
		case MenuAction_Select:
		{
			switch (a) {
				case 0:
				{
					GivePlayerItem(client, "weapon_ak47");
					PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
				case 1:
				{
					GivePlayerItem(client, "weapon_negev");
					PrintToChat(client, " \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
				}
				case 2:
				{
					if (g_bEnabled[client])
						g_bEnabled[client] = false;
					else
						g_bEnabled[client] = true;
					
					bronie(client, 0);
					PrintToChat(client, "\x03 Wiadomości zostały: %s", g_bEnabled[client] ? "włączone":"wyłączone");
				}
			}
		}
		case MenuAction_End:delete menu;
	}
} 

 

 

Nie zadziała

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)
59 minut temu, ogbudowa napisał:

Nie zadziała

 

@Ruzio

public int gMenu_Handled(Menu menu, MenuAction action, int client, int Position, int a) {

handler menu przyjmuje 4 argumenty nie 5

 

public int MenuHandler1(Menu menu, MenuAction action, int param1, int param2)
Cytat
#include <sourcemod>
#include <sdktools>
 
bool g_Msg[MAXPLAYERS + 1] = {true, ...};
char Toggler[256];
 
public OnPluginStart()
{
    RegConsoleCmd("sm_menubroni", bronie);
}
 
public Action bronie(int client, int args) 
{
    Menu gMenu = new Menu(gMenu_Handler);
    gMenu.SetTitle("Wybierz broń!");
    gMenu.AddItem("1""BROŃ - AK-47");
    gMenu.AddItem("2""BROŃ - NEGEV");
    Format(Toggler, sizeof(Toggler), "%s Wiadomości przy wybieraniu broni", (g_Msg[client] ? "[OFF]" : "[ON]"));
    gMenu.AddItem("3", Toggler);
    gMenu.Display(client, MENU_TIME_FOREVER);
    return Plugin_Handled;
}
 
int gMenu_Handler(Menu menu, MenuAction action, int client, int pos)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            switch(pos)
            {
                case 0:
                {
                    GivePlayerItem(client, "weapon_ak47");
                    if (g_Msg[client])
                        PrintToChat(client, \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 AK-47\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
                }
                case 1:
                {
                    GivePlayerItem(client, "weapon_negev");
                    if (g_Msg[client])
                        PrintToChat(client, \x0B [BRONIE] \x04 ★\x02Twoja broń to \x01 NEGEV\x04★"); // wybierajac opcje nr3 chcialbym aby ta wiadomosc nie wyswietlala sie, lub jesli juz byly wylaczona to zeby sie wyswietlala
                }
                case 2:
                {
                    PrintToChat(client, "\x03 Wiadomości zostały: %s.", (g_Msg[client] ? "wyłączone" : "włączone"));  
                    g_Msg[client] = !g_Msg[client];
                    FakeClientCommandEx(client, "sm_menubroni");
                }
            }
        }
        case MenuAction_End:
            delete menu;
    }
    return 0;
 }

 

Edytowane przez ogbudowa

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, ogbudowa napisał:

 

@Ruzio


public int gMenu_Handled(Menu menu, MenuAction action, int client, int Position, int a) {

handler menu przyjmuje 4 argumenty nie 5

 


public int MenuHandler1(Menu menu, MenuAction action, int param1, int param2)

 

Masz rację nie patrzyłem się na handler. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Problem został rozwiązany

Jeżeli się z tym nie zgadzasz, raportuj ten post

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...