Skocz do zawartości
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Zaloguj się, aby obserwować  
szogun

Menu serwera v2

Polecane posty

Siemson, mam mały problem, chodzi o to że nie otwiera mi się menu forum , jak i zasady a pozostałe działają i nie wiem czemu

 

#include <sourcemod>

public void OnPluginStart()
{
	RegConsoleCmd("sm_menu", MenuSrv);
}

public OnClientPutInServer(client) 
{
	CreateTimer(0.5, Timer_JoinMenu, client);
	CreateTimer(60.0, Timer_WelcomeMessage, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_JoinMenu(Handle timer, any client)
{
    FakeClientCommand(client, "sm_menu");
}  

public Action Timer_WelcomeMessage(Handle timer, any client)
{
    PrintToChat(client, "★\x07[Menu Serwera] \x04%N \x02aby uzyskać pomoc, wpisz na czacie !menu");
}  

public Action MenuSrv(int client, int args)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Menu serwera - OneFrag.pl \n");
	menu.AddItem("Rek", "*** REKRUTACJA ***");
	menu.AddItem("Zasady", "Regulamin");
	menu.AddItem("Forum", "Forum");
	menu.AddItem("Opis", "Opis Vipa");
	menu.AddItem("Kupno", "Jak kupić?");
	menu.ExitButton = true;
	menu.Display(client, MENU_TIME_FOREVER);
}

public Action Rek(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Wymagania na admina \n\n- Wiek* (Min 15lat) \n- 12H na serwerze \n- Sprawny mikrofon \n- Konto na forum \n- Podanie składamy na AceGO.pl \n");
	menu.AddItem("podanie", "Złóż podanie \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

public Action Zasady(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Zasady serwerta \n - Zakaz obrazanie graczy \n - Zakaz uzywania wulgarnego slownictwa \n - Zakaz wykorzystywania bugow mapy serwera \n- Cele mapy sa obowiazkowe \n - Zakaz reklamowania \n - Zakaz uzywania wspomagaczy \n - Mikro po mutacji lub +16 \n - Zakaz spamowanie na serwerze. \n- Zakaz utrudniania rozgrywki. \n");
	menu.AddItem("podanie", "Złóż podanien \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

public Action Forum(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Oficjalne forum serwera \n");
	menu.AddItem("for", "AceGo.pl \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

public Action Opis(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle(" Korzyści z posiadania VIP`a: \n- Dostep do wszystkich skinow \n- Wyrózniony kolor na say oraz prefix \n- Dodatkowe $$ za podłozenie/rozbrojenie paki \n- Dodatkowe $$ za podłozenie/rozbrojenie paki \n- Tag vip w tabeli \n- Pokazuje zadane obrazenia \n- Immunitet na ping \n- Kamizelka + Helm \n- Defuse Kit dla CT \n- Granaty He,Flash,Smoke,Molotov \n- Dodatkowe hp za kill/hs \n- Dodatkowe $$ w nowej rundzie \n- Dodatkowe $$ w nowej rundzie \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

public Action Kupno(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("VIP'a można zakupić pod komendą !sklepsms oraz !sklepweb \n Koszt VIP'a SMS: 6.15zl \n Koszt VIP'a Przelew: 3.50zl \n");
	menu.AddItem("sms", "Kup przez smsa");
	menu.AddItem("web", "Kup przez psc,paypal \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

public int MenuSr(Handle handle, MenuAction action, int client, int pos)
{
	if(action == MenuAction_Select)
	{
		char item[32];
		GetMenuItem(handle, pos, item, sizeof(item));

		if(StrEqual(item, "Opis"))
		{
			Opis(client);
			PrintToChatAll("\x07 =============================================================", client);
			PrintToChatAll("★\x07 [VIP] \x04%N \x05właśnie czyta o tym, co posiada konto VIP! \n★ Więcej szczegołów pod komendą \x04!VIP", client);
			PrintToChatAll("\x07 =============================================================", client);
		}
		else if(StrEqual(item, "Kupno"))
		{
			Kupno(client);
			PrintToChatAll("\x07 =============================================================", client);
			PrintToChatAll("★\x07 [VIP] \x04%N \x05właśnie czyta jak zakupić konto VIP! \n★ Więcej szczegołów pod komendą \x04!VIP", client);
			PrintToChatAll("\x07 =============================================================", client);
		}
		else if(StrEqual(item, "Rek"))
		{
			Rek(client);
			PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [REKRUTACJA] \x04%N \x05Przegląda informacje o rekrutacji." ,client);
			PrintToChatAll("★\x07 [REKRUTACJA] \x05Więcej szczegołów pod komendą \x04!PODANIE" ,client);
			PrintToChatAll("===============================================", client);
			}
		else if(StrEqual(item, "Forum"))
		{
			PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum." ,client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM" ,client );
			PrintToChatAll("===============================================" ,client);
		}
		else if(StrEqual(item, "for"))
		{
			FakeClientCommand(client, "say !forum");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [FORUM] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "podanie"))
		{
			FakeClientCommand(client, "say !podanie");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [REKRUTACJA] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "sms"))
		{
			FakeClientCommand(client, "say !sklepsms");
		}
		else if(StrEqual(item, "web"))
		{
			FakeClientCommand(client, "say !sklepweb");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [SKLEP] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "powrot"))
		{
			MenuSrv(client, 0);
		}
	}
	else if(action == MenuAction_End) CloseHandle(handle);
}

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
PrintToChatAll("===============================================" ,client);

'client' nie ma się do czego odwołać

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie kminie tego zrobiłem to od nowa na podstawie działającego menu rekrutacja i nadal te forum nie działa

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum." ,client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM" ,client );
			PrintToChatAll("===============================================" ,client);
		}

Zanim coś napiszesz przypatrz się dobrze na kod

 

sytuacja z 'client''em powtarza się w trzech miejscach

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
7 minut temu, MAGNET napisał:

PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum." ,client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM" ,client );
			PrintToChatAll("===============================================" ,client);
		}

Zanim coś napiszesz przypatrz się dobrze na kod

 

sytuacja z 'client''em powtarza się w trzech miejscach

Hmm, to poprawione ale bardziej mi chodzi o tą cześć , czemu jak z menu wybiore forum to nie pokazuje tego co jest pod tym

 

public Action MenuSrv(int client, int args)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Menu serwera - OneFrag.pl \n");
	menu.AddItem("Rek", "*** REKRUTACJA ***");
	menu.AddItem("Zasady", "Regulamin");
	menu.AddItem("Forum", "Forum");
	menu.AddItem("Opis", "Opis Vipa");
	menu.AddItem("Kupno", "Jak kupić?");
	menu.ExitButton = true;
	menu.Display(client, MENU_TIME_FOREVER);
}


public Action Forum(int client)
{
	Menu menu = new Menu(MenuSr);
	menu.SetTitle("Oficjalne forum serwera \n");
	menu.AddItem("for", "AceGo.pl \n");
	menu.AddItem("powrot", "Wróć");
	menu.ExitButton = false;
	menu.Display(client, MENU_TIME_FOREVER);
}

 

Edytowano przez szogun

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

		else if(StrEqual(item, "Forum"))
		{
			PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum." ,client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM" ,client );
			PrintToChatAll("===============================================" ,client);
		}

To drukuje tylko tekst, więc nie wywołuje żadnej funkcji, która miałaby otworzyć Forum(int client). Jeżeli chodzi o zasady(regulamin), to nawet tego nie ma w MenuSr(Handle handle, MenuAction action, int client, int pos).

Budowę kodu pozostawiam bez komentarza. 😉

  • Lubię to! 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
3 minuty temu, Avgariat napisał:


		else if(StrEqual(item, "Forum"))
		{
			PrintToChatAll("===============================================", client );
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum." ,client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM" ,client );
			PrintToChatAll("===============================================" ,client);
		}

