ÖzgürS
Seçkin madenci.
- Katılım
- 14 Temmuz 2019
- Mesajlar
- 54
- Tepki puanı
- 18
- Puanları
- 1,070
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 ;
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 ;
Ş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.
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.
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 ;
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ç :
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ç ;
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.
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:
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yapın veya üye olun.
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 ;
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yapın veya üye olun.
çoğu LUA bilginlerinin kullandığı bir programdır. Aslında adı gibi Windows'da bulunan
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yapın veya üye olun.
'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 ;
Ş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.
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.
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 ;
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ç :
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ç ;
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: