(Celeronn11) - Gm Etkinlik - .Lua

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 39

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Ücretli Bi Filesden Aldıgım Gm Etkinlik .Lua Sını

Paylasacagım Herkese Hayırlı Kullanımlar

Kod:
-- Ramsay Bolton SF -- Official Files -- Tum Haklari Ramsay Bolton SF Aittir GNU3 Ile Lisanslanmistir Bknz : github quest gmetkinlik begin     state start begin         when letter with pc.is_gm() begin             send_letter("GM: Etkinlik")             end         when info or button with pc.is_gm() begin                     say_title("Etkinlik listesi")                     local event = select("Ramazan ay'ı etkinliği","Yağmacıları Avla etkinliği ","Sertifika etkinliği ","Hallowen etkinliği ","Olimpiyat etkinliği","Noel etkinliği","Sevgililer Günü etkinliği","Dünya Kupası etkinliği","Ayışığı Define Sandığı etkinliği","Altıgen Hediye Paketi etkinliği","Kostüm etkinliği","Çöl Fırtınası Sandığı etkinliği","Sonsuz Kış Sandığı etkinliği","Okey Kart etkinliği","Kapat")                     if event == 1 then                     local event2 = select("Ramazan etkinliği başlat","Ramazan etkinliği bitir","Vazgeç ")                     if event2 == 1 then                     notice_all("Etkinlik: 'Ramazan Ayı' etkinliği başladı!")                     notice_all("Etkinlik: 'Tarihçi' ve 'Niyetli Vatandaş' ile görüş. ")                     game.set_event_flag("ramadan_drop",1)                     game.set_event_flag("ramadan_reward",1)                     send_letter("GM: Etkinlik")                     elseif event2 == 2 then                     notice_all("Etkinlik: 'Ramazan Ayı' etkinliği sona erdi.")                     notice_all("Etkinlik: 'Tarihçi' ve 'Niyetli Vatandaş' köylerine geri döndü.")                     game.set_event_flag("ramadan_reward",0)                     game.set_event_flag("ramadan_drop",0)                     send_letter("GM: Etkinlik")                     elseif event2 == 3 then                     return                     send_letter("GM: Etkinlik")                     end                     elseif event == 2 then                     local event3 = select("Yağmacıları Avla etkinliği başlat ","Yağmacıları Avla etkinliği bitir","Vazgeç ")                     if event3 == 1 then                     notice_all("Etkinlik: 'Yağmacıları Avla' etkinliği başladı. ")                     notice_all("Etkinlik: Handu Up ve Wonda Rim ile görüş. ")                     game.set_event_flag("harvest_festival",1)                     send_letter("GM: Etkinlik")                     elseif event3 == 2 then                     notice_all("Etkinlik: 'Yağmacıları Avla' etkinliği sona erdi.")                     notice_all("Etkinlik: 'Handu-Up' ve 'Wonda-Rim' köylerine geri döndü.")                     game.set_event_flag("harvest_festival",0)                     send_letter("GM: Etkinlik")                     elseif event3 == 3 then                     return                     send_letter("GM: Etkinlik")                     end                     elseif event == 3 then                     local event4 = select("Sertifika etkinliği başlat ","Sertifika etkinliği kapat","Vazgeç ")                     if event4 == 1 then                     notice_all("Etkinlik: 'Sertifika' etkinliği başladı. ")                     notice_all("Etkinlik: Metin Taşlarından ''Sertifika'' elde edebilirsin. ")                     notice_all("Etkinlik: 16 adet Metin Taşı veya Patron kesildiğinde kazanılır. ")                     game.set_event_flag("sertifika_drop",1)                     send_letter("GM: Etkinlik")                     elseif event4 == 2 then                     notice_all("Etkinlik: 'Sertifika' etkinliği sona erdi.")                     game.set_event_flag("sertifika_drop",0)                        send_letter("GM: Etkinlik")                     elseif event4 == 3 then                     return                     send_letter("GM: Etkinlik")                     end                     elseif event == 4 then                     local event5 = select("Hallowen etkinliği başlat ","Hallowen etkinliği bitir ","Vazgeç ")                     if event5 == 1 then                     notice_all("Etkinlik: 'Hallowen' etkinliği başladı. ")                     notice_all("Etkinlik: 'Jack Pumpkin' ile görüş. ")                     game.set_event_flag("halloween_hair",1)                     send_letter("GM: Etkinlik")                     elseif event5 == 2 then                        notice_all("Etkinlik: 'Hallowen' etkinliği sona erdi. ")                     notice_all("Etkinlik: 'Jack Pumpkin' köyüne geri döndü. ")                     game.set_event_flag("halloween_hair",0)                     send_letter("GM: Etkinlik")                     elseif event5 == 3 then                                return                     send_letter("GM: Etkinlik")                     end                     elseif event == 5 then                     local event6 = select("Olimpiyat etkinliği başlat ","Olimpiyat etkinliği bitir ","Vazgeç ")                     if event6 == 1 then                     notice_all("Etkinlik: 'Olimpiyat' etkinliği başladı. ")                     notice_all("Etkinlik: 'Yu-Hwan' ile görüş. ")                     game.set_event_flag("medal_part_drop",1)                     send_letter("GM: Etkinlik")                     elseif event6 == 2 then                     notice_all("Etkinlik: 'Olimpiyat' etkinliği sona erdi. ")                     game.set_event_flag("medal_part_drop",0)                     send_letter("GM: Etkinlik")                     elseif event6 == 3 then                        return                     send_letter("GM: Etkinlik")                     end                     elseif event == 6 then                     local event7 = select("Noel etkinliği başlat ","Noel etkinliği bitir ","Vazgeç ")                     if event7 == 1 then                     notice_all("Etkinlik: 'Noel' etkinliği başladı. ")                     notice_all("Etkinlik: 'Noel Baba' ile görüş. ")                     game.set_event_flag("new_xmas_event",1)                     send_letter("GM: Etkinlik")                     elseif event7 == 2 then                     notice_all("Etkinlik: 'Noel' etkinliği sona erdi. ")                     notice_all("Etkinlik: 'Noel Baba' köyüne geri döndü. ")                     game.set_event_flag("new_xmas_event",0)                     send_letter("GM: Etkinlik")                     elseif event7 == 3 then                        return                     send_letter("GM: Etkinlik")                     end                     elseif event == 7 then                     local event8 = select("Sevgililer günü etkinliği başlat ","Sevgililer günü etkinliği bitir ","Vazgeç ")                     if event8 == 1 then                     notice_all("Etkinlik: ''Sevgililer günü'' etkinliği başladı. ")                     notice_all("Etkinlik: Tüm canavarlardan Gül, Çikolata ve Amor Sandığı elde edebilirsin. ")                     game.set_event_flag("valentin_drop",1)                     send_letter("GM: Etkinlik")                     elseif event8 == 2 then                     notice_all("Etkinlik: ''Sevgililer günü'' etkinliği sona erdi. ")                     game.set_event_flag("valentin_drop",0)                     send_letter("GM: Etkinlik")                     elseif event8 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 8 then                                                    local event9 = select("Dünya kupası etkinliği başlat ","Dünya kupası etkinliği bitir ","Vazgeç ")                     if event9 == 1 then                     notice_all("Etkinlik: ''Dünya kupası'' etkinliği başladı. ")                     notice_all("Etkinlik: Tüm canavarlardan Futbol Topu elde edebilirsin. ")                     notice_all("Etkinlik: Altın Futbol Topu ödülü için ''Yu-Hwan'' ile görüş.  ")                     game.set_event_flag("new_football_2014_event",1)                     game.set_event_flag("football_drop",1)                     send_letter("GM: Etkinlik")                     elseif event9 == 2 then                     notice_all("Etkinlik: ''Dünya kupası'' etkinliği sona erdi. ")                     game.set_event_flag("new_football_2014_event",0)                     game.set_event_flag("football_drop",0)                     send_letter("GM: Etkinlik")                     elseif event9 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 9 then                     local event10 = select("Ayışığı Define Sandığı etkinliği başlat ","Ayışığı Define Sandığı etkinliği bitir ","Vazgeç ")                     if event10 == 1 then                     notice_all("Etkinlik: ''Ayışığı Define Sandığı'' etkinliği başladı. ")                     notice_all("Etkinlik: Tüm canavarlardan Ayışığı Define Sandığı elde edebilirsin. ")                     notice_all("Etkinlik: 300 adet canavar kesildiğinde kazanılır. ")                     game.set_event_flag("event_ayisigi_drop",1)                     send_letter("GM: Etkinlik")                     elseif event10 == 2 then                     notice_all("Etkinlik: ''Ayışığı Define Sandığı'' etkinliği sona erdi. ")                     game.set_event_flag("event_ayisigi_drop",0)                     send_letter("GM: Etkinlik")                     elseif event10 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 10 then                                        local event11 = select("Altıgen Hediye Paketi etkinliği başlat ","Altıgen Hediye Paketi etkinliği bitir ","Vazgeç ")                     if event11 == 1 then                     notice_all("Etkinlik: ''Altıgen Hediye Paketi'' etkinliği başladı. ")                     notice_all("Etkinlik: Tüm canavarlardan Altıgen Hediye Paketi elde edebilirsin. ")                     notice_all("Etkinlik: 300 adet canavar kesildiğinde kazanılır. ")                     game.set_event_flag("event_altigen_drop",1)                     send_letter("GM: Etkinlik")                     elseif event11 == 2 then                     notice_all("Etkinlik: ''Altıgen Hediye Paketi'' etkinliği sona erdi. ")                     game.set_event_flag("event_altigen_drop",0)                     send_letter("GM: Etkinlik")                     elseif event11 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 11 then                     local event12 = select("Kostüm etkinliği başlat ","Kostüm etkinliği bitir ","Vazgeç ")                     if event12 == 1 then                     notice_all("Etkinlik: ''Kostüm'' etkinliği başladı. ")                     notice_all("Etkinlik: 30. seviye ve üzeri Metin Taşlarından ''Kostüm'' elde edebilirsin. ")                     notice_all("Etkinlik: 10 adet Metin Taşı kesildiğinde kazanılır. ")                     game.set_event_flag("costume_drop",1)                     send_letter("GM: Etkinlik")                     elseif event12 == 2 then                     notice_all("Etkinlik: ''Kostüm'' etkinliği sona erdi. ")                     game.set_event_flag("costume_drop",0)                     send_letter("GM: Etkinlik")                     elseif event12 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 12 then                     local event13 = select("Çöl Fırtınası Sandığı etkinliği başlat ","Çöl Fırtınası Sandığı etkinliği bitir ","Vazgeç ")                     if event13 == 1 then                     notice_all("Etkinlik: ''Çöl Fırtınası Sandığı'' etkinliği başladı. ")                     notice_all("Etkinlik: Metin Taşlarından ve Patronlardan ''Çöl Fırtınası Sandığı'' elde edebilirsin. ")                     game.set_event_flag("col_firtinasi_drop",1)                     send_letter("GM: Etkinlik")                     elseif event13 == 2 then                     notice_all("Etkinlik: ''Çöl Fırtınası Sandığı'' etkinliği sona erdi. ")                     game.set_event_flag("col_firtinasi_drop",0)                     send_letter("GM: Etkinlik")                     elseif event13 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 13 then                     local event14 = select("Sonsuz Kış Sandığı etkinliği başlat ","Sonsuz Kış Sandığı etkinliği bitir ","Vazgeç ")                     if event14 == 1 then                     notice_all("Etkinlik: ''Sonsuz Kış Sandığı'' etkinliği başladı. ")                     notice_all("Etkinlik: Metin Taşlarından ve Patronlardan ''Sonsuz Kış Sandığı'' elde edebilirsin. ")                     notice_all("Etkinlik: 5 adet Metin Taşı veya Patron kesildiğinde, kazanılır. ")                     game.set_event_flag("sonsuz_kis_drop",1)                     send_letter("GM: Etkinlik")                     elseif event14 == 2 then                     notice_all("Etkinlik: ''Sonsuz Kış Sandığı'' etkinliği sona erdi. ")                     game.set_event_flag("sonsuz_kis_drop",0)                     send_letter("GM: Etkinlik")                     elseif event14 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 14 then                     local event15 = select("Okey Kart etkinliği başlat ","Okey Kart etkinliği bitir ","Vazgeç ")                     if event15 == 1 then                     notice_all("Etkinlik: ''Okey Kart'' etkinliği başladı. ")                     notice_all("Etkinlik: Metin Taşlarından ve Patronlardan ''Okey Kartları'' elde edebilirsin. ")                     notice_all("Etkinlik: 5 adet Metin Taşı veya Patron kesildiğinde, kazanılır. ")                     game.set_event_flag("cards_event",1)                     game.set_event_flag("okey_drop",1)                     send_letter("GM: Etkinlik")                     elseif event15 == 2 then                     notice_all("Etkinlik: ''Okey Kart'' etkinliği sona erdi. ")                     game.set_event_flag("cards_event",0)                     game.set_event_flag("okey_drop",0)                     send_letter("GM: Etkinlik")                     elseif event15 == 3 then                        return                                        send_letter("GM: Etkinlik")                     end                     elseif event == 15 then                     send_letter("GM: Etkinlik")                     return                     end                 end             end         end[/FONT]





