Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Metin2 Quest tarafı LUA Dili Tarihi ve Örnekleri

lHezarfeNl

Love Turkmmo
TM Üye
Katılım
26 Ara 2012
Konular
936
Mesajlar
15,645
Online süresi
3ay 29g
Reaksiyon Skoru
2,666
Altın Konu
295
Başarım Puanı
327
TM Yaşı
13 Yıl 3 Ay 27 Gün
MmoLira
499
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Lua, Brezilyalı bir programcı olan Roberto Ierusalimschy tarafından 1993 yılında PUC-Rio (Pontifícia Universidade Católica do Rio de Janeiro) Üniversitesi'nde geliştirilmeye başlanan bir betik dilidir. Lua, "ay" anlamına gelir ve "açık kaynaklı, genel amaçlı, hafif, gömülü bir dil" olarak tanımlanır. Lua'nın tasarımı, taşınabilirlik, hız ve basitlik gibi temel prensiplere odaklanır.
1712010015637.png



İşte Lua dilinin kısa tarihçesi ve temel özellikleri:

Tarihçe:
  • Lua, öncelikle bir konfigürasyon dili olarak tasarlandı ve ardından genel amaçlı bir dil haline geldi.
  • Roberto Ierusalimschy, Waldemar Celes ve Luiz Henrique de Figueiredo tarafından geliştirilen Lua, 1993'te ilk kez yayımlandı.
  • Dilin hafifliği ve gömülü sistemlerde kullanımı için uygunluğu, oyun endüstrisinde ve diğer gömülü sistemlerde hızla popülerlik kazanmasına katkıda bulundu.
Lua'nın Özellikleri:
  1. Hafif ve Hızlı: Lua, küçük bir çekirdek kitaplığa sahip ve düşük bellek kullanımına odaklanmış bir dil olduğu için hafiftir ve hızlı çalışır.
  2. Gömülü Sistemlerde Kullanım: Lua, gömülü sistemlerde, oyun geliştirmede ve diğer yerlerde geniş bir kullanım alanına sahiptir.
  3. Dinamik Tiplendirme: Lua, dinamik tiplendirmeye sahip bir dil olarak çalışır. Bu, değişkenlerin türlerinin çalışma zamanında belirlenebileceği anlamına gelir.
  4. Garbage Collection (Çöp Toplama): Lua, otomatik çöp toplama özelliği sayesinde bellek yönetimini kolaylaştırır.
  5. Taşınabilirlik: Lua, ANSI C standardına dayalı olarak tasarlanmıştır, bu da dilin birçok platformda taşınabilir olmasını sağlar.
  6. Esnek Veri Yapıları: Lua, tablolar adı verilen esnek bir veri yapısına sahiptir. Bu veri yapısı, dizileri, kümeleri ve diğer veri yapılarını içerebilir.
Kullanım Alanları:
  • Oyun Geliştirme: Lua, birçok oyun motoru ve oyun içi betikleme dilinde kullanılır.
  • Gömülü Sistemler: Lua, gömülü sistemlerde (örneğin, akıllı cihazlar, yazıcılar) hafifliği ve taşınabilirliği nedeniyle yaygın olarak kullanılır.
  • Konfigürasyon Dosyaları: Lua, yapılandırma dosyaları oluşturmak için kullanılabilir.
Lua, popüler bir açık kaynaklı projedir ve Lua dili ve kütüphaneleri hâlâ geliştirilmeye devam etmektedir. Lua, küçük boyutu, hızlı performansı ve esnek kullanım alanları nedeniyle birçok uygulama geliştiricisi tarafından tercih edilmektedir.
Metin2, Lua programlama dilini oyunun içinde kullanarak oyun içi senaryo ve görevlerin yazılmasında ve oyun mekaniğinin oluşturulmasında kullanmaktadır. Lua, Metin2'nin oyun içi betikleme ve uzantılar yazma işlevselliğini sağlamak için kullanılan bir skriptleme dilidir. Metin2'nin oyun motoru, Lua dilini oyun içi işlevsellik eklemek ve özelleştirmek için kullanmaktadır.
İşte Metin2 ve Lua dilinin bağlantısı hakkında bazı detaylar:
  1. Görevler ve Senaryolar: Metin2'de oyun içi görevler, senaryolar ve olaylar Lua dilinde yazılır. Bu, oyun geliştiricilerinin oyun içi etkileşimleri özelleştirmelerine ve yeni içerikler eklemelerine olanak tanır.
  2. Oyun Mekaniği: Lua, oyun içindeki özellikleri ve mekaniği özelleştirmek için kullanılır. Oyun içindeki karakterlerin davranışları, düşman yapısı, ödül sistemleri ve benzeri birçok özellik Lua skriptleri aracılığıyla kontrol edilebilir.
  3. Arayüz Özelleştirmesi: Lua dilinin kullanılması, oyunun arayüzünü özelleştirmek için de yaygındır. Bu, oyun içindeki kullanıcı ara yüzünü kişiselleştirmek ve özelleştirmek isteyen geliştiricilere esneklik sağlar.
  4. Eklentiler ve Modlar: Lua, oyun topluluğunun kendi eklentilerini ve modlarını oluşturmasına izin verir. Bu, oyuncuların oyunu daha fazla özelleştirmelerine ve topluluk tabanlı içerik oluşturmalarına olanak tanır.
  5. Güncellemeler ve Değişiklikler: Lua skriptleri, oyunun güncellemeleri ve değişiklikleri için kullanılır. Oyun geliştiricileri, Lua skriptlerini kullanarak yeni özellikleri hızla ekleyebilir ve oyun içindeki denge sorunlarını düzeltebilir.
