|
![]() |
#1 | ||||||||||
![]() ![]()
|
قاعد فاضى و كنت بشتغل على سيرفير جديد ليا، فقولت مفيهاش مشكلة نعمل Comeback بسيطة هنا كمان ![]() دلوقت الـDonate بياخذ وقت، منى على الاقل، لانى كل مرة بحتاج ادخل اعمل الـItems و اديهمله و اجيب الاكواد، و كل واحد بيحل المشكلة زى ما هو عايز بقا او بينجز نفسه باى حاجة، انا لا. انا اشتغلت على PROCEDURE سهلة و كويسة عشان تدى الـDonate بدوسة بدل تعب كل مرة. فاضلى فيها جزء بسيط عن انه يخلى الـItems تبقى FB لواحده، لحد اما اخلص الجزء ده هاتحتاج مع الاسف تدخل تظبطها من الـDB او من الـSMC على حسب انت بتحب تظبطها منين الـProcedure اهى : كود:
USE [SRO_VT_SHARD] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <27md> -- Create date: <15/12/2016> -- Description: <PROCEDURE To Make A Donater Account> -- ============================================= CREATE PROCEDURE [dbo].[MakeDonate] @CharName varchar(64), @Dg varchar(2), @HawnLevel int, @Gender varchar(2), @Wep int, @Shield int, @Set int, @Rings int, @OptLevel int AS BEGIN Declare @WepType varchar(16) Declare @WepCode varchar(64) -- Don't Touch This Declare @SetType varchar(16) -- Don't Touch This Declare @ShieldType varchar(16) Declare @ShieldCode varchar(64) -- Don't Touch This Declare @RingsType varchar(16) -- Don't Touch This Declare @CharID int SET @CharID = (SELECT CharID From _Char Where CharName16 = @CharName) -- Getting rid of HwanLevel ( Title Name ) in the first, IF Hawn ( Third Param ) = 0 then change nothing, if Not Then Change if(@HawnLevel <> 0) UPDATE _Char SET HwanLevel = @HawnLevel Where CharID = @CharID -- Giving The WEP IF Wanan Give Wep. /* 0 - Don't Give Weapon 1 - EU - AXE 2 - EU - CROSSBOW 3 - EU - DAGGER 4 - EU - DARKSTAFF 5 - EU - HARP 6 - EU - STAFF 7 - EU - TSTAFF 8 - EU - SWORD 9 - EU - TSWORD 10 - CH - BLADE 11 - CH - BOW 12 - CH - TBLADE 13 - CH - SWORD 14 - CH - SPEAR */ if(@Wep = 1) SET @WepType = '_EU_AXE' if(@Wep = 2) SET @WepType = '_EU_CROSSBOW' if(@Wep = 3) SET @WepType = '_EU_DAGGER' if(@Wep = 4) SET @WepType = '_EU_DARKSTAFF' if(@Wep = 5) SET @WepType = '_EU_HARP' if(@Wep = 6) SET @WepType = '_EU_STAFF' if(@Wep = 7) SET @WepType = '_EU_TSTAFF' if(@Wep = 8) SET @WepType = '_EU_SWORD' if(@Wep = 9) SET @WepType = '_EU_TSWORD' if(@Wep = 10) SET @WepType = '_CH_BLADE' if(@Wep = 11) SET @WepType = '_CH_BOW' if(@Wep = 21) SET @WepType = '_CH_TBLADE' if(@Wep = 13) SET @WepType = '_CH_SWORD' if(@Wep = 14) SET @WepType = '_CH_SPEAR' SET @WepCode = 'ITEM' + @WepType + '_' + @Dg + '_C_RARE' if(@Wep <> 0) exec _ADD_ITEM_EXTERN @CharName,@WepCode,1,@OptLevel -- Giving The SET IF Wanan Give SET. /* 0 - Don't Give SET 1 - EU - CLOTHES 2 - EU - HEAVY 3 - EU - LIGHT 4 - CH - CLOTHES 5 - CH - HEAVY 6 - CH - LIGHT */ if(@Set = 1) SET @SetType = 'EU_'+ @Gender +'_CLOTHES' if(@Set = 2) SET @SetType = 'EU_'+ @Gender +'_HEAVY' if(@Set = 3) SET @SetType = 'EU_'+ @Gender +'_LIGHT' if(@Set = 4) SET @SetType = 'CH_'+ @Gender +'_CLOTHES' if(@Set = 5) SET @SetType = 'CH_'+ @Gender +'_HEAVY' if(@Set = 6) SET @SetType = 'CH_'+ @Gender +'_LIGHT' declare @SetCodes table(SCode varchar(64)) insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_AA_C_RARE') insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_BA_C_RARE') insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_CA_C_RARE') insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_FA_C_RARE') -- insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_HA_C_RARE') -- UnCode if Less Than DG11 ( HAT ) insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_LA_C_RARE') insert into @SetCodes (SCode) values ('ITEM_' + @SetType + '_' + @Dg + '_SA_C_RARE') Declare @SCode varchar(64) if(@Set <> 0) While exists (Select * From @SetCodes) Begin Select @SCode = Min(SCode) from @SetCodes exec _ADD_ITEM_EXTERN @CharName,@SCode,1,@OptLevel Delete from @SetCodes Where SCode = @SCode End -- Giving The Rings IF Wanan Give Rings. /* 0 - Don't Give Rings 1 - EU 2 - CH */ if(@Rings = 1) SET @RingsType = 'EU_' if(@Rings = 2) SET @RingsType = 'CH_' declare @RingsCodes table(RCode varchar(64)) insert into @RingsCodes (RCode) values ('ITEM_' + @RingsType + 'RING_' + @Dg + '_C_RARE') insert into @RingsCodes (RCode) values ('ITEM_' + @RingsType + 'RING_' + @Dg + '_C_RARE') insert into @RingsCodes (RCode) values ('ITEM_' + @RingsType + 'NECKLACE_' + @Dg + '_C_RARE') insert into @RingsCodes (RCode) values ('ITEM_' + @RingsType + 'EARRING_' + @Dg + '_C_RARE') Declare @RCode varchar(64) if(@Rings <> 0) While exists (Select * From @RingsCodes) Begin Select @RCode = Min(RCode) from @RingsCodes exec _ADD_ITEM_EXTERN @CharName,@RCode,1,@OptLevel Delete TOP (1) from @RingsCodes Where RCode = @RCode End -- Giving The Shield IF Wanan Give Shield. /* 0 - Don't Give Shield 1 - EU 2 - CH */ if(@Shield = 1) SET @ShieldType = 'EU_SHIELD' if(@Shield = 2) SET @ShieldType = 'CH_SHIELD' SET @ShieldCode = 'ITEM_' + @ShieldType + '_' + @Dg + '_C_RARE' if(@Shield <> 0) exec _ADD_ITEM_EXTERN @CharName,@WepCode,1,@OptLevel END هاتبدا تشتغل بالكويرى ديه لما تحب تدى الـItems لحد كود:
exec MakeDonate 'CharName','08','2','W',2,2,2,2,2 الـCharName هايبقا اسم الشخصية الى هاتشحن طبعا، و يكون مفضى مكان للحاجات الى هايشحنها فى الخزنة بتاعته طبعا. الـ08 ده الـDG لو دجرى 5 يبقى 05 لو 10 يبقى 10 لو 15 يبقى 15 و هكذا، المهم مننساش ديه عشان لو كتبت 5 من غير 0 مش هايشتغل. رقم 2 ده، ايوة الى بالاحمر ده، ده رقم Title لو هاتغيره للبلاير، لو مش عايز تغير الـTitle اكتب 0، لو عايز تغيره ليستة بالـID بتاع الـTitles و اسمهم و خاليها جنبك و اختار الرقم على طول و حطه و هوب دبل كيك خلصانة بشياكة :D الـW ده النوع، W ولا M على حسب الكاركتر طبعا طيب بقا، ايه الـ22222 الى طلعت مرة واحدة ديه ؟ بص يا سيدى. هما عبارة عن خمسة اتنينات، كل واحدة ليها شغلانة اول واحدة بعد الـW ديه عبارة عن السلاح، ازاى بقا ؟ بص على القائمة ديه معايا كده. كود بلغة HTML:
0 - Don't Give Weapon 1 - EU - AXE 2 - EU - CROSSBOW 3 - EU - DAGGER 4 - EU - DARKSTAFF 5 - EU - HARP 6 - EU - STAFF 7 - EU - TSTAFF 8 - EU - SWORD 9 - EU - TSWORD 10 - CH - BLADE 11 - CH - BOW 12 - CH - TBLADE 13 - CH - SWORD 14 - CH - SPEAR و تانى واحدة بقا، الـShield، و ده يا 1 يا 2 يا اروبى يا صينى كود بلغة HTML:
0 = مش عايز تديله 1 = اروبى 2 = صينى كود بلغة HTML:
0 - Don't Give SET 1 - EU - CLOTHES 2 - EU - HEAVY 3 - EU - LIGHT 4 - CH - CLOTHES 5 - CH - HEAVY 6 - CH - LIGHT ![]() الرقم الى قبل الاخير ده رقم الخواتم، زى الـShields كود بلغة HTML:
مش هاتديله = 0 اروبى = 1 صينى = 2 بس كده خلاص، ديه الطريقة و شرحها، اريح بكتير طبعا الا لو بتعمل FB على الـItem او بتخاليها 100% او 80%، و لو فيه تعب 50% انك تعمل الايتمز كلها الـ50% التانية هى الـFB و الـStats فعشان كده استنو تحديث قريب للكويرى ديه عشان تعمل FB و Stats كمان ![]() |
||||||||||
![]() |
![]() |
#2 | ||||||||||
![]() ![]()
|
![]() |
||||||||||
![]() |
![]() |
#3 | ||||||||||
![]() ![]()
|
الله ينور يا معلم |
||||||||||
![]() |
![]() |
#4 | ||||||||||
![]() ![]()
|
الله ينور |
||||||||||
![]() |
![]() |
#5 | ||||||||||
![]() ![]()
|
جميل والله تسلم |
||||||||||
![]() |
![]() |
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|
![]() |
||||
الموضوع | كاتب الموضوع | المنتدى | الردود | آخر مشاركة |
...... (غداً في الرحيل الطويل ) ....... | ☜ ĂиTaKą ☞ | بـعـيـدآ عـن سـيـلـك رود | 6 | 26-11-2013 02:41 PM |
انا وانت وليالي الطويل | ☜ ĂиTaKą ☞ | بـعـيـدآ عـن سـيـلـك رود | 4 | 23-10-2013 10:38 AM |
عايز طلبين علي السريع Query | PowerBalance | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 2 | 18-08-2013 12:00 AM |
عودة من الاعتزال الطويل | Elbrazely | قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة | 11 | 22-05-2012 10:41 PM |