Witajcie drodzy u?ytkownicy!
Dzisiaj zaczynam w?asn? seri? poradnik?w dla m?odych zapale?c?w, kt?rzy chcieliby zab?ysn?? w?r?d koleg?w znajomo?ci? j?zyka Lua. Postaram si?, aby poradniki trafia?y na forum regularnie, aczkolwiek nic nie obiecuje...
Na pocz?tku wyja?nijmy sobie, co to w og?le jest LUA. Definicja wikipedii brzmi:
Lua - j?zyk skryptowy pierwotnie zaprojektowany dla rozszerzenia funkcjonalno?ci r??nych aplikacji, jednak cz?sto u?ywany jako samodzielny j?zyk. Lua wi??e w sobie prost? sk?adni? procedury (podobn? do Pascala) z konstrukcjami opisu danych opartymi na tablicach asocjacyjnych i rozszerzalnej semantyce. J?zyk ten zaimplementowany jest jako ma?a biblioteka j?zyka C, napisana wed?ug standardu ANSI C. Celami implementacji s?: prostota, wydajno?? i przeno?no?? kodu.
Kr?cej m?wi?c jeden z wielu j?zyk?w skryptowych stosowanych do poszerzania mo?liwo?ci aplikacji (w naszym przypadku Multi Thef Auto).
Dobrze... Teraz ?rodowisko, czyli miejsce pracy. Do wyboru mamy kilka program?w:
- Mta Script Editor - specjalny program do pisania skrypt?w pod MTA. Zawiera on baz? funkcji, event?w, a tak?e kilka innych pomocnych narz?dzi. Dost?pny tutaj.
- LuaEdit (Link)
- Notepad++ z pluginem lua
Skoro ju? mamy gdzie pisa? bierzemy si? do pracy.
Zmienne - dla wielu bardzo przyt?aczaj?ca rzecz. Co to w og?le jest zmienna?
Zmienna jak to kto? powiedzia?, to taka podpisana szufladka, kt?ra przechowuje dan? warto??. Najpro?ciej m?wi?c wyraz 'imie' ma warto?? "Adrian". Czyli je?eli rozka?emy serwerowi wy?wietli? zmienn? 'imie' poka?? on nam na konsoli czy chacie "Adrian".
Po prostu zmienne s?u?? do przechowywania pewnych warto?ci. Po co nazywamy zmienne? Na przyk?ad: Mamy liczb? 20 ... i co z tego skoro nie wiemy czym ona jest, dlatego tworzymy zmienn? 'wiek' r?wn? 20.
Rozr??niamy kilka typ?w zmiennych, przedstawi? tylko te podstawowe:
1. Integer - liczba ca?kowita np. -15, 4, 6, 10430
2. Float - liczba zmiennoprzecinkowa np. 25.0923, -4.005
3. String - ci?g znak?w np. "Wiek", "Ola z przedszkola"
4. Bool - prawda/fa?sz. Zawiera tylko dwie warto?ci true/false.
LUA jest o tyle proste, ?e samo identyfikuje typ zmiennej i nie musimy go podawa?. Wyr??niamy dwa rodzaje zmiennych - globalne i lokalne, a tworzymy je nast?puj?co:
local nazwaZmiennej = warto?? - zmienna lokalna
nazwaZmiennejGlobalnej = 5 - zmienna globalna
Przyk?ad:
Podpis
Pomogłem Ci,
[you]
? Daj odetchnąć i postaw piwko
Ostatnio zmieniony przez karolek110199 2013-09-02, 15:45, w całości zmieniany 2 razy
Brzysiek, zapomnij . Pr?dzej nauczysz si? angielskiego perfekt ni? kto? Ci przet?umaczy 300 stron z wiki MTA (lub wi?cej).
Troch? si? przyczepi? do samego poradnika:
1.
Tak, tak, sama matematyka, ale po co mi matematyka w pisaniu skrypt?w? Na przyk?ad do tego, aby sprawdzi? czy gracz poda? odpowiednie has?o (==), ?eby prowadzi? statystyki gracza (+, -), ?eby sprawdzi? czy has?o nie jest za d?ugie lub za kr?tkie (#haslo > 11).
Nie matematyka lecz logika. Matematyka nie ma nic wsp?lnego z typami, warunkami, operatorami logicznymi. To czego was ucz? w podstaw?wce, gimnazjum i liceum (szczeg?lnie to ostatnie) jest b??dne (s?owa mojego Pana Profesora na jednym z wyk?ad?w).
2. Nie opisa?e? czym jest modulo. Modulo to reszta z dzielenia (przydaje si? przy sprawdzaniu np. czy liczba jest parzysta lub zamianie liczby z systemu dziesi?tnego na dowolny).
3. Nie napisa?e? czym jest sta?a, a wspomnia?e? o zmiennej. Zreszt? w sumie co tu du?o m?wi?. Jak otworzycie sobie czyj? kod to zazwyczaj sta?e pisane s? du?ymi literami np. w pawn MAX_PLAYERS. W przypadku Lua jest to raczej nie istotne lecz np. w C# ju? potrafi? sta?e namiesza?.
4. Dodaj do operator?w logicznych (o ile to opartor logiczny, bo szczerze powiedziawszy do dzisiaj si? zastanawiam) oparator "in". Mo?na go znale?? np. przy parsowaniu tabeli. Przyk?ad:
for _,_ in ipairs(table) do
5. "#" zwraca r?wnie? wielko?? tabeli.
Pozdrawiam i powodzenia przy nast?pnych poradnikach .
No poradnik przydatny. Bardzo dobrze rozpisane, poleca? bym ci go edytowa? pod wzgl?dem estetyki. Troch? kolorowych czcionek, ?eby ?atwo zapami?ta?, bo tak to bardzo ?adnie jest wszystko rozpisane.
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