Bu nedenle, Lua dilinin Metin2 içinde geniş bir rolü vardır ve oyunun esnek ve özelleştirilebilir bir yapıya sahip olmasına katkıda bulunur. Lua, Metin2 topluluğu ve geliştiricileri arasında popüler bir dil olmuştur ve oyunun sürekli gelişmesine katkı sağlamaktadır.

Metin2 oyununda kullanılan Lua dili, genellikle "quest" olarak adlandırılan ve oyun içinde görevleri, etkinlikleri ve senaryoları tanımlayan betikleri içerir. İşte basit bir Metin2 quest örneği:

Kod:
quest hello_world begin
    state start begin
        when login or levelup with pc.get_level() >= 1 begin
            say_title("Merhaba, Dünya!")
            say("Hoş geldin, dostum! Bu basit bir görevdir.")
            wait()
            say("Görevi tamamlamak için bir şey yapmana gerek yok.")
            wait()
            say("Sadece bu mesajı görmüş oldun. İyi oyunlar!")
        end
    end
end
1712010457912.png

Bu basit quest, oyuncu her seviye atladığında veya giriş yaptığında bir hoş geldin mesajı gösterir. Bu örnek, oyunculara oyun içindeki görevlerin ve senaryoların nasıl yazılabileceği konusunda temel bir anlayış sağlar.

Canavar Avı Görevi:
Canavar Avcı Görevi:
quest monster_hunt begin
    state start begin
        when login begin
            say_title("Canavar Avı")
            say("Hoş geldin, kahraman! Seni bir göreve gönderiyorum.")
            wait()
            say("Çevredeki yaratıkları avlayarak bana getir.")
        end
        when kill with pc.get_level() >= 5 begin
            local monster_count = pc.getqf("monster_count") + 1
            pc.setqf("monster_count", monster_count)
            say_title("Canavar Avı")
            say("Bir canavar daha avladın! Toplam: "..monster_count)
            if monster_count >= 10 then
                say("Görev tamamlandı! Tebrikler!")
                set_state(__COMPLETE__)
            end
        end
    end
end
1712010710327.png

Bu örnek görev, oyuncuya belirli bir seviyeden itibaren çeşitli canavarları avlamalarını ve belirli bir sayıya ulaştıklarında görevi tamamlamalarını istiyor.
Bu quest örnekleri, Metin2 içinde kullanılan Lua dilindeki basit görevleri anlatan örneklerdir. Gerçek projelerde daha karmaşık ve özelleştirilmiş questler oluşturmak mümkündür.

Önemli not: questler kendi alt yapıma göre yazılmıştır sizlerde kendi fonksiyonlarınızı kullanarak yazabilirsiniz
 

Ekli dosyalar

  • ddqx5q7-32338ab7-3594-4f34-9270-2a3de2d06552.png
    ddqx5q7-32338ab7-3594-4f34-9270-2a3de2d06552.png
    192 KB · Görüntüleme: 0
  • Screenshot_1.png
    Screenshot_1.png
    2.1 MB · Görüntüleme: 0
  • Screenshot_2.png
    Screenshot_2.png
    2.7 MB · Görüntüleme: 0
Moderatör tarafında düzenlendi:

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler.
 
Paylaşım için teşekkürler.
 
Paylaşım İçin Teşekkürler <3
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst