21-04-2016, 07:38 AM
|
#7
|
|
• الانـتـسـاب » Mar 2013
|
• رقـم العـضـويـة » 110603
|
• المشـــاركـات » 341
|
• الـدولـة » Hurghada
|
• الـهـوايـة » DeveloP AnyThing
|
• اسـم الـسـيـرفـر » Private Server
|
• الـجـنـس » Male
|
• نقـاط التقييم » 10
|
|
|
رد: Full Change Items System By HLP
اقتباس:
المشاركة الأصلية كتبت بواسطة Storxy*
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
انا اسف انت ممكن تكون بتفهم بس هديك نصيحة صغيرة وهو انك لازم تهتم ب ال MS وال Performance بتاعت البروديسرات الى بتكتبها لان انا من وجهة نظرى ان الى مكتوب ده عك وهيسحب MS كتير غير انو Low Performance بطريقة غبية وانا والله مش بقلل منك ولا حاجة على فكرة اول واحد يعمل السيستم ده فى ال VSRO كان انا واقدر اقولك انى كنت كاتب بروديسر اسوء من ده كمان وانا بقولك كدة مش عشان حاجة انا السيستم عندى مشغلو اصلا ب Table واحد و بروديسر كام سطر صغير وانا كنت هنزلو كدة كدة فلو حابب تاخد نصيحتى حاول تقارن اكتر بين ال Statements عشان تطلع حاجات نضيفة (Y)
|
انا عامل سيستم ده من زمان اول لما كونت لسه بتعلم بس معنديش وقت اني اعيد صياغة برسيدور
علي فكرة انا ممكن اعملك برسيدور في كام سطر بطريقة ممتازة اتفضل
كود PHP:
USE [SRO_VT_SHARDLOG] GO /****** Object: StoredProcedure [dbo].[_NewChangeSystem] Script Date: 21/04/2016 06:22:45 ص ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[_NewChangeSystem] @Charid int, @Operation tinyint, @ItemRefid int AS DECLARE @IID int ,@RefID int ,@InvID int ,@Type varchar(50) = NULL ,@ID int ,@ID1 int ,@NID int ,@Gender varchar(8) ,@DG varchar(50) ,@ItemID int , @Slot int set @Slot = '6' IF @ItemRefID = '42099' set @Type ='Sword' IF @ItemRefID = '42100' set @Type ='blade' IF @ItemRefID = '42101' set @Type ='Spear' IF @ItemRefID = '42102' set @Type ='TBALDE' IF @ItemRefID = '42103' set @Type ='Bow' IF @ItemRefID = '42107' Set @Type = 'Dagger' IF @ItemRefID = '42108' Set @Type = 'Xbow' IF @ItemRefID = '42109' Set @Type = 'Axe' IF @ItemRefID = '42110' Set @Type = '1Hand' IF @ItemRefID = '42111' Set @Type = '2Hand' IF @ItemRefID = '42112' Set @Type = 'Tstaff' IF @ItemRefID = '42113' Set @Type = 'Staff' IF @ItemRefID = '42114' Set @Type = 'DarkStaff' IF @ItemRefID = '42115' Set @Type = 'harp'
SELECT @ItemID=I.ID64 , @RefID = I.RefItemID FROM SRO_VT_SHARD.dbo._Items I INNER JOIN SRO_Vt_SHARD.dbo._Inventory Iv ON I.ID64 = Iv.ItemID WHERE Iv.Slot = @Slot AND Iv.CharID = @CharID
select @ID = ID ,@DG = DG , @Gender = Gender FROM SRO_VT_SHARDLOG.dbo._SystemChangeByHLP WITH(NOLOCK) where ID = @RefID
Select @NID = ID FROM SRO_VT_SHARDLOG.dbo._SystemChangeByHLP WITH(NOLOCK) WHERE TYPE = @Type and Gender = @Gender AND DG = @DG
IF (@ItemRefID Between 42099 and 42103 ) and (@Operation = 41) Begin IF @RefID =@ID begin Update SRO_VT_SHARD.._Items Set RefItemID=@NID,CreaterName='HLP' Where ID64 = @ItemID END end
شكرا علي رايك
|
|
التعديل الأخير تم بواسطة HLP ; 21-04-2016 الساعة 07:41 AM
|