Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-05-21, 14:14


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193



Wst?p
Witam serdecznie w pierwszym epizodzie poradnika z serii LUA Coding (PL: Kodzimy w LUA).
Jako, ?e na forum i na og?? w internecie znajduje si? bardzo ma?o poradnik?w tego typu,
postanowi?em stworzy? serie poradnik?w, w kt?rym to poznamy: 1) J?zyk skryptowy LUA, podstawy 2) Poslugiwanie sie plikami XML 3) Tworzenie, usuwanie i wywolywanie eventow 4) Oskryptowanie wraz z wykorzystaniem funkcji MTA
5) Tworzenie komend 6) Tworzenie zapytan MySQL 7) Zarzadzanie danym zasobem 8) Estetyczny podzia? zasob?w, jaki najlepszy - i dlaczego.
Seria b?dzie obejmowa?a 8 epizod?w/cz??ci.

Ca?o?? po zako?czeniu serii b?dzie wydana w wersji offline, czyli mo?liwej do pobrania na w?asny komputer - bez potrzeby wchodzenia na forum.
Ponadto, w poradnikach nie b?d? opisywa? co dana funkcja robi, tylko jej dzia?anie.
Szczeg??y mo?na zobaczy? na angielskiej WIKI.

Wprowadzenie
A wi?c zaczynamy! Po pierwsze, wyja?nijmy sobie co to jest LUA i do czego si? to u?ywa.
LUA - to lekki j?zyk skryptowy o wysokiej wydajno?ci, napisany w roku 1993 przez 3 autor?w. J?zyk ten zaimplementowany jest jako ma?a biblioteka do j?zyka C.
Celem implementacji jest prostota, wydajno?? i przeno?no?? kodu.

By m?c pisa? w LUA potrzebujemy:
  • Ch?ci,
  • Logicznego my?lenia,
  • Drobnej wiedzy o j?zykach programowania,
  • Edytora tekstowego, w kt?rym to bedziemy pisac nasz kod.


?rodowisko pracy
W tym dziale, musimy sobie wybra? edytor tekstowy. Jest ich od groma. Jednak najlepszym i polecanym przeze mnie jest Notepad++, oraz Sublime Text 3.
Do tego s? te? edytory: Luaedit i MTA Script Editor - autorstwa 50p.

Nie b?d? pisa? jak gdzie i sk?d pobra? oraz jak to skonfigurowa? - to jest zbyt proste, ?eby to opisywa?.
Wystarczy czyta? ze zrozumieniem, okej - gdy mamy ju? gotowe ?rodowisko pracy. Mo?emy przej?? do nast?pnego dzia?u.

Podstawy LUA
Dzia? ten jest dosy? obszerny, mo?na tutaj pisa? godzinami, dniami, tygodniami i latami...
Nie b?dziemy zagl?da? do bardziej skomplikowanych dziedzin z tego j?zyka - zajmiemy si? tylko tymi potrzebnymi rzeczami.

Zmienne
Co to jest zmienna?
Zmienna to najlepszy przyjaciel ka?dego programisty - chc?cego wydajne upro?ci? sw?j program.
Wyr?zniamy dwa typy zmiennych:
  • lokalne,
  • globalne.

Zmienna lokalna dzia?a jednie w obr?bie jednego pliku, w kt?ry to zosta?a stworzona.
Zmienn? lokaln? wyznaczamy w nast?puj?cy spos?b:
Kod:

local nazwa_zmiennej = string/int/bool/funkcja

Przyk?ad zmiennej lokalnej:
Kod:

local zmienna = 12

Na przyk?adzie ukazali?my zmienn?, ktora przechowuje warto?? liczbow? (int): 12.
Mo?emy jej u?y? w instrukcji warunkowej, doda?, odj??, podzieli?, pomno?y? i tym podobne.

Zmienna globalna dla r??nicy dzia?a w obr?bie ca?ego zasobu - po danej stronie (klienta/serwera) - zale?y to od tego, gdzie zosta?a ona stworzona tzn. po jakiej stronie.
Zmienn? globaln? wyznaczamy w nast?puj?cy spos?b:
Kod:

nazwa_zmiennej = string/int/bool/funkcja

Tak jak w przypadku zmiennej lokalnej zmienna globalna przyjmuje warto?? liczbow? (int): 12.
Rozpozna? je mo?na po braku przedrostka "local".
Ka?dy typ zmiennej definiujemy za pomoc? znaku r?wno?ci (=), a po nim deklarujemy warto?? zmiennej.
Zmienne dziel? si? na cztery rodzaje:
  • string
  • int
  • bool
  • float/double

Zmienna typu string jest ?a?cuchem tekstowym, wyznaczamy j? rozpoczyj?c od cudzys?owia " i ko?cz?c tym samym.
Przyk?ad zmiennej z wykorzystaniem typu string.
Kod:

local zmienna = "tekst"

Przyk?ad zmiennej z typem int:
Kod:

local zmienna = 12

Przyk?ad zmiennej z typem bool. Bool(ean) jest warto?ci? logiczna. Przechowuje jedynie dwie warto?ci - true lub false (prawda lub fa?sz).
Kod:

local zmienna = true

Tablice w LUA
Tablice w LUA, s? magazynem zmiennych. Mo?na w nich przechowywa? ma?e ilo?ci danych lub du?e.
Tablice r?wnie? dziel? si? na: 1) lokalne, 2) globalne. Wed?ug tej samej regu?y co zwyk?e zmienne.
Mo?na powiedzie?, ?e deklaracja tablicy jest stworzona na zasadzie deklaracji typu string, tylko, ?e w tym przypadku zaczynamy deklaracje znakiem { i ko?czymy }.

