MaxiGuard vSRO [MaxiGuard] Survival Event

Herkese Merhaba!

Bu paylaşımı, MaxiGuard ile çeşitli etkinlikler geliştirmek veya yeni etkinlikler oluşturmak isteyenlere bir rehber olması amacıyla yapıyorum. Bu çalışmanın mükemmel olduğunu iddia etmiyorum, ancak MaxiGuard'ın sunduğu özellikleri kullanarak tamamen SQL ve MaxiGuard filtre sistemi ile hazırlanan bir etkinliktir. Herhangi bir ek program ya da yazılım kullanılmamıştır. Bu Basit mantık çerçevesinde, siz de birçok farklı etkinlik oluşturabilir ve geliştirebilirsiniz.

Ben, MaxiGuard'ın bana sağladığı komutlar ile basit bir mantıkla bir etkinlik oluşturacağım. MaxiGuard komut sistemine buradan ulaşabilirsiniz...







Başlamadan Önce Event Kayıtları Teleport ile olmayacaktır...

Öncelikle Event Kayıtı ile Başlayalım yine MaxiGuardın bizler için Sunduğu bir özellik

Event Register Butonu

SRO[2024-10-23 20-40-03]_26.jpg

Öncelikle Buraya Eventimizi Ekleyelim
MaxiGuard_User >_RefEventRegister Tablosunu Açalım Ve Ekleyeceğimiz Eventin İsmini Yazalım
Event Register.PNG
Evet Artık Event Register Penceremizde Survival Arena adlı bir eventimiz var

Event Kayıtı için Yapacağımız Diğer Bir İşlem İse

Regist_SurvivalArena adlı bir Tablo Oluşturmamız
tablo1.PNG

Not: Tablo isminin Regist_SurvivalArena olmasının sebebi, kayıt işlemine bağlı dinamik bir prosedür kullanılmasıdır. Yani, "Regist_" ön ekinin kullanılmasının amacı budur. Örneğin, kayıt işlemi sırasında prosedür içerisinde farklı bölümler oluşturmadan kayıt yapmanızı sağlar. Bunun gibi, Regist_LastManStanding veya Regist_StyriaClash gibi isimler de kullanılabilir. Anladığınızı düşünüyorum; prosedür içeriğini düzenleyerek istediğiniz şekilde değiştirebilirsiniz.

Prosedüre Geçmeden önce Bir Tablo Daha Oluşturalım Bu Tablo İse Kayıtların Açık Olup Olmadığını Kontrol etmek için Oluşturacağız.
EventRegistrationStatus
Ekran Alıntısı.PNG

Regist_SurvivalArena ve EventRegistrationStatus Tablolarımızı oluşturalım
*** Hidden text: cannot be quoted. ***

NOT: VERİTABANI SRO_VT_DORTH Olarak kullanıldı SRO_VT_DORTH Adında bir veritabanı oluşturmanız gerekir. Kendi Veritabanınızı kullanabilirsiniz gerekli yerleri değiştirerek devam edebilirsiniz..

MaxiGuard_User veritabanındaki _OnEventRegister_EDIT adlı prosedürde işlem yapacağız. Bu prosedür, bir tetikleyici (trigger) prosedürdür ve Event Register penceresindeki "Register" butonuna bağlı olarak çalışır.
_OnEventRegister_EDIT

*** Hidden text: cannot be quoted. ***


Diğer işlemlere geçmeden önce, etkinliklerin kayıtlarının açık olup olmadığını kontrol edeceğimiz bir tablo oluşturduk. Kayıtların ne zaman açılacağını ve ne zaman kapanacağını ayarlayacağız. Bunun için yine MaxiGuard’ın _Scheduler tablosunu kullanarak prosedürü istediğimiz saatte veya günde çağırabileceğiz. Bildiğim kadarıyla bu tablo, SQL Agent Server’a bağlı olarak çalışıyor. Eğer bu tabloyu kullanmak istemezseniz, kendinize özel bir tablo oluşturabilirsiniz, ancak buna gerek yok.Çağrılacak dbo.OpenEventRegistration Prosedür *** Hidden text: cannot be quoted. ***

MaxiGuard_User>> _Scheduler Tablosunda işlem yapalım
exec SRO_VT_DORTH.dbo.OpenEventRegistration
Capture.PNG

