البقاء مسجل دائمآ
الإعلانات
قديم 18-06-2013, 01:10 AM   #1

ღ♥ČrimeḾaster♥ღ
عضو متألق



الصورة الرمزية ღ♥ČrimeḾaster♥ღ


• الانـتـسـاب » Dec 2012
• رقـم العـضـويـة » 107695
• المشـــاركـات » 1,573
• الـدولـة » الاسكندرية
• الـهـوايـة » Database Editor
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 83
ღ♥ČrimeḾaster♥ღ جـيـد

ღ♥ČrimeḾaster♥ღ غير متواجد حالياً


إرسال رسالة عبر Yahoo إلى ღ♥ČrimeḾaster♥ღ

(25) Add Item In NPC in 3 Minute's



فى ناس كتير مش عارفه تعمل Add item in npc انا حبيت اساعد الناس واسهل عليهم الموضوع

نبتدى الشرح


عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

الـ Query اللى هنشتغل عليه

كود PHP:
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_CH_M_CLOTHES_12_FA_A' -- Item CodeName in RefObjCommon
SET 
@Price 5000000 -- 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 
@TAB 'STORE_KT_ARMOR_TAB3' -- 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(IDFROM _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(IDFROM _RefShopTab WHERE CodeName128 = @TAB) < 1)
BEGIN
    
PRINT 'TAB VALUE IS NOT VALID..!'
    
PRINT 'FAILED.'
    
RETURN
END
IF ((SELECT COUNT (RefPackageItemCodeNameFROM _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 (RefPackageItemCodeNameFROM _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 (CodeName128FROM _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 (PaymentDeviceFROM _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 (PaymentDeviceFROM _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 = [IndexFROM _RefScrapOfPackageItem ORDER BY [IndexDESC
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], CountryIDCodeName128SaleTagExpandTermNameStrIDDescStrIDAssocFileIconParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @ID, @PackageName0'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 
(ServiceCountryRefPackageItemCodeNameRefItemCodeNameOptLevelVarianceDataMagParamNumMagParam1MagParam2MagParam3MagParam4MagParam5MagParam6MagParam7MagParam8MagParam9MagParam10MagParam11MagParam12Param1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128, [Index]) VALUES (115, @PackageName, @CodeName00, @Data0000000000000, -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 OR @SkipPricePolicyOfItem AND @Price 0)
BEGIN
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName10, @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 OR @SkipPricePolicyOfItem AND @SilkPrice 0)
BEGIN
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName20, @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 
(ServiceCountryRefTabCodeNameRefPackageItemCodeNameSlotIndexParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @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 
قبل بقا منعمل الQuery لازم نعمل زى الصور فى الSQL

تـابع الصور

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

وبعدين نعمل الـQuery

ونحط كود الايتم اللى عايزين نضيفو
ونحط اسم التاب بردو اللى هنضيف فيه الايتم
وسعر اللى هيتباع بيه الايتم

اخر حاجه وبكده نكون قربنا نخلص

تاخد كل اللى فى _RefPackageItem and _RefPricePolicyOfItem and and _RefScrapOfPackageItem and _RefShopGoods

وطلعهم من الميديا و Past and Import

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

اتاكد ان الQuery هيجبلك زى الصوره كده

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

والف مبروك


توقيع ღ♥ČrimeḾaster♥ღ :
#Back

التعديل الأخير تم بواسطة ღ♥ČrimeḾaster♥ღ ; 18-06-2013 الساعة 05:28 AM

رد مع اقتباس
إعلانات google

 


يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر)
 

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى الردود آخر مشاركة
Come Minute! Secret0 قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 12 27-06-2013 02:37 AM
ازاى اعمل notice كل 10 minute فى السيرفر بتاع mohamedmabrouk قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة 3 09-12-2012 07:10 PM
come u will learn a lot of thing plz fix it troy_knight Minerva 8 04-07-2009 10:06 AM


الساعة الآن 01:15 AM.