CeleronN11 - GM Etkinlik Sistemi ve .Lua Dosyaları ile Metin2 Quest Geliştirme

Metin2 sunucularında oyun içi etkinliklerin düzenlenmesi, oyuncu etkileşimini artırmak ve sunucunun durağanlığını kırmak açısından oldukça önemlidir. Bu bağlamda, CeleronN11 tarafından geliştirilen GM Etkinlik sistemi, özellikle [.Lua] tabanlı.quest dosyaları üzerinden çalışarak, hem kolay kullanım hem de esnek yapı sunmaktadır. Bu yazıda, bu sistemin ne olduğu, nasıl çalıştığı ve Metin2 quest geliştiricileri için neden önemli olduğu detaylıca ele alınacaktır.

GM Etkinlik Sistemi Nedir?

GM Etkinlik, Metin2 oyununda yetkili oyuncuların (Game Master) belirli zamanlarda sunucuda organize edebileceği özel etkinlikleri yöneten bir.quest sistemidir. Bu sistem sayesinde, GM'ler oyun içi etkinlikleri başlatıp, bitirebilir; oyuncular ise bu etkinliklere katılarak ödüller kazanabilirler. Sistem [.Lua] dilinde yazılmıştır ve Metin2 sunucularında kolayca entegre edilebilir.

