Skocz do zawartości
i386x

3 Poradniki LUA

Rekomendowane odpowiedzi

Ten poradnik jest z Archiwum pawno.pl

Witam,

Postanowiłem na odpracowanie ostrzeżenia wytłumaczyć jak zrobić system koncertów.

Na początek tworzymy 2 foldery, pierwszy o nazwie client a drugi o nazwie server. Później w folderze client tworzymy plik client.lua i edytujemy go (Polecam Notepad2, Notepad++):

Tworzymy funkcję odtwarzającą dźwięk "muza.mp3" po otrzymaniu tzw "sygnału" od triggera:

 
function odtworzDzwiek ( ) 
local sound = playSound3D("muza.mp3", 391, -2685, 7, true) 
setSoundVolume(sound, 0.9) -- set the sound volume to 50 
end 
addEvent( "odtworzDzwiek", true ) 
addEventHandler( "odtworzDzwiek", getRootElement(), odtworzDzwiek) 
Uwaga! Tutaj wpisujemy pozycje z mapy: local sound = playSound3D("muza.mp3", 391, -2685, 7, true) Jak widać mamy już zdefiniowany skrypt po stronie klienta, teraz czas na serwer. Tworzymy plik server.lua w wcześniej utworzonym folderze server i edytujemy go: Teraz zdefiniujemy komendę dla admina aby wysyłała każdemu triggerClientEvent, aby odpalała się wszystkim graczą na serwerze w pozycji podanej w pliku "client.lua".
 
local ksyst = "admin" 
function odpalmuze(gracz,cmd) 
if ksyst == "admin" then 
if IsPlayerAdmin(gracz) == false then 
outputChatBox ( "#FF0000** Error:#0AC419 you are not admin.", gracz, 255, 255, 255, true ) --gdy gracz nie jest adminem 
return 
end 
end 
triggerClientEvent ( getRootElement(), "odtworzDzwiek", getRootElement()) 
-- wywolujemy sygnal do graczy 

end 
addCommandHandler("odpalmuze", odpalmuze) -- nazwa komendy na odpalanie muzyki i definicja jaka funkcje ma odpalac 

function set_cmd(gracz,cmd,argument) 
if argument == "admin" or argument == "all" then 
ksyst = argument 
end 
end 
addCommandHandler("set_cmd", set_cmd) 


function IsPlayerAdmin(gracz) 
local acc = getPlayerAccount ( gracz ) 
local name = getAccountName ( acc ) 
local Ad = isObjectInACLGroup ( "user." .. name, aclGetGroup ( "Admin" ) ) 
return Ad 
end 
Skrypt mamy gotowy, teraz czas obszukać jakąś mp3 (lecz ogg jest lepsze ponieważ ma mniejszy rozmiar i taką samą jakość, gdy chcemy wybrać ogg musimy w client.lua podmienić rozszerzenie .mp3 na .ogg) i zmieniamy jej nazwę na podaną w pliku client.lua czyli w tym przypadku jest to muza.mp3, pamiętajmy że wklejamy ją do katalogu głównego skryptu. Czas na mete, tworzymy plik meta.xml w głównym katalogu i wypełniamy go takim zapisem:
 
<meta> 
<info author="i386x" version="1.1" /> 
<script src="client/client.lua" type="client" /> 
<script src="server/server.lua" type="server" /> 
<file src="muza.mp3" /> 
</meta> 
Administrator serwera pod komendą /odpalmuze odtwarza muzykę KAŻDEMU w danym miejscu   Poradnik by i386x, zakaz kopiowania na inne fora, zakaz zmiany autora w pliku meta.xml, Ten poradnik jest odpracowaniem ostrzeżenia na forum Pawno.pl

Poradnik jest bardzo prosty do zrozumienia zrobiłem go w formie Screenów więc każdy "newbie" powinien wiedzieć  

1.Otwieramy plik (domyślnie C:\Program Files\MTA San Andreas\server\mods\deathmatch\mtaserver.conf i ustawiamy 2 rzeczy widoczne na obrazkach:

uqn7twinv21m17own.png

0vd6nbu6vaktcuepymk.png

2.

yedmnpk05c107qw88mq.png

Włączamy serwer i wpisujemy qc6yu7c2lr5vtfcy8odp.png

Powinno być tak po wpisaniu  :

nfbxnlv5z23brs15g9t.png

Poradnik by Wisnia75(Zabrania się kopiowania na inne fora niż pawno.pl, złamanie tego prawa traktowane jest jako złamanie prawa polskiego kodeksu praw)

Ten poradnik jest z Archiwum pawno.pl

Mniej więcej wygląda to tak: 81449797637046962991.jpg Zaczynamy  
  • Utwórz plik logo.lua oraz edytuj go
Stworzymy teraz funkcje, która wyświetli nam obrazek w podanej pozycji ekranu(można ją zdobyć w gui editorze):
 
function showClientImage() 
guiCreateStaticImage( 0.017578, 0.929666, 0.335781, 0.075521, "logo.png", true ) 
end 
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), showClientImage ) 
(Możemy sobie zmienić pozycje w tej
guiCreateStaticImage( 0.017578, 0.929666, 0.335781, 0.075521, "logo.png", true )
Linijce. Ale w tym przypadku jest pod hudem) i Zapisujemy plik jako dalej logo.lua. Wyjaśnienie:
  • function showClientImage() - Tworzymy funkcję guiCreateStaticImage( 0.017578, 0.929666, 0.335781, 0.075521, "logo.png", true ) - Tworzymy obrazek addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), showClientImage ) - "Definiujemy" kiedy ma działać ten obrazek ( w tym przypadku po starcie skryptu).
Teraz podmieniamy logo.png na swoje logo (w formacie .png).
  • Tworzymy Mete
 
<meta> 
<info author="Wisnia75" version="1.0" /> 
<script src="logo.lua" type="client" /> 
<file src="logo.png" /> 
</meta> 

Wyjaśnienie:


  • <meta> - start mety
    <info author="Wisnia75" version="1.0" /> - informacja o autorze i wersji
    <script src="logo.lua" type="client" /> - ścieżka do skryptu i typ skryptu ( w tym przypadku po stronie klienta)
    <file src="logo.png" /> - ścieżka obrazka
    </meta> - zakończenie mety

Zakaz kopiowania! By i386x Wszelkie prawa zastrzeżone!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×