Şu anda etkinlik kayıtlarımız saat 21:00'de açılacaktır. Kayıtlar açıldığında etkinliğe katılabilirsiniz. Ayrıca, Regist_SurvivalArena tablosuna da bir ekleme yapıldığını göreceksiniz.
Kayıtların Kapanmasına 5 Dakika kaldı Notice geçmek istiyorum.
Örnek olarak veriyorum diğerlerini siz Yapabilirsiniz
*** Hidden text: cannot be quoted. ***

sadsad.PNG
Kayıtların Kapanmasına 1 Dakika kaldı Notice geçmek istiyorum ,Saatlerini Sizler kendi düzeninize uygun ayarlarsınız.
SADAS.PNG
Kayıtların Kapandığna dair Bilgilendirme Geçmek istiyorum ayrıca EventRegistrationStatus Tablosunu Güncellemek*** Hidden text: cannot be quoted. ***

sadsa.PNG

Eventin Başlayacağına Dair 5 Dakika Kaldı Notice Geçmek İstiyorum
startevejnt.PNG
Eventin Başlayacağına Dair 1 Dakika Kaldı Notice Geçmek İstiyorum
startevent1.PNG
Şu anda etkinliği başlatacak prosedürü çağırmamız gerekiyor. Sadece Regist tablosunda kayıtlı olan oyuncuları belirli bir bölgeye taşımamız yeterli. Başlangıçta, tüm yetenekleri (skiller) engellemek için ayrı bir prosedür ekleyeceğiz. Bu prosedürü ayrı olarak eklememin sebebi, farklı alanlarda da kullanılabilir olmasını sağlamaktır. Start prosedürüne ek olarak 60 saniyelik bir sayaç ekledik; bunun amacı, skilleri 1 dakika boyunca engellediğimiz içindir.


*** Hidden text: cannot be quoted. ***

MaxiGuard_User>> _Scheduler Tablosunda işlem yapalım
STARTEVENT.PNG
Şuanda Event Başladı lakin Skiller aktif Kapatmamız Gerekiyor Başlangıç Saati ile aynı yapın Event Başladığında Skillerde Kapansın*** Hidden text: cannot be quoted. ***

closeskıll.PNG
Şuanda Skillerimiz Kapalı 1 Dakika Dolduktan sonra Skilleri Açıp Tam anlamıyla Eventi Başlatıyoruz Burada Sayac Resetlenir Ve 15 dakika olarak yeniden başlatılır Süreyi Ayarlmak için _SurvivalSkillOpen Prosedürünü inceleyin *** Hidden text: cannot be quoted. ***








Şu anda etkinliğimiz başladı ve etkinliği özelleştirmek istiyorum. Bir puan sistemi eklemek güzel olur; bu puanlara göre hediyeler dağıtılabilir. Hadi başlayalım!

Öncelikle Tablo Oluşturalım SurvivalArenaPoints

*** Hidden text: cannot be quoted. ***





Tablomuzu oluşturduk. Şimdi, puanları elde etmek için MaxiGuard_User > _OnCharKillLog_EDIT tetikleyici (trigger) prosedürüne birkaç kod ekleyelim.Eklemeden önce Maxiguard Panelinden Triggeri Aktif edelim..
sadsa.PNG
MaxiGuard_User > _OnCharKillLog_EDIT Eklenecek Kod

*** Hidden text: cannot be quoted. ***


Karakterler artık puan elde edebiliyor. Buraya kadar bir sorun yoksa, devam edelim.

Artık etkinliği bitirme zamanı geldi. 15 dakika sonra SRO_VT_DORTH..dbo._SurvivalArenaEnd prosedürünü çağırmamız gerekecek.



    • Etkinlik ödüllerini düzenleyebilirsiniz.
    • Kazanan karakterin ismi, "Notice" olarak duyurulacak.
    • Oyuncular şehir merkezine (Town) geri çekilecek.
    • Etkinliğe katılan herkese Lose Event Box verilecek.
    • En çok puan alan kazanan oyuncuya 100 silk verilecek. Bu işlemi doğrudan komut ile silk olarak verebilirsiniz.
Sonrasında, Regist tablolarını ve puan tablosunu temizleyip, etkinliği sıfırlayacağız. Diğer gün, ayarladığınız saatte etkinlik yeniden başlayacak. Prosedürü *** Hidden text: cannot be quoted. ***





