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

@Sieger ⋋
Aşağıda ki tabloda 10 dg bütün eu ve çin silah + set grubunu ayarladım.. Sorunum eksiksiz olarak 101 adet item olması fakat hepsinin ratio toplamı bu şekilde 1,01 oluyor. Aralarından 1 itemi çıkarmak istemiyorum... Bu değeri nasıl düşürebilirim ? Bilgilendirirsen sevinirim.

Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
1/101
 
Onu düşündüm de 0,0099009900990099 bu değeri sağda üç haneye =0,099 mu yazsam diye düşünüyorum halen. herhalde SQL yuvarlar.

1/101 sonucundan çıkan rateyi yazarsan tam 1'e eşit olur. Harici bir değer düşürür ya da yükseltir.
 
1/101 sonucundan çıkan rateyi yazarsan tam 1'e eşit olur. Harici bir değer düşürür ya da yükseltir.
İlginiz için teşekkürler @tylu dahil..

Hesaplamadan çıkan sonuç 1/101= 0,0099009900990099‬
Bunu sQL'in kabul edeceğini düşünmedim başta.. sonra denedim ve tabloya uymuyor bu değer..
Excelde düzenleyip tabloya attığımda ratio kısımları bu şekilde değişiyor. 0,000
Ya yuvbarlayıp bana göstermiyor, ya da virgülden sonra ondalıklar fazla girdi var diye sıfıra çeviriyor. Bu boxu ilk defa deniyorum. Gayet kolay ama bu kısmı sıkıcı geldi :)


141841ITEM_BOX_SOSITEM_CH_BLADE_10_A_RARE100,000
 
@Sieger ⋋
Aşağıda ki tabloda 10 dg bütün eu ve çin silah + set grubunu ayarladım.. Sorunum eksiksiz olarak 101 adet item olması fakat hepsinin ratio toplamı bu şekilde 1,01 oluyor. Aralarından 1 itemi çıkarmak istemiyorum... Bu değeri nasıl düşürebilirim ? Bilgilendirirsen sevinirim.

Kod:
İçeriği görebilmek için Giriş yap ya da üye ol.
İlginiz için teşekkürler @tylu dahil..

Hesaplamadan çıkan sonuç 1/101= 0,0099009900990099‬
Bunu sQL'in kabul edeceğini düşünmedim başta.. sonra denedim ve tabloya uymuyor bu değer..
Excelde düzenleyip tabloya attığımda ratio kısımları bu şekilde değişiyor. 0,000
Ya yuvbarlayıp bana göstermiyor, ya da virgülden sonra ondalıklar fazla girdi var diye sıfıra çeviriyor. Bu boxu ilk defa deniyorum. Gayet kolay ama bu kısmı sıkıcı geldi :)


141841ITEM_BOX_SOSITEM_CH_BLADE_10_A_RARE100,000
Böyle basit şeylere takılma 100 tanesini 0,099 yap geriye kalan bir taneyi ise 0.1 yaparsın olur biter :)
 
Silahları zorlaştırdım artık daha güzel oldu. Fikir ve yardımlarınız için teşekkürler.
 
Zannerdersem proc ile bir sıkıntım var. :(
Procda sadece common ID'lerini ekledim ve üst kısım böyle başlıyor IF(@Operation=41 AND @slot_To=255 AND (@ItemRefID IN (41839,41840,41841)))

3 box yapacağım için üst ve aşağıda ki kısımları 3 IDye göre düşürdüm

Hatasız kaydoldu lakin common ID'dışında neyi değiştirmem gerektiği hakkında bir fikir edinemedim.

Örneğin burası bu şekilde kalacak mı ? O harfi kafamı karıştırdı. Kırmızı renkle belirttiğim kısım paylaşımdaki hali ile aynı... GoupID olarak arada R harfi olmadan yazılmış.<<<Bu kısım hatalı diyebilir miyiz ? Ya da orası doğru... ben bir yerde eksik bir şey yapıyorum.


SELECT
O.*,
OddStart = CONVERT(DECIMAL(4,3), SUM(O.[Ratio]) OVER (ORDER BY O.[ID]) - O.[Ratio]),
OddsEnd = CONVERT(DECIMAL(4,3), SUM(O.[Ratio]) OVER (ORDER BY O.[ID]))
FROM PICK_Common AS O WHERE
GroupID=@GoupID
)
SELECT @ItemCodeName_PICK=O.ItemCodeName , @ItemCount_PICK=O.ItemCount , @ItemPlus_PICK=O.ItemPlus FROM OddIntervals AS O WHERE
GroupID=@GoupID AND
@Random > O.OddStart AND
@Random <= O.OddsEnd
 
Thread owner
Zannerdersem proc ile bir sıkıntım var. :(
Procda sadece common ID'lerini ekledim ve üst kısım böyle başlıyor IF(@Operation=41 AND @slot_To=255 AND (@ItemRefID IN (41839,41840,41841)))

3 box yapacağım için üst ve aşağıda ki kısımları 3 IDye göre düşürdüm

Hatasız kaydoldu lakin common ID'dışında neyi değiştirmem gerektiği hakkında bir fikir edinemedim.

Örneğin burası bu şekilde kalacak mı ? O harfi kafamı karıştırdı. Kırmızı renkle belirttiğim kısım paylaşımdaki hali ile aynı... GoupID olarak arada R harfi olmadan yazılmış.<<<Bu kısım hatalı diyebilir miyiz ? Ya da orası doğru... ben bir yerde eksik bir şey yapıyorum.


SELECT
O.*,
OddStart = CONVERT(DECIMAL(4,3), SUM(O.[Ratio]) OVER (ORDER BY O.[ID]) - O.[Ratio]),
OddsEnd = CONVERT(DECIMAL(4,3), SUM(O.[Ratio]) OVER (ORDER BY O.[ID]))
FROM PICK_Common AS O WHERE
GroupID=@GoupID
)
SELECT @ItemCodeName_PICK=O.ItemCodeName , @ItemCount_PICK=O.ItemCount , @ItemPlus_PICK=O.ItemPlus FROM OddIntervals AS O WHERE
GroupID=@GoupID AND
@Random > O.OddStart AND
@Random <= O.OddsEnd
Dostum bu kısmı kurcalarsan sistem çalışmayabilir decimal veri tipinde 10,000 de birlik bir hassasiyete sahip rate, milyonda bir rate ayarlama gibi bir amacın yok ise olduğu gibi bırakmanı tavsiye ederim. Yukarıdaki kod common table expression olarak yazılmış bir kod kafa karıştırıcı o yüzden biraz.
 

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

Geri
Üst Alt