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

Wysłany: 2011-06-27, 19:43


Piorun







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

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Operacje na zasobach
(czyli co i jak o resource'ach)


1. Z czym to si? je.

Resource (z ang. - zas?b) jest to swego rodzaju skrypt/gamemode, kt?ry zawiera wszystkie elementy, kt?re postawimy na serwerze. Zasob?w na serwerze mo?e by? niesko?czenie wiele co wi??e si? z mo?liwo?ci? ??czenia ich przy pomocy eksportowania funkcji.

2. Jak doda? zas?b do serwera

• I METODA


:arrow: Otwieramy plik mtaserver.conf, kt?ry znajdziemy w folderze "server"
:arrow: Dodajemy linijk?:
Kod:

<resource src="twoja nazwa zasobu" startup="1" protected="0" />

:arrow: Zapisujemy plik i zamykamy. Teraz jak uruchomimy serwer zostanie za?adowany nasz zas?b od razu.

• II METODA

:arrow: Uruchamiamy serwer (r?cznie, z pliku)
:arrow: Wpisujemy w konsoli (oboj?tnie czy w grze, czy w Windowsie, b?d? innym OS) "start nazwa_zasobu"
:arrow: I ju?. Zas?b uruchomiony.

3. Jak utworzy? sw?j pierwszy zas?b

:arrow: Tworzymy nowy folder w folderze "resources" i nazywamy go jak chcemy (byle bez specjalnych znak?w - najlepiej same litery) np. "example" (tak, to jest ta nazwa, kt?r? podajemy r?wnie? w pliku mtaserver.conf).
:arrow: Otwieramy utworzony przed chwil? folder i tworzymy w nim plik "meta.xml".
:arrow: Otwieramy utworzony plik "meta.xml" i umieszczamy w nim:
Kod:

<meta>
<script src="tutaj_nic_nie_usuwamy" type="server" />
<script src="tutaj_nic_nie_usuwamy" type="client" />
</meta>

Teraz opis
<script src="tutaj_nic_nie_usuwamy" type="server/client" />
src - scie?ka dost?pu do pliku z kodem ?r?d?owym (koniecznie z rozszerzeniem .lua)
type - typ kodu ?r?d?owego. Mo?liwe jest tylko "server" lub "client".

:arrow: Zapisujemy plik i zamykamy.
:arrow: Tworzymy dwa nowe pliku - oba z rozszerzeniem .lua. Np. "Example1.lua" i "Example2.lua".
:arrow: Edytujemy plik "meta.xml".
:arrow: W miejsce "tutaj_nic_nie_usuwamy" wpisujemy nazwy naszych zasob?w wraz z rozszerzeniem. Np.:
<meta>
<script src="Example1.lua" type="server" />
<script src="Example2.lua" type="client" />
</meta>

:arrow: Zapisujemy i zamykamy. Nasz zas?b zosta? pomy?lnie dodany. Teraz mo?emy zacz?? zabaw? w tworzenie funkcji.

4. Funkcje

Funkcj? tworzymy przez wpisanie na pocz?tku jakiej? linijki s?owa function, za nim nazwa naszej funkcji, a potem nawiasy () - function nazwa_funkcji(), a ko?czymy s?owem end, kt?re wpisujemy linijk? ni?ej lub po prostu na ko?cu funkcji. Ca?o?? wygl?da mniej wi?cej tak:
function nazwa_funkcji()
-- tutaj b?dzie znajdowasinasz kod za kt?ry b?dzie odpowiedzialna nasza funkcja
end

W nawiasach b?d? znajdowa? si? parametry (je?eli funkcja tego wymaga).
Ka?da funkcja mo?e zwraca? jakie? warto?ci i s? to tabele, warto?ci liczbowe i zmienne. Aby zadeklarowa? co dana funkcja mo?e zwr?ci? u?ywamy funkcji return po kt?rej podajemy co dana funkcja ma nam zwr?ci? i np.
function showResult()
2
return x
end

Teraz w drugiej funkcji powo?amy si? do wcze?niej utworzonej funkcji, kt?ra zwr?ci nam wynik dodawania, czyli 3.
 function newExampleFunc()
local wynik showResult()
outputChatBox(wynik)
end

outputChatBox - funkcja odpowiedzialna za wy?wietlenie jakiego? tekstu w chatbox'ie.
Tyle o funkcjach - teraz przejdziemy do Event'?w, czyli Zdarze?.

5. Zdarzenia

Zdarzenia deklaruj? nam po czym dana funkcja ma nast?pi?. Ca?y spis funkcji oraz zdarze? znajdziecie na oficjalnym wiki MTA, czyli na [url="http://wiki.mtasa.com"]http://wiki.mtasa.com[/url]. Oto przyk?ad:
function showWelcomeMessage()
outputChatBox("Witaj na serwerze..."source)
end
addEventHandler("onPlayerJoin"getRootElement(), showWelcomeMessage)

Dzi?ki temu, ?e zadeklarowali?my zdarzenie "onPlayerJoin" ka?dy gracz, kt?ry do??czy do naszego serwera (do??czy, nie po??czy) otrzyma wiadomo?? "Witaj na serwerze...".

source - ?r?d?o. Ka?de zdarzenie zwracam nam jakie? ?r?d?o (potocznie m?wi?c). Mo?e to by? ka?dy element - pojazd, objekt, gracz, ped itp. Wykorzystujemy ?r?d?o do zadeklarowania dla kogo dane funkcje maj? si? odwo?ywa?. Dodam, ?e powy?szy skrypt dzia?a tylko po stronie serwera. Po stronie klienta wszystkie funkcje (przynajmniej wi?kszo??) nazywaj? si? inaczej i inne elementy zwracaj?. Zapraszam jeszcze raz na wiki MTA oraz na forum oficjalne MTA.

My?l?, ?e jako? nakre?li?em wam jak stworzy? sw?j pierwszy skrypt. Je?eli kto? wam powie, ?e LUA jest trudnym j?zykiem, a przynajmniej trudniejszym od pawno - mo?ecie mu z dum? powiedzie?, ?e tak nie jest. Zdecydowanie mo?na tu wi?cej rzeczy ?dzia?a? ni? w PAWNO.

Dzi?kuj? za przeczytanie powy?szego poradnika.
Pozdrawiam, Piorun.

Ostatnio zmieniony przez Barcioo 2018-05-27, 13:53, w całości zmieniany 4 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-10-06, 09:51


Martti







Wiek: 42
Na forum: 5366 dni
Posty: 108

Piwa: 2

Respekt: 45,3

?wietny poradnik, chocia? po ma?u ju? wiedzia?em jak to robi? to teraz wiem dlaczego tak robi?. :) Dzi?kuje.

