Napisa?em skrypty, jak go mog? zabezpieczy??? Kiedy u?yje strony: https://luac.mtasa.com/ i po zabezpieczniu skryptu przez t? strone, on przestaje dzia?a?, kto? wie oco chodzi?
[center][color=orange][size=14][b]Witam![/b][/size][/color]
Pewnie jak wiecie od jakiego? czasu w wolnych chwilach pisz? poradniki od podstaw po ci??sze tematy. Zastanawia?em si? nad now? "seri?" poradnik?w, generalnie "Matematyka w lua" oraz "Fizyka w lua" - Poradniki te polega? b?d? na rzeczach typowo matematycznych czy te? fizycznych a ma na celu to u?atwi? zrozumienie funkcji matematycznych czy te? fizycznych z cz??ci czwartej poradnik?w "Lua kurs lekcja". Aby sprawdzi? czy to ma jakikolwiek sens robienia poruszymy dzi? jeden temat, matematyka a konkretnie skalowanie element?w gui czy te? dxDraw (nie jest to traktowane jako element, aczkolwiek pozwol? sobie to tak nazwa?.) Je?li nie zwr?ci to zbytnio uwagi no to nast?pnych cz??ci nie b?dzie i tyle. Dajcie zna? czy ma to sens i czy tworzy? to dalej.
Nie przed?u?aj?c, jak wiadomo mamy do dyspozycji bardzo dobry "guieditor", za pomoc? kt?rego mo?emy wiele pro?ciej tworzy? nasze gui ni? mieliby?my robi? to r?cznie. ?w guieditor ma opcj? skalowania "relative" czyli relatywnego, aby by?o to pod ka?d? rozdzielczo??. Jak wiadomo w przypadku element?w gui dzia?a to prawie, ?e doskonale, aczkolwiek w przypadku dxDraw nie do ko?ca si? to sprawdza. Czasem wyskalowane guieditorem dxDraw wygl?da r??nie na r??nych rozdzielczo?ciach, cho? w praktyce wz?r liczenia jest prawie, ?e identyczny.
[b][size=16][center][color=orange]Witam![/color][/center][/size][/b]
[center]W cz??ci sz?stej moich poradnik?w, g??wnym tematem b?d? tabele lub jak kto woli tablice. Poznamy ich zastosowanie,rodzaje etc.[/center]
[center][b][color=yellow][size=13]wielowymiarowe[/size][/color][/b][/center][center]
Ja osobi?cie b?d? pos?ugiwa? si? s?owem "tabela", aczkolwiek mo?na tez "tablica".
Tabela wielowymiarowa posiada t? ilo?? wymiar?w. Mamy jednowymiarowe,dwuwymiarowe,tr?jwymiarowe itd. Dlatego og?ln? nazw? jest "tablica wielowymiarowa". Ta 'ilo??' wymiar?w to ilo?? indeks?w/warto?ci w tej tabeli.
[lua]
local tbl = {}
tbl[1] = 10
tbl[2] = 20
print(tbl[1],tbl[2])[/lua][/center][center] taki kod zwr?ci nam [code]
10
20[/code], poniewa? otrzymujemy warto?? indeksu pierwszego i drugiego.
[lua]
local tbl = {}
tbl[1] = {1,2,3,4,5}
tbl[8] = {5,4,3,2,1}
print(tbl[1],tbl[8])
[/lua][/center][center] W takim przypadku nasz kod jest ju? b??dny, co prawda nie zwr?ci on b??du tylko [code]table: numer[/code] W przypadku mojego testu: [code]table: 0x8127c0[/code] Numer ten za ka?dym razem jest inny. Aczkolwiek nie ma on dla nas znaczenia. Aby poprawnie wy?wietli? warto?? 2 z indeksu 1 z tabeli, musimy poda? numer tego indeksu z kt?rego chcemy pobra? warto??.
[lua]
local tbl = {}
tbl[1] = {1,2,3,4,5}
tbl[8] = {5,4,3,2,1}
print(tbl[1][2])
[/lua] [/center][center] taki kod poprawnie zwr?ci nam [code]2[/code] Tych indeks?w/tabel/kom?rek mo?emy...
[b][size=16][center][color=orange]Witam![/color][/center][/size][/b]
[center]W cz??ci pi?tej ju? poradnik?w postaram si? jak najlepiej opisa? dzia?anie wszystkich p?tli w lua.[/center]
[center][b][color=yellow][size=13]for[/size][/color][/b]
P?tla for jest najcz??ciej stosowan? przez nas w lua p?tl?. Za pomoc? p?tli mo?emy pobra? co? z tabeli, p?tla zwraca nam zazwyczaj klucz oraz warto?? z tej tabeli.
Przyk?adowo
[lua]local tbl = {
[1] = 10,
[2] = 20,
[3] = 30,
[4] = 40,
}
for key,value in ipairs(tbl) do
print(key.. ": "..value)
end
[/lua][/center][center] taki kod zwr?ci nam wynik w postaci [code]
1: 10
2: 20
3: 30
4: 40
[/code]
S?owa key oraz value to kolejno klucz oraz warto??, jest to zwyk?a zmienna wi?c zamiast key,value mo?emy da? sobie cyferka,wynik jak chcemy. Musimy te? zwr?ci? uwag? na s?owo po operatorze przynale?no?ci in, czyli w tym przypadku "ipairs", jest to wa?ne, poniewa? ipairs iteruje tylko po kluczach, kt?re s? kolejnymi liczbami naturalnymi, klucze w tym przypadku to te cyfry w nawiasach kwadratowych, wi?cej o cz??ci z tabelami/tablicami. W przypadku takiej tabeli:
[lua]
local tbl = {
['cukierki'] = 10,
['chipsy'] = 15,
['czekolada'] = 20,
}
[/lua][/center][center] nasza p?tla przerwie dzia?anie, poniewa? jak wida? klucze nie s? ju? liczbami naturalnymi tylko s?owami/ci?gami znak?w (stringami), w takim wypadku trzeba u?y? nie ipairs a [b]pairs[/b], gdy? pairs iteruje po wszystkim czyli i po liczbach ...
[b][size=16][center][color=orange]Witam![/color][/center][/size][/b]
[center]W czwartej cz??ci poruszymy funkcje matematyczne/fizyczne(trygonometryczne,cyklometryczne,hiperboliczne itp), z racji tego i? jest ich sporo to b?d? one jedynym tematem w tej cz??ci.[/center]
[center][b][color=yellow][size=13]math.abs[/size][/color][/b]
Funkcja math.abs zwr?ci nam warto?? bezwzgl?dn? podanej liczby. Przyk?adowo
[lua]print(math.abs(-5))[/lua][/center][center] taki kod zwr?ci nam warto?? bezwzgl?dn? liczby -5 czyli [code]5[/code][/center][center]. Czym jest warto?? bezwzgl?dna mo?na poczyta? tutaj
[/center]
[center][b][color=yellow][size=13]math.asin[/size][/color][/b]
Funkcja math.asin zwr?ci nam w radianach arcus sinus podanej liczby. Przyk?adowo
[lua]print(math.asin(0.5))[/lua][/center][center] taki kod zwr?ci nam [code]0.5235987755982989[/code][/center][center] arcus sinus jest funkcj? odwrotn?/przeciwn? do sinus'a (math.sin) czyli przyjmuje warto?ci od -pi/2 do pi/2, kr?tko m?wi?c od -1 do 1 wy?sze/mniejsze warto?ci b?d? okre?lane jako "NaN" lub "nan" a mta zwr?ci b??d. Czym jest arcus sinus mo?na poczyta? tutaj [/center]
[center][b][color=yellow][size=13]math.sin[/size][/color][/b]
Funkcja math.sin zwr?ci nam sinus podanej liczby. Przyk?adowo
[lua]print(math.sin(1))[/lua][/center][center] taki kod zwr?ci nam [code]0.8414709848079[/code][/center][center] Czym jest sinus mo?na poczyta? tutaj [/center]
Siemka, a wi?c tak jak w temacie, jak zacz?? pisa? w LUA ? Wiem ?e Piorun napisa? poradnik, ale to bardziej taki emocjonalny poradnik z kt?rego nie dowiedzia?em si? jak napisa? pierwszy skrypt. Chcia?bym si? dowiedzie? wszystkiego od pocz?tku, ?eby kto? mi pokaza? jak napisa? chodziasz komend? lub cokolwiek..
Ostatnio postanowi?em wr?ci? na jaki? czas do Lua i pierwsze o czym pomy?la?em to to, by stworzy? dla siebie narz?dzie, kt?re w pewnym stopniu u?atwi w szybki spos?b (i czysty od strony kodu) rozszerzanie i wytwarzanie oprogramowania. Z racji tego i? na bie??co jestem aktualnie z frameworkami webowymi postanowi?em cz??? mechanizm?w, kt?re do tej pory pozna?em przenie?? na karty Lua. I tak te? powsta?a moja pierwsza klasa zwana Collection (kolekcja). S?u?y ona do zarz?dzania tabelami w prosty spos?b. Przez zarz?dzanie mam na my?li opr?cz odczytywania kolejnych element?w r?wnie? zarz?dzanie nimi. Po wi?cej zapraszam na moje repozytorium na githubie. Je?eli macie pomys? jak mo?na by by?o rozszerzy? funkcjonalno?? tej klasy to ?mia?o zapraszam do forkowania i otwierania pull request?w.
[center]W trzeciej cz??ci zajmiemy si? rodzajami zmiennych,komentarzami oraz wszystkimi operatorami tj. arytmetyczne,matematyczne,relacji oraz logiczne. Poruszymy te? kwesti? instrukcji warunkowych dla przypomnienia.[/center]
[b][color=blue]•[/color][/b] [size=12][b][color=pink]Logiczne:[/size][/color][/b]
[center][size=13]Operator?w logicznych mamy trzy i s? to and,or,not.[/center][/size]
[center][color=yellow][size=13][b]AND[/b][/size][/color][/center]
[center][size=13]Operator logiczny "and" co z angielskiego oznacza "oraz"/"i" czyli je?li spe?ni? si? dwa warunki wtedy nasz kod przejdzie dalej. Np je?li po wpisaniu komendy 'zniszcz' gracz siedzi w poje?dzie i id tego pojazdu to 611 (nie wiem co to ) to wtedy nasz pojazd zniszczy to zamiast robi? zb?dnie dwa warunki mo?emy u?y? operatora.
Zamiast [/size]
[lua]addCommandHandler("zniszcz",function(plr,cmd)
if getPedOccupiedVehicle(plr) then
if getElementModel(getPedOccupiedVehicle(plr)) == 611 then
destroyElement(getPedOccupiedVehicle(plr))
end
end
end
)[/lua][/center][center][size=13] tak, to robimy tak:
[lua]addCommandHandler("zniszcz",function(plr,cmd)
if getPedOccupiedVehicle(plr) and getElementModel(getPedOccupiedVehicle(plr)) == 611 then
destroyElement(getPedOccupiedVehicle(plr))
end
end
...
Cze??.
mam dosy? du?e do?wiadczenie w lua MTA, ale przez jaki? czas mia?em przerw?. Postanowi?em wr?ci? i zrobi? co? wi?cej. Wpad?em na pomys? ?eby robi? streamy na YT jak pisz? skrypty kt?re zaproponujecie, ale nie jakie? podstawowe skrypty, a bardziej rozbudowane. Podczas stream?w mo?na by zadawa? pytania na temat skrypt?w, oraz m?g?bym pokaza? przyk?adowo jak zabezpieczy? zasoby przed kradzie?? plik?w clienta na inne serwery. Tematy i pomys?y na skrypty zawsze b?dzie mo?na wymy?li?.
I pytanie moje jest takie, czy byliby ch?tni by takie co? ogl?da??
Witam, dawno nic nie pisa?em tutaj w poradnikach to nadszed? czas na drug? cz??? z serii 'LUA'. W tym poradniku poruszymy takie rzeczy jak: Timery,instrukcje warunkowe oraz operatory 'or','and' itd. Nie przed?u?aj?c.
Timer czym to jest? Ot?z s?u?y to do 'nadawania czasu' dla czego?. Np,, ?e co? si? ma wykona? po jakim? czasi. Timer z angielskiego oznacza 'czasownik' czyli podpinamy czasownik pod co?.
[wmta]setTimer[/wmta]
Przyk?adowo tworzymy komend? na pokazanie naszego nicku po czasie.
Czyli zgodnie z poprzednim poradnikiem robimy [lua]function nick(plr)
setTimer(function(plr)
outputChatBox(getPlayerName(plr),255,255,255,true)
end, 1000,1,plr)
end
addComandHandler("nick",nick)[/lua]
Przeanalizujmy sobi? ten kod kolejno, tworzymy funkcj? 'nick' z argumentem plr czyli graczem, kt?ry wpisa? komende. Tworzymy 'czasownik' czyli setTimer(funkcja na kt?r? nadajemy 'czasownik' je?li u?ywamy timer wfunkcji no to u?yjemy tam nowej funkcji czyli function(plr) setTimer(function(plr) nie dodajemy nawiasu drugiego. Musimy przekaza? gracza czyli 'plr' do czasownika bo inaczej nie b?dzie wiedzia? co to jest plr. Nast?pnie pokazujemy graczowi jego nick i zamykamy czasownik [lua]end,1000,1)[/lua] end zamyka nasz czasownik a konkretnie funkcj? z niego. 1000 to ilo?? milisekund po kt?rej ma si? nasz czasownik spe?ni?, '1' to ilo?? wykonania, czyli ile razy nasz czasownik ma si? wykona?. Przyk?adowo je?li ma si? wykonywa? ci?gleco jaki? czas to b?dzie '0'. [lua...
Witam, mam problem ze skryptem.
Skrypt jest zakodowany i bardzo bym chcia? go odkodowa?.
Szuka?em ju? na r??nych forach, stronach i nie mog? w ?aden spos?b odkodowa? tego.
Bardzo prosz?, je?eli kto? potrafi o odkodowanie.
[center][size=24][color=#66ccff][b]LUA QUIZ[/b][/color][/size]
[size=15]Witajcie drodzy u?ytkownicy w trzeciej edycji konkursu LUA quiz. Tak jak w poprzedniej edycji, mamy przygotowane pytania dla pocz?tkuj?cych jak i tych bardziej zaawansowanych programist?w. Standardowo zapraszamy do przeczytania regulaminu konkursu![/size][/center]
[size=17][color=red][b]REGULAMIN KONKURSU:[/b][/color][/size]
[color=#66ccff]•[/color] W konkursie mo?e wzi?? udzia? ka?dy, zarejestrowany u?ytkownik forum (Wyj?tek: Administracja forum, moderatorzy).
[color=#66ccff]•[/color] Pierwsze pytanie pojawi si? [i]17.03.2017[/i], a w kolejnych dniach pojawi? si? kolejno nast?pne pytania.
[color=#66ccff]•[/color] Nie ma przewidzianej godziny na pojawienie si? pytania, dope?nimy stara?, aby pytania pojawia?y si? rano.
[color=#66ccff]•[/color] [u]Ka?da poprawna i pe?na odpowied?[/u] b?dzie punktowana od 1 do 3 punkt?w w zale?no?ci od poziomu trudno?ci pytania.[color=red]*[/color]
[color=#66ccff]•[/color] Podczas braku odpowiedzi na dane pytanie, czas na udzielenie odpowiedzi zostaje przed?u?ony jednorazowo o jeden dzie?.
[color=#66ccff]•[/color] Kategorycznie zabrania si? publikowania odpowiedzi do quizu na aktualnie zadane pytanie. W przypadku naruszenia tej zasady, u?ytkownik zostanie zdyskwalifikowany z konkursu oraz surowo ukarany!
[color=#66ccff]•[/color] Po umieszczeniu odpowiedzi na dane pytanie, nie ma mo?liwo?ci jej poprawy. Przy...
Witam, po temacie mo?na nie wiedzie? o co mi za bardzo chodzi, ale tu pisze o co mi dok?adnie chodzi.
Chodzi o to, ?e umie?ci?bym plik .exe (kt?ry otwiera google i od razu strone serwera mta) w jakims skrypcie, i chcia?bym zrobi? skrypt w .lua kt?ry gdyby plik .exe ju? by si? pobral, by go odpalil gdyby nast?pilo wej?cie na serwer.
Witam, postaram si? w tej 'serii' poradnik?w wyt?umaczy? krok po kroku LUA. Jest wiele poradnik?w na temat lua i jego podstaw, ale w ka?dym autor od razu rzuca si? na g??bok? wod?. Ja wyt?umacz? wszystko od A do Z. Zacznijmy.
LUA jest w bardzo du?ym stopniu oparte o j?zyk angielski, je?li go znasz to na pewno sobie poradzisz.
Ka?dy kod si? musi jako? 'zacz??' Kod to rozpisane funkcje i zmienne oraz zdarzenia.
Stw?rzmy funkcj?, kt?ra stworzy pojazd o id 448 obok gracza.
Jak wy?ej napisa?em 'stw?rzmy funkcj?' czyli zaczynamy [lua]function tworzymyPojazd(plr)[/lua] po function nadajemy tej funkcji nazw?, a w nawiasach podajemy argumenty. W tym przypadku 'plr' to argument gracza, kt?ry wpisze komend? /pojazd
Teraz gdy ju? mamy rozpocz?t? funkcj? kontynuujemy kod. Musimy u?y? teraz funkcji wbudowanej w mta, kieruj?c si? logik? skoro ma to by? tworzenie pojazdu obok gracza to musimy pobra? pozycj? tego gracza, czyli u?ywamy [wmta]getElementPosition[/wmta] [lua]getElementPosition(plr)[/lua] pobiera nasz? pozycj?, ka?da funkcja co? zwraca, w tym przypadku ta funkcja zwr?ci nam po przecinku trzy liczby, x,y,z czyli nasz? pozycje, x to boki, y prz?d/ty?, z wysoko??. W funkcji musimy uwzgl?dni? argument gracza, kt?rego t? pozycj? chcemy pobra?, czyli w tym wypadku 'plr'. Nasz? funkcje musimy jako? zdeklarowa?, tak jak wy?ej napisa?em funkcja zwraca nam trzy warto?ci to nasza zmienna te? musi by? z?o?ona z trzech warto?ci, na przyk?ad pos1,pos2,pos3, lecz zazwyczaj jest...
Nazwa tematu jest do?? dziwna, ale sam nie wiem jak to nazwa?. Jak odlicza? wi?ksze jednostki czasu np. dni? Wywo?uj? jaki? event o godzinie 13:00 dnia 21.01 i chcia?bym, aby rezultat pojawi? si? o 13:00, 24.01. Jak u?o?y? taki "timer"? Chcia?bym zrobi? to na dwa sposoby: niezale?ny czyli od 13:00 21.01 do 13:00 24.01 oraz zale?nie od tego czy gracz jest na serwerze jego czas nalicza si? i event mo?e wykona? si? wtedy gdy ma przegrane 72 godziny. Za pomoc
Siemanko pisz? dzisiaj tutaj, aby zapyta? si? was. Na co najlepiej napisa? pierwszy w ?yciu skrypt ogarniam funkcje itd. I chcia?bym spr?bowa? swoich si? ale nie wiem na co napisa? skrypt jaki? prosty na m?j pierwszy raz
Witam pomoze mi ktos w LUA chce zrobic serwer ktory masz all autorskie ale nie umie LUA i jak jest jakis Master LUA i moze mi pomoc jakies poradniki linki daje + respect
function logintax ( thePlayer )
if isObjectInACLGroup( "user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("taxi")) then
setPlayerTeam ( player, ta )
giveWeapon ( player, 12, 1000 )
setPedSkin ( player, 281 )
spawnPlayer ( player, -2660.984453125, 609.30276123047, 14.4575 )
setPlayerNametagColor ( player, 255, 255, 0 )
end
addCommandHandler ( "taxi", logintax )
function wyloguj ( player )
setPlayerTeam (player, cywile)
setPlayerNametagColor (player, 255, 255, 255 )
end
addCommandHandler ("wylogujtaxi", wyloguj)[/lua]
Chodzi o to ?e gdy mam linie z if isObjectInACLGroup nie dzia?a to ?e mog? uzywa? tej komendy osoby tylko zapisane w acl (KOD w ACL)
[code]<group name="taxi">
<acl name="Default"></acl>
<object name="user.czak"></object>
</group>[/code]
To wy?wietla si? w konsoli MTA przy w??czaniu skryptu
[code]SCRIPT ERROR: pogoteampogo.lua:25: 'end' expected (to close 'function' at line 8) near '<eof>'
[11:57:23] ERROR: Loading script failed: pogoteampogo.lua:25: 'end' expected (to close 'function' ...
[ramka][center][size=15][b][color=orange]V[/color]IDEOPORADNIK[color=orange]I[/color][/size]
[color=orange]_______________________________________________________[/color][/b]
#1 Wst?p
#2 Tworzymy prosty system przechowalni
#3 Baza MySQL - podstawy
#4 Tworzenie suszarki admina od podstaw
#5 Tworzenie panelu logowania
#6 Podstawy o tabelach
#7 Operacje na GUI, DX i exporty
#8 GUI - dzia?anie poszczeg?lnych element?w
#9 Jak doda? zapis danych do panelu logowania
#10 Jak zrobi? prosty system bankomat?w [/ramka][/center]
[ramka][center][size=15][b][color=orange]Z[/color]ABEZPIECZENIE [color=orange]S[/color]KRYPT?W[/size]
[color=orange]______________________________________[/color][/b]
« Zabezpieczanie skryptu »
« Zabezpieczanie skryptu na IP serwera »
Jak zabezpieczy? serwer
Zabezpieczenie komend na serial [/center][/ramka]
Witam ostatnio zacz??em uczy? si? j?zyka LUA i napisa?em sw?j pierwszy skrypt na stworzenie ?odzi pod komend? /lodz lub /LODZ i mam problem bo nie wiem jak
napisa? kod na to ?e ?eby stworzy? kolejn? d? trzeba czeka? np.10 sekund oraz ?eby poprzednia znika?a.
[center][size=15]Witamy ju? w drugiej edycji konkursu przygotowanego specjalnie dla pocz?tkuj?cych jak i tych bardziej zaawansowanych programist?w lua! Zasady tego konkursu zosta?y znacznie zmienione, dlatego prosimy zapozna? si? z nimi poni?ej.
Dodatkowo mamy przyjemno?? og?osi? wam specjalne rabaty jak i nagrod? g??wn? w tym konkursie przygotowane specjalnie dla naszych u?ytkownik?w, kt?re oferuje nam firma hostingowa LogicHost . Aby uzyska? rabat 25% taniej, nale?y przy zakupie poda? kod rabatowy o nazwie "[i]GTAOnline[/i]", wi?cej informacji na temat nagr?d i samego rabatu znajdziesz tutaj .[/size][/center]
[color=#66ccff]•[/color] W konkursie mo?e wzi?? udzia? ka?dy, zarejestrowany u?ytkownik forum.
[color=#66ccff]•[/color] Pytania zwi?zane z quizem b?d? pojawia? si? codziennie o r??nych porach, przewa?nie rano.
[color=#66ccff]•[/color] [color=red]*[/color][u]Ka?da poprawna odpowied?[/u] b?dzie punktowana od 1 do 4 punkt?w w zale?no?ci od pytania i udzielonej na nie odpowiedzi.
[color=#66ccff]•[/color] Podczas braku odpowiedzi na dane pytanie, czas na udzielenie odpowiedzi zostaje przed?u?ony jednorazowo o jeden dzie?.
[color=#66ccff]•[/color] Kategorycznie zabrania si? publikowania odpowiedzi do quizu na forum og?lnie dost?pnym (np. ShoutBox). W przypadku naruszenia tej zasady, u...
Witam potrzebuj? pomocy odno?nie tego jak pobra? ustawienia z meta.xml w pliku client
Mam napisane okienko w gui w kt?rym nale?y wpisa? has?o do otwarcia bramy.
Je?li wpisana warto?? b?dzie taka sama jak ta w settings (meta.xml) to co? tam si? dzieje dalej.
Wiem, ?e po stronie server-side nale?y u?y? funkcji get () i to dzia?a, lecz jak przenie?? pobran? warto?? do clienta?
Tutaj kod kt?ry odpowiada za por?wnanie wpisanej warto?ci (client-side):
W pliku server mam takie co?:
Chodzi mi dok?adnie o to, ?e "KomendaOtwierania" w client ma by? ta warto?ci? przes?an? z servera → password
Witam,jak wida? w temacie jestem nowy w takich sprawach.Wi?c mam pytanie do wszystkich Lua Master?w
1.Od czego zacz?? nauk? pisania skrypt?w
2.Czy jest jaki? specjalny program do tego
3.Pisz to co mo?e si? przyda?
[center][size=16][b][color=#00ff99]KONKURS NA SKRYPTY DO MTA![/color][/b][/size][/center]
[center][size=14][color=white]W dniu dzisiejszym, w imieniu administracji, og?aszam konkurs na stworzenie skrypt?w w j?zyku Lua. Jako i? niekt?rzy s? bardziej lub mniej zaawansowanymi programistami, b?d? a? 4 poziomy trudno?ci. Po raz pierwszy dajemy mo?liwo?? wzi?cia udzia?u w konkursie dla u?ytkownik?w o niskiej wiedzy w j?zyku lua. Poni?ej znajduj? si? zadania do wykonania oraz reszta potrzebnych informacji na temat konkursu. [/color][/size][/center]
[line]
[center][size=15][color=#66ffff][u]Wersja dla pocz?tkuj?cych:[/u][/color][/size][/center]
[center][size=15]Do wykonania system powiadomie?, czyli wy?wietlanie na ekranie paska stworzonego poprzez dxDrawRectangle i tekstu na nim poprzez dxDrawText - nie s? wymagane ?adne animacje ani przesuni?cia. [/size][/center]
[center][size=15][color=#66ffff][u]Wersja ?atwa:[/u][/color][/size][/center]
[center][size=15]Do wykonania jedno z poni?szych:
GUI zmiany has?a - obowi?zkowe sprawdzenie czy gracz jest zalogowany, oraz wy?wietlenie na chacie informacji "Has?o gracza (nick) zosta?o zmienione - Praca konkursowa GTAO.pl".
lub
Wykonanie HUD'u, dla punkt?w ?ycia (hp), kamizelki (armor), oraz dodatkowo dla jedzenia (elementData "jedzenie") i picia (elementData("picie"), poprzez funkcj? dxDrawRectangle lub Image, aczkolwiek musz? by? to paski symbolizuj?ce o tej ilo?ci - nie liczba. [/size][/c...
W programowaniu j?zykiem Lua pod MTA siedz? ju? 5 rok. Postanowi?em od pewnego czasu nagrywa? LIVE'y z programowania w tym j?zyku i chcia?em zaprosi? Was - pocz?tkuj?cych oraz dopiero zaczynaj?cych na nie. Dlaczego? Z racji tego, ?e ju? co? tam potrafi? to b?dziecie mogli zada? mi pytania dot. samego MTA jak i problematyki programistycznej. Znam r?wnie? par? innych j?zyk?w (specjalizuj? si? w HTML, JS i PHP) st?d te? jest opcja, by porozmawia? ze mn? o nich. Serdecznie zapraszam!
Pod powy?szym linkiem znajdziecie rozpisk? stream'?w (dni oraz godziny) tak?e b?dziecie mogli dopasowa? sw?j plan do mojego. W tym tygodniu plan uleg? lekkiej zmianie. Czwartkowy LIVE odrabiam w pi?tek (4.09.2015) tak?e zapraszam bardzo.
Oczywi?cie mile widziany "Follow" kana?o. Co on daje? W momencie gdy wejd? LIVE Wy otrzymacie maila z informacj?, ?e jestem dost?pny.
[center]
[size=15][b][color=#e3b97e]KONKURS NA NAJLEPSZEGO SKRYPTERA LUA[/size][/b][/color]
[line]
[size=13]W dniu dzisiejszym mam przyjemno?? og?osi? pierwszy wakacyjny konkurs. Tym razem poszli?my w kierunku skryptowania w lua, jednak po raz pierwszy organizujemy taki konkurs w postaci quizu. Nie ma co przed?u?a?, zapraszam do poznania zasad i przebiegu konkursu - b?d? one takie same jak w poprzednich quizach.[/size][/centEr]
[size=14][b]Zasady konkursu[/size][/b]
[list]
W konkursie mo?e wzi?? udzia? ka?dy u?ytkownik, pomijaj?c ekip? forum oraz osoby z rang? Programista.
Na zapoznanie si? z zasadami konkursu u?ytkownicy maj? 2 dni.
Po up?ywie 2 dni, w niedziele zostanie opublikowane pierwsze pytanie - nast?pnie co 2 dni kolejne pytania.
Pytania s? publikowane o r??nych porach dnia, a odpowiedzi mo?na udziela? jedynie przed zadaniem nast?pnego pytania.
Je?eli na pytanie zostan? udzielone 3 poprawne odpowiedzi, organizator informuje o wcze?niejszej publikacji kolejnego pytania.
Punktowane s? tylko poprawne odpowiedzi, ale tylko pierwszych trzech os?b. (1 osoba: 3 punkty, 2 osoba: 2 punkty, 3 osoba: 1 punkt)
Publikowanie odpowiedzi na forum og?lnodost?pnym grozi dyskwalfikacj? oraz kar? od administracji.
Osoby maj?ce najwi?cej punkt?w otrzymuj? adekwatnie od miejsca nagrody.
[/list]
[size=14][b]Nagrody[/size][/b]
[list]
Miejsce 1: Ranga Programista na sta?e i 100 punkt?w respektu.
Miejsce 2: VIP na 2 miesiace i 60 punkt?w respektu.
Miejsce 3: VIP na ...
Od paru dni zacz??em prac? nad edytorem do Lua, kt?re jest ?ci?le powi?zany z MTA. Co to oznacza? Z poziomu tego programu b?dziecie mogli edytowa? parametry serwera (edycja pliku mtaserver.conf), zarz?dza? kontami, tworzy? w bardzo prosty spos?b zasoby i inne. Opr?cz tego otrzymacie edytor, kt?ry u?atwi Wam programowanie. W jaki spos?b? Podpowiedzi, kolorowanie nazw funkcji, zamykanie blok?w (if, while, for...) i wiele, wiele wi?cej.
Dodatkowo planuj? wprowadzi? personalizacj? w/w IDE (chodzi bardziej o kolorystyk?).
Je?eli jeste?cie zainteresowani jak wygl?da proces tw?rczy takiego programu to zapraszam Was na m?j kana? na Hitbox.tv (klikacie na przycisk "follow" i czekacie na maila kiedy wejd? na ?ywo) o odpowiednich porach (podaj? na Fb).
Program b?dzie oczywi?cie udost?pniany za darmo w 2 j?zykach.
Witam.Ostatnio zachcia?o mi si? robi? serwer do Mta . Ale jest problem bo niechce ?eby serwer by? tylko ze skrypt?w z neta . I tu mam pytanie jak ?atwo nauczy? si? lua.
patrzy?em po necie ale to tak jest napisane ?e nie nad??am . Macie jaki? pomys? .
Na pocz?tek prosz? moderator?w o podpi?cie, poniewa? jest to bardzo przydatne zagadnienie.
OOP (ang. [i]Object-Oriented Programming[/i]) czyli programowanie obiektowe, co to? W tym poradniku postaram si? wyt?umaczy? jego implementacj? (u?ywanie) w Lua.
[b]Do czego przyda mi si? znajomo?? OOP?[/b]
B?dziesz m?g? pisa? kod o wi?kszej jako?ci, bardziej zrozumia?y i przejrzysty. Jak co? b?dziesz chcia? zmodyfikowa? b?dzie Ci pro?ciej znale?? to, czego szukasz. Same plusy. Minusy? Tylko jeden - trzeba przeczyta? ten poradnik.
[b]Wst?p[/b]
Najpierw ?eby?cie mogli lepiej zrozumie? na czym polega programowanie obiektowe pos?u?? si? przyk?adem z Lua wzi?tego (u?yj? polskich nazw funkcji, ?eby?cie wszystko mogli zrozumie?).
Z polskimi nazwami wygl?da to dosy? komicznie, ale zignorujcie to. wida? ?e wiele nazw si? powtarza, tak jakby?my m?wili dla przyk?adu "mamo daj zwierz?ciu pies obiekt ko??". Takie [i]mas?o ma?lane[/i]. Poni?ej ten sam przyk?ad napisany obiektowo.
Na pierwszy rzut oka widzimy nowe konstrukcje z dwukropkiem, zignorujmy je na razie. wszystko jest minimalnie bardziej przejrzyste. Od razu na pocz?tku linii widzimy na jakim obiekcie b?dziemy pracowa?, czyli np. pojazd, dalej funkcja...
Witam od kilku dni zacze?em interesowa? si? Lua, chcia?em napisa? jaki? skrypt dla testu oraz dla samej nauki tego w?a?nie j?zyka.
Skrypt mai? polega? na tym ?e admin mo?e doda? upgrade dla auta w kt?rym jest.
Prosz? o wyrozumia?o??, poniewa? to m?j pierwszy skrypt, i z g?ry dzi?kuje za pomoc
Witam serdecznie ! Czy da rad? od kompilowa? pliki? W sensie, ?e jak s? skompilowane, ?e nie wida? kodu, tylko jakie? znaki? Problem polega na tym, ?e kiedy? fajny skrypt zakodowa?em i usun??em. Teraz patrz?, ?e jest kilka bug?w i chcia?bym to zmieni?.
Za pomoc piwko
W dzisiejszym poradniku, chcia?bym przedstawi? Wam p?tle. P?tla w zwyczajnej formie, wykonuje kod poni?ej i wraca do pocz?tku po czym wykonuje go jeszcze raz i tak bez ko?ca. Przejd?my do praktyk.
Przyk?ad p?tli :
[lua]for k,v in ipairs ( getElementsByType ( "player" )) do[/lua]
Opiszmy j? Sobie
for - z angielskiego "dla"
k - inaczej key, rzadko u?ywany w kodzie.
v - inaczej value, zwraca nam warto?? kt?r? podali?my dla elementu w nawiasie.
do - z angielskiego "zr?b"
Podana wy?ej p?tla, sprawdza wszystkie obiekty, czyli "player" ( gracz ).
w tym przypadku [color=yellow]v[/color] zwr?ci nam wszystkich graczy obecnych na serwerze.
[u][color=red][b]UWAGA : R??nic? podam w kolejnym poradniku.[/b][/color][/u]
Przyk?ad w kodzie :
[lua]addCommandHandler ( "gracze", function()
for k,v in ipairs ( getElementsByType ( "player" )) do
outputChatBox ( getPlayerName ( v ), root )
end
end)[/lua]
Wspomn?, ?e p?tla wymaga dodania END.
Ten kod, pokazuje nam nicki graczy na serwerze, inaczej t?umacz?c
sprawdza nick i go wy?wietla, potem znowu sprawdza nick i znowu go wy?wietla i tak dop?ki kod nie stwierdzi, ?e pokaza? wszystkich graczy i sam przestanie sprawdza?.
Drugim rodzajem p?tli jest p?tla ograniczona.
Mo?emy j? ograniczy? do x razy.
Jak wcze?niej wspomnia?em [color=yellow]i[/color] zwraca liczb? czyli :
Witaj. Czy chcia?e? kiedykolwiek napisa? jaki? skrypt, a nie wiedzia?e? jak? Teraz mo?esz to zrobi? z poni?szym poradnikiem. Wi?c na starcie opisze wszystko.
Ka?dy skrypt zaczynamy funkcj? :
function <nazwa> (argumenty, np: thePlayer; czyli dla kogo ma sie ona odwo?ywa? )
czyli:
[code]function test ( thePlayer ).[/code]
Po tym zdarzeniu mo?emy wpisa? co dana funkcja ma wykonywa? np:
FUNKCJE ODWO?UJ?CE SI? DO GRACZA :
[b]setElementModel[/b]- zmienia skin gracza,
[b]setElementPosition [/b]- zmienia pozycj? gracza,
[b]setPedArmor [/b]- ustawia ile armora ma dosta? gracz po u?yciu funkcji,
[b]setElementHealth[/b]- ustawia ile ?ycia ma dosta? gracz po u?yciu funkcji,
[b]giveWeapon [/b]- jak? bro? i ile do niej amunicji ma dosta? gracz,
[b]getElementPosition [/b]- pobiera aktualn? pozycj? gracza.
FUNKCJ? ODWO?UJ?CE SI? DO POJAZD?W I OBIEKT?W :
[b]createVehicle [/b]- tworzy auto w danej pozycji,
[b]warpPedIntoVehicle[/b]- przenosi gracza/peda do auta o danej nazwie,
[b]attachElementToElement[/b]- ??czy jeden obiekt z drugim obiektem,
[b]createMarker [/b]- tworzy marker w danej pozycji,
[b]createPed[/b]- tworzy peda w danej pozycji,
[b]setVehicleColor [/b]- zmienia kolor danemu pojazdowi,
[b]addUpgrade [/b]- dodaje tuning do auta. Przyk?adowe ID tuning?w:
a) 1008/1010 - Nitro,
b) 1087 - hydraulika,
c) 1080 - Felgi o nazwie SWITCH.
[b]createObject [/b]- tworzy obiekt w danym miejsc...