Niektóre funkcje
kaszewczyk
30.01.2009
Witam, postanowiłem się zaznajomić z pawn'em i pisaniem pluginów pod amx chciałem podzielić się z wami moimi doświadczeniami jak dotąd (jeszcze są nie wielkie) może się komuś przydadzą.
Pawn umożliwia używania funkcji bibliotecznych jak i zarówno pozwala na tworzenie własnych funkcji, funkcje powinny zwracać jakąś wartość, aby funkcja zwracała wartość należy użyć słowa return które natychmiast zatrzymuje funkcje i zwraca wartość wyrażoną zaraz po tym słowie np. return 1; czyli po uruchomieniu funkcji będzie zwracana jedynka. Uwaga! w funkcji po słowie return nie powinniśmy zawierać żadnego dalszego kodu ponieważ nie będzie on wykonany. Funkcje są używane po to aby nie powielać tego samego kodu wiele razy, co oszczędza nam wiele czasu i trudu jak i znacznie skraca pisane przez nas programy.
Oto przykład funkcji pokazująca napis "witam w konsoli" i zwróci jedynkę
aby uruchomić funkcję:
oto przykład funkcji przyjmującej parametry
aby uruchomić funkcję:
można także nadać funkcji typ który będzie ograniczał argumenty jakie będzie mogła przyjąć funkcja do określonego typu, użyjemy tej samej funkcji tylko dla liczb zmiennoprzecinkowych
aby uruchomić funkcję:
poniżej opis niektórych funkcji bibliotecznych:
Funkcja: abs
funkcja jednoparametrowa zwracająca całkowitą wartość intigera
Funkcja: access
funkcja dwuparametrowa sprawdzająca gracza czy ma odpowiednią flagę administratora serwera np: ADMIN_KICK
Funkcja: add
funkcja 3 parametowa ponieważ ostatni parametr jest nie wymagany. Funkcja dodaje do siebie dwa stringi i zwraca ilość znaków połączonych, jeżeli ostatni parametr jest podany wyznacza on ile znaków ma dodać funkcja
Funkcja: arrayset
funkcja trójparametrowa ustawiająca całą tablice do wybranej wartości w szybki sposób.
Funkcja: get_user_frags
funkcja jednoparametrowa zwracajaca ilość punktów (fragów)
Funkcja: isalpha
funkcja zwraca prawde jezeli parametr to litera
Funkcja: isdigit
funkcja zwraca prawde jezeli parametr to liczba
Funkcja: make_deathmsg
funkcja czteroparametrowa tworząca wiadomość o śmierci gracza
Funkcja: random_num
funkcja przyjmuje dwa parametry które są minimalną i maxymalną granicą przedziału a funkcja zwraca losową liczbę całkowitą z tego przedziału
Funkcja: random
funkcja przyjmuje jeden parametr który wyznacza górną granice przedziału ze wzoru max-1 dolna granica to 0, funkcja zwraca pseudo-losową liczbę z tego przedziału
Funkcja: random_float
funkcja przyjmuje dwa parametry które są minimalną i maxymalną granicą przedziału a funkcja zwraca losową liczbę zmiennoprzecinkową z tego przedziału
Funkcja: date
Funkcja przywraca date poprzez parametry podane przez referencje, które będą przekazywać części daty zapisanej wewnątrz funkcji.
Funkcja: funcidx
funkcja zwraca jako index publiczne funkcje, jeżeli nie ma takich zwracane jest -1
Funkcja:
funkcja przywraca argument z listy argumentów, jeżeli argument to tablica musimy sprecyzwować także pierwszy element tablicy.
Funkcja: heapspace
funkcja bezparametrowa zwracająca ilość wolnego miejsca na stosie, przydaje się do znajdywania jakichkolwiek przecieków pamięci stosu.
Funkcja: max
funkcja zwraca parametr który ma większą wartość
Funkcja: min
funkcja zwraca parametr który ma miejszą wartość
Funkcja: numargs
funkcja zwraca ilość parametrów przekazanych do aktualnej funkcji
Funkcja: power
funkcja dwuparametrowa zwiększająca wartość 1 do wartości2
Funkcja: setarg
funkcja ustawia nową wartość dla pdanego argumentu z listy argumentów
Funkcja: strlen
funkcja zwraca długość podanego stringa
Funkcja: cs_get_user_team
funkcja przyjmuje jako parametr id gracza i zwraca jedna z 3 wartości: CS_TEAM_T, CS_TEAM_CT, CS_TEAM_SPECTATOR.
Funkcja: cs_get_hostage_foll
funkcja zwraca index jednostkowy zakładników którzy podążają za anty-terrystą, nr to index zakładników, jeżeli nr = 0 żaden z zakładników nie podąża za nami
Funkcja: cs_get_hostage_id
funkcja zwraca unkatowy numer idetyfikujący zakładnika
Funkcja: cs_get_no_knives
funkcja zwraca 1 kiedy tryb nożowy jest włączony, a 0 jeśli nie jest aktywny
add:
będę się starał w miarę możliwości dodawać więcej opisów funkcji, mam nadzieję że to komuś pomoże, jeżeli uznacie ten post za mało pożyteczny to po prostu usuńcie go
~pozdrawiam
Funkcje z czym to się je?
Pawn umożliwia używania funkcji bibliotecznych jak i zarówno pozwala na tworzenie własnych funkcji, funkcje powinny zwracać jakąś wartość, aby funkcja zwracała wartość należy użyć słowa return które natychmiast zatrzymuje funkcje i zwraca wartość wyrażoną zaraz po tym słowie np. return 1; czyli po uruchomieniu funkcji będzie zwracana jedynka. Uwaga! w funkcji po słowie return nie powinniśmy zawierać żadnego dalszego kodu ponieważ nie będzie on wykonany. Funkcje są używane po to aby nie powielać tego samego kodu wiele razy, co oszczędza nam wiele czasu i trudu jak i znacznie skraca pisane przez nas programy.
Oto przykład funkcji pokazująca napis "witam w konsoli" i zwróci jedynkę
pokaz_w_konsoli() { console_print(id,"witam w konsoli"); return 1; }
aby uruchomić funkcję:
pokaz_w_konsoli();
oto przykład funkcji przyjmującej parametry
suma(liczba_a,liczba_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> { new sum = liczba_a + liczba_b; return sum; // lub po prostu można zrobić tak aby skrócić kod return liczba_a + liczba_b; }
aby uruchomić funkcję:
new a,b; a=4; b=5; new c; c = suma(a,<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> //c równa się 9
można także nadać funkcji typ który będzie ograniczał argumenty jakie będzie mogła przyjąć funkcja do określonego typu, użyjemy tej samej funkcji tylko dla liczb zmiennoprzecinkowych
Float:suma_float(liczba_a,liczba_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> { new Float:sum = liczba_a + liczba_b; return sum; }
aby uruchomić funkcję:
Float:new a,b; a=4.0; b=5.5; new Float:c; c = suma_float(a,<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' /> //c równa się 9.5
poniżej opis niektórych funkcji bibliotecznych:
Core
Funkcja: abs
abs(x);Opis:
funkcja jednoparametrowa zwracająca całkowitą wartość intigera
Funkcja: access
access(id_gracza,flaga_admina)Opis:
funkcja dwuparametrowa sprawdzająca gracza czy ma odpowiednią flagę administratora serwera np: ADMIN_KICK
Funkcja: add
add ( string_pierwszy[], dlugosc, const string_drugi[], [ max ] )Opis:
funkcja 3 parametowa ponieważ ostatni parametr jest nie wymagany. Funkcja dodaje do siebie dwa stringi i zwraca ilość znaków połączonych, jeżeli ostatni parametr jest podany wyznacza on ile znaków ma dodać funkcja
Funkcja: arrayset
arrayset ( tablica[], wartosc, rozmiar)Opis:
funkcja trójparametrowa ustawiająca całą tablice do wybranej wartości w szybki sposób.
Funkcja: get_user_frags
get_user_frags ( id_gracza )Opis:
funkcja jednoparametrowa zwracajaca ilość punktów (fragów)
Funkcja: isalpha
isalpha ( ch )Opis:
funkcja zwraca prawde jezeli parametr to litera
Funkcja: isdigit
isdigit ( ch )Opis:
funkcja zwraca prawde jezeli parametr to liczba
Funkcja: make_deathmsg
make_deathmsg ( zabojca, ofiara, headshot, bron[] )Opis:
funkcja czteroparametrowa tworząca wiadomość o śmierci gracza
Funkcja: random_num
random_num ( a,b )Opis:
funkcja przyjmuje dwa parametry które są minimalną i maxymalną granicą przedziału a funkcja zwraca losową liczbę całkowitą z tego przedziału
Funkcja: random
random ( max )Opis:
funkcja przyjmuje jeden parametr który wyznacza górną granice przedziału ze wzoru max-1 dolna granica to 0, funkcja zwraca pseudo-losową liczbę z tego przedziału
Funkcja: random_float
Float: random_float ( Float:a,Float:b )Opis:
funkcja przyjmuje dwa parametry które są minimalną i maxymalną granicą przedziału a funkcja zwraca losową liczbę zmiennoprzecinkową z tego przedziału
Funkcja: date
date ( [ &rok, &miesiac, &dzien ] )Opis:
Funkcja przywraca date poprzez parametry podane przez referencje, które będą przekazywać części daty zapisanej wewnątrz funkcji.
Funkcja: funcidx
funcidx ( const nazwa[] )Opis:
funkcja zwraca jako index publiczne funkcje, jeżeli nie ma takich zwracane jest -1
Funkcja:
getarg ( argument, [ index_argumentów ] )Opis:
funkcja przywraca argument z listy argumentów, jeżeli argument to tablica musimy sprecyzwować także pierwszy element tablicy.
Funkcja: heapspace
heapspace ( )Opis:
funkcja bezparametrowa zwracająca ilość wolnego miejsca na stosie, przydaje się do znajdywania jakichkolwiek przecieków pamięci stosu.
Funkcja: max
max ( wartosc1, wartosc2 )Opis:
funkcja zwraca parametr który ma większą wartość
Funkcja: min
max ( wartosc1, wartosc2 )Opis:
funkcja zwraca parametr który ma miejszą wartość
Funkcja: numargs
numargs ( )Opis:
funkcja zwraca ilość parametrów przekazanych do aktualnej funkcji
Funkcja: power
power ( wartosc1, wartosc2 )Opis:
funkcja dwuparametrowa zwiększająca wartość 1 do wartości2
Funkcja: setarg
setarg ( argument, index=0, nowa_wartosc_argumentu )Opis:
funkcja ustawia nową wartość dla pdanego argumentu z listy argumentów
Funkcja: strlen
strlen ( const string[] )Opis:
funkcja zwraca długość podanego stringa
Cstrike
Funkcja: cs_get_user_team
cs_get_user_team(id_gracza)Opis:
funkcja przyjmuje jako parametr id gracza i zwraca jedna z 3 wartości: CS_TEAM_T, CS_TEAM_CT, CS_TEAM_SPECTATOR.
Funkcja: cs_get_hostage_foll
cs_get_hostage_foll ( nr )Opis:
funkcja zwraca index jednostkowy zakładników którzy podążają za anty-terrystą, nr to index zakładników, jeżeli nr = 0 żaden z zakładników nie podąża za nami
Funkcja: cs_get_hostage_id
cs_get_hostage_id ( nr)Opis:
funkcja zwraca unkatowy numer idetyfikujący zakładnika
Funkcja: cs_get_no_knives
cs_get_no_knives ( )Opis:
funkcja zwraca 1 kiedy tryb nożowy jest włączony, a 0 jeśli nie jest aktywny
add:
będę się starał w miarę możliwości dodawać więcej opisów funkcji, mam nadzieję że to komuś pomoże, jeżeli uznacie ten post za mało pożyteczny to po prostu usuńcie go
~pozdrawiam
Miczu
30.01.2009
client_scoreZ tego co widze to nie jest funkcja dla modu counter-strikie (wypada to dopowiedziec - dodx).
Po prostu moze podaj z jakiej biblioteki pochodza dane funkce bo i tak trzeba to wiedziec zanim sie uzyje.
PS. z takim podejsciem do pawna wroze ci wiele sukcesow.
darkman
30.01.2009
wszystko dobrze, ale takie pojedyńcze tutoriale nikomu nic nie dają. każdy woli zajrzeć do funcwiki, bo jest to tam lepiej opisane. btw. w swoim czasie będzie dokumentacja po polsku, więc jak na razie nie widze innej możliwości jak kosz?
darkman
30.01.2009
na następny raz jak robisz to jakoś podziel tematycznie, bo teraz to takie ni z gruchy ni z pietruchy
kaszewczyk
30.01.2009
Poprawione, czy tak może być? Wcześniej nigdy nie pisałem tutoriali więc trochę wyrozumiałości
a co do wiki to nawet nie ma porządnego tutoriala o pawnie w języku polskim a co dopiero o funkcjach amx mod x
more 2 come...
a co do wiki to nawet nie ma porządnego tutoriala o pawnie w języku polskim a co dopiero o funkcjach amx mod x
more 2 come...
JEF
14.02.2009
1) abs() to zapewne wartość bezwględna
2) wspominacie o jakimś Wiki z funkcjami. Gdzie link?
3) czemu by nie skopiować wpisów z tego Wiki
3.1) przetłumaczyć na polski przynajmniej kilka najważniejszych funkcji
3.2) funkcja po funkcji i kiedyś bedziemy mieć wszystko
2) wspominacie o jakimś Wiki z funkcjami. Gdzie link?
3) czemu by nie skopiować wpisów z tego Wiki
3.1) przetłumaczyć na polski przynajmniej kilka najważniejszych funkcji
3.2) funkcja po funkcji i kiedyś bedziemy mieć wszystko
darkman
14.02.2009
1) abs() to zapewne wartość bezwględna
2) wspominacie o jakimś Wiki z funkcjami. Gdzie link?
3) czemu by nie skopiować wpisów z tego Wiki
3.1) przetłumaczyć na polski przynajmniej kilka najważniejszych funkcji
3.2) funkcja po funkcji i kiedyś bedziemy mieć wszystko
nasze forum w niedługim okresie czasu wyda funcwiki PL