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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم المواضيع المكررة و المخالفة (https://silkroad4arab.com/vb/forumdisplay.php?f=58)
-   -   ممكن اضيف ايتم عند NPC HP.MP (https://silkroad4arab.com/vb/showthread.php?t=563995)

mostafa30 18-08-2014 09:56 PM

ممكن اضيف ايتم عند NPC HP.MP
 
عايز احوط الايتم فى NPC فى

Ayman shawky 18-08-2014 09:57 PM

حضرتك خش هنا هتلاقي كل حاجة ..
ازاي تضيف NPC وتاب وجروب وازاي تضيف ايتم وكل حاجة
http://www.silkroad4arab.com/vb/showthread.php?t=522775

komnda 18-08-2014 11:19 PM

تمام وشوف ده بردو
http://silkroad4arab.com/vb/showthread.php?t=492283
وده شرح فيديو
https://www.youtube.com/watch?v=fgxVMIAsEtw

Hero 19-08-2014 12:38 AM

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

كود 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 


mostafa30 19-08-2014 02:12 PM

Hero ممكن شرح للكويرى

™Dev Microsoft™ 19-08-2014 02:19 PM

بدل كلمة code name اكتب كود الايتم اللي عايز تضيفو حاول تساعد نفسك يا برو اقرا اللي جوا الكويري و انت هاتفهم الموضوع اسهل بكتير :)

Ayman shawky 19-08-2014 02:20 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة mostafa30 (المشاركة 5091068)
Hero ممكن شرح للكويرى

كود PHP:

--- 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. 

حضرتك هتعدل هنا بس :)
CodeName اللي هوه كود الأيتم !! لما بتنزله في الكونسل بيبقى على سبيل المثال /makitem 'ITEM_CH_M_CLOTHES_12_FA_A
هتشيل ال/ makeitem وتنزل الباقي .. 'ITEM_CH_M_CLOTHES_12_FA_A
Set @Price سعر الأيتم بس بالجولد :)
Silk Price سعر الأيتم بالسيلك :)
لو عايزة الجولد مفيش حط 0
Set @TAB ده التاب بتاع الNPC يعني مثلا .. لما تخش الNPc بيبقى في كذا تاب .. اكتب اسم التاب من RefShopGoods
PachageName :D معرفش الصراحة بس متجيش جنبها ^^
ياريت اكون افدتك :groupwave:

mostafa30 19-08-2014 03:01 PM

طيب اخر سؤال حيتط فى جميع الانبى سى وى لو اتحت عايزو فى صفحا رقم 3 مثل وشكرا على تعبك معايا

Ayman shawky 19-08-2014 07:43 PM

هيتحط حضرتك في NPC واحد زي ماشرحت لحضرتك الNPC أللي حضرتك هتكتب اسمه ! والتاب نفس الكلام التاب اللي حضرتك هتختار اسمه .. عشان تعرف اسم الNPC
من Textdata_Object او _REfObjcommon

Hero 20-08-2014 01:56 AM

زى ما انت بتحدد بقا التاب و الكلام دة
برحتك انت
##


الساعة الآن 08:53 PM.

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