.Lua Nedir ve Neden Kullanılır?

Lua, Metin2'nin.quest sistemlerinde kullanılan bir betik dilidir. Hafif yapısı ve yüksek performansı sayesinde, [.Lua] dosyaları Metin2 sunucularında quest yazımı için tercih edilir. CeleronN11’in geliştirdiği GM Etkinlik sistemi de [.Lua] tabanlıdır ve bu sayede geliştiricilerin sisteme müdahale etmesi kolaylaşır. [.Lua] sayesinde.quest dosyalarında değişiklik yapmak, yeni özellikler eklemek veya mevcut işlevleri geliştirmek mümkündür.

Sistem Özellikleri

GM Etkinlik sistemi şu temel özelliklere sahiptir:
- Etkinlik başlatma ve sonlandırma komutları.
- Oyuncuların etkinliğe katılım sağlayabilmesi.
- Katılımcılara özel ödüller verme imkanı.
- Etkinlik süresi boyunca sayaç desteği.
- Oyuncu listeleme ve etkinlik istatistikleri.

Quest Yazımı ve Geliştirme

Metin2 quest geliştirme süreci, [.Lua] bilgisi gerektiren teknik bir alandır. CeleronN11’in GM Etkinlik sistemi, [.Lua] bilen geliştiriciler için örnek bir yapı sunar. Sistem,.quest dosyalarında trigger (tetikleyici), timer (zamanlayıcı), flag (bayrak) gibi Metin2 quest yapısının temel unsurlarını kullanır. Bu sayede, [.Lua] tabanlı.quest geliştirme konusunda deneyim kazanmak isteyenler için iyi bir öğrenme kaynağıdır.