To drukuje tylko tekst, a jeżeli chodzi o zasady(regulamin), to nawet tego nie ma w MenuSr(Handle handle, MenuAction action, int client, int pos).

Budowę kodu pozostawiam bez komentarza. 😉

Zasady powinny się otworzyć jako menu tak samo jak i forum, tylko przy forum jest informacja na czacie w przeciwieństwie do zasad.

Czyli mamy główne menu, forum,zasady, opis vipa etc i po wyborze np. forum lub zasady powinno się otworzyć kolejne menu z opisem co się nie dzieje

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę, że wskazówkami daleko nie zajdziemy, więc...


		else if(StrEqual(item, "Forum"))
		{
			Forum(client);
			PrintToChatAll("===============================================");
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum.", client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM");
			PrintToChatAll("===============================================");
		}
		else if(StrEqual(item, "Zasady"))
		{
			Zasady(client);
			// whatever
		}

 

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie chodzi mi o tekst na say.

Chodzi o samo menu, przy wejscu masz menu serwera z opcjami

1 Forum

2 Opis

3 BlaBla

Teraz po wyborze 1 powinno pojawić się menu gdzie będzie, które się nie otwiera tak jak w przypadku opisu gdzie jak wybierzesz opcje 2 otwiera się menu i ukazuje jakis opis

