minecrafttr aramıza katil!
batihost minecraft server kirala
Satın Al
MinecraftTR Reklam Alanı
Satın Al
Satın Al
Satın Al

MTA LUA Dersleri: Yeni Başlayanlar İçin DERS 1:

Seçkin madenci.
Katılım
14 Temmuz 2019
Mesajlar
54
Tepki puanı
18
Puanları
1,070
Discord
vaster#2123
Merhaba, bugün meraklıları için basit bir LUA dersi hazırlamak istedim..

Neler Öğreneceğiz?:
Multi Theft Auto için LUA'nın temellerini atmış olacaksınız.
Bazı basit fonksiyonları çözeceksiniz, kendi başınıza basit bir Script yazabileceksiniz.

Ayrıca sorunuz var ise soru sorabilir, tarafımca destek alabilirsiniz.


LUA NEDİR?:

Lua 1993 yılında Brezilya'da bulunan bir Üniversite'de Bilgisayar ve Grafik Teknoloji Grubu üyesi olan "Roberto Ierusalimschy", "Luiz Henrique" de "Figueiredo" ve "Waldemar Celes" tarafından Brezilya'da geliştirilmiştir.

"LUA ağırlıklı olarak gömülü sistemler ve istemciler için tasarlanmış hafif paralel bir programlama dilidir."
Kaynak:

Evet, LUA programlama dilinin kısa bir özgeçmişini sizlere sunmak istedim, şimdi herkesin beklediği kısıma gelelim ; "Nasıl Script Yaparım? - LUA öğrenirim?"

BÖLÜM 1: YARDIMCI YAZILIMLAR:

Elbette LUA programlama için ihtiyacınız olan bazı eklentiler (programlar) bulunuyor, hadi bunlardan en kullanışlı olanına bir göz atalım ; çoğu LUA bilginlerinin kullandığı bir programdır. Aslında adı gibi Windows'da bulunan 'ne benzer.

C:\Program Files (x86)\MTA San Andreas 1.5\server\mods\deathmatch\resources

Kısmına giriyorsunuz. (Sizde farklı bir alan içerisinde de olabilir.)
Eğer daha önce hiç LUA ile ilgilenmediyseniz veya sunucu dosyaları ile oynamadıysanız karşınıza gelecek muhtemel klasörler şunlardır ;

klasörss.png

Şimdi buraya yeni bir klasör oluşturuyorsunuz. Fakat klasör adı içerisinde boşluk olmamalı.
Klasörü oluşturduktan sonra içerisine giriyorsunuz.

Ve bir tane metin belgesi oluşturuyorsunuz.


kaydetme1.png

Daha sonra Farklı Kaydet seçeneğine tıklıyorsunuz ve klasör adını ben server.lua yapıyorum. Sizde yapabilirsiniz. Uzantısı .lua ile bitmeli.
Ayrıca "Metin Belgeleri" yerine "Tüm Dosyalar" seçeneğini seçmelisiniz.

kaydetme2.png


Aynı işlemleri tekrar yapıyorsunuz, bu sefer ise "meta.xml" olarak bir dosya kaydediyorsunuz. Evet, ilk kurulumlarımız bu kadardı. Metin belgesini silebilirsiniz.
Eğer ekstra bir sorun çıkmadı ise klasörünüz içerisinde bulunan dosyalar böyle gözükecektir ;

sorunteyit.png


BÖLÜM 2: LUA'NIN TEMELLERİ:

Evet arkadaşlar artık hazırsınız, şimdi LUA'nın temellerini öğrenebilecek yazılım donanımlarına sahipsiniz. Artık başlayabiliriz..
"meta.xml" dosyamıza sağ tıklıyoruz, "Edit with Notepad++" seçeneğine tıklıyoruz.


META XML ne işimize yarayabilir?:

Meta.xml LUA uzantılı dosyanızı sunucuya tanıtır. Dosyanızın türünü, sahibini, sürümünü ve bir çok özelliğini sunucuya yani konsola iletir.


