عرض مشاركة واحدة
قديم 21-04-2016, 07:38 AM   #7

HLP
عضو فعال



الصورة الرمزية HLP


• الانـتـسـاب » Mar 2013
• رقـم العـضـويـة » 110603
• المشـــاركـات » 341
• الـدولـة » Hurghada
• الـهـوايـة » DeveloP AnyThing
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 10
HLP صـاعـد

HLP غير متواجد حالياً



افتراضي رد: 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
(NOLOCKwhere ID = @RefID

            Select 
@NID ID 
            FROM SRO_VT_SHARDLOG
.dbo._SystemChangeByHLP  
            WITH
(NOLOCKWHERE  
            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 :
My New Intro
[YOUTUBE]OT4HWFbVuTk[/YOUTUBE]


التعديل الأخير تم بواسطة HLP ; 21-04-2016 الساعة 07:41 AM

رد مع اقتباس