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 Paylaşım vSRO Satılan İtemin Geri Gelmesi Fix

EfsaneSro

Sıkıldım
.
Katılım
6 Şub 2019
Mesajlar
3,129
Çözümler
55
Tepkime puanı
10,506
Puanları
113
Konum
Steam
Türk Lirası
45.75₺
Merhaba vsro kullanıcıları;Vermiş olduğum bu prosedür ne işe yara sizlere onun hakkında bilgi vereyim.
Npcye sattığınız item return sonrası geri geliyorsa;


SRO_VT_SHARD => Programmabilty => _STRG_DEL_ITEM_NoTX aç Ctrl+a ile seçin komple silin bunu yapıştırın.
(Execute ettikten sonra shard ve Game serveri resetleyin sorun çözülecektir.)
SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.
 
Merhaba vsro kullanıcıları;Vermiş olduğum bu prosedür ne işe yara sizlere onun hakkında bilgi vereyim.
Npcye sattığınız item return sonrası geri geliyorsa;


SRO_VT_SHARD => Programmabilty => _STRG_DEL_ITEM_NoTX aç Ctrl+a ile seçin komple silin bunu yapıştırın.
(Execute ettikten sonra shard ve Game serveri resetleyin sorun çözülecektir.)

USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_STRG_DEL_ITEM_NoTX] Script Date: 22.04.2018 22:31:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO





ALTER procedure [dbo].[_STRG_DEL_ITEM_NoTX]
@DelFromPC_Inv AS TINYINT,
@CharID AS BIGINT, -- ¸ÅÁ÷ Å¥ºê Ãß°¡·Î ÀÎÇØ È®Àå
@Slot AS TINYINT

as
declare @Rvalue int
declare @ItemToDel bigint

if (@DelFromPC_Inv = 1)
select @ItemToDel = ItemID FROM _Inventory WHERE CharID = @CharID AND Slot = @Slot
else if ( @DelFromPC_Inv = 2 )
select @ItemToDel = ItemID FROM _InventoryForLinkedStorage WHERE LinkedItemID = @CharID AND Slot = @Slot
else
select @ItemToDel = ItemID FROM _InvCOS WHERE COSID = @CharID AND Slot = @Slot

if (@ItemToDel IS NULL or @ItemToDel = 0)
return -1

----------------------------------------
-- Á¹¶ó ÀÌ ¾Æ·¡ÂÊ ¼øÀüÈ÷ Æê ¼Òȯ¾ÆÀÌÅÛ ¶§¹®¿¡
-- µé¾î°£ ÄÚµåÀÌ´Ù. ºÐ¸í overheadÀ̱ä ÇÏÁö¸¸
-- _STRG_DEL_ITEM ÀÇ ½Å·Úµµ¿Í °ÔÀÓ¼¹ö ÄÚµå º¹Àâµµ
-- Áõ°¡¸¦ À¯¹ßÇÏÁö ¾Ê±â À§ÇØ ¾î¿ ¼ö ¾ø´Â ÆÇ´ÜÀ̾ú´Ù. T_T
----------------------------------------
declare @BoundCOS int
declare @RefItemID int
select @RefItemID = RefItemID, @BoundCOS = Data from _Items where ID64 = @ItemToDel
if (@@ROWCOUNT = 0)
return -2

----------------------------------------
-- Ȥ½Ã ÀÌ´® PET ¼Òȯ¾ÆÀÌÅÛÀΰ¡?
----------------------------------------
declare @TypeID1 tinyint
declare @TypeID2 tinyint
declare @TypeID3 tinyint
select @TypeID1 = TypeID1, @TypeID2 = TypeID2, @TypeID3 = TypeID3 from _RefObjCommon where ID = @RefItemID
if (@TypeID1 = 3 and @TypeID2 = 2 and @TypeID3 = 1 )
begin
----------------------------------------
-- ¿«¿©ÀÖ´Â PET ÀÌ ÀÖÀ¸¸é ±×³Ñ »èÁ¦
----------------------------------------
if (@BoundCOS <> 0)
begin
exec @Rvalue = _DeleteCharCOS_NoTX @BoundCOS
if (@Rvalue < 0)
return @Rvalue
end
end

----------------------------------------
-- Ȥ½Ã ÀÌ´® LinkedStorage¾ÆÀÌÅÛÀΰ¡?
----------------------------------------
else if( @TypeID1 = 3 and @TypeID2 = 2 and @TypeID3 = 3 )
begin
----------------------------------------
-- ¿«¿©ÀÖ´Â Storage ÀÖÀ¸¸é ±×³Ñ »èÁ¦
----------------------------------------
if (@BoundCOS <> 0)
begin
IF( NOT EXISTS( select LinkedItemID from _InventoryForLinkedStorage where LinkedItemID = @ItemToDel ) )
BEGIN return -1000 END
IF( EXISTS( select top 1 ItemID from _InventoryForLinkedStorage where LinkedItemID = @ItemToDel and ItemID <> 0 and ItemID IS NOT NULL ) )
BEGIN
update _ItemPool Set InUse = 0 from _ItemPool as IP join _InventoryForLinkedStorage as IFLS on IP.ItemID = IFLS.ItemID
where IFLS.LinkedItemID = @ItemToDel AND IFLS.ItemID <> 0
END
DELETE FROM _InventoryForLinkedStorage where LinkedItemID = @ItemToDel
IF( @@ERROR <> 0 )
BEGIN return -2 END
end
end


----------------------------------------------------------
-- ½½·Ô ºñ¿ì±â
----------------------------------------------------------
if (@DelFromPC_Inv = 1 )
update _Inventory SET ItemID = 0 WHERE CharID = @CharID AND Slot = @Slot
else if (@DelFromPC_Inv = 2 )
update _InventoryForLinkedStorage SET ItemID = 0 WHERE LinkedItemID = @CharID AND Slot = @Slot
else
update _InvCOS SET ItemID = 0 WHERE COSID = @CharID AND Slot = @Slot

if (@@error <> 0 OR @@rowcount = 0)
return -3

----------------------------------------------------------
-- »èÁ¦ ´ë»ó ¾ÆÀÌÅÛ¿¡ ¹ÀÎ ÀÓ´ë Á¤º¸ »èÁ¦
----------------------------------------------------------
if exists (select 1 from _RentItemInfo with (nolock) where nItemDBID = @ItemToDel)
begin
delete from _RentItemInfo where nItemDBID = @ItemToDel
if (@@ERROR <> 0 OR @@ROWCOUNT = 0)
begin
rollback transaction
return -6
end
end

----------------------------------------------------------
-- ÇØ´ç ¾ÆÀÌÅÛ »èÁ¦
----------------------------------------------------------
exec @Rvalue = _STRG_FREE_ITEM_NoTX @ItemToDel
if (@Rvalue < 0)
return -4

return 1
Teşekkürler
 
Geri
Üst Alt