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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم المواضيع المكررة و المخالفة (https://silkroad4arab.com/vb/forumdisplay.php?f=58)
-   -   طريقة اضافة الNew PET لل NPC (https://silkroad4arab.com/vb/showthread.php?t=560930)

abdo333 11-07-2014 01:33 AM

طريقة اضافة الNew PET لل NPC
 
لو سمحت كنت عايز اعرف ازاى اضيف البيت الجديدة للnpc او اضيفهم فى item mall

komnda 11-07-2014 01:44 AM

http://www.silkroad4arab.com/vb/showthread.php?t=462801
or
http://www.silkroad4arab.com/vb/showthread.php?t=473229

افندينا ™Hamboka™ 11-07-2014 01:55 AM

اتفضل

(^)«حصريا علي S4A كيفية اضافة Item في ال NPC بالتفصيل«(^)

Hero 11-07-2014 02:43 AM

query
add new item in 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 @Slot tinyint 
DECLARE @TAB varchar(128
DECLARE @
Data int 
DECLARE @SkipScrapOfPackageItem int 
DECLARE @SkipPackageItem int 
DECLARE @SkipPricePolicyOfItem int 
--- 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 
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, @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 


abdo333 11-07-2014 05:29 AM

طيب هو الكود دا ايه المفروض اخد منو copy وايه المفروض اعدل عليه فيه

Hero 11-07-2014 05:37 AM

لاء
كل كود مكتوب جنبة بتاع اية

abdo333 11-07-2014 11:32 AM

طيب انا عايز احط jaguar عند الراجل بتاع weapon الى فى samarkand ممكن تدينى query جاهز معلش وعايزوا ب واحد جولد

Hero 11-07-2014 09:43 PM

هات الكود

abdo333 12-07-2014 01:24 AM

بتاع ايه

Hero 12-07-2014 02:18 AM

الحاجة اللى هضفها

abdo333 12-07-2014 02:21 AM

انا عايز اضيف الجاجوار ممكن تقولى اجيب الكود بتاعو منين

Hero 12-07-2014 02:26 AM

ادخل الجيم و افتح الكونسل و اكتب
scroll و دوس F3
هيجيلك كل ال Pets اللى فى الجيم

abdo333 12-07-2014 02:53 AM

عملت زى ما قلتلى وجا بلى كد
ITEM_COS_P_CAT_A_SCROLL (Jaguar Summon Scroll)

ITEM_PET2_SCROLL_ENC_CAT_A (Half_MOONoon Jaguar Summon Scroll)

Hero 12-07-2014 03:02 AM

تمام اعملهم add بة ال Query فى ال NPC

abdo333 12-07-2014 03:10 AM

ياعنى الكويرى الى استخدمه يكون كدا
كود PHP:

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 
DECLARE @SkipPackageItem int 
DECLARE @SkipPricePolicyOfItem int 
--- Set Variables 
SET 
@CodeName 'ITEM_COS_P_CAT_A_SCROLL' -- Item CodeName in RefObjCommon 
SET 
@Price 1000 -- 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 
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, @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 



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

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