|
|
#1 | ||||||||||
![]()
|
محتاج شرح لكيورى اضافة ايتم اللى هنا معلش مش عارف اعمل الكيورى زيكم فى تعليق بس جبت مكانه اهو عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] انا لسه مبتدأمش عارف اكتب ايه فى الكيورى واكتب فين وهل فيه سطور هعدل عليها فى الميديا وايه هيا السطور دى وهل الكيورى هيدينى السطور دى زى عمل NPc ولا ايه انا اسف خليكم معايا واحده واحده |
||||||||||
|
التعديل الأخير تم بواسطة mohamed habib ; 02-04-2017 الساعة 06:27 PM
السبب: خطأ
|
|
|
#2 | ||||||||||
![]()
|
بص يا باشا انت هتمشي مع الشرح عادي جدا هتعمل التعديل بتاع ال SQL عادي كما موضح في الصور بعد كده هتستخد الكويري كود:
USE SRO_VT_SHARD
GO
DECLARE @ID int
DECLARE @INDEX int
DECLARE @CodeName varchar(128)
DECLARE @PackageName varchar(128)
DECLARE @DescSTRID varchar(128)
DECLARE @File varchar(128)
DECLARE @Price int
DECLARE @SilkPrice int
DECLARE @Slot tinyint
DECLARE @TAB varchar(128)
DECLARE @Data int
DECLARE @SkipScrapOfPackageItem int = 0
DECLARE @SkipPackageItem int = 0
DECLARE @SkipPricePolicyOfItem int = 0
--- Set Variables
SET @CodeName = 'ITEM_EU_SHIELD_08_C_RARE' -- Item CodeName in RefObjCommon
SET @Price = 5000000 -- Set 0 if you don't want to set Gold Price
SET @SilkPrice = 256 -- Set 0 if you don't want to set Silk Price
SET @TAB = 'STORE_Honor_TAB1' -- Tab name in NPC, For _RefShopGoods
SET @PackageName = 'PACKAGE_'+@CodeName -- Do not edit if you don't know what are you doing.
--- you don't need to touch here...
IF (@CodeName = '')
BEGIN
PRINT 'You have to edit CodeName..!'
PRINT 'FAILED.'
RETURN
END
IF ((SELECT COUNT(ID) FROM _RefObjCommon WHERE CodeName128 = @CodeName) < 1)
BEGIN
PRINT 'There is no item with this CodeName..!'
PRINT 'FAILED.'
RETURN
END
IF (@Price < 0)
BEGIN
PRINT 'Price is not VALID..!'
PRINT 'FAILED.'
RETURN
END
IF (@SilkPrice < 0)
BEGIN
PRINT 'Silk Price is not VALID..!'
PRINT 'FAILED.'
RETURN
END
IF ((SELECT COUNT(ID) FROM _RefShopTab WHERE CodeName128 = @TAB) < 1)
BEGIN
PRINT 'TAB VALUE IS NOT VALID..!'
PRINT 'FAILED.'
RETURN
END
IF ((SELECT COUNT (RefPackageItemCodeName) FROM _RefShopGoods WHERE RefPackageItemCodeName = @PackageName AND RefTabCodeName = @TAB) > 0)
BEGIN
PRINT 'There is already same item in same tab..!'
PRINT 'FAILED.'
RETURN
END
IF ((SELECT COUNT (RefPackageItemCodeName) FROM _RefScrapOfPackageItem WHERE RefPackageItemCodeName = @PackageName) > 0)
BEGIN
PRINT 'There is already an entry for this item, skipping @_RefScrapOfPackageItem table..!'
SET @SkipScrapOfPackageItem = 1
END
IF ((SELECT COUNT (CodeName128) FROM _RefPackageItem WHERE CodeName128 = @PackageName) > 0)
BEGIN
PRINT 'There is already an entry for this item, skipping @_RefPackageItem table..!'
SET @SkipPackageItem = 1
END
IF ((SELECT COUNT (PaymentDevice) FROM _RefPricePolicyOfItem WHERE RefPackageItemCodeName = @PackageName AND PaymentDevice = '1') > 0)
BEGIN
PRINT 'There is already an entry for this item with same PaymentDevice, skipping @_RefPricePolicyOfItem table..! (Gold)'
SET @SkipPricePolicyOfItem = 1
END
IF ((SELECT COUNT (PaymentDevice) FROM _RefPricePolicyOfItem WHERE RefPackageItemCodeName = @PackageName AND PaymentDevice = '2') > 0)
BEGIN
PRINT 'There is already an entry for this item with same PaymentDevice, skipping @_RefPricePolicyOfItem table..! (Silk)'
IF (@SkipPricePolicyOfItem = 1)
BEGIN
SET @SkipPricePolicyOfItem = 3
END
ELSE
BEGIN
SET @SkipPricePolicyOfItem = 2
END
END
IF (@SilkPrice = 0) AND (@Price = 0)
BEGIN
PRINT 'You need to set a price, at least one !'
PRINT 'FAILED.'
RETURN
END
SELECT TOP 1 @ID = ID FROM _RefPackageItem ORDER BY ID DESC
SET @ID = @ID + 1
SELECT TOP 1 @INDEX = [Index] FROM _RefScrapOfPackageItem ORDER BY [Index] DESC
SET @INDEX = @INDEX + 1
SELECT TOP 1 @Slot = SlotIndex FROM _RefShopGoods WHERE RefTabCodeName = @TAB ORDER BY SlotIndex DESC
IF (@Slot = 0)
BEGIN
SET @Slot = @Slot + 1
END
ELSE IF (@Slot > 0)
BEGIN
SET @Slot = @Slot + 1
END
ELSE
BEGIN
SET @Slot = 0
END
SET @DescSTRID = 'SN_' + @CodeName + '_TT_DESC'
SELECT @File = AssocFileIcon128 FROM _RefObjCommon WHERE CodeName128 = @CodeName
IF (@CodeName LIKE '%RING%' OR @CodeName LIKE '%NECKLACE%' OR @CodeName LIKE '%ARCHEMY%')
BEGIN
SET @Data = 1
END
ELSE
BEGIN
SELECT @Data = Dur_U FROM _RefObjItem WHERE ID = (SELECT Link FROM _RefObjCommon WHERE CodeName128 = @CodeName)
END
BEGIN TRANSACTION
IF (@SkipPackageItem = 0)
BEGIN
--SET IDENTITY_INSERT _RefPackageItem ON
INSERT _RefPackageItem ([Service], Country, ID, CodeName128, SaleTag, ExpandTerm, NameStrID, DescStrID, AssocFileIcon, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128) VALUES (1, 15, @ID, @PackageName, 0, 'EXPAND_TERM_ALL', 'SN_'+@CodeName, @DescSTRID, @File, -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx')
IF (@@ERROR <> 0)
BEGIN
PRINT 'AN ERROR HAPPENED WHILE ADDING TO _RefPackageItem, Rolling back...'
ROLLBACK TRANSACTION
RETURN
END
PRINT 'Added to _RefPackageItem !'
--SET IDENTITY_INSERT _RefPackageItem OFF
END
IF (@SkipScrapOfPackageItem = 0)
BEGIN
INSERT _RefScrapOfPackageItem (Service, Country, RefPackageItemCodeName, RefItemCodeName, OptLevel, Variance, Data, MagParamNum, MagParam1, MagParam2, MagParam3, MagParam4, MagParam5, MagParam6, MagParam7, MagParam8, MagParam9, MagParam10, MagParam11, MagParam12, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128, [Index]) VALUES (1, 15, @PackageName, @CodeName, 0, 0, @Data, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx', @INDEX)
IF (@@ERROR <> 0)
BEGIN
PRINT 'AN ERROR HAPPENED WHILE ADDING TO _RefScrapOfPackageItem, Rolling back...'
ROLLBACK TRANSACTION
RETURN
END
PRINT 'Added to _RefScrapOfPackageItem !'
END
IF (@SkipPricePolicyOfItem = 2 OR @SkipPricePolicyOfItem = 0 AND @Price > 0)
BEGIN
INSERT _RefPricePolicyOfItem (Service, Country, RefPackageItemCodeName, PaymentDevice, PreviousCost, Cost, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128) VALUES (1, 15, @PackageName, 1, 0, @Price, -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx')
IF (@@ERROR <> 0)
BEGIN
PRINT 'AN ERROR HAPPENED WHILE ADDING TO _RefPricePolicyOfItem, Rolling back...'
ROLLBACK TRANSACTION
RETURN
END
PRINT 'Added to _RefPricePolicyOfItem, PaymentDevice = 1 (Gold)'
END
IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @SilkPrice > 0)
BEGIN
INSERT _RefPricePolicyOfItem (Service, Country, RefPackageItemCodeName, PaymentDevice, PreviousCost, Cost, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128) VALUES (1, 15, @PackageName, 2, 0, @SilkPrice, -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx')
IF (@@ERROR <> 0)
BEGIN
PRINT 'AN ERROR HAPPENED WHILE ADDING TO _RefPricePolicyOfItem, Rolling back...'
ROLLBACK TRANSACTION
RETURN
END
PRINT 'Added to _RefPricePolicyOfItem, PaymentDevice = 2 (Silk)'
END
ELSE
BEGIN
PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...'
END
INSERT _RefShopGoods (Service, Country, RefTabCodeName, RefPackageItemCodeName, SlotIndex, Param1, Param1_Desc128, Param2, Param2_Desc128, Param3, Param3_Desc128, Param4, Param4_Desc128) VALUES (1, 15, @TAB, @PackageName, @Slot, -1, 'xxx', -1, 'xxx', -1, 'xxx', -1, 'xxx')
IF (@@ERROR <> 0)
BEGIN
PRINT 'An error happened while adding to _RefShopGoods table'
PRINT 'FAILED.'
ROLLBACK TRANSACTION
RETURN
END
PRINT 'Added to _RefShopGoods, DONE!'
COMMIT TRANSACTION
كود:
SET @CodeName = 'ITEM_EU_SHIELD_08_C_RARE' -- Item CodeName in RefObjCommon السطر الي بعدو الي هو ده كود:
SET @Price = 5000000 -- Set 0 if you don't want to set Gold Price الي هو رقم 500000 لو مش عايز تضيف ال item بجولد هتكتب مكان 5000 هتكتب 0 لو عايز تضيفو ب silk هتعدل علي السطر الي بعدو الي هو مكتوب بالاحمر ده هتعدل علي 256 تشوف انت مثلا لو عايز ال item بكام silk و لو مش عايزو بسيلك هتكتب 0 مكان 256 لو عايز تضيف ال item ب silk + gold هتعدل علي الرقمين 256 و 50000 زي ما انت حابيب مع العلم انك لازم تعمل اي حاجه فيهم 0 لو انت مش عايزها تكون تكلفه ال Item جوه الجيم يا رب اكون عرفت افيدك |
||||||||||
|
|
|
|
#3 | ||||||||||
![]()
|
اولا تشكر لانك حاولت تفهمنى ثانيا انا هجيب كود الايتم اللى انا عايزه منين وهل هعدل حاجه فى الميديا وايه هيا وبعدين هل الكيورى بيحدد اسم ال npc اللى انا عايز اضيف الايتم فيه شكرااا |
||||||||||
|
التعديل الأخير تم بواسطة mohamed habib ; 02-04-2017 الساعة 11:35 PM
|
|
|
#4 | ||||||||||
![]()
|
اشتغل بى البرنامج عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] و ده موضوع تحويل دتا عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] |
||||||||||
|
|
|
|
#5 | ||||||||||
![]()
|
بالله عليك فهمنى الكيورى انا اسف لو كنت هدايقك |
||||||||||
|
|
|
|
#6 | ||||||||||
![]()
|
يا جماعه انا عايز افهم هكتب اسم الNPC فين والميديا فيها حاجه هتتعدل ولا لا من الاخر عايز شرح للحاجه اللى انا هكتبها فى الكيورى الراجل ده مشكور فهمنى بعض الحجات عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] |
||||||||||
|
|
|
|
#7 | ||||||||||
![]()
|
كود:
SET @TAB = 'STORE_Honor_TAB1' -- Tab name in NPC, For _RefShopGoods |
||||||||||
|
|
|
|
#8 | ||||||||||
![]()
|
مكان الكلمه ديه كود:
STORE_Honor_TAB1 |
||||||||||
|
|
|
|
#9 | ||||||||||
![]()
|
هقولك علي حاجه احلي هتخليك تتعمل افضل بص ال Table الي انت بتشتغل عليها في اضافه Items هما دول RefPackItem RefPricePolicy RefScrapOfPackitem RefShopGoods ادخل عليهم هما ال 4 و هات كود Items موجود في 4 Table و هتفهم الدنيا ماشيه ازاي صدقني كده هتتعلم احسن من الكويري |
||||||||||
|
|
|
|
#10 | |||||||||||
![]()
|
اقتباس:
|
|||||||||||
|
|
|
|
#11 | |||||||||||
![]()
|
اقتباس:
|
|||||||||||
|
|
|
|
#12 | ||||||||||
![]()
|
طيب هل كل الايتم اللى انا هحتاجه موجود فى الداتا بيز ولو موجود الاقيه فين معلش انا لسه مبتدأ فى الموضوع فمش فاهم الحوار ماشى انا اسف وهكتب ايه فى ال PackageName اللى فى الكيورى |
||||||||||
|
التعديل الأخير تم بواسطة mohamed habib ; 03-04-2017 الساعة 02:42 PM
|
|
|
#13 | ||||||||||
![]()
|
ده شرح عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ] شوفو كدا |
||||||||||
|
|
|
|
#14 | |||||||||||
![]()
|
اقتباس:
مفيش اسم للتاب فى الnpc |
|||||||||||
|
|
|
|
#15 | ||||||||||
![]()
|
Add NeW Tab كود PHP:
|
||||||||||
|
|
![]() |
| يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|