Tytuł - Oficjalne forum serwera nastepnie

Adres forum

Powrót do głównego menu

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy w ogóle próbowałeś zmienić kod na taki, który Ci podałem, czy tak sobie piszesz? ;v

 

Cały handler menu:

Spoiler

public int MenuSr(Handle handle, MenuAction action, int client, int pos)
{
	if(action == MenuAction_Select)
	{
		char item[32];
		GetMenuItem(handle, pos, item, sizeof(item));

		if(StrEqual(item, "Opis"))
		{
			Opis(client);
			PrintToChatAll("\x07 =============================================================");
			PrintToChatAll("★\x07 [VIP] \x04%N \x05właśnie czyta o tym, co posiada konto VIP! \n★ Więcej szczegołów pod komendą \x04!VIP", client);
			PrintToChatAll("\x07 =============================================================");
		}
		else if(StrEqual(item, "Kupno"))
		{
			Kupno(client);
			PrintToChatAll("\x07 =============================================================");
			PrintToChatAll("★\x07 [VIP] \x04%N \x05właśnie czyta jak zakupić konto VIP! \n★ Więcej szczegołów pod komendą \x04!VIP", client);
			PrintToChatAll("\x07 =============================================================");
		}
		else if(StrEqual(item, "Rek"))
		{
			Rek(client);
			PrintToChatAll("===============================================");
			PrintToChatAll("★\x07 [REKRUTACJA] \x04%N \x05Przegląda informacje o rekrutacji." ,client);
			PrintToChatAll("★\x07 [REKRUTACJA] \x05Więcej szczegołów pod komendą \x04!PODANIE");
			PrintToChatAll("===============================================");
		}
		else if(StrEqual(item, "Forum"))
		{
			Forum(client);
			PrintToChatAll("===============================================");
			PrintToChatAll("★\x07 [FORUM] \x04%N \x05Przegląda informacje o serwerze forum.", client);
			PrintToChatAll("★\x07 [FORUM]  \x05Więcej szczegołów pod komendą \x04!FORUM");
			PrintToChatAll("===============================================");
		}
		else if(StrEqual(item, "Zasady"))
		{
			Zasady(client);
			// whatever
		}
		else if(StrEqual(item, "for"))
		{
			FakeClientCommand(client, "say !forum");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [FORUM] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "podanie"))
		{
			FakeClientCommand(client, "say !podanie");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [REKRUTACJA] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "sms"))
		{
			FakeClientCommand(client, "say !sklepsms");
		}
		else if(StrEqual(item, "web"))
		{
			FakeClientCommand(client, "say !sklepweb");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [SKLEP] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}
		else if(StrEqual(item, "powrot"))
		{
			MenuSrv(client, 0);
		}
	}
	else if(action == MenuAction_End) CloseHandle(handle);
}

 

 

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

Tak, juz działa jakis dziwny znak mi sie dodał. Tylko czemu teraz to podwojnie sie wysyla

 

	else if(StrEqual(item, "for"))
		{
			FakeClientCommand(client, "say !forum");
			PrintToChat(client, "===============================================");
			PrintToChat(client, "★\x07 [FORUM] \x02Link został wysłany w prywatnej wiadomości steam");
			PrintToChat(client, "===============================================");
		}

 

Edytowano przez szogun

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×