Skocz do zawartości

Od zera do LUA Mastera - Podstawy


freezzz
 Udostępnij

Rekomendowane odpowiedzi

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:

local wiek = 20
local imie="Adrian"
a = 1
b = 5

Teraz, jeżeli jeszcze nie rozumiecie o co w tym chodzi pokaże Wam przykład z zastosowaniem funkcji print, która wyświetla nam coś na konsoli:

print(imie, wiek, a, b) -- wyświetli na konsoli "Adrian 20 1 5"

 

Operatory logiczne:
- not - czyli zaprzeczenie np.: not true = false
- or - tłumacząc na polski "lub" np.: 0 or 1
- and - w tłumaczeniu "i" np.: 0 and 1

Operatory arytmetyczne:
- + (dodawanie)
- - (odejmowanie)
- * (mnożenie)
- / (dzielenie)
- ^ (potęgowanie)
- % (modulo)

Operatory relacji:
- == (równe)
- ~= ( nie równe)
- < (mniejsze od)
- > (większe od)
- <= (mniejsze i równe)
- >= (większe i równe)
Te operatory zawsze zwracają false lub true. Przykład: 0 == 7 zwróci false (fałsz).

Operator length ( "#" ). Typowy operator długości ciągu znaków. Przykład:

local imie = "Adrian"
#imie == 6

Tak, tak, sama logika, ale po co mi logika 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).
Więcej informacji znajdziecie tutaj Dokumentacja Lua 5.1 - lua.org.pl

A w kolejnym poradniku warunek if oraz pętle...

Autor: szymex
Zakaz kopiowania i rozpowszechniania bez mojej zgody!

Odnośnik do komentarza
Udostępnij na innych stronach

Problem wciąż nierozwiązany? Dodaj swoją odpowiedź

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×