vSRO Çözüldü weapon up grade scroll

  • Konuyu Başlatan Konuyu Başlatan ruya
  • Başlangıç tarihi Başlangıç tarihi

ruya

.
Aktiflik: 7%
Muhafız 100 mesaj
Katılım
10 Ağu 2019
Mesajlar
312
Çözümler
2
Tepkime puanı
356
Puan
63
Yaş
38
Konum
sivas
Thread owner
weapon up grade scroll adw li +7 itemi görmuyor nasıl sorguya dahil ettire biliriz
 
Thread owner
USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_Upgrade_Scroll] Script Date: 2.4.2025 15:44:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_Upgrade_Scroll]
@CharID INT
AS
BEGIN TRY
BEGIN TRANSACTION TRAN_Upgrade_Scroll

DECLARE @OldItemCodeName VARCHAR(129)=
(SELECT ROC.CodeName128 FROM SRO_VT_SHARD.._Inventory AS INV
INNER JOIN SRO_VT_SHARD.._Items AS I ON I.ID64=INV.ItemID AND INV.Slot=13 AND INV.ItemID<>0 AND INV.CharID=@CharID AND I.OptLevel>=+7 --- Dönüştürmek için gereken + ve üzeri değer ---
INNER JOIN SRO_VT_SHARD.._RefObjCommon AS ROC ON I.RefItemID=ROC.ID AND ROC.TypeID1=3 AND ROC.TypeID2=1 AND ROC.Service=1)

DECLARE @NewItemID INT

SET @NewItemID=(SELECT ID_NewItem FROM _UpgradeItem WHERE OldItemCodeName=@OldItemCodeName)

IF (@NewItemID IS NOT NULL AND @NewItemID<>0)
BEGIN
UPDATE I SET I.RefItemID=@NewItemID, I.OptLevel=0 ---Dönüştürdükten sonraki verilecek + değeri---

FROM SRO_VT_SHARD.._Inventory AS INV
INNER JOIN SRO_VT_SHARD.._Items AS I ON I.ID64=INV.ItemID AND INV.Slot=13 AND INV.ItemID<>0 AND INV.CharID=@CharID AND I.OptLevel>=+7 --- Dönüştürmek için gereken + ve üzeri değer ---
END
Update SRO_VT_SHARD.._Items
Set MagParamNum = 0 , MagParam1 = NULL, MagParam2 = NULL, MagParam3 = NULL, MagParam4 = NULL, MagParam5 = NULL, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL


COMMIT TRANSACTION TRAN_Upgrade_Scroll
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION TRAN_Upgrade_Scroll
PRINT 'Error has been occured while updating process for NewItem'
END CATCH
Üst üste post gönderildiği için tek mesajda birleştirildi:

bunun içine o sorguyu nasıl ekleriz
 
Oyla 0
Thread owner
USE [SRO_VT_LOG]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_Upgrade_Scroll]
@CharID INT
AS
BEGIN TRY
BEGIN TRANSACTION TRAN_Upgrade_Scroll

-- 1. ADIM: DEĞİŞKENLERİ VE EŞYA BİLGİSİNİ YAKALA (ADV DAHİL HESAPLAMA)
DECLARE @TargetItemID64 BIGINT;
DECLARE @OldItemCodeName VARCHAR(129);
DECLARE @NewItemID INT;

SELECT
@TargetItemID64 = I.ID64,
@OldItemCodeName = ROC.CodeName128
FROM SRO_VT_SHARD.._Inventory AS INV
INNER JOIN SRO_VT_SHARD.._Items AS I ON I.ID64 = INV.ItemID
INNER JOIN SRO_VT_SHARD.._RefObjCommon AS ROC ON I.RefItemID = ROC.ID
-- ADV değerini yan tabloya bakarak alıyoruz
OUTER APPLY (
SELECT TOP 1 nOptValue
FROM SRO_VT_SHARD.._BindingOptionWithItem
WHERE nItemDBID = INV.ItemID AND bOptType = 2
) AS ADV
WHERE INV.CharID = @CharID
AND INV.Slot = 13
AND INV.ItemID <> 0
AND (I.OptLevel + ISNULL(ADV.nOptValue, 0)) >= 7 -- Gerçek Artı Değeri (Örn: 5+2=7)
AND ROC.TypeID1 = 3 AND ROC.TypeID2 = 1 AND ROC.Service = 1;

-- 2. ADIM: DÖNÜŞÜMÜ GERÇEKLEŞTİR
IF (@TargetItemID64 IS NOT NULL)
BEGIN
SET @NewItemID = (SELECT ID_NewItem FROM _UpgradeItem WHERE OldItemCodeName = @OldItemCodeName);

IF (@NewItemID IS NOT NULL AND @NewItemID <> 0)
BEGIN
-- İtemin kendisini güncelle (Yeni ID ve Artı Sıfırlama)
UPDATE SRO_VT_SHARD.._Items
SET RefItemID = @NewItemID,
OptLevel = 0,
MagParamNum = 0,
MagParam1 = NULL, MagParam2 = NULL, MagParam3 = NULL, MagParam4 = NULL, MagParam5 = NULL, MagParam6 = NULL, MagParam7 = NULL, MagParam8 = NULL, MagParam9 = NULL, MagParam10 = NULL, MagParam11 = NULL, MagParam12 = NULL
WHERE ID64 = @TargetItemID64;

-- 3. ADIM: EĞER VARSA ADV KAYDINI SİL (Yeni iteme geçmemesi için)
DELETE FROM SRO_VT_SHARD.._BindingOptionWithItem
WHERE nItemDBID = @TargetItemID64;
END
END

COMMIT TRANSACTION TRAN_Upgrade_Scroll
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION TRAN_Upgrade_Scroll;
PRINT 'Hata oluştu: ' + ERROR_MESSAGE();
END CATCH
Üst üste post gönderildiği için tek mesajda birleştirildi:

kod duzgun şekilde çalışıyor tarafımdan düzenlendi
 
Oyla 0

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

Etiketler
Etiketler Etiketler
vsro +
Geri
Üst Alt