piątek, 31 maja 2013

Trafienie krytyczne

Opis

Kolejny bardzo prosty plugin. Bardzo dobry na serwery typu 4FUN. Daje nam on szansę na trafienie krytyczne ( szansę ustawiamy w cvarze ). Trafienie krytyczne znane jest z przeróżnych gier. W tym pluginie za pomocą cvaru możemy regulować o ile % większe od normalnych obrażeń są obrażenia krytyczne.


Instrukcja instalacji

1. Pobierz plik CriticalChance.sma oraz CriticalChance.amxx.
2. Plik CriticalChance.sma skopiuj do folderu addons/amxmodx/scripting/.
3. Plik CriticalChance.amxx skopiuj do folderu addons/amxmodx/plugins/.
4. Otwórz plik addons/amxmodx/configs/plugins-basebuilder.ini i dopisz na samym dole CriticalChance.amxx.
5. Zmień mapę lub uruchom ponownie serwer.

Download

Plik z kodem źródłowym (sma): CriticalChance.sma
Plik ze skompiliwanym pluginem (amxx): CriticalChance.amxx

niedziela, 26 maja 2013

Ukrywanie nieruszanych klocków

Opis

Bardzo prosty plugin, dzięki któremu po zakończeniu czasu budowania nieruszane klocki znikają ( w praktyce przemieszczają się na kraniec mapy ). Jeżeli są jakiekolwiek problemy z pluginem proszę śmiało pisać o tym w komentarzach.


Instrukcja instalacji

1. Pobierz plik HideObject.sma oraz HideObject.amxx.
2. Plik HideObject.sma skopiuj do folderu addons/amxmodx/scripting/.
3. Plik HideObject.amxx skopiuj do folderu addons/amxmodx/plugins/.
4. Otwórz plik addons/amxmodx/configs/plugins-basebuilder.ini i dopisz na samym dole HideObject.amxx.
5. Zmień mapę lub uruchom ponownie serwer.


Download

Plik z kodem źródłowym (sma): HideObject.sma 
Plik ze skompiliwanym pluginem (amxx): HideObject.amxx

niedziela, 19 maja 2013

Analiza podstawowego wzoru pluginu

W tym artykule zaprezentuję wam podstawowy kod pluginu, jedynie rejestrujący plugin. Wyjaśnię jaka część za co odpowiada. Wydaje mi się że jest to dosyć łatwy temat. Tak wygląda standardowy kod generowany przy tworzeniu nowego projektu w Amxx Studio:

















Co to /* Plugin generated by AMXX-Studio */ ?
Jest to komentarz. Dzięki pisaniu komentarzy po przerwie w programowaniu możemy łatwiej odnaleźć się w swoim kodzie. Komentarz nie jest brany przez plugin pod uwagę, jest to jedynie wizualna pomoc dla programisty. Lub kiedy udostępnimy gdzieś nasz kod i zawiera on komentarze osoba czytająca je jest w stanie w prosty sposób zrozumieć działanie pluginu i jego funkcje.
Komentarze stworzymy na kilka sposobów, ja pokażę dwa które osobiście preferuję. Kiedy chcesz aby twój komentarz rozciągał się od konkretnego miejsca aż do końca lini użyj tej metody:





Oczywiście możemy zacząć komentarz od dowolnej części linii, np:





Jest jeszcze druga metoda pisania komentarzy, dająca moim zdaniem większą elastyczność. Mianowicie możemy w dowolnym miejscu rozpocząć jak i zakończyć komentarz dzięki czemu pomiędzy różnymi danymi w linii możemy mieć komentarze, np:







Jeżeli nadal masz jakieś wątpliwości lub niejasności co do tematu używania komentarzy, opisz to poniżej.


Czym jest dyrektywa include ?
Dzięki tej dyrektywie możesz w prosty sposób pobrać funkcje z bibliotek, definicje etc. do własnego użytku. Biblioteki udostępniają nam naprawdę wiele natywów, forwardów etc. Biblioteką bez, której ciężko jest napisać plugin o ile to możliwe jest amxmodx, która umożliwa nam podstawowe funkcje typu rejestracja pluginy czy podstawowe forwardy typu plugin_init.

