Vertimas aaarnas http://www.amxmodx.lt
Kometaras
Šis gidas paprastai ir aiškiai paaiškins visus dalykus, kurių prireiks darbo pradžiai su pawn amxmodx modifikacijoje.
Bus kalbama apie šias dalis:
- Komentarai - padeda skaityti Jūsų parašytą kodą.
- Kintamieji - vieta, kur saugomi laikini duomenys.
- Masyvai ir Eilutės - kaip išsaugoti daug duomenų, žodžių ir frazių.
- Funkcijos - sukurtų kodo blokų (algoritmų) naudojimas.
- Vietinės funkcijos native - naudojamasis tuom, kas jau sukurta.
- Vietiniai pranešimai forwards - gaunama informacija, kai nors nors nutinka.
- Struktūros - kaip kurti pluginą.
- Patarimai pradedant programuoti - kiti Jums naudingi patarimai.
- Kita pagalba - sąrašas gidų, kurie gali būti naudingi (anglų k).
Visų pirmiausia, pluginą asocijuosime su namu. Namas turi dėžes (kintamuosius "variables"), mašinas (funkcijas "functions"), įėjimo ir išėjimo vietas (ivykiai "forwards", grąžinimai "returns") ir duris į kitus namus ("natives").

Komentarai
Vienas iš pirmųjų dalykų, kuriuos reikia žinoti apie programavimą, tai komentarai. Jie skirti rašyti pašalinėms žinutėms ar parašymams reikiamoje vietoje. Jie visiškai neturi jokios įtakos programai (pluginui) ir kompiliatorius juos tiesiog ignoruos. Jie padeda nepasiklysti funkcijų gausoje, kartais ir išvengti klaidų.
Naudojimas yra toks:
Code: Select all
// Tralialia. Šitas daro aną. // Nuo to laiko, kai kažką padariau, šita funkcija nebeveikia...
Kadangi komentarus galima naudoti bet kur kode, jie padeda žmogui skaitančiam Jūsų programą suprasti ką, kuri vieta daro, o ir patys galite pasižymėti kodėl kažką pakeitėte, ar kaip ką nors naudojote, kad kitą dieną vėl prisėdu būtų paprasčiau sugrįžti į senas vėžias.
Skirtingos kalbos naudoja skirtingus žymėjimus. Pawn kalboje yra du žymėjimai:
- Vienos eilutės
- Daugiaeilutinis
Code: Select all
//Geras komantaras // Taip pat puikus komentaras
Code: Select all
/* Tai vienoje eilutėje */ /*Arba gali būti kelioseeilutėse */
Dabar pereisim prie vienos iš programavimo detalės. Tai kintamieji. Taip, juos turėjote mokytis per matematiką. Įvairūs skaičiavimai, kai x ar n atitinka įvairius skaičius.
Programavime kintamieji laiko įvairias reikšmes, kurios jiems priskiriamos. Įsivaizduokime, kad kintamasis yra dėžė.

Kintamieji programoje kuriami šitaip:
Code: Select all
new kintamojo_pavadinimas

Kintamojo pavadinime negalima naudoti kai kurių simbolių, todėl įprasta, kad kintamieji aprašomi naudojant tik raides, skaičius ir simbolį _ (pabraukimas).
Kintamąjį pavadinti galima kaip norite, kad ir joniukas ar petriukas. Tiesiog numatyta, kad jų pavadinimai turi atitikti tai kas juose laikoma.

- Kintamojo pavadinime vietoje tarpų naudojamas _ simbolis
- Pavadinimas negali prasidėti skaičiumi
Į dėžutę galime dėti skaičius. Taip kintamajam priskiriame reikšmes.
Vos tik sukuriame naują kintamąjį, jo reikšmė būna skaičius 0.

Tada mes galime pakeisti kintamojo reikšmę:
Code: Select all
kintamojo_pavadinimas = 3

Pastaba:
- Simbolis = naudojamas priskirti kažkokią reikšmę kintamajam.
- 2 simboliai == naudojami kintamųjų palyginimui (sąlygose).
Code: Select all
new kintamasis
Tada padarome:
Code: Select all
kintamasis = 3
Kintamasis vienu metu gali turėti tik vieną reikšmę (skaičių).
Vertėtų žinoti, kad nebūtina kurti kintamojo ir tik tada jam priskirti reikšmę:
Code: Select all
new kintamasiskintamasis = 3
Code: Select all
new kintamasis = 3
- ..., -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, ...
Kad sukurti bool kintamąjį rašome taip:
Code: Select all
new bool:kintamasis

Bool, skirtingai nei skaičių kintamasis, gali turėti tiek 2 reikšmės - tiesą arba netiesą ("true" arba "false")


Negalima prie bool kintamojo priskirti skaičių. Manykite, kad skaičiai į šią dėžę netelpa.
Sveikųjų skaičių kintamiesiems reikšmės priskiriamos taip:
Code: Select all
kintamasis = 3
Code: Select all
kintamasis = true
Code: Select all
kintamasis = false
- Naujai sukurti bool kintamieji įgyja reikšmę false (kaip sveikųjų skaičių įgyja 0)
- Ar šviesos įjungtos (taip/ne)
- Ar dabar naktis
- Aš žaidėjas stovi
- Ar žaidėjas laiko peilį
- t.t....
Kad sukurti Float kintamąjį, darome šitaip:
Code: Select all
new Float:kintamojo_pavadinimas

Float kintamieji gali būti bet kokios racionalios reikšmės. Juos atpažinti galima pagal tai, kad jie visada turi reikšmę po kablelio (paprasta kintamasis negali turėti reikšmių po kablelio, tik sveikąsias).
Keletas galimų šio kintamojo pavyzdžių:
- ..., -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, ...
- ..., -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, ...
- 3.567, 2859.92, 28.3
- Atminkite, kad float nulinė reikšmė taip pat turi būti su kableliu 0.0

Gerai, tad štai bendras kintamųjų aptarimas:
- Kintamųjų pavadinimai - Gali būti beveik bet kokie, bet geriausia vadinti juos pagal tai, kas juose bus laikoma (kokia informacija)
- Pavadinime turėtų būti tik raidės, skaičiai ir pabraukimo simbolis (_). Lietuviškų raidžių rašyti negalima!
- Kintamieji laiko savyje skaičius. Jie ten būdami nieko nedaro, tiesiog nuskaitomi tada, kada jų prireikia.
- Yra trys pagrindiniai kintamųjų tipai: Integers, Bools, Floats (sveikieji skaičiai, Būlio operacijos(tiesa arba netiesa), realieji skaičiai)
- Integer (sveikasis skaičius) yra visi skaičiai. Numatytoji reikšmė - 0 (kai sukuriamas kintamasis). Gali turėti ir neigiamas skaičių reikšmes.
- Bool (tiesa/netiesa) - tiesa arba netiesa. Šis kintamasis gali turėti tik tokią reikšmę (jokių skaičių laikyti negali). Numatytoji reikšmė - false.
- Float (realusis) yra dešimtainiai skaičiai. Tai reiškia, kad turi skaičius po kablelio. Numatytoji reikšmė - 0.0.
Masyvai yra kintamieji galintys laikyti daugiau nei vieną reikšmę. Galime juos įsivaizduoti kaip eilę dėžučių:

Kad sukurti masyvą, jį parašome taip:
Code: Select all
new array_name[4]

- Visos dėžutės dalinasi tuo pačiu kintamojo pavadinimu (array_name).
- Skaičius laužtiniuose skliaustuose nurodo kiek dėžučių kursime.
Code: Select all
new masyvo_pavadinimas[10]
Code: Select all
new masyvo_pavadinimas[dėžutės_nr]
- Dėžutės numeriai skaičiuojami nuo nulio, tad masyvo_pavadinimas[0] - pirma dėžutė, masyvo_pavadinimas[1] - antra ir t.t.
- Negalima naudoti neigiamų ar jokių iracionalių reikšmių. T.y. masyvo_pavadinimas[-1], masyvo_pavadinimas[20.5] (Neteisinga)
- Jei sukuriame tokį masyvą - new masyvo_pavadinimas[3], tai reiškia, kad jis neturi dėžutės su numeriu 3, tad toks panaudojimas: masyvo_pavadinimas[3] yra neteisingas. Dėžutės numeriai būtų: 0, 1, 2.
- Paskutinės dėžutės numeris yra dėžučių skaičius -1
- array[4] turi 4 dėžutes, 4-1 == 3, paskutinės dėžutės numeris - 3
- array[11] turi 11 dėžutes, 11-1 == 10, paskutinės dėžutės numeris - 10
- array[32] turi 32 dėžutes, 32-1 == 31, paskutinės dėžutės numeris - 31
- Turite naudoti laužtinius skliaustus su natūraliaisiais skaičiais (įskaitant 0)
Code: Select all
new masyvas[5] = { 10, //pirmos dėžutės reiškmė 3, //antroje dėžutėje bus skaičius 3 600, //trečioje skaičius 600 -5, //ketvirtoje -5 20 //penkta ir paskutinė dėžutė. Atminkite, kad po ja nereikia kablelio.}
- Žinome, kad serveryje telpa tik 32 žaidėjai.
- Sakykime, kad norime žinoti kiek kiekvienas žaidėjas nužudė kitų žaidėjų.
- Tada mums riektų sukurti masyvą new nuzudymu_masyvas[32] ir kiekvienam žaidėjui skaičiuoti nužudymus nuzudymu_masyvas[id-1]
- Atminkite, kad naudojame -1, nes pirmas žaidėjas turi naudoti pirmą dėžutę, antras antrą ir tt. Dėžutės numeriai prasideda skaičiumi 0, o žaidėjų id nuo 1 iki 32.
- Paprastai žmonės nemėgsta visur atiminėti -1, dėl to sukuriame masyva su 33 elementais, tad mums pasiekiami yra nuo 0 iki 32. 0 niekada nenaudosime, o naudosime nuo 1 iki 32, todėl nebus būtina atiminėti -1.
- Tad kuriame new nuzudymu_masyvas[33] ir tieisiog naudojame nuzudymu_masyvas[id].
Gidas nebaigtas