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

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

ahmedjemy 25-09-2017 10:55 PM

Add Items to npc / Remove NPC
 
1- جربت كذا طريقة امسح بيها ال npc و بردو نفس المشكلة مش عارف العيب فيا ولا في الكويري او الطريقة
SRO_VT_SHARD >dbo.RefObjCommon<ID NPC < Change Service to 0 < Execute SQL
مش كده صح ؟
2- تاني حاجة ازاي اشيل و احط ايتمز من ال NPC
http://store1.up-00.com/2017-09/150636877678961.png

Neoon 25-09-2017 11:06 PM

رد: Add Items to npc / Remove NPC
 
1-كدة صح تمام تعمل الNPC service 0

لو عملتها ومتشالش اعمل الكويري ده


كود PHP:

delete from Tab_RefNest 
where dwTacticsID
=(Select dwTacticsID from Tab_RefTactics where dwObjID='12345' 

)

و بعدين بدل 12345 اكتب اى دى الان بى سى



والكويري ده بتجيب منه NPC ID

كود PHP:

Use SRO_VT_SHARD select ID from _RefObjCommon where CodeName128 like 'MOB_RM_ROC' 


هنا هتكتب اسم ال NPC مكان الي باللون الاحمر وهو هيجيبلك الاي دي بتاعه

...............................................


2-
SQL / SRO_VT_SHARD / TABLES / RefShopGoods

اعمل Service الايتم اللى عايز تشيلها 0

و نفس الكلام فى الميديا

ده عشان تمسح الايتم

عشان تضيف ايتم اعمل الكويري ده

Query Add 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 0
DECLARE @SkipPackageItem int 0
DECLARE @SkipPricePolicyOfItem int 0
--- Set Variables
SET 
@CodeName 'ITEM_EU_SHIELD_08_C_RARE' -- Item CodeName in RefObjCommon
SET 
@Price 5000000 -- Set 0 if you don't want to set Gold Price
SET @SilkPrice = 256 -- Set 0 if you don'
t want to set Silk Price
SET 
@TAB 'STORE_Honor_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(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 يشـغل مـعاك


http://www2.0zz0.com/2013/07/13/07/344038676.jpg

http://www2.0zz0.com/2013/07/13/07/315634087.jpg


http://www2.0zz0.com/2013/07/13/07/696334391.jpg

http://www2.0zz0.com/2013/07/13/07/884861931.jpg





ahmedjemy 25-09-2017 11:14 PM

رد: Add Items to npc / Remove NPC
 
كدا متشالش صح ؟
http://store1.up-00.com/2017-09/150637006415961.png

Neoon 25-09-2017 11:16 PM

رد: Add Items to npc / Remove NPC
 
اها متشالش طيب جرب الكويري ده
كود PHP:

delete from Tab_RefNest  
where dwTacticsID
Select dwTacticsID from Tab_RefTactics where dwObjID='41802 

'

ahmedjemy 25-09-2017 11:22 PM

رد: Add Items to npc / Remove NPC
 
نفس القصة .
طيب يمكن الغلط من عندي انا ؟ يعني انا ممكن اكون شيلته اصلا من الداتا؟ او علشان ال service 0 ؟ بعد ما بغير ال service لي 0 في حاجة بتتعمل بعد كده في اللعبة زي update علشان الحاجات اللي اتعملت تشتغل ؟
http://store1.up-00.com/2017-09/150637058625211.png

Neoon 25-09-2017 11:25 PM

رد: Add Items to npc / Remove NPC
 
معلش انا نسيت اضيف ' في الاخر

كود PHP:

delete from Tab_RefNest  
where dwTacticsID
Select dwTacticsID from Tab_RefTactics where dwObjID='41802' 



عموما مابتعمل service 0 المفروض اساسا الNPC يتشال.

ahmedjemy 25-09-2017 11:30 PM

رد: Add Items to npc / Remove NPC
 
لا نفس الكلام بردو للاسف مش لاقيها ليها حل ! اشيلها من الميديا بردو طيب؟

Neoon 25-09-2017 11:31 PM

رد: Add Items to npc / Remove NPC
 
بص طيب جرب الكويري ديه المفروض تمحيه خالص

كود PHP:

USE SRO_VT_SHARD  
go
DECLARE @NPC_COMMON VARCHAR (129)
SET @NPC_COMMON 'NamE NpC Here'  --Npc Name


/* get ID of NPC by code name */ 
Declare @NPC_ID int SET @NPC_ID = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @NPC_COMMON)
/* get Tactics ID of NPC by common id */ 
Declare @NPC_TID int SET @NPC_TID = (SELECT dwTacticsID FROM Tab_RefTactics WHERE dwObjID  = @NPC_ID)
/* delete NPC of refnest byTactics ID  */ 
delete from Tab_RefNest WHERE dwTacticsID = @NPC_TID 