Możemy używać dyrektywy #include na dwa sposoby. Nie wiele się od siebie różnią. Pierwszy polega na umieszczeniu między znakami <> jedynie nazwy biblioteki, a drugi na umieszczeniu między "" pliku .inc biblioteki. Przykład:






Czym jest dyrektywa define ?
Dzięki dyrektywie define możemy w prosty sposób powiedzieć kompilatorowi, aby przy każdym spotkaniu konkretnego ciągu, liczby etc. zamienił to na coś innego. Wtedy dla nas to będzie jedynie sprawa wizualnej wygody i lepszej kontroli kodu. Przykładowo:


Drugim możliwym użyciem będzie po prostu zdefiniowanie "nazwy", dzięki czemu później będziemy mogli skrócić kod za pomocą sprawdzania np. czy MYSQL jest zdefiniowane czy nie.


Czym jest public plugin_init ?
Public oznacza tu funkcję publiczną, ja preferuję takie rejestrowanie funkcji. Plugin_init jest forwardem wywoływanym podczas "startu mapy". W nim rejestrujemy plugin, możemy również w nim rejestrować cvary etc.

register_plugin jest wywołaniem funkcji rejestrującej naszą wtyczkę. Jeżeli chcesz poznać więcej funkcji wejdź w element menu pt. "Dokumentacja".

Jeżeli nadal masz jakieś niejasności to śmiało mów o nich w komentarzach.

sobota, 18 maja 2013

Przygotowanie środowiska pracy

      Cześć, w tym artykule pokaże wam jak przygotować sobie środowisko pracy w programie AMXX Studio dla systemu operacyjnego Windows. Język jest według mnie bardzo dobry do wstępu w świat programowania, pozwala w łatwy sposób oglądać efekty swoich prac w grze.
       Pierwszym co musimy zrobić jest oczywiście pobranie programu AMXX Studio jak i niezbędnych rzeczy do kompilacji plików. Wejdźmy na adres ( http://www.amxmodx.org/downloads.php ). Po otworzeniu strony pobieramy plik zaznaczony na obrazku, oczywiście z dowolnego mirroru.

Plik zajmuje ok. 10.5Mb.
Po pobraniu oczywiście otwieramy plik. Ukarze nam się takie okno instalacji.


Oczywiście klikamy "Next" i przechodzimy do okna, w którym należy zaakceptować warunki licencji. Więc zaznaczamy opcje wybraną na poniższym obrazku i po raz kolejny klikamy opcję "Next".


Teraz należy podać miejsce, w którym chcemy zainstalować AMXMOD X 1.8.2. Kiedy wybierzemy ścieżkę klikamy "Next".


W następnym oknie pozostawiamy wszystko bez zmian i klikamy Install.

Po zakończeniu instalacji zaznaczamy opcje włączenia kolejnego instalatora i klikamy Finish. Teraz będziemy instalować cały "folder addons". Ukarze nam się takie okienko: 


Oczywiście standardowo wybieramy "Next". Następnie akceptujemy warunki licencji i przechodzimy dalej.


W kolejnym oknie wybierz opcję Select mod directory i przejdź dalej.


W otwartym oknie, ustaw Custom game addon na wartość Counter Strike oraz wybierz ścieżkę "wypakowania" folderu addons.


Jeżeli pojawi nam się takie zapytanie, klikamy Tak i czekamy na zakończenie rozpakowywania.


Instalacja zakończona, powinieneś ujrzeć takie okno.


Otwieramy Amxx Studio i klikamy F12. Następnie wybieramy przedziałkę Compiler settings. Klikamy na zaznaczony przycisk i wybieramy ściężkę do amxxpc.exe ( addons\amxmodx\scripting\amxxpc.exe ). U mnie jest to F:\Program Files\addons\amxmodx\scripting\amxxpc.exe.


Klikamy Ok. Możesz już swobodnie kompilować swoje pliki. Jeżeli coś nie poszło jak w poradniku, pisz w komentarzach, postaram się ci pomóc jak najlepiej potrafię.