Model Switcher Kurulumunda Gerekli Prosedür Nedir.

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
Arkadaşlar Switcherın scroolunu oluşturdum db media yı hallettim addlogitem de işlenicek olan prosedür elimde var ama çok uzun ve anlayamadım . kısa yoldan prosedür elinde olan varmı hatta bana hazır bi prosedür uygularsanız çok sevinirim direk yapıştır yapim refobjcommon ıd:223611792 refobjitem id:223611708
 

LeonGames

Üye
Katılım
23 Mar 2017
Mesajlar
93
Puanları
8
Konum
Seçilmemiş
Arkadaşlar Switcherın scroolunu oluşturdum db media yı hallettim addlogitem de işlenicek olan prosedür elimde var ama çok uzun ve anlayamadım . kısa yoldan prosedür elinde olan varmı hatta bana hazır bi prosedür uygularsanız çok sevinirim direk yapıştır yapim refobjcommon ıd:223611792 refobjitem id:223611708

Ne bekliyorsun 2 satirla bu isin olmasini mi ?
 

LeonGames

Üye
Katılım
23 Mar 2017
Mesajlar
93
Puanları
8
Konum
Seçilmemiş
Dostum sen yardım mı etmek istiyorsun aşşagılamakmı hiç mi adam akıllı yorumun olmaz boş yorum yapma işine bak tek bi prosedür ihtiyacım kaldı onda destek istiyorum ne var bunda?

Yardımcı olmak istemiyorum. Elinde kodlar varsa yaparsın yada birileri yardımcı olur.
Kodların uzun olması çalışmıyor anlamına gelmez.
Bilgisine güvendiğini düşündüğün kişiler yardım eder.
Yanlış kullanımda bile oyuncuların zarar görmeyeceği itemlerinin kaybolmayacağı elimde yazdığım prosedür var her şekilde logları saklayan ve yanlış kullanımda da itemi geri veren.
Hadi kolay gelsin.
 

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
Yardımcı olmak istemiyorum. Elinde kodlar varsa yaparsın yada birileri yardımcı olur.
Kodların uzun olması çalışmıyor anlamına gelmez.
Bilgisine güvendiğini düşündüğün kişiler yardım eder.
Yanlış kullanımda bile oyuncuların zarar görmeyeceği itemlerinin kaybolmayacağı elimde yazdığım prosedür var her şekilde logları saklayan ve yanlış kullanımda da itemi geri veren.
Hadi kolay gelsin.
Zaten burada desteğe ihtiyaç duyduğumu yazdım herşeyini yaptım sadece addlogitem e yazılıcak prosedürü kendime göre uyarlayamadım sorun bu
 

LeonGames

Üye
Katılım
23 Mar 2017
Mesajlar
93
Puanları
8
Konum
Seçilmemiş
Zaten burada desteğe ihtiyaç duyduğumu yazdım herşeyini yaptım sadece addlogitem e yazılıcak prosedürü kendime göre uyarlayamadım sorun bu


if(@Operation=41 and @ItemRefID='')
begin

exec prosedurismi @RefItemID,@CharID

end

Eger bir prosedure gondermek istiyorsan yukaridaki gibidir. Giden degiskenlerin senin var olan prosedurundekilere gore ayarlamak zorundasin yoksa hata verir.
Ornek Prosedurde @CharID varsa addlogitemden bu degiskeni oraya yonlendirmen gerekiyor.

Prosedur degilse

if(@Operation=41 and @ItemRefID='')
begin

Kodlari buraya yapistirman yeterli olacaktir.

end


Operation 41 bu scroll stack 1 ise sorunsuz calisir. Eger stack var ise bu scrollar icerisinde 1 tane kaldiginda calisir ic ice girdiginde calismaz. Ben stackli yapmak istiyorum diyorsan operation 16 denemelisin.
 
Son düzenleme:

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
Stack yok ama şöyle söyleyim 4 ID yeri var 1 commonda ki id digerleri ne ve item kodu var 2 adet bunları ne yapıcaz elimdeki prosedür ve netteki olan prosedür farklı netteki ni kendime uyarlama ya çalıştım olmadı
 

LeonGames

Üye
Katılım
23 Mar 2017
Mesajlar
93
Puanları
8
Konum
Seçilmemiş
Stack yok ama şöyle söyleyim 4 ID yeri var 1 commonda ki id digerleri ne ve item kodu var 2 adet bunları ne yapıcaz elimdeki prosedür ve netteki olan prosedür farklı netteki ni kendime uyarlama ya çalıştım olmadı

