Ostatnio widuję sporo tematów związanych ze skinami, brakami w aktualnych pluginach etc, więc postanowiłem napisać plugin, w którym nie będzie kompromisów - oczywiście nie wyszło, więc dostajecie to co nawymyślałem .
Plugin będzie udoskonalany z biegiem czasu, a o zmianach będę informował w notatkach pod tym postem.
Plugin dodaje na serwer skiny do broni, z możliwością manualnego ich wyłączenia. Plugin testowany był w stosunkowo nieznacznym stopniu, także nie polecam wrzucać go od razu na serwer publiczny, a wcześniej przetestować i zdać relację tutaj.
Możliwość kupna skina in-game.
Możliwość dodania wielu flag.
Możliwość włączenia skina od fragów.
Plugin posiada plik konfiguracyjny, który należy uzupełnić według wzoru:
"v model path" "p model path" "skin name" "skin access (flag)" "weapon CSW" "frags" "price"
gdzie:
- v model path - ścieżka do modelu v_*.mdl, zaczynając od folderu cstrike/.
- p model path - ścieżka do modelu p_*.dml, zaczynając od folderu cstrike/.
- skin name - nazwa skina widniejąca w menu (max. 32 znaki, można to zmienić w kodzie).
- skin access - dostęp do skina, plugin aktualnie obsługuje tylko jedną flagę, ale niedługo zapewne dopiszę obsługę wielu. Skin dostępny dla wszystkich graczy = 0. Flaga w wersji stringa, nie bitowej.
- weapon CSW - index CSW_ broni, na jego bazie plugin rozpoznaje tablice dynamiczną i zapisuje do niej powyższe dane. Listę można znaleźć min. tutaj.
- frags - ilość fragów, od których dostępny będzie skin. 0 = brak limitu poprzez fragi.
- price - cena skina. Waluta możliwa do ustawienia w kodzie. 0 = brak limitu poprzez cenę.
Maksymalna ilość skinów jest domyślnie ustawiona na 32. Jeśli chcemy zwiększyć ten limit, konieczne będzie przerobienie pluginu w znacznym stopniu, natomiast idąc w dół nie ma żadnych przeszkód.
Brak limitów skinów.
Komendy do menu dostępne są w tablicy skinsMenuCommands. Do komend dodane będą say oraz say_team automatycznie:
// Skins menu commands. new const skinsMenuCommands[][] = { "/skiny", "/skins" };
Ścieżka pliku konfiguracyjnego w stałej configFilePath.
Większość, o ile nie wszystkie 'ustawienia' kodu są w constach/define'ach u góry.
Wielkie dzięki dla AwIlLa za wszelką wiedzę, jaką się ze mną podzielił co do mysqla .