ahmedjemy 25-09-2017 11:40 PM

رد: Add Items to npc / Remove NPC
 
ال NPC*انا عاجي معاكو كده*
الكويري صح بس برود متشالش ! :mad2::mad2::mad2::slave_h4h_sp:
http://store6.up-00.com/2017-09/150637162774271.png

Neoon 25-09-2017 11:49 PM

رد: Add Items to npc / Remove NPC
 
اقفل بس الاغاني وكل حاجه هتشتغل تمام :thumbup:

طيب ركز معايا عشان هقولك على كذا حل



انت حتجيب Code الNpc الي في refCommon

وبعدين تخلي الرقم الي في اول سطر 0 بدل 1


.........................


يا تعمل الكويري ديه
كود PHP:

use SRO_VT_SHARD 
delete from Tab_RefHive where dwHiveID 
= ( select dwHiveID from Tab_RefNest where dwTacticsID = ( select dwTacticsID from Tab_RefTactics where dwObjID = ( select ID from _RefObjCommon where CodeName128 like 'NPC_AVATARN_'))) 
delete from Tab_RefNest where dwTacticsID = ( select dwTacticsID from Tab_RefTactics where dwObjID = ( select ID from _RefObjCommon where CodeName128 like 'NPC_AVATARN_')) 
delete from Tab_RefTactics where dwTacticsID = ( select dwTacticsID from Tab_RefTactics where dwObjID = ( select ID from _RefObjCommon where CodeName128 like 'NPC_AVATARN_'))   
delete from _RefObjChar where ID = ( select Link from _RefObjCommon where CodeName128 like 'NPC_AVATARN_' 
delete from _RefObjCommon where CodeName128 Like '%AVATARN_' 
delete from _RefShop where CodeName128 like '%AVATARN_' 
delete from _RefShopGroup where CodeName128 like '%AVATARN_' 
delete from _RefShopItemGroup where CodeName128 like '%AVATARN_' 
delete from _RefShopTab where CodeName128 like '%AVATARN_' 
delete from _RefShopTabGroup where CodeName128 like '%AVATARN_' 
delete from _RefMappingShopGroup where RefShopCodeName like '%AVATARN_' 
delete from _RefMappingShopWithTab where RefShopCodeName like '%AVATARN_' 

...................

ياتدور على الNPC في chardataxxxxx.txt واعمل service 0

دور على اسم NPC هنا textdata_object.txt

هتلاقيه اسمه SN_blablabla مكان blablabla

يارب حاجه فيهم تنفع معاك وقول بسم الله الرحمن الرحيم


HB# 25-09-2017 11:50 PM

رد: Add Items to npc / Remove NPC
 
بص انت خش في الميديا في المسار ده : media/server_dep/silkroad/textdata/text_object.txt

في ال text_object.txt اعمل search بي اسم ال npc وخد كود ال npc ال هوا بعد ال SN_ علطول وحطوا في الكويري دي :

كود PHP:

USE [SRO_VT_SHARD]

DELETE from Tab_RefNest where dwTacticsID in (select dwTacticsID from Tab_RefTactics where dwObjID in (select ID from _RefObjCommon where 
CodeName128 like 
'NPC_blablabla' )) --- NPC Code here #HB 

واعمل ريستارت لل game server :gun_bandana:

ahmedjemy 26-09-2017 12:00 AM

رد: Add Items to npc / Remove NPC
 
دا اللي حصل بعد ما عملت الكويري و عملت ريسترت لل SR_Gameserver
بعد ما بدوس ok الجيم سيرفر بتتقفل .
http://store6.up-00.com/2017-09/150637286240261.png

Neoon 26-09-2017 12:03 AM

رد: Add Items to npc / Remove NPC
 
service 0 في RefObjCommon

وهتبقى تمام

ahmedjemy 26-09-2017 12:08 AM

رد: Add Items to npc / Remove NPC
 
هي اصلا 0 ! انا زهقت من ال Npc دا هكسر الجهاز اقسم بالله
http://store6.up-00.com/2017-09/150637328443711.png

HB# 26-09-2017 12:44 AM

رد: Add Items to npc / Remove NPC
 
لا رجعها 1 هيا الكويري ال انا اديتهالك كفايه انها تشيلوا :moptop:
هوا بيجيبلك المشكله دي عشان ال group بتاع ال npc موجود وال npc مش موجود عشان انت عملتوا 0


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

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