Elindeki kodları paylaşırsan izleyeceğin yolu anlatayım.

Addlogitem mantığı kullanılan itemlerin logunu tutyor bu loga uygun olan operationu işleme al diyor.

Scroll kullandığında operation 41 gider veya 16 bunlar scroll kullanımı.

Addlogiteme eklenilen kısma gelelim

if(@Operation=41 and @RefitemID='')

@RefitemID= bu refobjcommonda bulunan scrollun id yeridir. Hangi scroll bu islemi yapsin istiyorsan oraya onun id yazarsin.


Modelswitch mantigida itemleri degistirmektir. 1. normal itemin ID olur refobjcommodna 2.de yeni gelecek olan itemin Refobjcommondaki ID olur.

Sadece mantigini anlattim Bunlar uzerinden gitmeye calisirsin.
 

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
Sağol teşekkür ettim akşam tekrar denerim olmazsa gerekli resimleri paylaşırım
 

doncarlone

Emektar
Emektar
Katılım
23 Nis 2016
Mesajlar
1,168
Puanları
63
Sağol teşekkür ettim akşam tekrar denerim olmazsa gerekli resimleri paylaşırım
yapamazsan söyle ben sana hazır editli hacklediğim bir svnin dbsini verebilirim kullanırsın ekli istediğin şeyler videodakiler
Alttaki bahsettiğim db



Senin bahsettiğin switcher muhabbeti bu saniyeden sonra başlıyor

 

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
yapamazsan söyle ben sana hazır editli hacklediğim bir svnin dbsini verebilirim kullanırsın ekli istediğin şeyler videodakiler
Alttaki bahsettiğim db



Senin bahsettiğin switcher muhabbeti bu saniyeden sonra başlıyor

çok iyi olur çok sevinirim vsroforumun gözbebeğisin yine gösterdin kendiini :D
 

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
Elindeki kodları paylaşırsan izleyeceğin yolu anlatayım.

Addlogitem mantığı kullanılan itemlerin logunu tutyor bu loga uygun olan operationu işleme al diyor.

Scroll kullandığında operation 41 gider veya 16 bunlar scroll kullanımı.

Addlogiteme eklenilen kısma gelelim

if(@Operation=41 and @RefitemID='')

@RefitemID= bu refobjcommonda bulunan scrollun id yeridir. Hangi scroll bu islemi yapsin istiyorsan oraya onun id yazarsin.


Modelswitch mantigida itemleri degistirmektir. 1. normal itemin ID olur refobjcommodna 2.de yeni gelecek olan itemin Refobjcommondaki ID olur.

Sadece mantigini anlattim Bunlar uzerinden gitmeye calisirsin.


USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_MODEL_SWITCHER_MOON] Script Date: 15.08.2017 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[_MODEL_SWITCHER_MOON]

@CharID INT,
@ItemRefID INT -- Bu ID Modelin ID'si
AS
DECLARE @RefItemID INT = 0
DECLARE @NewItemID INT = 0
DECLARE @Model_Level int = 0
DECLARE @Model_Level_2 int = 0
DECLARE @ORJ_ID int = 0

SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @Model_Level=@ItemRefID-78001
SET @Model_Level_2=@ItemRefID-78000


IF Not EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID) -- 10DG SOM SUN İTEM DEĞİLSE İŞLEM YAPMAZ VE MODEL SWITCHERI INVENTORYE GERI KOYAR
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
COMMIT TRANSACTION
END

IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '4042' and '11610') -- 10DG Dokunulmamış item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @NewItemID = @RefItemID+66000+(@Model_Level*2);
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
COMMIT TRANSACTION
END

IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '70042' and '77632') -- Dönüştürülmüş item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @ORJ_ID = (select ObjName128 from SRO_VT_SHARD.dbo._RefObjCommon where ID=@RefItemID)
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));

