vSRO Çözüldü PROCEDURE Sox Random Sos

Arshivel1337

.
Aktiflik: 1%
Çırak 1 Mesaj
Katılım
9 Ara 2024
Mesajlar
109
Tepkime puanı
6
Puan
18
Yaş
32
Konum
Egypt
Thread owner
Want Help About PROCEDURE Sox Random item sos , moon , sun
have item dg1 to dg 9 want when click on item drop on chest
USE SHARD
GO
/****** Object: StoredProcedure [dbo].[_BoxesRare] Script Date: 5/28/2026 3:41:29 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_BoxesRare]
@CharID INT,
@RefItemID INT
AS
BEGIN TRY

SET NOCOUNT ON;

IF @RefItemID != 45264
RETURN

DECLARE @LuckyRate INT = 35
DECLARE @RandomLucky INT

DECLARE @SelectedGroup VARCHAR(20)
DECLARE @SelectedItemCode VARCHAR(128)

DECLARE @FinalItemID INT
DECLARE @ItemName VARCHAR(128)
DECLARE @Message VARCHAR(MAX)

SET @RandomLucky = ROUND((98 * RAND()) + 1.0)

IF @RandomLucky <= @LuckyRate
BEGIN

DECLARE @GroupRandom INT
SET @GroupRandom = ROUND((100 * RAND()),0)

IF @GroupRandom <= 50
SET @SelectedGroup = 'A_RARE'
ELSE IF @GroupRandom <= 80
SET @SelectedGroup = 'B_RARE'
ELSE
SET @SelectedGroup = 'C_RARE'

SELECT TOP 1
@SelectedItemCode = CodeName128
FROM Vengard_SHARD.._RefObjCommon WITH(NOLOCK)
WHERE CodeName128 LIKE '%' + @SelectedGroup
ORDER BY NEWID()

SELECT
@FinalItemID = ID
FROM Vengard_SHARD.._RefObjCommon WITH(NOLOCK)
WHERE CodeName128 = @SelectedItemCode

IF @FinalItemID IS NOT NULL
BEGIN
SELECT TOP 1
@ItemName = Param8
FROM Vengard_SHARD.._RefObjCommon ROC WITH(NOLOCK)
INNER JOIN _ItemNames I WITH(NOLOCK)
ON I.NameCode = ROC.NameStrID128
WHERE ROC.ID = @FinalItemID

IF @ItemName IS NULL
SET @ItemName = 'Unknown Item'

SET @Message = 'Congratulations! You received ['
+ @ItemName +
'] from the box.'

EXEC _AddNotificationByCharID
@CharID,
@Message,
1

EXEC _AddItemToChest
@CharID,
@FinalItemID,
1,
'Box Reward'


INSERT INTO _ChestsLog
SELECT
@CharID,
@FinalItemID,
GETDATE()

END
ELSE
BEGIN

EXEC _AddNotificationByCharID
@CharID,
'No item found in selected group.',
1

END

END
ELSE
BEGIN


EXEC _AddNotificationByCharID
@CharID,
'The box failed. Better luck next time!',
1

END

END TRY
BEGIN CATCH

INSERT INTO _ErrorLog
SELECT
1,
ERROR_MESSAGE() + ' | ' + ERROR_PROCEDURE(),
GETDATE()

END CATCH


thanks
 

Ekli dosyalar

  • 1780014524186.png
    1780014524186.png
    41 KB · Görüntüleme: 24

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

Geri
Üst Alt