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.

vSRO Çözüldü Vsro prosedür sorunu

Fushiguro

Elite
Katılım
20 Mar 2023
Mesajlar
120
Çözümler
8
Tepkime puanı
38
Puanları
28
Yaş
21
Konum
İstanbul
Türk Lirası
0.00₺
Selamlar,

Bir süredir sql öğrenmeye çalışıyorum ve bildiklerimle bir şeyler yapmaya çalıştım fakat bir problem açığa çıktı. Flag blue basma üzerine çalışıyorum Maxiguard ile birlikte _HandleGenderRefresh prosedürü üzerinde deneme yanılma yapıyordum _Items tablosu üzerinde değişiklik yaparak fakat yanlış bir şeyler yazmışım prosedür sıfır hale getirdim ama hala yeni bir item çıkardığıma _Items tablosundaki magparamları yeniliyor üzerinde scroll kullanmasam bile.

Not: Magparamları oluşturduğum bir tablodan çekiyor tabloyu sildim

Yardımlarınız için teşekkürler
 
Merhaba oluşturduğunuz prosedürü görebilirmiyiz

Daha önceki yazdıklarımdan biride olabilir dediğim gibi deneme yapıyordum çok sonra fark etmişte olabilirim

AS
BEGIN
DECLARE @ID64 BIGINT;
DECLARE @CurrentMagParamNum TINYINT;
DECLARE @MagParam1 BIGINT;
DECLARE @MagParam2 BIGINT;
DECLARE @RandomMagParam BIGINT;
DECLARE @RandomNumber INT;


SET @ID64 = (SELECT ItemID
FROM SRO_VT_SHARD.dbo._Inventory WITH (NOLOCK)
WHERE CharID = @CharID AND Slot = @RefreshedItemSlot);

IF (@ID64 = 0 OR @ID64 IS NULL)
RETURN -1;
SELECT
@CurrentMagParamNum = MagParamNum,
@MagParam1 = MagParam1,
@MagParam2 = MagParam2
FROM SRO_VT_SHARD.dbo._Items
WHERE ID64 = @ID64;


IF EXISTS (
SELECT 1
FROM MaxiGuard_Features.dbo._MagParamConfig
WHERE MagParamValue IN (@MagParam1, @MagParam2)
AND GenderCodename = @GenderCodename
)
BEGIN

SET @RandomNumber = CAST((RAND() * 100) + 1 AS INT);

SELECT TOP 1 @RandomMagParam = MagParamValue
FROM (
SELECT
MagParamValue,
SUM(ProbabilityWeight) OVER (PARTITION BY GenderCodename ORDER BY ProbabilityWeight) AS CumulativeWeight
FROM MaxiGuard_Features.dbo._MagParamConfig
WHERE GenderCodename = @GenderCodename
) AS WeightedTable
WHERE @RandomNumber <= CumulativeWeight;


IF @MagParam1 IN (
SELECT MagParamValue FROM MaxiGuard_Features.dbo._MagParamConfig
WHERE GenderCodename = @GenderCodename
)
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET MagParam1 = @RandomMagParam
WHERE ID64 = @ID64;
END
ELSE IF @MagParam2 IN (
SELECT MagParamValue FROM MaxiGuard_Features.dbo._MagParamConfig
WHERE GenderCodename = @GenderCodename
)
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET MagParam2 = @RandomMagParam
WHERE ID64 = @ID64;
END

RETURN 1;
END


IF @MagParam1 IS NULL
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET
MagParam1 = @RandomMagParam,
MagParamNum = 1
WHERE ID64 = @ID64;
END
ELSE IF @MagParam2 IS NULL
BEGIN
UPDATE SRO_VT_SHARD.dbo._Items
SET
MagParam2 = @RandomMagParam,
MagParamNum = 2
WHERE ID64 = @ID64;
END
ELSE
BEGIN

RETURN -1;
END

RETURN 1;
END;
 
Oyla 0
Oyla 0
Geri
Üst Alt