IF (@Model_Level_2 > @ORJ_ID) -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN KÜÇÜKSE
BEGIN
SET @NewItemID = @RefItemID+((@Model_Level_2-@ORJ_ID)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
ELSE -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN BÜYÜKSE
BEGIN
SET @NewItemID=@RefItemID-((@ORJ_ID-@Model_Level_2)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
COMMIT TRANSACTION
END


bunu anlayamadım üzerinde çalışma yaparak anllatabilirmisin ?
 

LeonGames

Üye
Katılım
23 Mar 2017
Mesajlar
93
Puanları
8
Konum
Seçilmemiş
USE [SRO_VT_LOG]
GO
/****** Object: StoredProcedure [dbo].[_MODEL_SWITCHER_MOON] Script Date: 15.08.2017 20:33:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[_MODEL_SWITCHER_MOON]

@CharID INT,
@ItemRefID INT -- Bu ID Modelin ID'si
AS
DECLARE @RefItemID INT = 0
DECLARE @NewItemID INT = 0
DECLARE @Model_Level int = 0
DECLARE @Model_Level_2 int = 0
DECLARE @ORJ_ID int = 0

SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @Model_Level=@ItemRefID-78001
SET @Model_Level_2=@ItemRefID-78000


IF Not EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID) -- 10DG SOM SUN İTEM DEĞİLSE İŞLEM YAPMAZ VE MODEL SWITCHERI INVENTORYE GERI KOYAR
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
COMMIT TRANSACTION
END

IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '4042' and '11610') -- 10DG Dokunulmamış item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @NewItemID = @RefItemID+66000+(@Model_Level*2);
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
COMMIT TRANSACTION
END

IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '70042' and '77632') -- Dönüştürülmüş item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @ORJ_ID = (select ObjName128 from SRO_VT_SHARD.dbo._RefObjCommon where ID=@RefItemID)
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));

IF (@Model_Level_2 > @ORJ_ID) -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN KÜÇÜKSE
BEGIN
SET @NewItemID = @RefItemID+((@Model_Level_2-@ORJ_ID)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
ELSE -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN BÜYÜKSE
BEGIN
SET @NewItemID=@RefItemID-((@ORJ_ID-@Model_Level_2)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
COMMIT TRANSACTION
END


bunu anlayamadım üzerinde çalışma yaparak anllatabilirmisin ?


IF Not EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID) -- 10DG SOM SUN İTEM DEĞİLSE İŞLEM YAPMAZ VE MODEL SWITCHERI INVENTORYE GERI KOYAR
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
COMMIT TRANSACTION
END

Burada tabloda yoksa itemi isleme almiyor ve kodlari calistirmiyor. Ama item kullanildiginda kaybolur. tekrar ekler mi bunda emin degilim cunku itemi kullaniyor ve kodlari isleme aliyor evet itemler yok der ve soyle bakar kaybolan item chardan gitmis olur cunku bu bir scroll tekrar eklemesi icin farkli kod kullanmasi gerekir mantik olarak. Yaniliyorda olabilirim.




IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '4042' and '11610') -- 10DG Dokunulmamış item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @NewItemID = @RefItemID+66000+(@Model_Level*2);
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
COMMIT TRANSACTION
END

Burada hic donusume ugramamis itemler icin yapmis
Bir tablon var bu tabloda slot 13 de olan item ve su itemlerin idleri arasindaki itemlere bakiyor varsa isleme aliyor ve 1. slottaki itemini verdigi idler arasinda degistiriyor.

SET @NewItemID = @RefItemID+66000+(@Model_Level*2); Bunu nicin yapmis olabilir anlamadim bir id atiyor sanirim yeni bir id model lv 2 ile carpmis ne alaka anlamadim 0 ile 2 carpsan zaten 0 yapar. ne geregi vardi isleme almaya?


--
IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '70042' and '77632') -- Dönüştürülmüş item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @ORJ_ID = (select ObjName128 from SRO_VT_SHARD.dbo._RefObjCommon where ID=@RefItemID)
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));

Burada itemler degismis ve farkli idlere sahip itemler var bunlari tekrar donusturmek icin boyle birsey yapmis



IF (@Model_Level_2 > @ORJ_ID) -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN KÜÇÜKSE
BEGIN
SET @NewItemID = @RefItemID+((@Model_Level_2-@ORJ_ID)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
ELSE -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN BÜYÜKSE
BEGIN
SET @NewItemID=@RefItemID-((@ORJ_ID-@Model_Level_2)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
COMMIT TRANSACTION
END

Bir sacmalik daha Model_Level_2 degiskeninde zaten deger 0 orj_id degiskeninin degeride 0 nasil Model_Level_2 buyuk olma olasiligi oluyor anlamadim.
Bu kodlar ise yariyor mu belki yariyordur soyle baktigimda elde tutulan birsey gormuyorum belki kimse anlamiyor diye oyle paylasilmista olabilir. Denemedim denemekte istemem bu tur mantiksiz kodlari

Baska bir model switcher bulmalisin bunda elde tutulur birsey yok oylesine yazilmis

Ben yanlis yorumlamista olabilirim farkli dusunen varsa onlarda bakabilir.
 

sonerefe

Üye
Katılım
13 Nis 2017
Mesajlar
152
Puanları
18
Konum
ANKARA
IF Not EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID) -- 10DG SOM SUN İTEM DEĞİLSE İŞLEM YAPMAZ VE MODEL SWITCHERI INVENTORYE GERI KOYAR
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
COMMIT TRANSACTION
END

Burada tabloda yoksa itemi isleme almiyor ve kodlari calistirmiyor. Ama item kullanildiginda kaybolur. tekrar ekler mi bunda emin degilim cunku itemi kullaniyor ve kodlari isleme aliyor evet itemler yok der ve soyle bakar kaybolan item chardan gitmis olur cunku bu bir scroll tekrar eklemesi icin farkli kod kullanmasi gerekir mantik olarak. Yaniliyorda olabilirim.




IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '4042' and '11610') -- 10DG Dokunulmamış item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @NewItemID = @RefItemID+66000+(@Model_Level*2);
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
COMMIT TRANSACTION
END

Burada hic donusume ugramamis itemler icin yapmis
Bir tablon var bu tabloda slot 13 de olan item ve su itemlerin idleri arasindaki itemlere bakiyor varsa isleme aliyor ve 1. slottaki itemini verdigi idler arasinda degistiriyor.

SET @NewItemID = @RefItemID+66000+(@Model_Level*2); Bunu nicin yapmis olabilir anlamadim bir id atiyor sanirim yeni bir id model lv 2 ile carpmis ne alaka anlamadim 0 ile 2 carpsan zaten 0 yapar. ne geregi vardi isleme almaya?


--
IF EXISTS (SELECT * FROM _MODEL_SWITCH_ITEM_MOON where ItemID = @RefItemID and ItemID between '70042' and '77632') -- Dönüştürülmüş item için 1-12 Level Model Switcher
BEGIN
BEGIN TRANSACTION
SET @ORJ_ID = (select ObjName128 from SRO_VT_SHARD.dbo._RefObjCommon where ID=@RefItemID)
SET @RefItemID = (SELECT RefItemID FROM [SRO_VT_SHARD].[dbo].[_Items] WHERE ID64 = ( SELECT ItemID FROM [SRO_VT_SHARD].[dbo].[_Inventory] WHERE CharID = @CharID and Slot = '13' and ItemID > 0 ));

Burada itemler degismis ve farkli idlere sahip itemler var bunlari tekrar donusturmek icin boyle birsey yapmis



IF (@Model_Level_2 > @ORJ_ID) -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN KÜÇÜKSE
BEGIN
SET @NewItemID = @RefItemID+((@Model_Level_2-@ORJ_ID)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
ELSE -- GEÇECEĞİ DEGRE ASIL DEGRESINDEN BÜYÜKSE
BEGIN
SET @NewItemID=@RefItemID-((@ORJ_ID-@Model_Level_2)*2)
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );
END
COMMIT TRANSACTION
END

Bir sacmalik daha Model_Level_2 degiskeninde zaten deger 0 orj_id degiskeninin degeride 0 nasil Model_Level_2 buyuk olma olasiligi oluyor anlamadim.
Bu kodlar ise yariyor mu belki yariyordur soyle baktigimda elde tutulan birsey gormuyorum belki kimse anlamiyor diye oyle paylasilmista olabilir. Denemedim denemekte istemem bu tur mantiksiz kodlari

Baska bir model switcher bulmalisin bunda elde tutulur birsey yok oylesine yazilmis

Ben yanlis yorumlamista olabilirim farkli dusunen varsa onlarda bakabilir.
 

doncarlone

Emektar
Emektar
Katılım
23 Nis 2016
Mesajlar
1,168
Puanları
63
Hangi SQL sürümünü kullanıyorsun ? Sorunsuz restore ediyor

SQL 2014 bendeki
 
Son düzenleme:

Bu konuyu görüntüleyenler: (Toplam: 1 üye ve 0 ziyaretçi 1)

Üst