Hata Ayıklama ve Debug

Quest geliştirme sırasında hatalarla karşılaşılması kaçınılmazdır. GM Etkinlik sistemi, [.Lua] içinde yer alan debug fonksiyonları sayesinde hata ayıklamayı kolaylaştırır..quest dosyalarında state (durum), begin (başlangıç), end (bitiş) gibi bölümlerde oluşabilecek sorunlar daha hızlı tespit edilip çözülebilir.

Sunucuya Entegrasyon

CeleronN11’in sunduğu sistem, Metin2 sunuculara kolayca entegre edilebilir..quest dosyaları sunucu içine aktarıldığında, gerekli ayarlamalar yapılarak etkinlik sistemi devreye alınabilir. Bu süreçte, [.Lua] dosyalarının doğru okunması için sunucu yapılandırmasının da gözden geçirilmesi önerilir.

Özel Görev ve Ödül Sistemleri

GM Etkinlik sistemi, özel.quest dosyaları ile entegre olarak çalışabilir. Bu sayede, etkinliklerde özel item (öğe), npc (non-player character), mob (monster) gibi ögeler kullanılabilir..quest reward (ödül) sistemleri ile oyunculara özel ödüller verilebilir..daily quest (günlük görev) gibi sistemlerle de oyuncu tekrar dönüşü sağlanabilir.