(Lütfen kopyala yapıştır yapmayın, yan kısımda açıklamalar bulunuyor. Onlar ile beraber kopyalarsanız hata alabilirsiniz. Kendiniz yazarsanız pratik yapmış olursunuz.)
Meta.xml giriş:

<meta> // kodumuzu başlatmış olduk.


<info author="Özgür" version="1.0.0" name="TestScript" description="MinecraftTR"/>

// author="YapımcıAdı" // version="ScriptVersiyonu" // name="ScriptAdi" // description="Açıklama"

< script src="server.lua" type="server"/>

// Burada sunucu içerisinde kullanacağımız Script'i yani Server.Lua'yı Meta.xml dosyamıza tanımlamış olduk.
Eğer tanımlamasaydık hata alacaktık ve Scriptimiz çalışmayacaktı.

</meta> // metamızın bittiğini söyledik.

Sonuç :

meta.xml açmak.png




BÖLÜM 3: LUA'YA BAŞLIYORUZ!:

Buraya kadar her şeyi anladıysak tamamdır! Anlamadıysanız bana sorularınızı iletebilir veyahut tekrar tekrar konuya göz gezdirebilirsiniz. Şimdi herkesin istediği kısıma geliyoruz. Server.lua dosyasını açın!

LUA DERSLERİ:


Öncelikle LUA çok basit işliyor.

function = fonksiyon tanımlamak.

Örnek verecek olursak ; function test () - artık "test" adında bir fonksiyonumuz var!

Fakat "()" işaretleri neden diye sorabilirsiniz.

Fonksiyonlar bazen içerisine yardımcı elemanlar eklenmesini isteyebilir. Mesela bir oyuncuya para vereceksiniz fakat önce oyuncunun bilgilerine erişmeniz lazım, bilmediğiniz bir oyuncu ismine para gönderemezsiniz.


Function ParaGonder (thePlayer) - thePlayer oyuncuyu tanımlamamıza yarayacaktır. Oyuncu için yazacağımız kodlarda bu değişkeni kullanacağız.

outputChatBox("Başarı ile 300$ aldınız.",thePlayer,255,255,255,true) // kullanıcıya mesaj göndermenize yarar. 255,255,255'ler renk kodlarıdır. Sonda ki true ise renk kodlarını çalıştırır. thePlayer ise o mesajın sadece o kullanıcıya gitmesini sağlar.

givePlayerMoney(thePlayer, 300) // givePlayerMoney değişkeni oyuncuya para vermemizi sağlar. Parantez içerisinde thePlayer yani komutu yazan kişiye verilecek para belirlenir. Yani thePlayer oyuncu bilgisini çekmemize yarar. thePlayer'dan sonra ise para miktarı yazılır.

end // komut satırını bitirmemize yarar ki komutumuz öbür string dizilerine ulaşmasın. (string - yazı)
addCommandHandler("denemekomut",ParaGonder) // komutumuzu yazmamıza olanak verir. addCommandHandler fonksiyonu /'dan sonra gelecek komutu belirler. /denemekomut yazınca komutunuz çalışır.

addCommandHandler("denemekomut",ParaGonder) // ,ParaGonder ise bu komutun hangi fonksiyon için çalışacağını belirler. addCommandHandler her zaman end'in altında olmalıdır. Yani fonksiyonların ve değişkenlerin en altında.

Sonuç ;


serverlua.png



Evet arkadaşlar umarım eğitimi beğenmişsinizdir ve hoşunuza gitmiştir, eğitim için çok fazla vaktimi ayıramadım fakat DERS 2 gelecektir. Bir sonra ki eğitimler de görüşmek dileği ile.
 
Son düzenleme:
Seçkin madenci.
Katılım
26 Mayıs 2019
Mesajlar
47
Tepki puanı
20
Puanları
1,065
Discord
paradox#6807
Ellerine sağlık, devamını bekliyoruz.
 
Elmas madencisi.
Katılım
16 Ağustos 2021
Mesajlar
67
Tepki puanı
25
Puanları
315
Discord
jiko#5327
Başarılı bir konu. Elinize sağlık.
 

Üst