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

Wysłany: 2020-06-10, 19:01


PatryKK.

Emeryt LUA






Wiek: 26
Na forum: 3060 dni
Posty: 1060
Nick w MP: PatryKK.

Piwa: 2322

Respekt: 331,5
Respekt: 331,5Respekt: 331,5Respekt: 331,5

Witaj
!


W tym poradniku pokr?tce przedstawi? Wam: timery, zmienne, operatory oraz instrukcje warunkowe oraz postanowi? je wyt?umaczy?! Zapraszam do kr?tkiej lektury ;v



Zacznijmy od wyja?nienia czym jest Timer. S?u?y on do nadawania czasu dla czego?. Np po jakim czasie ma si? co? wykona?. Poni?ej stworzymy kr?tk? komend?, kt?ra wy?wietli Nam nasz nick:
function nick(plr)
setTimer(function(plr)
outputChatBox(getPlayerName(plr),255,255,255,true)
end1000,1,plr)
end
addComandHandler("nick",nick)
Troch? ja?niej:
Kod:

function nick(plr) --tworzymy funkcj? 'nick' z argumentem plr czyli graczem, kt?ry wpisa? komende
setTimer(function(plr) --funkcja na kt?r? nadajemy 'czasownik'
outputChatBox(getPlayerName(plr),255,255,255,true) -- pokazujemy graczowi jego nick i zamykamy czasownik
end, 1000,1,plr) --end zamyka nasz czasownik, 1000 to ilosc milisekund, '1' to ilo?? wykonania
end --end zamyka nasz czasownik
addComandHandler("nick",nick) --tworzymy komende
Je?eli chcemy aby co? si? nam wy?wietla?o co jaki? czas, mo?emy zrobi? to w ten spos?b:
setTimer(function()
outputChatBox("Min??y 3 minuty")
end180*1000,0)
Przy czym "180" s? to sekundy. Gdy dodamy np 60 do 180 otrzymamy 240 i b?dzie Nam wy?wietla? co 4 minuty.

Funkcj? r?wnie? mo?emy odrazu umie?ci? w timerze np:
setTimer(setElementData(plr,"cokolwiek",true), end,1000,1)


Więcej informacji znajdziesz w Wikipedii MTA:

setTimer



Przysz?a pora na zmienne. Dzielimy je na dwie grupy: Globalne oraz Lokalne
Zmienna String - jest to ci?g znak?w umieszczony w cudzys?owach " " lub apostrofach ' '
Par? przyk?ad?w:

local string "ciag znakow"
local string "ci?g\nznak?w"
local string "ci?g 'znak?w'"
local string = [[ci?g znak?w]]
local string = [[ci?g
znak?w]]
Teraz kilka wyja?nie?:
local string "ci?g\nznak?w" --wykorzystujemy ten zapis aby przej?? linijkni?ej w stringu

local string "ci?g "znak?w"" --w stringu mo?liwe jest u?ywanie polskich znak?w oraz apostrof?w

local string = [[ci?g
znak?w]] --w tym wypadku aby przej?? ni?ej nie musimy u?ywa\n gdywystarczy enter


Zmienna Number
Number jest to rodzaj zmiennej za? number jest to zmienna liczbowa
Przyk?ad:
local number 4


Zmienna Nil
Jest to "pusta" zmienna, kt?ra nic nie zawiera
local nic nil


Zmienna Boolean
Jest to zmienna logiczna = true/false
local boolean true
local boolean false


Zmienna Function
Jest to rodzaj zmiennej, w kt?rej za pomoc? zmiennej deklarujemy funkcj?
local funkcja = function() outputChatBox("deklarujemy funkcj?"end
No i p??niej odwo?ujemy si? do niej w taki spos?b:
funkcja()


Zmienna Array/Table
Jest to rodzaj zmiennej, a konkretnie tabela
 local array = {}




Instrukcje Warunkowe co to takiego? Jest to warunek, kt?ry pozwala na wykonanie r??nych instrukcji w zale?no?ci od tego czy zdefiniowane przez programist? wyra?enie logiczne jest prawdziwe, czy fa?szywe.
Postaram Wam si? to przedstawi? na przyk?adowym kodzie:
function pokaznazwe(plr)
if isPedInVehicle(plrthen
outputChatBox(getVehicleName(getPedOccupiedVehicle(plr)),plr,255,255,255)
end
end
addComandHandler("pojazd",pokaznazwe)
Ka?dy "if" potrzebuje mie? swojego "end'a"

Nasz warunek "if" w kodzie sprawdza czy plr(gracz) znajduje si? w poje?dzie. Je?eli si? znajduje to wywo?a funkcj?, je?eli nie to nie wywo?a jej. Opr?cz popularnego "if" posiadamy r?wnie? "else". Mo?emy u?y? go np:
function samochod(plr)
if isPedInVehicle(plrthen
outputChatBox("Aktualnie znajdujesz si? w samochodzie",plr,255,255,255)
else
outputChatBox("Aktualnie nie znajdujesz si? w samochodzie",plr,255,255,255)
end
end
addCommandHandler("samochod",samochod)
Mamy jeszcze "elseif", kt?ry potrzebuje "then" przyk?ad:
 if getElementData(gracz"co?") == "tak" then
outputChatBox("co?",gracz)
elseif getElementData(gracz"co?") == "nie" then
outputChatBox("nie co?",gracz)
end
Teraz przyk?ad operatora "or":
function model(plr)
if isPedInVehicle(plrthen
if getElementModel(getPedOccupiedVehicle(plr)) == 411 or getElementModel(getPedOccupiedVehicle(plr)) = 560 then
outputChatBox("Wybierz infernusa albo sultana",plr)
end
end
end
addCommandHandler("wybor",model)
Teraz przyk?ad operatora "and"
function p(plr)
if isPedInVehicle(plr) and getElementModel(getPedOccupiedVehicle(plr)) == 602 then
outputChatBox("602",plr)
end
end
addCommandHandler("operator",p)
Teraz przyk?ad operatora "not"
function ped(plr)
if not isElement(pedthen
ped createPed(0,0,0,0)
end
end
addCommandHandler("ped",ped)




W tym poradniku to wszystko, mam nadziej?, ?e chocia? troszk? Wam wyt?umaczy?em o co tutaj chodzi! Nast?pny poradnik ju? niebawem, mi?ego! ;v


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 3 piw(a):
Emm, .Sanchez, Matikmontana
Tagi: [kurs-lua#2] :: timery :: zmienne :: operatory
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