v0.4.2
Biblioteka zamknięta w pliku .amxx do tworzenia kołowych menu. Można je spotkać w nowoczesnych grach jak Crisis czy Prototype, więc może się przydać też w CSie. Wybieranie opcji jest całkiem wygodne i spokojnie może zastąpić kilka bindów.
Maksymalna ilość opcji została na stałe zablokowana na wartość 8. API biblioteki jest zgodne z Nowym stylem menu Zobacz opis, z tym , że funkcje zaczynają się smenu_* zamiast menu_*
Przykładowe menu z załącznika ScreenMenu_Test.sma wygląda tak
Wszelkie uwagi i propozycje są mile widziane.
Wymagane pliki:
dhudmessage.inc
Kilka wskazówek:
smenu_create("nazwa", "mcbScreenMenu", "mcbScreenMenuOver");
pierwsza funkcja jest wywoływana po zamknięciu menu i przekazuje informacje na jakiej opcji gracz zatrzymał się ostatnio
druga funkcja jest wywoływana po każdej zmianie aktywnej opcji, nie koniecznie musimy łapać to zdarzenie i można spokojnie pominąć ten parametr
poprawne użycie menu wymaga sekwencji smenu_display ... smenu_exit, w przykładowym kodzie naciśnięcie klawisza E pokazuje menu, a puszczenie E wyłącza menu; moment wyjścia jest traktowany jak wybór opcji, gracz wybiera to co go interesuje przez puszczenie klawisza
to samo możemy zrobić za pomocą komendy aktywnej
register_clcmd("+menu", "wlaczMenu"); register_clcmd("-menu", "wylaczMenu");
bind f +menu
w wlaczMenu robimy display w wylaczMenu exit, wtedy gdy gracz puszcza klawisz F plugin dostaje info o wybranej opcji
smenu_setprop umożliwia konfigurację menu, w następnych wersjach będzie tego więcej, obecnie mamy:
#define SMPROP_SHOW_DESCRIPTION 1 /* Czy pokazywac opis po najechaniu na opcje, param1=number */ #define SMPROP_NORMAL_COLOR 2 /* Kolor normalny, param1=number[3] */ #define SMPROP_OVER_COLOR 3 /* Kolor po najechaniu na opcje, param1=number[3] */ #define SMPROP_DISABLED_COLOR 4 /* Kolor wylaczonej opcji, param1=number[3] */ #define SMPROP_TITLE_COLOR 5 /* Kolor tytulu, param1=number[3] {0, 0, 0} ukrywa tytul*/ #define SMPROP_PREFIX 6 /* Prefiks opcji, param1=string[8], domyslnie takie C z kropka*/czyli można włączyć/wyłączyć pokazywanie podpowiedzi i pokolorować napisy po swojemu
Aktualizacja:
0.4.2
- wywalony spam na chacie
0.4.1
- kursor już nie wariuje
0.4
- wyeliminowano 2 bugi: smenu_display nie działał w callbacku oraz get_info nie pobierało info tylko 2 razy nazwę
0.3
- dodano dynamiczną wersję menu (bez stałego punktu widzenia)
0.2
- dwa nowe pola set_prop
#define SMPROP_TITLE_COLOR 5 /* Kolor tytulu, param1=number[3] {0, 0, 0} ukrywa tytul*/ #define SMPROP_PREFIX 6 /* Prefiks opcji, param1=string[8], domyslnie takie C z kropka*/- wyświetlany tytuł menu
- nowe przykładowe pliki
- możliwość dostosowania położenia menu (komenda +smenu)
0.1
- pierwsza publikacja