Merhaba, Hoşgeldin!

VSRO.org, Silkroad Online, Knight Online, Metin2 ve diğer çevrimiçi oyunlar için öncü bir yardım ve geliştirme platformudur. Misyonumuz, bilgi ve deneyim sahibi bireyleri, bilgiye ihtiyaç duyanlarla bir araya getirerek, zengin bir etkileşim ortamı yaratmak ve farklı bakış açılarını birleştirmektir. Topluluğumuzda güçlü bir işbirliği ve öğrenme kültürü oluşturarak, herkesin değerli katkılarda bulunmasını sağlıyoruz.

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

Ekli dosyayı görüntüle 19840

Öncelikle Buraya Eventimizi Ekleyelim
MaxiGuard_User >_RefEventRegister Tablosunu Açalım Ve Ekleyeceğimiz Eventin İsmini Yazalım
Ekli dosyayı görüntüle 19841
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
Ekli dosyayı görüntüle 19842

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
Ekli dosyayı görüntüle 19843

Regist_SurvivalArena ve EventRegistrationStatus Tablolarımızı oluşturalım
*** Gizli metin: alıntı yapılamaz. ***

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

*** Gizli metin: alıntı yapılamaz. ***


Before moving on to other processes, we created a table where we will check if the event records are open. We will set when the records will be opened and when they will be closed. For this, we will be able to call the procedure at any time or day we want using MaxiGuard's _Scheduler table. As far as I know, this table works depending on SQL Agent Server. If you do not want to use this table, you can create your own table, but there is no need for that. dbo.OpenEventRegistration Procedure to be called *** Hidden text: cannot be quoted. ***

MaxiGuard_User>> Let's perform an operation on the _Scheduler Table
exec SRO_VT_DORTH.dbo.OpenEventRegistration
Ekli dosyayı görüntüle 19847

Our event registrations will currently open at 21:00. You can join the event once registrations open. You will also notice an addition to the Regist_SurvivalArena table.
There are 5 minutes left until the registration closes. I want to pass the Notice.
I am giving you an example. You can do the others.
*** Hidden text: cannot be quoted. ***

Ekli dosyayı görüntüle 19848
There is 1 minute left until the registration closes. I want to send a notice. You can set the hours according to your own schedule.
Ekli dosyayı görüntüle 19849
I want to get Notification that Registrations are Closed and also Update EventRegistrationStatus Table*** Hidden text: cannot be quoted. ***

Ekli dosyayı görüntüle 19850

There are 5 minutes left for the event to start. I want to pass the notice.
Ekli dosyayı görüntüle 19851
There is 1 minute left for the event to start. I want to pass the notice.
Ekli dosyayı görüntüle 19852
Now we need to call the procedure that will start the event. We just need to move the players registered in the Regist table to a certain area. At the beginning, we will add a separate procedure to block all skills. The reason I added this procedure separately is to make it available in different areas. In addition to the start procedure, we added a 60 second timer; this is because we block skills for 1 minute.


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

MaxiGuard_User>> Let's perform an operation on the _Scheduler Table
Ekli dosyayı görüntüle 19853
The event has started but the skills are active. We need to close it. Make the same as the start time. When the event starts, the skills will also be closed. *** Hidden text: cannot be quoted. ***

Ekli dosyayı görüntüle 19854
Our Skills are currently closed. After 1 minute is up, we open the Skills and start the event completely. Here the counter is reset and restarted as 15 minutes. To set the duration, see the _SurvivalSkillOpen Procedure . *** Hidden text: cannot be quoted. ***








Our event has started now and I want to customize it. It would be nice to add a points system; gifts can be distributed according to these points. Let's get started!

First, Let's Create a Table SurvivalArenaPoints

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





We have created our table. Now, let's add some code to the MaxiGuard_User > _OnCharKillLog_EDIT trigger procedure to get the points. Before adding, let's activate the trigger from the Maxiguard Panel.
Ekli dosyayı görüntüle 19855
MaxiGuard_User > _OnCharKillLog_EDIT Code to Add

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


Characters can now earn points. If there is no problem up to this point, let's continue.

Now it's time to finish the event. After 15 minutes we'll need to call the SRO_VT_DORTH..dbo._SurvivalArenaEnd procedure.



    • You can edit the event rewards.
    • The name of the winning character will be announced as "Notice".
    • Players will retreat to the city center (Town).
    • Everyone who attends the event will receive a Lose Event Box .
    • The winner with the most points will be given 100 silks. You can give this transaction as silks directly with the command.
Afterwards, we will clear the Registration tables and scoreboard and reset the event. The event will start again the next day at the time you set. Procedure *** Hidden text: cannot be quoted. ***





We have a few more operations left, we will do them from the MaxiGuard panel.


    • Go to MaxiGuard > In-Game Settings > Pvp Mode Settings .
    • In the Auto PVP-Mode Settings section, enter 25580, which is the Survival Arena Region code. This will put the character in PvP mode.

      The Nick/Guild/Title Hiding Settings are up to you, but you can continue by entering the Region code 25580. For

      the Auto Suit Settings , enter the Region code 25580. This will put the event outfit on the character.
These settings are mandatory, you can adjust the others according to your own preferences.


    • Go to the Resurrection Settings section.
    • You can continue by entering the Region code 25580 in the Resurrection Settings (When you try to get up, get up where you are) section.
