GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
10 Ağustos 2022, 23:05:12

[MTA:SA] LUA #1

Başlatan sw1tch, 28 Ağustos 2021, 15:32:39

« önceki - sonraki »

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

sw1tch

Herkese merhabalar, ben sw1tch. Bu gün sizlere Multi Theft Auto içinde script yazmak için kullanabiliceğiniz LUA programlama dilinde bir başlalangıç rehberi hazırladım. Umarım beğenirsiniz.

META OLUŞTURMA

İlk başta kodlarımı yazacağım bir lua dosyası oluşturalım. Bir tane lua dosyası oluşturduk ve ismini örnek veriyorum "s.lua" koyduk.
Sonrasında bir tane de dosyalarımızı tanıtacağımız "meta.xml" adında bir xml dosyası oluşturalım ve içini açalım.

<meta> <!-- "<meta>" ile meta tagımızı açalım.!-->
<script src="s.lua" type="server"/>
</meta> <!-- "</meta> ile metamızı kapıyoruz!-->



<!-- Ardından "<script src="dosyaadi.lua" type="server/client"/> burada ise ilk başta oluşturduğumuz dosya adını script src ile belirtiyoruz ardından kodlarımızın hangi taraflı yazılacağını belirtiyoruz client ise client server taraflı ise server yazıyoruz biz bu günlük server tarafını öğreneceğiz!-->



FONKSİYON OLUŞTURMA, GENEL MANTIK

Sonra bir fonksiyon oluşturalım.

function fonksiyonName()
Yazarak fonksiyonName ismindeki fonksiyonumuzu oluşturduk. Şimdi, fonksiyon değişkenlerini ve argümanlarımızı girelim.

function fonksiyonName(player,command)
Fonksiyon parantezinin içine gireceğiniz ilk argüman her zaman "Oyuncuyu" ikinci argüman ise "Komutu" belirtir, fakat bu sadece server tarafı ve komut ile yapacağımız fonksiyonlar için geçerlidir.
Şimdi ise, fonksiyonumuzun içine yapacağımız kodları girelim.

function fonksiyonName(player,command)
local players = getElementsByType("player") -- Burada oyunda olan bütün oyuncuları "players" değişkeni adı altında çektik.
local allPlayersNumber = #players -- Burada çektiğimiz players değişkeninin başına "#" koyarak toplam oyuncu sayısını çektirdik.

outputChatBox("[!] #ffffffŞu anda oyunda oynayan toplam "..allPlayersNumber.." oyuncu bulunmakta.", player,255,0,0,true) -- Buradaki örnekteki gibi bir veriyi yazdırmak istersek iki tırnak arasına bu şekilde yazarak çektirebiliriz. outputChatBox fonksiyonu oyuncunun chatine bir mesaj göndermeye yarar. Sondaki 4 argüman sırasıyla şu işlevleri görür.
--  1. argüman = Mesajın gönderileceği oyuncu, 2,3,4. argümanlar sırayla R,G,B renk kodlarını ifade eder istediğiniz renk kodlarını girerek chate o renkte bir yazı yazdırabilirsiniz.
-- 5. argüman ise mesajın başında yazdığımız "#ffffff" kodunu beyaza tetikler eğer oraya false yazsaydık chate "#ffffff" olarak atardı ama true yazdığımız için onun bir renk kodu olduğunu algıladı ve mesajı o renge çevirdi.


end -- Son olarak end ile fonksiyonu bitiriyoruz.
addCommandHandler("test", fonksiyonName) -- burada ise fonksiyonu tetikleyecek bir komut atıyoruz, ilk argümanımız komut ismini belirler ikinci argümanımız ise tetiklenecek fonksiyonu belirtir ve işlem sonlanır.

İlk rehber içeriğimiz bu kadardı, vakit buldukça sizlere MTA için LUA dilinin mantığını anlatmaya çalışacağım. İyi forumlar.


Narisca

Alıntı konu fakat paylaşım için teşekkürler.

İletişim: narisca@marina-gaming.com
Discord : Narisca#1041
Web Developer & Game Developer
Project : www.marina-gaming.com
2020-2022

sw1tch

Alıntı yapılan: Narisca - 28 Ağustos 2021, 15:34:55
Alıntı konu fakat paylaşım için teşekkürler.
Alıntı derken? Kaynak gösterir misiniz? Ayrıca, hayır kendim yazdım konuyu alıntı değil.


Feick

Teşekkürler.


sharax


Gladiator

Teşekkürler.


Glexy