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: 6350 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 (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  
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 » Podstawowy Skrypt w 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