Przyk?adowa tablica lokalna:

Kod:

local tablica = {1, 2, 3, 4}

Tego typu tablica zawiera ci?g danych pod jedn? zmienna - ma to cz?ste zastosowanie w p?tlach for i nie tylko.
Jak widzicie deklarujemy tak samo jak zmienne, z t? r??nic?, ?e stosujemy klamry.

Inny rodzaj tablicy, potocznie zwan? tablic? 2d:
Kod:

local tablica = {
[1] = {1, 2},
[2] = {3, 4},
[3] = {11, 22}
}

Tego typu tablica wygl?da nast?puj?co, numery w nawiasach kwadratowych s? numeracji pod zmienn? tzn. np. local tablica[1].
W ten spos?b zmienna lokalna o nazwie "tablica" przyjmuje warto?? spod cyfry jeden, czyli od 1 do 2. Mo?na r?wnie? wpisa? cyfr? i mie? pojedyncz? warto??.

W cz??ci o p?tlach poka?? Wam praktycznie zastosowanie takich tablic, a w chwili obecnej lecimy do instrukcji warunkowych.

Instrukcje warunkowe
Instrukcje warunkowe s? jedn? z najwa?niejszych cz??ci programowania - to one nadaj? naszym programom r?ce i nogi.
W LUA wyr?zniamy nast?puj?ce instrukcje warunkowe:
  • if - then - end
  • elseif - then - end
  • else - end

IF - Instrukcja warunkowa "je?li" lub "je?eli" - je?li co? jest r?wne czemu? / je?li co? jest prawd? lub fa?szem.
ELSEIF - Przed?u?enie instrukcji warunkowej "IF", s?u?y do weryfikacji/zaprzeczenia innej warto?ci pod tym samym warunkiem.
Przyk?adowo by nie pisa? 30 razy IF.
ELSE - Zaprzeczenie g??wnego warunku instrukcji warunkowej "IF".
Przyklady instrukcji warunkowych:

IF
Kod:

if 12==12 then
print("hajs sie zgadza!")
end

IF + ELSEIF

Kod:

if 12==12 then
print("hajs sie zgadza!")
elseif 12<12 then
print("hajs sie nie zgadza!")
end

IF + ELSE

Kod:

if 12==12 then
print("hajs sie zgadza!")
else
print("hajs sie nie zgadza!")
end

Skoro mowa o instrukcjach. Warto te? sobie pozna?/przypomnie? operatory stosowane w instrukcjach warunkowych.
Kod:

= - s?u?y do deklarowania zmiennej.
== - co? r?wne czemu?
> - co? wi?ksze od czego?
< - co? mniejsze od czego?
>= - co? wi?ksze lub r?wne od czego?
<= - co? mniejsze lub r?wne od czego?

P?tle
P?tle s?u?? do zap?tlenia, zautomatyzowania konkretnego bloku kodu.
W LUA wyr??niamy nast?puj?ce p?tle:
  • for - do - end
  • while - do - end
  • while true - do - end
  • repeat - until

Przyk?ad p?tli FOR:
Kod:

local tablica = {1, 2, 3, 4, 5, 6}
for idx, wartosc in ipairs(tablica) do
print("indeks " .. idx .. " przybiera wartosc " .. wartosc)
end

W powy?szym przyk?adzie p?tla FOR zako?czy si?, gdy warto?? tablicy zako?czy si? na liczbie 6.

P?tle ponadto, posiadaj? tak?e tzw. funkcje. S?u?? do pomijania lub zatrzymywania p?tli.
S? nimi:
  • break - zatrzymuje aktualnie wykonywana petle
  • continue - pomija aktualna iteracje

Komentarze
Komentarze to drugi po tabach pomocnik programisty. S?u?? do opisania bloku kodu, b?d? jego zakomentowania (ta druga opcja przydaje si?, gdy mamy jaki? b??d w kodzie).
Wyr??niamy dwa rodzaje komentarzy:
  • jednowierszowy - potoczna nazwa - pojedynczy,
  • wielowierszowy, potocznie mozna powiedzie?, ?e blokowy.

Przyk?ad komentarza jednowierszowego - rozpoczynamy komentowanie od dw?ch my?lnik?w tj. "--", po czym wpisujemy tekst.
Kod:

-- nasz pierwszy komentarz!!!

Za? komentarze wieloliniowe rozpoczynamy od "--[[" a ko?czymy "]]--"
Kod:

--[[
To moj komentarz blokowy,
hehehe.
]]--

W nast?pnej cz??ci poradnika, zajmiemy si? przygotowaniem naszego pierwszego zasobu, uruchomienia i skonfigurowania serwera.

Zakaz rozpowszechniania na inne fora lub zmiany jego autora.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
SeveTo
Wysłany: 2014-05-21, 17:01


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Tytu? nijak ma si? do tre?ci ale :piwo: za ch?ci.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-21, 17:15


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

"Piorun" napisał/a:

Tytu? nijak ma si? do tre?ci ale :piwo: za ch?ci.

Spokojnie, to na razie pierwsza cz???, ma ona za zadanie przybli?y? i zapozna? si? z obyczajami jakie panuj? w LUA.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-21, 18:15


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Tey, bardzo ?adnie ale daj zamiast [code] to daj w [lua] b?dzie ?atwiej to zrozumie? :D

Postaw piwo autorowi tego posta
 

 
Tagi: [lua :: coding :: e01] :: tworzenie :: skrypt :: opartego :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Poradniki do LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku