Erock
Wiek: 29 Na forum: 6208 dni Posty: 15
Piwa : 167
Wprowadzenie
Witam, w tym poradniku chcia?bym pokaza? jak napisa? Podstawowy Skrypt do MTA:SA w LUA.
Poradnik
1. Pierwszym krokiem jest stworzenie szkieletu skryptu. Najpierw tworzymy plik meta.xml, b?dzie on odpowiada? za rozmieszczenie plik?w, b?dzie podawa? ich ?cie?k? itd.
< meta >
< info name = "Nazwa Skryptu" author = "Autor" version = "Wersja" />
< script src = "server.lua" type = "server" />
< script src = "client.lua" type = "client" />
</ meta >
Dok?adny Opis:
<meta> - Otwarcie pliku met'y
<info name="Nazwa Skryptu" author="Autor" version="Wersja" /> - Podstawowe informacje o skrypcie (Autor, Nazwa Skryptu, Wersja)
<script src="server.lua" type="server" /> - Linijka odpowiadaj?ca za ?cie?k? skryptu dzia?aj?cego po stronie serwera argumenty po kolei: src="server.lua" - ?cie?ka skryptu (server.lua) mo?na zmienia? dowolnie lecz takowy skrypt musi by? pod podan? ?cie?k? inaczej po prostu si? nie wczyta. type="server" - typ skryptu (server) dzia?aj?cy po stronie serwera (Argument opcjonalny).
<script src="client.lua" type="client" /> - Linijka odpowiadaj?ca za ?cie?k? skryptu dzia?aj?cego po stronie clienta argumenty po kolei: src="client.lua" - ?cie?ka skryptu (client.lua) mo?na zmienia? dowolnie lecz takowy skrypt musi by? pod podan? ?cie?k? inaczej po prostu si? nie wczyta. type="client" - typ skryptu (client) dzia?aj?cy po stronie klienta gry (Argument opcjonalny).
</meta> - Zamkni?cie pliku met'y
Tworzenie pliku server.lua oraz podpisywanie funkcji do niego/pisanie podstawowego skryptu.
function playerConnect ( playerNick , playerIP , playerUsername , playerSerial , playerVersionNumber )
end
addEventHandler ( "onPlayerConnect" , getRootElement (), playerConnect )
function playerJoin () -- Rozpocz ? cie funkcji playerJoin
outputChatBox ( "Witaj na serwerze Truck RP!" , source , 0 , 255 , 0 )
local r , g , b = math . random ( 50 , 255 ), math . random ( 50 , 255 ), math . random ( 50 , 255 )
setPlayerNametagColor ( source , r , g , b )
spawnPlayer ( source , 1377.3509521484 , 1020.1326293945 , 11.219537734985 , 90.0 , 0 )
fadeCamera ( source , true )
setCameraTarget ( source , source )
end
addEventHandler ( "onPlayerJoin" , getRootElement (), playerJoin )
function playerQuit ()
end
addEventHandler ( 'onPlayerQuit' , getRootElement (), playerQuit )
Dok?adniejszy opis:
function playerConnect (playerNick, playerIP, playerUsername, playerSerial, playerVersionNumber) - Funkcja playerConnect z atrybutami ( Rozpocz?cie)
end - Zako?czenie funkcji playerConnect
addEventHandler ("onPlayerConnect", getRootElement(), playerConnect) - Event odpowiadaj?cy za po??czenie si? klienta z serwerem.
function playerJoin() - Rozpocz?cie funkcji playerJoin
outputChatBox("Witaj na serwerze Truck RP!", source, 0, 255, 0) - Wy?wietlenie tekstu "Witaj na serwerze Truck RP!" na czacie gracza.
local r, g, b = math.random(50, 255), math.random(50, 255), math.random(50, 255) - Losowe przydzielenie kolor?w.
setPlayerNametagColor(source, r, g, b) - Ustawianie koloru nicku gracza.
spawnPlayer ( source, 1377.3509521484, 1020.1326293945, 11.219537734985, 90.0, 0 ) - Funkcja spawnuj?ca gracza.
fadeCamera (source, true) - Tzw. Rozja?nianie kamery, widoczno?? kamery, gdzie source to (id) gracza kt?ry na kt?rym ma by? wywo?ana funkcja a zmienna typu bool (true) odpowiada na to czy kamera ma by? w??czona(w przeno?ni) true = w??czona, false = wy?aczona.
setCameraTarget (source, source) - Ustalanie kamery argumenty source, source przyczepiaj? j? do Gracza. Pierwszy argument odpowiada kt?rego gracza kamera ma si? przyczepi? do gracza w drugim argumencie.
end - Zako?czenie funkcji playerJoin()
addEventHandler ("onPlayerJoin", getRootElement(), playerJoin) - Event odpowiadaj?cy za po??czenie z serwerem przez klient'a.
function playerQuit() - Rozpocz?cie funkcji playerQuit, nazwa mo?e by? inna lecz nale?y j? zmieni? p??niej w Evencie.
end - Zako?czenie funkcji playerQuit()
addEventHandler('onPlayerQuit', getRootElement(), playerQuit) - Event odpowiadaj?cy za wyj?cie z serwera przez gracza.
Tworzenie skryptu client.lua:
Podstawowy Kod:
function OnPlayerConnect ()
outputChatBox ( "* " .. getPlayerName ( source ) .. " dolaczyl do serwera." )
end
addEventHandler ( "onClientPlayerJoin" , getRootElement (), OnPlayerConnect )
Dok?adny Opis:
function OnPlayerConnect() -- Rozpocz?cie Funkcji OnPlayerConnect
outputChatBox("* " .. getPlayerName(source) .. " dolaczyl do serwera.") -- Tekst dla wszystkich z informacj? ze gracz wszed? na serwer.
end - Zako?czenie funkcji OnPlayerConnect()
addEventHandler("onClientPlayerJoin", getRootElement(), OnPlayerConnect) - Event odpowiadaj?cy za wyj?cie z serwera przez gracza (CLIENT SIDE).
Pozdrawiam Erock
Ostatnio zmieniony przez Barcioo 2018-05-27, 13:43, w całości zmieniany 2 razy