Skocz do zawartości
  • Aby w pełni korzystać z forum musisz się zarejestrować i zsynchronizować konto z grą, więcej informacji znajdziesz tutaj.
    Jeżeli posiadasz problemy z synchronizacją napisz wątek w dziale Pomoc z synchronizacją konta.

[KURS - LUA] #1


Arabus
 Udostępnij

Rekomendowane odpowiedzi

Cześć i czołem ew łokciem.
Ostatnio pomyślałem, że fajnym pomysłem byłoby stworzenie poradnika odnośnie języka LUA. (Nie będę tutaj uczył całkowitych podstaw, lecz będę wszystko tłumaczył co robie).

Tutaj znajdziecie wszystko, co może wam się przydać do pisania swoich pierwszych skryptów:


https://www.lua.org/docs.html



https://wiki.multitheftauto.com/wiki/Main_Page


Więc zacznijmy od włączenia naszego serwera, który standardowo jest przygotowany na freeroam.




Domyślnie plik startowy serwera znajduje się w:

Dla systemu 64-bitowego:
 
C:\Program Files (x86)\MTA San Andreas 1.5\server\MTA Server.exe

Dla systemu 32-bitowego:
 

C:\Program Files\MTA San Andreas 1.5\server\MTA Server.exe

Uruchamiając go, czekamy aż załaduje nam się cały serwer, wyskoczy nam w konsoli następująca informacja:
 

To stop the server, type 'shutdown' or press Ctrl-C

Type 'help' for a list of commands.

Serwer jest już gotowy, aby wejść na niego korzystamy z dwóch adresów IP:
 

mtasa://localhost:22003

mtasa://127.0.0.1:22003




A więc zaczynamy od przygotowania naszego konta administratora w ACL.

W grze wpisujemy:
 
register login haslo

Lub też w konsoli naszego serwera:
 

addaccount login haslo

Gdy to zrobimy, wyłączamy nasz serwer, po czym przechodzimy do pliku:



Dla systemu 64-bitowego:
 

C:\Program Files (x86)\MTA San Andreas 1.5\server\mods\deathmatch\acl.xml

Dla systemu 32-bitowego:
 

C:\Program Files\MTA San Andreas 1.5\server\mods\deathmatch\acl.xml

Otwieramy go dowolnym edytorem tekstu, standardowo przechodzimy do 25 linijki. Klikamy enter, po czym dodajemy odpowiednią linijkę:
 

<object name="user.machiko"></object>

W miejscu login wpisujemy nasz login, który podaliśmy wcześniej.



Zapisujemy plik, aby wyglądało to w taki sposób:

14af90e470c1e2501b7d7a9facb85af5.png

Po czym ponownie włączamy serwer oraz wchodzimy na niego.


W naszej konsoli klikając F8, wpisujemy:
 

login naszlogin haslo

Wyskoczy nam informacja o tym, że zostaliśmy zalogowani i klikając klawisz "p" ukazuje nam się panel admina.



Przydało by, się również napisać jak stworzyć nas pierwszy skrypt, który uruchomimy na własnym serwerze.

Przechodzimy do folderu:

Dla systemu 64-bitowego:
 

C:\Program Files (x86)\MTA San Andreas 1.5\server\mods\deathmatch\resources

Dla systemu 32-bitowego:
 

C:\Program Files\MTA San Andreas 1.5\server\mods\deathmatch\resources

Tworzymy w nim folder o nazwie: "mojskrypt" oraz wchodzimy do niego, teraz tworzymy plik "meta.xml" po czym wklejamy do niego taką zawartość i modyfikujemy ją dowolnie między znakami "".
 

   <meta>
     <info author="TwojNick" version="0.1" type="gamemode" name="My Server" description="Moj pierwszy serwer MTA" />
     <script src="script.lua" type="server" />
</meta>

Zapisujemy plik, zamykamy go, po czym tworzymy nowy plik o nazwie "script.lua".

Przed stworzeniem naszej funkcji musimy pomyśleć co dana funkcja ma robić.

A więc zacznijmy od stworzenia funkcji.
 

function spawn_sultan(thePlayer)
end

Mamy pustą funkcje, ale jeszcze nic nie robi, wiec warto coś do niej wpisać, sprawdzimy pozycje gracza, do środka wpisujemy:
 

local x, y, z = getElementPosition (thePlayer)

Czyli nasza funkcja aktualnie wygląda tak:
 

function spawn_sultan(thePlayer)
local x, y, z = getElementPosition (thePlayer)
end

Okej więc już mamy pobraną pozycje naszego gracza, ale do czego nam się przyda? Już wam pokazuje, dopisujemy kolejną linijkę do naszej funkcji:
 

local naszsultan = createVehicle(560,x,y,z)

Jak ma wyglądać funkcja? :D

tak:
 

function spawn_sultan(thePlayer)
local x, y, z = getElementPosition (thePlayer)
local naszsultan = createVehicle(560,x,y+5,z+2)
end

Dlaczego dodajemy 5 oraz 2? Aby pojazd nie zrespił się w nas.

Mamy naszą funkcję, ale jak ją wywołać? Już wam pokazuje, pod naszą funkcją dopisujemy:
 

addCommandHandler ( "sultan", spawn_sultan)

Nasz cały plik powinien wyglądać w taki sposób:
 

function spawn_sultan(thePlayer)
local x, y, z = getElementPosition (thePlayer)
local naszsultan = createVehicle(560,x,y+5,z+2)
end
addCommandHandler ( "sultan", spawn_sultan)

zapisujemy plik, wracamy do gry, po czym w naszej konsoli F8 wpisujemy:
 

refresh

Po czym:
 

start mojskrypt

teraz gdy poprawnie załadowało nam skrypt, możemy wpisać komendę:

/sultan

I powinniśmy obok dostać naszego sultana.

Myślę, że poradnik się przydał w jakimś stopniu.

 



A w poście poniżej możecie mi napisać czy wolicie poradniki tutaj, założyć jakiegoś bloga czy też może YouTube? ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając ze strony zgadzasz się na naszą politykę prywatności: Polityka prywatności, i akceptujesz regulamin witryny Regulamin