vSRO Paylaşım Istediğimiz Levele ulaşan belirli sayıda oyuncuya silk ödülü ve özel title verme (Prosedür)

Admin1

silkroadpvp.com.tr
Yönetici
Katılım
26 Ocak 2022
Mesajlar
511
Tepkime puanı
0
Puanları
0
Konum
KRAL
1- Paylaştığımız Query kodlarını New Query diyerek çalıştıralım. SRO_VT_SHARDLOG içerisinde max oyuncu kontrolü yapmak için özel bir tablo oluşturacak. Prosedürümüz buraya ödül verdiği oyuncuların bilgilerini girecek

[HIDE]
NOT= Prosedür MaxiGuard ( @sarkolata 👋) kullandığım için onunla uyumlu bir şekilde yazıldı. Farklı guard kullanıyorsak gerekli yerlerde değişiklik yapmanız gerekecektir

1- Paylaştığımız Query kodlarını New Query diyerek çalıştıralım. SRO_VT_SHARDLOG içerisinde max oyuncu kontrolü yapmak için özel bir tablo oluşturacak. Prosedürümüz buraya ödül verdiği oyuncuların bilgilerini girecek

PHP:
USE [SRO_VT_SHARDLOG]
CREATE TABLE Arbys_Top_Levellers(
[Toplam] [int] NOT NULL,
[charID] [int] NOT NULL,
[Charname] [varchar](255) NOT NULL,
[Charlevel] [int] NOT NULL
) ON [PRIMARY]
Insert into Arbys_Top_Levellers(Toplam,charID,Charname,Charlevel)Values ('0','0','0','0')
GO

2- Bu prosedürü SHARDLOG db içerisinde bulunan _AddLogChar prosedür tablosunun en altına ekliyoruz

_AddLogChar Procedure

PHP:
If(@EventID=22 AND @Data2=80) /* Data2=Oyunumuz kaç cap ise onu giriyoruz*/
declare @Charname16 varchar(64) = (select CharName16 from SRO_VT_SHARD.._Char where CharID = @CharID)
declare @maxtoplam int
declare @msg varchar(200)
set @maxtoplam= (select MAX(Toplam)+1 from ..Arbys_Top_Levellers)
select @maxtoplam
set @msg = 'Congratulations, you are the top 3 Leveller in ... Online. 500 Silk added to your account as a Reward' /* Oyuncular ödülü kazanınca chat kısmından sistem mesaj alacak bunu düzenleyebiliriz*/
BEGIN
IF @maxtoplam <= 3 /* Burada ki rakam ilk belirlediğimiz level ulaşan kaç kişiye ödül verileceğini temsil ediyor */
BEGIN
IF not exists (select Charname from SRO_VT_SHARDLOG..Arbys_Top_Levellers where Charname=@Charname16) BEGIN
Insert into Arbys_Top_Levellers(Toplam,charID,Charname,Charlevel) Values(@maxtoplam,@CharID,@Charname16,@Data2)
Insert into MaxiGuard_User.._BridgeCommands (CommandID,Executor,Data1,Data2,Data3,DATE) values (56,'Arbys',@Charname16,'0','500',GETDATE()) /* 500 yazan kısım kaç silk verileceğini belirtiyor ödül olarak istediğimiz değeri girebiliriz*/
Insert into MaxiGuard_User.._BridgeCommands (CommandID,Executor,Data1,Data2,DATE) values (52,'Arbys',@Charname16,'7',GETDATE())
Insert into MaxiGuard_User.._BridgeCommands (CommandID,Executor,Data1,Data2,DATE) values (57,'Arbys',@Charname16,'7',GETDATE())
Insert into MaxiGuard_User.._BridgeCommands (CommandID,Executor,Data1,Data2,Data3,DATE) values (500,'Arbys','4',@msg,@Charname16,GETDATE())


END
END
END

3- Title için oluşturacağımız satırlara geldik şimdi. Aşağıda belirtilen yerlere ekleme yapmayı unutmayalım. Ayrıca db2media kullanabiliriz RefHWANLevel db satırını media kısmına aktarmak için.

_RefHWANLevel

PHP:
7 1397769301 200 1145127506 35 0 0 0 0 0 0 xxx UIO_SECOND_HWAN_CH_NAME_LEVEL_7 UIO_SECOND_HWAN_EU_NAME_LEVEL_7

textuisystem

PHP:
1 UIO_SECOND_HWAN_CH_NAME_LEVEL_7 PLVL Expert
1 UIO_SECOND_HWAN_EU_NAME_LEVEL_7 PLVL Expert

[/HIDE]
 
TEŞEKKÜRLER
 
1- Paylaştığımız Query kodlarını New Query diyerek çalıştıralım. SRO_VT_SHARDLOG içerisinde max oyuncu kontrolü yapmak için özel bir tablo oluşturacak. Prosedürümüz buraya ödül verdiği oyuncuların bilgilerini girecek

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

Konu görüntüleyen kullanıcılar

Geri
Üst