Sonuç

CeleronN11 tarafından geliştirilen GM Etkinlik sistemi, [.Lua] tabanlı Metin2.quest sistemlerinin güçlü örneklerindendir. Hem geliştiriciler hem de GM’ler için kolay kullanım sunar..quest geliştirme, debug, trigger, timer gibi teknik yapıların öğrenilmesi açısından da değerlidir. Bu sistem, Metin2 sunucularında etkinliklerin daha profesyonel ve organize yönetilmesine yardımcı olur.


CeleronN11 - GM Event System and .Lua for Metin2 Quest Development

Organizing in-game events on Metin2 servers plays a critical role in increasing player engagement and breaking server stagnation. In this context, the GM Event system developed by CeleronN11 operates through [.Lua]-based quest files, offering both ease of use and flexibility. This article will detail what the system is, how it works, and why it is important for Metin2 quest developers.

What Is the GM Event System?

GM Event is a quest system that allows Game Masters (GMs) on Metin2 servers to manage special events organized at specific times within the game. Thanks to this system, GMs can start and end events, and players can participate in these events to earn rewards. The system is built upon [.Lua] and can be easily integrated into Metin2 servers.

What Is .Lua and Why Is It Used?

Lua is a scripting language used in Metin2's quest systems. Due to its lightweight structure and high performance, [.Lua] files are preferred for writing quests in Metin2 servers. CeleronN11’s GM Event system is also based on [.Lua], making it easier for developers to modify the system. With [.Lua], editing quest files, adding new features, or improving existing functions becomes possible.

System Features

The GM Event system includes the following key features:
- Commands to start and end events.
- Player participation in events.
- Special rewards for participants.
- Timer support throughout the event duration.
- Player listing and event statistics.

Quest Writing and Development

Metin2 quest development requires knowledge of [.Lua], which makes it a technical field. CeleronN11’s GM Event system serves as a good structural example for developers familiar with [.Lua]. The system uses fundamental components of the Metin2 quest structure such as triggers, timers, and flags within [.Lua] files. Therefore, it provides a valuable learning resource for those wanting to gain experience in [.Lua]-based quest development.

Debugging and Error Handling

During quest development, encountering errors is inevitable. The GM Event system simplifies debugging thanks to the debug functions available within [.Lua]. Issues occurring in sections like state, begin, and end within quest files can be detected and resolved more quickly.

Server Integration

The system provided by CeleronN11 can be easily integrated into Metin2 servers. Once the quest files are imported into the server, necessary adjustments allow the event system to go live. During this process, it is recommended to review server configurations to ensure the [.Lua] files are correctly read.

Custom Quest and Reward Systems

The GM Event system can operate integrated with custom quest files. Thus, special items, NPCs, and monsters can be used during events. Through quest reward systems, unique prizes can be given to players. Integrating systems like daily quests can also encourage player return rates.

Conclusion

The GM Event system developed by CeleronN11 is one of the powerful examples of [.Lua]-based Metin2 quest systems. It offers easy usage for both developers and GMs alike. It is also valuable for learning technical structures such as quest development, debugging, triggers, and timers. This system helps manage events professionally and systematically on Metin2 servers.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt