Ogen Dogen 2 859 Właściciel Last activity: 13 hours ago Posted July 22, 2013 Właściciel Share Posted July 22, 2013 Posted July 22, 2013 W tym poradniku postaram się przybliżyć wam najważniejsze słowa kluczowe w AMXX. Myślę że poradnik jest zarówno dla początkujących jak i dla doświadczonych skrypterów (może sie czegoś nauczą ^^) Może na początek pytanie czym jest słowo kluczowe ? Słowo kluczowe jest to słowo , które jest z góry zarezerwowane przez kompilator do wykonania danej instrukcji. Trzeba je użyć w konkretny narzucony sposób i nie możemy go użyć do nazywania własnych zmiennych , tablic , funkcji itd. Jeśli używamy AMXX-Studio to słowa kluczowe mamy kolorowane zawsze na zielono. 1. #include Każde słowo kluczowe poprzedzone przez # (hash) jest to tzw. dyrektywa preprocesora i najczęściej używamy go na początku każdego pluginu / programu / biblioteki. Tutaj mamy dyrektywę #include , która dołącza do pluginu biblioteki bez których ciężko by było cokolwiek zrobić Znajduje się zawsze na początku kodu. Przykłady : #include #include #include #include Biblioteki możemy również zapisywać inaczej : #include "amxmodx" #include "fun" #include "fakemeta" #include "colorchat" Albo po co nam w ogóle te końcówki ? #include amxmodx #include fun #include fakemeta #include colorchat 2. #define Następna dyrektywa w której definiujemy stałe wartości o dowolnym typie , obojętnie czy wpiszemy int,float czy stringa. Domyślnie pojawia się przy rejestracji pluginu na samym początku. Rejestracja własnych stałych powinna się odbyć też na początku , tak żebyśmy mogli w całym kodzie z nich korzystać. #define PLUGIN "Mój plugin" #define VERSION "1.0" #define AUTHOR "Ja" 3. new To będzie chyba najczęściej stosowane słowo kluczowe. Służy ono do deklarowania zmiennych i tablic , czyli takich kontenerków z danymi (jeśli ktoś nie wie). Nie ma tutaj większej filozofii piszemy new i naszą nazwę np. new a; new liczba_graczy; new tablica[32]; Ważne żeby zmienna nie zawierała w nazwie spacji ! Jeśli dokonamy takiego zapisu jak wyżej to domyślnie przyjmuje typ int (liczby całkowite) np. 5 , 10 , -4. Inne typy deklarujemy w ten sposób : new typ:nazwa; Dwa inne podstawowe typy to Float (liczby rzeczywiste np. -1.4 , 3.76) i bool (typ logiczny TRUE/FALSE). Do tego przy deklaracji możemy od razu ustawiać ich wartość. Sumując wszystko podam przykłady : new liczba_graczy = 10; new Float:PI = 3.14; new bool:abc = false; Wartością może też być funkcja : max_graczy = get_maxplayers(); Za pomocą new możemy też deklarować stałe , które są szybsze niż te definiowane przez #define. new const STAŁA[] = 123 4. IF / ELSE Słowo IF występuje praktycznie w każdym języku programowania. Od Pascala , przez C/C++ aż nawet do Ruby. Jego ogólna składnia to : if (warunek) instrukcja; W warunku mogą się znaleść znów zmienne , komórki tablic czy funkcje np. if (get_user_health(id) < 50) set_user_health(id,100); Lub jeśli chcemy więcej instrukcji wykonać to zamykamy je w klamrach : if (get_user_health(id) < 50) { client_print(id,print_chat,"Zostales uleczony !"); set_user_health(id,100); } A teraz co jeśli będzie inaczej zaplanowaliśmy i gracz będzie miał 50 lub więcej hp ? Tutaj przychodzi z pomocą słówko ELSE , które nie funkcjonuje samodzielnie bez if'a. if (get_user_health(id) < 50) { client_print(id,print_chat,"Zostales uleczony !"); set_user_health(id,100); } else { client_print(id,print_chat,"Masz 50 hp lub wiecej !"); client_print(id,print_chat,"Nie nalezy ci sie leczenie !"); } 5. switch / case / default Switch jest instrukcją wyboru , przedstawia w bardziej przejrzysty sposób możliwości wyboru niż if. Jednakże switch dotyczy tylko jednej wartości. Zaś case jest słowem które że tak powiem wyodrębnia każdą opcję. Najpopularniejszym zastosowaniem switch'a jest tworzenie menu. np. // obliczenia liczace wartosc zmiennej a switch (a) { case 1: log_amx("a = 1"); case 2: log_amx("a = 2"); case 3: log_amx("a = 3"); } Tak samo jak przy if'ie możemy również stosować klamry. Default zaś jest tutaj słówkiem pomocniczym , odpowiednikiem else. Default = domyślny. Jeśli zmienna będzie różna od 1,2,3 i zostawimy to tak jak wyżej to po prostu cały kod zostanie pominięty , nie zależnie od tego jak długi i ważny będzie. // obliczenia liczace wartosc zmiennej a switch (a) { case 1: log_amx("a = 1"); case 2: log_amx("a = 2"); case 3: log_amx("a = 3"); default : log_amx("a!=1 , a!=2 , a!=3"); } 6. DO / WHILE Jest to pierwsza z 3 instrukcji iteracyjnych czyli popularnie zwanych pętlami. Charakteryzuje się ona tym że sprawdza warunek na końcu działania i ZAWSZE wykona się przynajmniej raz. Dosłownie to oznacza wykonuj wtedy gdy Składnia : do { // kod } while (warunek); Przykład : new a = 5; do { a++; client_print(id,print_chat,"a = %i",a); } while (a 6 8. FOR Najpopularniejsza pętla. Różni się od wcześniejszych tym że tutaj z góry wiemy ile wykonamy kroków pętli bądź będziemy wiedzieć przez przekazanie wartości w zmiennej. np. new i; for (i=1 ; i Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/ Share on other sites More sharing options...
Chinczyk 216 Last activity: August 23, 2022 Posted July 22, 2013 Share Posted July 22, 2013 Posted July 22, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-21066 Share on other sites More sharing options...
raveN 4 Last activity: November 11, 2014 Posted July 22, 2013 Share Posted July 22, 2013 Posted July 22, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-21069 Share on other sites More sharing options...
Brelok 305 Last activity: November 19, 2024 Posted July 22, 2013 Share Posted July 22, 2013 Posted July 22, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-21072 Share on other sites More sharing options...
Chinczyk 216 Last activity: August 23, 2022 Posted July 22, 2013 Share Posted July 22, 2013 Posted July 22, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-21085 Share on other sites More sharing options...
Ogen Dogen 2 859 Właściciel Last activity: 13 hours ago Posted July 22, 2013 Właściciel Share Posted July 22, 2013 Posted July 22, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-21098 Share on other sites More sharing options...
FreeMan 0 Last activity: April 16, 2014 Posted August 4, 2013 Share Posted August 4, 2013 Posted August 4, 2013 Hej! Nie widzisz zawartości tego postu? Sign In lub Create an account, aby korzystać ze wszystkich dostępnych funkcji! Link to comment https://cskatowice.com/topic/3351-s%C5%82owa-kluczowe-w-amxx/#findComment-22413 Share on other sites More sharing options...
Recommended Posts