btw. wiki.mtasa.com jest bardzo, ale to bardzo przydatne. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-10-06, 13:58


Piorun







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

Piwa: 516

Respekt: 480,7
Respekt: 480,7

"Martti" napisał/a:

btw. wiki.mtasa.com jest bardzo, ale to bardzo przydatne. :)

Dok?adnie.

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

 
Wysłany: 2012-06-18, 16:03


Arthur







Wiek: 33
Na forum: 5483 dni
Posty: 2

Piwa: 1

Respekt: 50

My?la?em, ?e lua jest bardzo trudne. Od wczorajszego wieczora wiem, ?e tak nie jest. Dzi?ki waszym poradnikom oraz wiki.mta po prostu si? ucz? tego i na prawd? mi si? to podoba. Mo?e i ja napisz? jaki? poradnik je?li b?d? si? czu? na tyle dobry?:> Dzi?kuj? wam wszystkim za te poradniki a szczeg?lnie za ten. Bo ten poradnik mi wyt?umaczy? wszystko co potrzebowa?em wiedzie?. Teraz dzia?am na mta editor gdzie s? wszystkie funkcje, eventy itd. itp. :) Dzi?kuj?!

Postaw piwo autorowi tego posta
 

 
Tagi: [tut] :: resources-operacje :: zasobach
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 » [TUT] RESOURCES-OPERACJE NA ZASOBACH 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