In the Regional Resurrection Cooldown Settings section, I set it to 15 seconds, you can choose the time you want. You can enter the Region code 25580 and continue.

These settings are mandatory, you can adjust the others according to your own preference. You can do more customization by examining the panel.









Our activity is over now. You can develop this activity further. I created this structure with the tables and commands I have. There is no need for those who know better to undermine the subject, they can share it too. I hope this will be useful to you. I tried to explain it as much as I could. You can also say "it would be better like this" and apply it, you are free.

New friends to the forum, please excuse me for setting a 100 message limit. The reason for this is that topics are taken and shared in other forums or platforms as if they made them themselves. That's why I had to set this limit. I hope there are no missing items, if there are any, I would be happy if you could point them out. Good day, good forums.

Note: I did not share the Survival Arena files. You can benefit from @iMonarch's sharing here .
Wow nice sharing thank you
 
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

Ekli dosyayı görüntüle 19840

Öncelikle Buraya Eventimizi Ekleyelim
MaxiGuard_User >_RefEventRegister Tablosunu Açalım Ve Ekleyeceğimiz Eventin İsmini Yazalım
Ekli dosyayı görüntüle 19841
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
Ekli dosyayı görüntüle 19842

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
Ekli dosyayı görüntüle 19843

Regist_SurvivalArena ve EventRegistrationStatus Tablolarımızı oluşturalım
*** Gizli metin: alıntı yapılamaz. ***

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

*** Gizli metin: alıntı yapılamaz. ***


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 *** Gizli metin: alıntı yapılamaz. ***

MaxiGuard_User>> _Scheduler Tablosunda işlem yapalım
exec SRO_VT_DORTH.dbo.OpenEventRegistration
Ekli dosyayı görüntüle 19847

Ş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
*** Gizli metin: alıntı yapılamaz. ***

Ekli dosyayı görüntüle 19848
Kayıtların Kapanmasına 1 Dakika kaldı Notice geçmek istiyorum ,Saatlerini Sizler kendi düzeninize uygun ayarlarsınız.
Ekli dosyayı görüntüle 19849
Kayıtların Kapandığna dair Bilgilendirme Geçmek istiyorum ayrıca EventRegistrationStatus Tablosunu Güncellemek*** Gizli metin: alıntı yapılamaz. ***

Ekli dosyayı görüntüle 19850

Eventin Başlayacağına Dair 5 Dakika Kaldı Notice Geçmek İstiyorum
Ekli dosyayı görüntüle 19851
Eventin Başlayacağına Dair 1 Dakika Kaldı Notice Geçmek İstiyorum
Ekli dosyayı görüntüle 19852
Ş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.


*** Gizli metin: alıntı yapılamaz. ***

MaxiGuard_User>> _Scheduler Tablosunda işlem yapalım
Ekli dosyayı görüntüle 19853
Şuanda Event Başladı lakin Skiller aktif Kapatmamız Gerekiyor Başlangıç Saati ile aynı yapın Event Başladığında Skillerde Kapansın*** Gizli metin: alıntı yapılamaz. ***

Ekli dosyayı görüntüle 19854
Ş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 *** Gizli metin: alıntı yapılamaz. ***








Ş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

*** Gizli metin: alıntı yapılamaz. ***





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..
Ekli dosyayı görüntüle 19855
MaxiGuard_User > _OnCharKillLog_EDIT Eklenecek Kod

*** Gizli metin: alıntı yapılamaz. ***


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.
Afterwards, we will clear the Registration tables and scoreboard and reset the event. The event will start again the next day at the time you set. Procedure *** Hidden text: cannot be quoted. ***





We have a few more operations left, we will do them from the MaxiGuard panel.


    • Go to MaxiGuard > In-Game Settings > Pvp Mode Settings .
    • In the Auto PVP-Mode Settings section, enter 25580, which is the Survival Arena Region code. This will put the character in PvP mode.

      The Nick/Guild/Title Hiding Settings are up to you, but you can continue by entering the Region code 25580. For

      the Auto Suit Settings , enter the Region code 25580. This will put the event outfit on the character.
These settings are mandatory, you can adjust the others according to your own preferences.


    • Go to the Resurrection Settings section.
    • You can continue by entering the Region code 25580 in the Resurrection Settings (When you try to get up, get up where you are) section.
In the Regional Resurrection Cooldown Settings section, I set it to 15 seconds, you can choose the time you want. You can enter the Region code 25580 and continue.

These settings are mandatory, you can adjust the others according to your own preference. You can do more customization by examining the panel.









Our activity is over now. You can develop this activity further. I created this structure with the tables and commands I have. There is no need for those who know better to undermine the subject, they can share it too. I hope this will be useful to you. I tried to explain it as much as I could. You can also say "it would be better like this" and apply it, you are free.

New friends to the forum, please excuse me for setting a 100 message limit. The reason for this is that topics are taken and shared in other forums or platforms as if they made them themselves. That's why I had to set this limit. I hope there are no missing ones, if there are any, I would be glad if you could point them out. Good day, good forums.

Note: I did not share the Survival Arena files. You can benefit from @iMonarch's sharing here .
thank you for sharing but I got stuck at 100 messages:(
 
Geri
Üst Alt