vsro
vsro 01.04.2020
vsro vsro

Paylaşım VSRO | İçeriğine Rate Ayarlayarak Gift Box Yapma

Senua

Database Administrator
.
.
Katılım
3 Şub 2019
Mesajlar
1,140
Alınan Beğeni
944
Puanları
113
Yaş
26
Konum
İstanbul
Herkese merhaba,

Yine çokça yapılmak istenen ama bir türlü yapılamayan ve forumlarda bulunmayan yeni bir paylaşımla sizleileyim.

Artık Private server'ların olmazsa olmazı Gift box'lar adını sanını değiştirsekte bu box'un mantığı her zaman aynı. Box kullanıldığı zaman _AddLogItem prosedüründeki kod satırı tetikleniyor ve box içeriğinden çıkacak olan itemlerin olduğu tablodan rastege bir row seçip bunu oyuncuya veriliyor. Peki siz bu box'un içinden çıkacak item'lerin belirli bir rate ile çıkmasını istiyorsanız o zaman ne yapmanız gerekiyor? İşte Aşağıda bulunan kod bu derdimizde son veriyor. Artık 100 gift box kullanıldığında içerisinden 1 tane xxx itemi çıksın diyebiliyoruz.

Öncelikle işe tablomuzu oluşturarak başlayalım.

SQL:
İçeriği görebilmek için Uye olmanız gerekiyor.
Oluşturduğumuz bu tablomuzda GroupID veGroupCodeName'i her box için giriyoruz. Örneğin; 5 farklı gift box yaptınız içeriklerini tabloya girerken her boxun kendi GroupID si ve GroupCodeName si olmalı.

İlgili prosedürümüz;
SQL:
İçeriği görebilmek için Uye olmanız gerekiyor.

Prosedürü 7 farklı gift box olma durumu için yazdım. İsterseniz bunu arttırabilir yada azaltabilirsiniz.

Önemli Not: Talomuzdaki Ratio kısmının data type'ı DECIMAL(4,3) yani ondalıklı sayı girdiğimizde virgülün sağında 3 basamak kullanabiliriz, fazlasını yazarsak SQL otomatik yuvarlama yapar. Bu aynı zamanda ratemizi 1000 de 1 durumu ile kısıtlamakta(10 binde bir rate ayarı yapamazsınız bu durumda bunun için data tipini ayarlamanız gerekmektedir).

Analiz: Intel(R) Core(TM) i7-4710MQ işlemcili, Windows10 Pro işletim sisteminde ve SQL Server 2017 Developer sürümü kullanılarak denenen cihazda, _AddLogItem prosedürünün oluşturulan gift box'lardan birisi oyun içerisinde kullanılarak tetiklendiği zaman işlemi tamamlama süresi 2ms olarak kaydedilmiştir(1 saniye=1000ms).

Not: Oluşturan her grup için toplam ratio miktarının 1'e eşit olması gerektiğini unutmayınız.
 

Senua

Database Administrator
.
.
Katılım
3 Şub 2019
Mesajlar
1,140
Alınan Beğeni
944
Puanları
113
Yaş
26
Konum
İstanbul
Oluşturan her grup için toplam ratio miktarının 1'e eşit olması gerektiğini unutmayınız.
 

Spare

Machine Man
.
.
Katılım
28 May 2018
Mesajlar
2,652
Alınan Beğeni
1,893
Puanları
605
Yaş
25
Konum
İstanbul
Ben bunu çok ters bir şekilde yapmıştım. :) Bunu yapmak aklıma gelmemişti, daha garantili ve daha kolay bir yol.
Eline emeğine sağlık. @Senua
 

Shanks

.
Katılım
11 Haz 2019
Mesajlar
186
Alınan Beğeni
37
Puanları
28
Yaş
25
Konum
Muğla
Mesela bunu %'lik şansla boxun boş çıkmasını nasıl sağlayabiliriz. Yani demek istediğim %60 ihtimalle box'dan item vericek %40 ihtimalle box'dan item vermicek şeklinde ayarlayabilirmiyiz ?
@Senua
 

Senua

Database Administrator
.
.
Katılım
3 Şub 2019
Mesajlar
1,140
Alınan Beğeni
944
Puanları
113
Yaş
26
Konum
İstanbul
Mesela bunu %'lik şansla boxun boş çıkmasını nasıl sağlayabiliriz. Yani demek istediğim %60 ihtimalle box'dan item vericek %40 ihtimalle box'dan item vermicek şeklinde ayarlayabilirmiyiz ?
@Senua
tablodaki itemcodename kısmını boş bırakırsan olur.
 

Shanks

.
Katılım
11 Haz 2019
Mesajlar
186
Alınan Beğeni
37
Puanları
28
Yaş
25
Konum
Muğla
Bu kodları hiç değiştirmeden kullandığımda chara item gelmiyor ? Yardımcı olma şansın varmı ? @Senua
 

Shanks

.
Katılım
11 Haz 2019
Mesajlar
186
Alınan Beğeni
37
Puanları
28
Yaş
25
Konum
Muğla
Kendi itemlerinin ID lerini yazmamışsan çalışmaması normal :)
Ondan olmadı ben group idye 1 yerine giftboxun item kodunu yazmıştım ondan kaynaklıymış o sorunu çözdüm ellerine sağlık şuan sorunsuz çalışıyor
 
Katılım
12 Ocak 2019
Mesajlar
10
Alınan Beğeni
1
Puanları
3
Konum
Kayseri
Peki Hocam Item Group Oluşturmak İçin _RefSetItemGroup'umu Kullanıcak Seal Oluşturur Gibi Yoksa Başka Bir Tablomu
 
Üst Alt