Birkaç işlemimiz daha kaldı, bunları MaxiGuard panelinden yapacağız.


    • MaxiGuard > Oyun İçi Ayarlar > Pvp Mode Ayarları sekmesine girin.
    • Auto PVP-Mode Ayarları bölümünden 25580, yani Survival Arena Region kodunu girin. Bu, karakterin PvP modunda olmasını sağlar.

      Nick/Guild/Title Gizleme Ayarları ise size bağlı, ancak 25580 Region kodunu girerek devam edebilirsiniz.

      Auto Suit Giydirme Ayarları için de 25580 Region kodunu girin. Bu, etkinlik kıyafetini karaktere giydirir.
Bu ayarlar zorunlu olanlardır, diğerlerini kendi isteğinize göre ayarlayabilirsiniz.


    • Dirilme Ayarları bölümüne gidin.
    • Dirilme Ayarları (Kalkmaya çalışınca olduğu yerde kaldır) kısmına 25580 Region kodunu girerek devam edebilirsiniz.
Bölgesel Dirilme Cooldown Ayarları bölümünde ise ben 15 saniye ayarladım, siz istediğiniz süreyi seçebilirsiniz. 25580 Region kodunu girip devam edebilirsiniz.

Bu ayarlar zorunlu olanlardır, diğerlerini kendi tercihinize göre ayarlayabilirsiniz. Paneli inceleyerek daha fazla özelleştirme yapabilirsiniz.









Şu anda etkinliğimiz sona erdi. Bu etkinliği daha da geliştirebilirsiniz. Ben, elimdeki tablolar ve komutlar ile bu yapıyı oluşturdum. Daha iyi bilen arkadaşların konuyu baltalamasına gerek yok, onlar da paylaşabilirler. Umarım bu işinize yarar. Elimden geldiğince anlatmaya çalıştım. Siz de "şöyle olsa daha iyi olur" diyebilirsiniz ve bunu uygulayabilirsiniz, özgürsünüz.

Foruma yeni katılan arkadaşlar, 100 mesaj sınırı koyduğum için kusura bakmasınlar. Bunun sebebi, konuların alınıp başka forumlarda ya da platformlarda sanki kendileri yapmış gibi paylaşılmasıdır. Bu nedenle bu sınırı koymak zorunda kaldım. Umarım eksik yoktur, varsa da belirtirseniz sevinirim. İyi günler, iyi forumlar.

Not: Survival Arena dosyalarını paylaşmadım. Buradan @iMonarch'ın paylaşımından yararlanabilirsiniz.
thanks
 
thanks
Üst üste post gönderildiği için tek mesajda birleştirildi:

@Dorth bütün herşeyi yaptım ama event not found uyarısı veriyor
suvival olarak metinleri survival olarak da düzenledim
 
tesekkurler
Üst üste post gönderildiği için tek mesajda birleştirildi:

Ben herşeyi yaptım fakat içeriye almıyor ışınlamıyor yardımcı olabilecek olan varsa sevinirim @Dorth
 
Thread owner
tesekkurler
Üst üste post gönderildiği için tek mesajda birleştirildi:

Ben herşeyi yaptım fakat içeriye almıyor ışınlamıyor yardımcı olabilecek olan varsa sevinirim @Dorth
Regist_SurvivalArena tablosuna kayıtlar işleniyormu kontrol edin eğer işlenmiyorsa ,

MaxiGuard_User >_RefEventRegister Tablosunu Açalım Ve Ekleyeceğimiz Eventin İsmini Yazalım

_OnEventRegister_EDIT kayıt olma şartlarını kontrol edin eğer 110 level değisleniz kayıt olamazssınız

EventRegistrationStatus tablosunu oluşturduğunuzdan emin olun

_StartSuvivalArena prosedürünü çalıştırman gerekir prsedür içerisinde SET @EventName = 'Survival Arena'; - etkinlik isminin düzgün ve doğru yazıldığından emin ol

yani açıkcası konuyu tekrar okuyarak bu etkinliği ekleyebilirsin eksik gözden kaçırdğın bir kaç şey olduğunu düşünüyorum
 

Bu konuyu görüntüleyen kullanıcılar

Geri
Üst Alt