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

Wysłany: 2011-02-01, 16:58


Erock







Wiek: 29
Na forum: 6208 dni
Posty: 15

Piwa: 167

Respekt: 54,6

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 (playerNickplayerIPplayerUsernameplayerSerialplayerVersionNumberend 
addEventHandler ("onPlayerConnect"getRootElement(), playerConnect)

function playerJoin() -- Rozpocz?cie funkcji playerJoin
    outputChatBox("Witaj na serwerze Truck RP!"source02550) 

    local rgmath.random(50255), math.random(50255), math.random(50255) 
    setPlayerNametagColor(sourcergb) 
    
    spawnPlayer source,  1377.35095214841020.132629394511.21953773498590.0)
    fadeCamera (sourcetrue) 
    setCameraTarget (sourcesource)
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  
Postaw piwo autorowi tego posta
 

 
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