بعد ما ضيفت New NPC والعبه اشتغلت تمام اوى و مفيش كرش ولى فى حاجه بس بعد ما ضيفت اتيم فى الان بى سى حصل كراش فى الجيم سيرفر ده Query الى ضيفت بيه
كود PHP:
/****query add item npc edited by mohamed hasan***/ 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 @Gcoin int DECLARE @Scoin int DECLARE @Icoin int DECLARE @Ccoin int DECLARE @Acoin int DECLARE @Optlvl 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_CH_NECKLACE_11_A_RARE' -- Item CodeName in RefObjCommon SET @Price = 1 -- Set 0 if you don't want to set Gold Price SET @SilkPrice = 0 -- Set 0 if you don't want to set Silk Price SET @Gcoin = 0 -- Set 0 if you don't want to set Gold Coin Price SET @Scoin = 0 -- Set 0 if you don't want to set Silver Coin Price SET @Icoin = 0 -- set 0 if you don't want to set Iron Coin Price SET @Ccoin = 0 -- set 0 if you don't want to set Copper Coin Price SET @Acoin = 0 -- set 0 if you don't want to set Arena Coin Price SET @Optlvl = 5 -- Item Plus in npc Set 0 if you don't want plus for any item SET @TAB = 'STORE_CH_NOVA_SET_SELLER_TAB7' -- 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, @Optlvl, 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 /**Gold Price***/ 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 /*** Silk Price **/ 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 /*****Gold Coin***/ IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @Gcoin > 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, 512, 0, @Gcoin, -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 = 512 (Gold Coin)' END ELSE BEGIN PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...' END /***Silver Coin***/ IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @Scoin > 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, 256, 0, @Scoin, -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 = 256 (Silver Coin)' END ELSE BEGIN PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...' END /****Iron Coin****/ IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @Icoin > 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, 128, 0, @Icoin, -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 = 128 (Iron Coin)' END ELSE BEGIN PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...' END /****Copper Coin**/ IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @Ccoin > 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, 64, 0, @Ccoin, -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 = 64 (Copper Coin)' END ELSE BEGIN PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...' END /****Arena Coin***/ IF (@SkipPricePolicyOfItem = 1 OR @SkipPricePolicyOfItem = 0 AND @Acoin > 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, 1024, 0, @Acoin, -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 = 1024 (Arena Coin)' END ELSE BEGIN PRINT 'There is already silk / gold price, skipping _RefPricePolicyOfItem table...' END /************** End Prices ***************/ 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
و دى صوره لى Gameserver قبل ما يقفل
مع العلم انا مش ضايف الكود الى فى GameServer ده انا ضايف حاجه تانى خالص
ملحوظه بس انا جربت اشيلهم من _RefShopGoods اشتغل كده العيب فىه هو بس مش عارف لما بضيفهم ال GameServer مش بيشتغل مش عارف ليه
التعديل الأخير تم بواسطة Blizzard ; 20-04-2016 الساعة 11:45 AM
السبب: اضافه ملحوظه
يبقى انت اكيد حاطط الارقام غلط يعنى علشان تحط الحاجة فى التاب لازم تعد من 0 1 2 3 4 5
لو بصيتت على الحاجات الى انت حطتها هتلقيها كلها رقم واحد لازم ترقمهم
المشاركة الأصلية كتبت بواسطة MrMisoBear
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
يبقى انت اكيد حاطط الارقام غلط يعنى علشان تحط الحاجة فى التاب لازم تعد من 0 1 2 3 4 5
لو بصيتت على الحاجات الى انت حطتها هتلقيها كلها رقم واحد لازم ترقمهم