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

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

medoo789 03-12-2017 02:33 AM

مشكلة في NPC
 
السلام عليكم

دلوقتي انا عندي مشكلة في Npc المفروض اني حاطط ويبون صن ديجري 12

لما بشتريه بضرب ريترن يتحول لبس صن D12

ياريت حل للمشكلة من فضلكم

hodamoseba 03-12-2017 02:39 AM

رد: مشكلة في NPC
 
مفهمناش حاجة يا ريت توضح :thumb_yello:

medoo789 03-12-2017 02:48 AM

رد: مشكلة في NPC
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hodamoseba (المشاركة 5336256)
مفهمناش حاجة يا ريت توضح :thumb_yello:

الموضوع واضح انا عندي ان بي سي افيه سلاح صن ديجري 12 لما تشتري السلاح ده وتيجي تمسكه متقدرش تضرب ريترن تلاقي السلاح اتحول بقا لبس صن

Mr Z!dane 03-12-2017 03:39 AM

رد: مشكلة في NPC
 
راجع الاكواد بتاعته refpackitem

medoo789 03-12-2017 10:48 AM

رد: مشكلة في NPC
 
راجعتها مظبوطة

HB# 03-12-2017 12:48 PM

رد: مشكلة في NPC
 
من ال RefShopGoods_ انت تلاقيه موجود في الميديا في ال refshopgoods.txt ويبون فا هيظهرك في الكلينت انو weapon فا لازم تتأكد ان المحطوط في الداتابيز بردو في المكان انو الويبون :mf_rasta:

Dev.Ri3o 03-12-2017 02:30 PM

رد: مشكلة في NPC
 
دى مشكلة فى ال NPC نفسها من غير ما اشوف هتلاقى ال Set فى ال Tab اللى قبل ال Weapon ولو جربت تشترى من Tab2 هيجيلك ال Item من ال Tab اللى قبلها شيل كل اللى فى ال NPC وضيفو تانى من جديد خش شوف الموضوع ده
http://www.silkroad4arab.com/vb/showthread.php?t=621196

Scrox 03-12-2017 06:45 PM

رد: مشكلة في NPC
 
امسح كل الاتيم من NPC واضافة من جديد
ودى كيورى تضاف بة الايتم ومن كيورى دى تقدر تحدد الكوين الانت عايز تضافة


كود 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 @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 
DECLARE @SkipPackageItem int 
DECLARE @SkipPricePolicyOfItem int 
--- Set Variables 
SET 
@CodeName 'ITEM_CH_NECKLACE_11_A_RARE' -- Item CodeName in RefObjCommon 
SET 
@Price -- 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 -- 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 -- 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 -- 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(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 
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 
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 
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 
    END 
    
ELSE 
    
BEGIN 
        SET 
@SkipPricePolicyOfItem 
    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 
SELECT TOP 1 
@INDEX = [IndexFROM _RefScrapOfPackageItem ORDER BY [IndexDESC 
SET 
@INDEX = @INDEX 
SELECT TOP 1 
@Slot SlotIndex FROM _RefShopGoods WHERE RefTabCodeName = @TAB ORDER BY SlotIndex DESC 
IF (@Slot 0
BEGIN 
    SET 
@Slot = @Slot 
END 
ELSE IF (@Slot 0
BEGIN 
    SET 
@Slot = @Slot 
END 
ELSE 
BEGIN 
    SET 
@Slot 
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 
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, @CodeName, @Optlvl0, @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 
/**Gold Price***/ 
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 
/*** Silk Price **/ 
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 
/*****Gold Coin***/ 
IF (@SkipPricePolicyOfItem OR @SkipPricePolicyOfItem AND @Gcoin 0
BEGIN 
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName5120, @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 OR @SkipPricePolicyOfItem AND @Scoin 0
BEGIN 
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName2560, @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 OR @SkipPricePolicyOfItem AND @Icoin 0
BEGIN 
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName1280, @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 OR @SkipPricePolicyOfItem AND @Ccoin 0
BEGIN 
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName640, @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 OR @SkipPricePolicyOfItem AND @Acoin 0
BEGIN 
    INSERT _RefPricePolicyOfItem 
(ServiceCountryRefPackageItemCodeNamePaymentDevicePreviousCostCostParam1Param1_Desc128Param2Param2_Desc128Param3Param3_Desc128Param4Param4_Desc128VALUES (115, @PackageName10240, @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 (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 

وبعد اما تخلص فى ال Database خد ال
RefPackageItem
RefScarpOfPckageItem
RefPricePolicyOfItem
RefShop Goods
خد كل دول Copy من ال Database وحطهم فى ال Media
واعمل بيهم UPDATE


الساعة الآن 07:31 PM.

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