Aprašymas būtų toks:
Code: Select all
funkcija() {server_cmd("echo labas")}
Dabar žvilgtelėkim į kiek sudėtingesnį dalyką. Funkcijos ypatingos ne tik tuo, kad įvykdo nurodytą algoritmą, bet ir gali gauti ir perduoti duomenis:
Code: Select all
funkcija(id, kiekis) {set_user_health(id, kiekis)return 1}
funkcija(id, kiekis) - funkcijos pavadinimas. Jis gali būti bet koks (tik iš skaičių ir raidžių ir kai kurių simbolių (paprastai _)), svarbu, kad perskaičius jo pavadinimą būtų suprantama, kas toje funkcijoje bus darome, nes taip lengviau programuoti ir skaityti kodą.
funkcija(id, kiekis) - čia aprašome funkcijos gaunamus duomenis. Šioje vietoje yra sukuriami įprasti kintamieji į kuriuos yra irašomi duomenys kai funkcija iškviečiama. Šioje vietoje taip pat galima sukurti masyvą, Float kintamąjį ar nustatyti reikšmę, pvz:
Code: Select all
funkcija(Float:koordinate[3], tekstas[], kintamasis=1)
Na kadangi jau išsiaiškinome, kaip gauname duomenis į funckiją, sužinokime kaip juos išsiųsti iš funkcijos.
Tam naudojame žodelį return. Jei iškviečiamas return, funkcija iš karto yra stabdoma skaityti ir gražinama reikšmė, kuri yra įrašyti prie return. Visa kita kas yra po iškviesto return bus ignoruota.
Code: Select all
public plugin_init()new a, ba=10b=test(a)} test(sk) {return sk*2}
Į a kintamąjį įrašome reikšmę 10 ir perduodame į funkciją test. Funkcijoje paimamas skaičius 10 ir padauginus iš 2 gražinamas atgal, tad į b kintamąjį bus įrašyta reikšmė 20. Pati funkcija veikia kaip kintamasis kai naudojame return.
Dar yra naudojami žodžiai prieš funkcijas:
jokio žodžio - sukuriama paprasta funkcija vidiniame programos naudojime. Galima iškviesti tik per plugine esančias funkcijas.
public - sukuriama globali funkcija. Ja galima iškviesti ir iš kitų pluginų. Būtina naudoti, kai į tas funkcijas kreipiamasi iš modulių.
stock - tai reiškia, kad tai yra kažkoks skriptas, algoritmas, kuris tiesiog atlieka kažkokią. Skirtumas tik tas, kad jei funkcija su priežodžiu stock nė karto nėra iškviečiama plugine, tai klaida nebus rodoma. Su bet kuria kita funkcija kompiliatorius rodys klaidą.
Šis gidas priklauso Amxmodx.lt forumui.
Bet koks šios informacijos platinimas be autoriaus sutikimo yra griežtai draudžiamas.