الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   مشكله فيitem Npc (https://silkroad4arab.com/vb/showthread.php?t=576270)

Spicoo 14-01-2015 01:13 AM

مشكله فيitem Npc
 
اما بشتري ايتم من NPC باخد D.c والجيم سيرفر بجيلي كدا
http://im44.gulfup.com/siKT4d.png

AnA BaBa Yla 14-01-2015 03:37 AM

بص يا باشة اتاكد من الـ Lines في الـ RefPackageItem و انشاء الله هتتحل !

AnA BaBa Yla 14-01-2015 04:14 AM

و يريت تشوف الـ Codes و تظبطها !

Spicoo 14-01-2015 01:14 PM

حضرتك وضح اكتر
مفيش حاجه اسمها Lines في الـ RefPackageItem

Hamza FiGo 14-01-2015 04:31 PM

ياباشا . اي ايتم بضيفة في الداتا بيز لازم يبقالة Lines في الاربع ملفات دول

refshoupgoods
refpackageitem
refpricepolicyofitem
refscrapofpackageitem


بعد ماضيف الايتم في الداتا بيز. ادخل علي الداتا بيز وعلي المسارات دي وخدهم كوبي في نفس الملفات في الكلينت

Spicoo 14-01-2015 06:43 PM

حضرتك انا شغال ب NPC Progrem وكل حاجه تمام بس هيا مشكله الD.c ديا

Hamza FiGo 14-01-2015 08:51 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة Spicoo (المشاركة 5151362)
حضرتك انا شغال ب NPC Progrem وكل حاجه تمام بس هيا مشكله الD.c ديا

برنامج NPC program انا مش برتاحلة شخصيا. بالــ Query يكون احسن وتدخل كل حاجة بايدك وتكون مطمن 100%


كود:

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_MALL_ADVDOWN' -- Item CodeName in RefObjCommon
SET @Price = 1 -- Set 0 if you don't want to set Gold Price
SET @SilkPrice = 1 -- Set 0 if you don't want to set Silk Price
SET @TAB = 'STORE_Donate_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


Spicoo 15-01-2015 04:26 AM

حضرتك انا مش خبير اوي لل كويري :wub2::wub2:

iLead 15-01-2015 12:38 PM

حضرتك حط ال Query وعدل علي دول بس

@CodeName ب كود ال ايتم
@price تمنها بالجولد
@SilkPrice تمنها بالسيلك ولو مش عايزها بالسيلك اعمل 0
@Tab اسم ال NPC

حيطلعلك Line's تحطها في ال Media
RefShopGoods
RefPackegeItem
RefPriceOfPolicyOfItem
RefScrapOfPackegeItem

Spicoo 15-01-2015 10:22 PM

حضرتك دي مش مشكله ال Npc Progrem علشان انا لما بشتري tiem من F10 باخد D.c برضو :showoff::showoff:

Hamza FiGo 16-01-2015 02:43 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة Spicoo (المشاركة 5151588)
حضرتك دي مش مشكله ال Npc Progrem علشان انا لما بشتري tiem من F10 باخد D.c برضو :showoff::showoff:

مشكلة F10 دي . شيل شوية ايتمز من Item Mall اللي في F10 زي مثلا شيل شوية Hats

علشان انت حاطط حاجات كتيير في F10 بتجيبلك كراش

Spicoo 17-01-2015 09:02 PM

حضرتك بوص بيقلك ايه دا في الشرد http://im44.gulfup.com/n8kqXt.png

Hamza FiGo 18-01-2015 03:43 AM

يا باشا بيقولك اهو اخر السطر PACKEGITEM شوف يا باشا انا قولتلك اية فوق وظبط حاجتك تاني علشان الملف دا ناقص في الداتا والميديا

Spicoo 18-01-2015 03:40 PM

ممكن حضرتك تكلمني فيس

Spicoo 22-01-2015 12:26 PM

##


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.