المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مساعده


MohamedLol
26-12-2016, 06:52 PM
انا عايز اضيف set egy D11 هنا علشان مش موجود معا انو بيجى من CONSLE GM ومش موجود فى اى NPC

https://s23.postimg.org/j1n5zk7uz/SRO_2016_12_26_17_47_59_61.jpg

https://s23.postimg.org/ge9iqdbgr/SRO_2016_12_26_17_48_01_46.jpg

https://s23.postimg.org/urvuxivqj/SRO_2016_12_26_17_50_06_60.jpg

https://s23.postimg.org/4mcwk44e3/SRO_2016_12_26_17_50_10_51.jpg

Levi
26-12-2016, 07:47 PM
اكيد مش ممسوحين من الداتا يعني

شوف في RefshopGoods اكيد معمول للService 0
خليها 1
في الميديا و الداتا بيز

MohamedLol
26-12-2016, 07:59 PM
مو انا بجيبو من GM عادى

MohamedLol
26-12-2016, 08:00 PM
انا غايز اضيفو فى الا SHOP ده

MohamedLol
26-12-2016, 08:12 PM
ممكن حل ؟

Dev.Klito
26-12-2016, 08:16 PM
http://www2.0zz0.com/2013/07/13/06/635523581.gif (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/06/274640419.gif (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/573080992.png (http://www.0zz0.com)

الـموضع ده شـامل كـل تعديل فـى الـ NPC

1- Add NPC & Edit NPC & Fix Crush Client
2- Add NPC Name & Add Group Name
3- Add item in NPC
4- تغير اتـجاه الـ NPC
5- Add New Group
6- Add New Tab
7-غـير مـكان الـ NPC
نـبتدى الـشرح :rolleyes:

Add NPC

لازم الاول نـعمل زى الـصور عـشان الكورى يـتعمل

http://www2.0zz0.com/2013/07/13/07/271120122.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/07/940295893.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/07/925262752.jpg (http://www.0zz0.com)

http://i.epvpimg.com/r2Jeh.jpg (http://i.epvpimg.com/r2Jeh.jpg)

http://i.epvpimg.com/xIaqh.jpg (http://i.epvpimg.com/xIaqh.jpg)

http://i.epvpimg.com/rHSCb.jpg (http://i.epvpimg.com/rHSCb.jpg)

http://www2.0zz0.com/2013/07/13/07/310746023.gif (http://www.0zz0.com)

ودلوقتى بـقا ده الـ Query اللى هنضـيف بيه الـ NPC الـجديد

DECLARE @CHARNAME VARCHAR (30)
DECLARE @NPCNAME VARCHAR (30)
DECLARE @ADDNEW VARCHAR (30)
DECLARE @GAMEWORDID INT
SET @CHARNAME = 'ELjOkeR' --U Char Name
SET @NPCNAME = 'Protectors' --U NPC NAME
SET @GAMEWORDID = 1 --IMPORTANT! GET GAMEWORLD ID FROM THE LOCALY U WANT ADD THE NPC NORMAL CITYs = 1
SET @ADDNEW = 'NPC'
--
IF @ADDNEW = 'NPC' BEGIN
DECLARE @MAXLINK VARCHAR (30) = (SELECT MAX (ID) FROM _RefObjChar)+1
DECLARE @MAXCOMMONID VARCHAR (30) = (SELECT MAX (ID) FROM _RefObjCommon)+1
SET IDENTITY_INSERT _RefObjCommon ON
INSERT INTO _RefObjCommon (Service,ID,CodeName128,ObjName128,OrgObjCodeName1 28,NameStrID128,DescStrID128,CashItem,Bionic,TypeI D1,TypeID2,TypeID3,TypeID4,DecayTime,Country
,Rarity,CanTrade,CanSell,CanBuy,CanBorrow,CanDrop, CanPick,CanRepair,CanRevive,CanUse,CanThrow,Price, CostRepair,CostRevive,CostBorrow,KeepingFee,SellPr ice,ReqLevelType1,ReqLevel1,ReqLevelType2,ReqLevel 2,ReqLevelType3,ReqLevel3,ReqLevelType4,ReqLevel4, MaxContain,RegionID,Dir,OffsetX,OffsetY,OffsetZ,Sp eed1,Speed2,Scale,BCHeight,BCRadius
,EventID,AssocFileObj128,AssocFileDrop128,AssocFil eIcon128,AssocFile1_128,AssocFile2_128,Link) VALUES
(1,@MAXCOMMONID,'NPC_'+@NPCNAME,'xxx','xxx','SN_NP C_'+@NPCNAME,'xxx',0,1,1,2,2,0,5000,3,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,100,0,0,0,'npc\npc\chinawoman_Nobl egirl_event.bsr','xxx','xxx','xxx','xxx',@MAXLINK)
SET IDENTITY_INSERT _RefObjCommon OFF
SET IDENTITY_INSERT _RefObjChar ON
INSERT INTO _RefObjChar (ID,Lvl,CharGender,MaxHP,MaxMP,ResistFrozen,Resist Frostbite,ResistBurn,ResistEShock,ResistPoison,Res istZombie,ResistSleep,ResistRoot,ResistSlow,Resist Fear
,ResistMyopia,ResistBlood,ResistStone,ResistDark,R esistStun,ResistDisea,ResistChaos,ResistCsePD,Resi stCseMD,ResistCseSTR,ResistCseINT,ResistCseHP,Resi stCseMP,Resist24,ResistBomb,Resist26
,Resist27,Resist28,Resist29,Resist30,Resist31,Resi st32,InventorySize,CanStore_TID1,CanStore_TID2,Can Store_TID3,CanStore_TID4,CanBeVehicle,CanControl,D amagePortion,MaxPassenger,AssocTactics,PD,MD,PAR,M AR,ER,BR,HR,CHR
,ExpToGive,CreepType,Knockdown,KO_RecoverTime,Defa ultSkill_1,DefaultSkill_2,DefaultSkill_3,DefaultSk ill_4,DefaultSkill_5,DefaultSkill_6,DefaultSkill_7 ,DefaultSkill_8,DefaultSkill_9,DefaultSkill_10,Tex tureType,Except_1
,Except_2,Except_3,Except_4,Except_5,Except_6,Exce pt_7,Except_8,Except_9,Except_10,Link) VALUES
(@MAXLINK,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,336860180,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0)
SET IDENTITY_INSERT _RefObjChar OFF
SET IDENTITY_INSERT _RefShop ON
DECLARE @ShopID VARCHAR (30) = (SELECT MAX (ID) FROM _RefShop)+1
INSERT INTO _RefShop (Service,Country,ID,CodeName128,Param1,Param1_Desc 128,Param2,Param2_Desc128,Param3,Param3_Desc128,Pa ram4,Param4_Desc128)
VALUES (1,15,@ShopID,'STORE_'+@NPCNAME,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
SET IDENTITY_INSERT _RefShop OFF
SET IDENTITY_INSERT _RefShopGroup ON
DECLARE @ShopGroupID VARCHAR (30) = (SELECT MAX (ID) FROM _RefShopGroup)+1
INSERT INTO _RefShopGroup (Service,Country,ID,CodeName128,RefNPCCodeName,Par am1,Param1_Desc128,Param2,Param2_Desc128,Param3,Pa ram3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,@ShopGroupID,'GROUP_STORE_'+@NPCNAME,'NPC_'+ @NPCNAME,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
SET IDENTITY_INSERT _RefShopGroup OFF
SET IDENTITY_INSERT _RefShopItemGroup ON
DECLARE @ShopItemID VARCHAR (30) = (SELECT MAX (GROUPID) FROM _RefShopItemGroup)+1
INSERT INTO _RefShopItemGroup (Service,GroupID,CodeName128,StrID128_Group)
VALUES (1,@ShopItemID,'STORE_'+@NPCNAME+'_GROUP1','SN_STO RE_'+@NPCNAME+'_GROUP1')
SET IDENTITY_INSERT _RefShopItemGroup OFF
SET IDENTITY_INSERT _RefShopTab ON
DECLARE @ShopTabID VARCHAR (30)= (SELECT MAX (ID) FROM _RefShopTab)+1
INSERT INTO _RefShopTab (Service,Country,ID,CodeName128,RefTabGroupCodeNam e,StrID128_Tab)
VALUES (1,15,@ShopTabID,'STORE_'+@NPCNAME+'_TAB1','STORE_ '+@NPCNAME+'_GROUP1','SN_TAB_Stones')
SET IDENTITY_INSERT _RefShopTab OFF
SET IDENTITY_INSERT _RefShopTabGroup ON
DECLARE @ShopTabGroupID VARCHAR (30) = (SELECT MAX (ID) FROM _RefShopTabGroup)+1
INSERT INTO _RefShopTabGroup (Service,Country,ID,CodeName128,StrID128_Group)
VALUES (1,15,@ShopTabGroupID,'STORE_'+@NPCNAME+'_GROUP1', 'SN_STORE_'+@NPCNAME+'_GROUP1')
SET IDENTITY_INSERT _RefShopTabGroup OFF
INSERT INTO _RefMappingShopGroup VALUES (1,15,'GROUP_STORE_'+@NPCNAME,'STORE_'+@NPCNAME)
INSERT INTO _RefMappingShopWithTab VALUES (1,15,'STORE_'+@NPCNAME,'STORE_'+@NPCNAME+'_GROUP1 ')
DECLARE @TACTICSID INT SET @TACTICSID = (SELECT MAX (dwTacticsID) FROM Tab_RefTactics)+10
INSERT INTO Tab_RefTactics VALUES
(@TACTICSID,@MAXCOMMONID,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 ,0,0,'NPC_'+@NPCNAME)
BEGIN
DECLARE @HIVEID INT SET @HIVEID = (SELECT MAX (dwHiveID) FROM Tab_RefHive)+1
INSERT INTO Tab_RefHive VALUES
(@HIVEID,0,0,0,0,0,0,@GAMEWORDID,2,'NPC_'+@NPCNAME )
END
BEGIN
DECLARE @REGION VARCHAR (30) SET @REGION = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSX VARCHAR (30) SET @POSX = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSY VARCHAR (30) SET @POSY = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSZ VARCHAR (30) SET @POSZ = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @NESTID INT SET @NESTID = (SELECT MAX (dwNestID) FROM Tab_RefNest)+1
INSERT INTO Tab_RefNest VALUES
(@NESTID,@HIVEID,@TACTICSID,@REGION,@POSX,@POSY,@P OSZ,0,0,0,0,0,0,1,0,1,0)
END
PRINT 'add this line to characterdata_45000 @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 '+@MAXCOMMONID+' '+@NPCNAME+' xxx xxx '+'SN_NPC_'+@NPCNAME+' xxx 0 1 1 2 2 0 5000 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 100 0 0 0 npc\npc\chinawoman_Noblegirl_event.bsr xxx xxx xxx xxx 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 336860180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'
PRINT ''
PRINT 'Add this line to refshop.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+@SHOPID+' '+'STORE_'+@NPCNAME+' -1 xxx -1 xxx -1 xxx -1 xxx'
PRINT ''
PRINT 'Add this line to refshopgroup.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+@SHOPGROUPID+' '+'GROUP_STORE_'+@NPCNAME+' '+'NPC_'+@NPCNAME+' -1 xxx -1 xxx -1 xxx -1 xxx'
PRINT ''
PRINT 'Add this line to shopgroupdata.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 '+@SHOPITEMID+' '+'STORE_'+@NPCNAME+'_GROUP1 '+'SN_STORE_'+@NPCNAME+'_GROUP1'
PRINT ''
PRINT 'Add this line to refshoptab.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+@SHOPTABID+' '+'STORE_'+@NPCNAME+'_TAB1 '+'STORE_'+@NPCNAME+'_GROUP1 SN_TAB_Stones'
PRINT ''
PRINT 'Add this line to refshoptabgroup.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+@SHOPTABGROUPID+' '+'STORE_'+@NPCNAME+'_GROUP1 '+'SN_STORE_'+@NPCNAME+'_GROUP1'
PRINT ''
PRINT 'Add this line to refmappingshopgroup.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+'GROUP_STORE_'+@NPCNAME+' '+'STORE_'+@NPCNAME
PRINT ''
PRINT 'Add this line to refmappingshopwithtab.txt @ server_dep\silkroad\textdata'
PRINT ''
PRINT '1 15 '+'STORE_'+@NPCNAME+' '+'STORE_'+@NPCNAME+'_GROUP1'
PRINT ''
PRINT 'A New NPC Has ADD Succesfuly Restart U Server and Login in '+@CHARNAME
END

كـده كل حـاجة تـمام الـ Query هيـطلعلك Lines عشان تحتـها فى الـ Media.pk2 احـنا بقـا هنعدل الـمسافات و فى characterdata_45000 مثـال احـنا عملـنا اسم الن بى سى News
الـ SQL هيديك الـ Lines مكتوب New بس احـنا بقا هنعدلها ونخليها كدة NPC_News

كدة تـمام

http://www2.0zz0.com/2013/07/13/07/310746023.gif (http://www.0zz0.com)

الـ NPC اتعمل بس بدون اسم فى الـجيم ولا اسم جروب !!

1- عشـان اسم الجروب هنضيف السطر ده فى Textuisystem فى الميديا

1 SN_STORE_Newitem_GROUP1 ?? ??? ??/??/?? 0 0 0 0 0 Purchase/ Sell/ item / Avatar Rare / New Purchase/ Sell/ item / Avatar Rare / New 0 0 0 0 0 0

حط اسم النـ بى سى بتاعك بدل Newitem

http://www2.0zz0.com/2013/07/13/07/310746023.gif (http://www.0zz0.com)

2-عشان اسم الـ NPC داخل اللعبة هتضيف الـسطر ده فى textdata_object فى الميديا

1 SN_NPC_YouNPC item Nova DG11

عدل على YouNPC باسم ال NPC بتاعك

http://www2.0zz0.com/2013/07/13/07/310746023.gif (http://www.0zz0.com)

Add item in NPC

لازم تـعمل زى الـصور عـشان الـ Query يشـغل مـعاك

http://www2.0zz0.com/2013/07/13/07/310746023.gif (http://www.0zz0.com)

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

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

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

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

http://www2.0zz0.com/2013/07/13/07/750123394.gif (http://www.0zz0.com)

Query Add item in NPC
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(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

http://www2.0zz0.com/2013/07/13/07/750123394.gif (http://www.0zz0.com)

Add New Tab

DECLARE @CHARNAME VARCHAR (30)
DECLARE @NPCNAME VARCHAR (30)
DECLARE @ADDNEW VARCHAR (30)
DECLARE @TABNAME VARCHAR (30)
DECLARE @TABNUMBER VARCHAR (30)
DECLARE @TABNEW VARCHAR (30)
DECLARE @GROUPNUMBER VARCHAR (30)
DECLARE @GROUPNEW VARCHAR (30)
--
SET @ADDNEW = 'TAB' -- 'NPC' to add a new npc, 'TAB' for add a new Tab, 'GROUP' for add a new group!
SET @CHARNAME = 'ELjOkeR' --U Char Name
SET @NPCNAME = 'Avatars Mall' --U NPC NAME
SET @GROUPNUMBER = 1
SET @TABNUMBER = 2
SET @TABNAME = 'Euro'
--
IF @TABNUMBER = 2 SET @TABNEW = '_TAB2'
IF @TABNUMBER = 3 SET @TABNEW = '_TAB3'
IF @TABNUMBER = 4 SET @TABNEW = '_TAB4'
IF @GROUPNUMBER = 1 SET @GROUPNEW = '_GROUP1'
IF @GROUPNUMBER = 2 SET @GROUPNEW = '_GROUP2'
IF @GROUPNUMBER = 3 SET @GROUPNEW = '_GROUP3'
IF @GROUPNUMBER = 4 SET @GROUPNEW = '_GROUP4'
IF @GROUPNUMBER = 5 SET @GROUPNEW = '_GROUP5'
IF @GROUPNUMBER = 6 SET @GROUPNEW = '_GROUP6'
IF @ADDNEW = 'TAB' BEGIN
SET IDENTITY_INSERT _RefShopTab ON
DECLARE @ShopTabID VARCHAR (30) SET @ShopTabID = (SELECT MAX (ID) FROM _RefShopTab)+1
INSERT INTO _RefShopTab (Service,Country,ID,CodeName128,RefTabGroupCodeNam e,StrID128_Tab)
VALUES (1,15,@ShopTabID,'STORE_'+@NPCNAME+@TABNEW,'STORE_ '+@NPCNAME+@GROUPNEW,'SN_'+@TABNAME)
SET IDENTITY_INSERT _RefShopTab OFF
PRINT ''
PRINT 'New Tab added Sucessfully add this new line to refshoptab.txt @ server_dep\silkroad\textdata'
PRINT '1 15 '+@SHOPTABID+' STORE_'+@NPCNAME+@TABNEW+' STORE_'+@NPCNAME+@GROUPNEW+' SN_TAB_'+@TABNAME
END


http://www2.0zz0.com/2013/07/13/07/750123394.gif (http://www.0zz0.com)

Add New Group

DECLARE @CHARNAME VARCHAR (30)
DECLARE @NPCNAME VARCHAR (30)
DECLARE @ADDNEW VARCHAR (30)
DECLARE @GROUPNUMBER VARCHAR (30)
DECLARE @GROUPNEW VARCHAR (30)
SET @CHARNAME = '[GM] TIEKO' --U Char Name
SET @NPCNAME = 'STATIC' --U NPC NAME
SET @GROUPNUMBER = 2
SET @ADDNEW = 'GROUP'
--
IF @GROUPNUMBER = 2 SET @GROUPNEW = '_GROUP2'
IF @GROUPNUMBER = 3 SET @GROUPNEW = '_GROUP3'
IF @GROUPNUMBER = 4 SET @GROUPNEW = '_GROUP4'
IF @GROUPNUMBER = 5 SET @GROUPNEW = '_GROUP5'
IF @GROUPNUMBER = 6 SET @GROUPNEW = '_GROUP6'
IF @ADDNEW = 'GROUP' BEGIN
SET IDENTITY_INSERT _RefShopTabGroup ON
DECLARE @ShopTabGroupID VARCHAR (30) SET @ShopTabGroupID = (SELECT MAX (ID) FROM _RefShopTabGroup)+1
INSERT INTO _RefShopTabGroup (Service,Country,ID,CodeName128,StrID128_Group)
VALUES (1,15,@ShopTabGroupID,'STORE_'+@NPCNAME+@GROUPNEW, 'SN_STORE_'+@NPCNAME+@GROUPNEW)
SET IDENTITY_INSERT _RefShopTabGroup OFF
INSERT INTO _RefMappingShopWithTab VALUES (1,15,'STORE_'+@NPCNAME,'STORE_'+@NPCNAME+@GROUPNE W)
PRINT ''
PRINT 'New Group Added Succesfully '
PRINT 'add this new line to refshoptabgroup.txt @ server_dep\silkroad\textdata'
PRINT '1 15 '+@SHOPTABGROUPID+' STORE_'+@NPCNAME+@GROUPNEW+' SN_STORE_'+@NPCNAME+@GROUPNEW
PRINT ''
PRINT 'add this new line to refmappingshopwithtab.txt @ server_dep\silkroad\textdata'
PRINT '1 15 STORE_'+@NPCNAME+' STORE_'+@NPCNAME+@GROUPNEW
END

http://www2.0zz0.com/2013/07/13/07/750123394.gif (http://www.0zz0.com)

تغير اتـجاه الـ NPC هنـفتح الـ SQL

SRO_VT_SHARD / RefHive

نـجيب الـ ID من اسم الـ NPC وبعدين نـروح على RefNest

فى dwHiveID هـندور على الـ ID بتاع اللى NPC لاقـنا وكلو تـمام ! فى wInitiaalDir نكتب بقـا التجاه اللى عايزنو بنظر اليه

West = -32767
South = -16384
Earth = 0
North = +16384

صـور للتوضيح

http://www6.0zz0.com/2013/07/13/08/274533353.gif (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/561208076.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/640343075.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/891528631.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/469505594.jpg (http://www.0zz0.com)

http://www2.0zz0.com/2013/07/13/08/349618996.jpg (http://www.0zz0.com)

http://www6.0zz0.com/2013/07/13/08/274533353.gif (http://www.0zz0.com)

صور لتوضيح الاتجهات

http://www6.0zz0.com/2013/07/13/08/999003572.jpg (http://www.0zz0.com)

http://www6.0zz0.com/2013/07/13/08/311610323.jpg (http://www.0zz0.com)

http://www6.0zz0.com/2013/07/13/08/274533353.gif (http://www.0zz0.com)

غـير مـكان الـ NPC

1-هـتجيب Account وتوقفو فـى الـمكان الـجديد اللى هـننقل ليه الـ NPC
2-هـتجيب اسـم الـ NPC مـثال STORE_Thiefs_TAB1
اسـتخدم الـ Query ده عـشان تـجيب ID الـ NPC

use SRO_VT_SHARD
select * from _RefObjCommon where CodeName128 like 'NPC_Thiefs'

وبـعدين تـخش على Tab_RefTactics فى dwObjID
تدور على ال ID الى جبتو فوق بتاع ال query
طـب لـقيتو وده طـبعن هـتلاقيه جـمبة رقـم بـتاع dwTacticsID
3- افتح Tab_RefNest
وعلى dwTacticsID تدور على الرقم الى جبتو من الى فات
4-لما تلاقية طبعن ملاحظ ال X & y & z
هتاخد الى فى الاكونت الى حتيطو ال X & y & Z
بس متنساش nRegionDBID
دة فى _char تبقى LatestRegion


تم اضافة بعض الصور الناقصة Hamza FiGo

http://www6.0zz0.com/2013/07/13/08/420804367.gif (http://www.0zz0.com)

اتفضل شوف add item to npc

MohamedLol
26-12-2016, 08:19 PM
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(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

MohamedLol
26-12-2016, 08:20 PM
اعرف منين الايتم هتداف فى انهو Npc

Dev.Klito
26-12-2016, 08:29 PM
اعرف منين الايتم هتداف فى انهو Npc

شوف يا باشا ال query دى بتحط على حسب الكود بتاع التاب انت هتروعح على _RefShopGoods فى خانة اسمها RefTabCodeName هتشوف الكود بتاع التاب طبعا الكود بتاع التاب لا يمكن يتكرر من اكتر من NPC
بعد ما تجيب اتم التاب حطو فى الكورى بدل STORE_Honor_TAB1 و حط الكود بتاع الايتم بدل ITEM_EU_SHIELD_08_C_RARE طبعا السعر و الكلام ده كلو مفهوم من الكورى المهم تمسح الملاحظات من الكورى لتجنب اى مشكلة

MohamedLol
26-12-2016, 08:31 PM
هجرب

Levi
26-12-2016, 08:42 PM
ياباشا الEgy موجود ف كل الداتابيزات ..

اكيد بقولك معمول Service 0 للأيتم دي ف RefshopGoods

Dev.Klito
26-12-2016, 08:46 PM
ياباشا الEgy موجود ف كل الداتابيزات ..

اكيد بقولك معمول Service 0 للأيتم دي ف RefshopGoods

تمام يا باشا انا معاك بس هو مش موجود فى اى npc اصلا فخليه يعمل الكورى احسنلو

افندينا ™Hamboka™
26-12-2016, 08:55 PM
اتفضل



http://www2.0zz0.com/2012/10/22/15/311256858.gif

http://www2.0zz0.com/2012/10/22/16/593531309.png

أنا لحظت ان في ناس كتير بتسأل علي انها ازاي تضيف Item في ال NPC
فحبيت اني اشرحلكم ازاي تضيف ال Item الي انت عوزو في ال NPC بالتفصيل
نبتدي بسم الله

أولا:ال Tables الي هنشتغل عليها
1-RefPackageItem
2-RefScrapOfPackageItem
3-RefPricePolicy
4-RefShopGoods

نبتدي ب RefPackageItem (الشرح هيكون علي ال Staff D14)

1 15 86634 PACKAGE_ITEM_EU_TSTAFF_14_B_RARE 0 EXPAND_TERM_ALL SN_ITEM_EU_TSTAFF_14_B_RARE SN_ITEM_EU_TSTAFF_14_B_RARE_TT_DESC item\europe\weapon\tstaff_14.ddj -1 xxx -1 xxx -1 xxx -1 xxx


نشرح بقي الكود دة
أول حاجة الرقم الي بالأخضر دة ال ID بتاع RefPackageitem
لو انت عاوز تعرف ايه هو اخر ID عندك في RefPackageItem تعمل ايه؟
شغل بس الكويري دة و هو هيجبهولك

SELECT MAX (ID) FROM _RefPackageItem

كدة انت جبت اخر ID في RefPackageItem زود عليه 1 وحطو مكان ال ID الي أنا حطو
يعني مثلا اخر ID
86600 هتخليه 86601
اما الي بالبنفسجي ف دة المسار بتاع صورة الItem ال بتبان في ال NPC و المسار دة في الميديا
بدل م تتعب نفسك نزل دة و فيه كل حاجة
http://files.fm/u/zzgnemv
طب كدة خلصنا RefPackageItem
ندخل علي RefScrapOfPackageItem

1 15 PACKAGE_ITEM_EU_TSTAFF_14_B_RARE ITEM_EU_TSTAFF_14_B_RARE 0 0 133 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 xxx -1 xxx -1 xxx -1 xxx 89307


ايه المشكلة في دة بقي؟
دة أس المصايب أولا عشان تجيب اخر ID في RefScrapOfPackageItem
شغل الكويري دة

SELECT MAX ([Index]) FROM _RefScrapOfPackageItem
طبعا عرفين هتعملو فيه ايه
بعد كدة الرقم الي بالبنفسجي دة بتاع ايه؟ دة بتاع حاجة اسمها ال Durability
طب و تجيب الرقم دة ازاي ؟ شغل الكويري دة

DECLARE @ID int
DECLARE @Dur_U int
DECLARE @CodeName varchar(129)

SET @CodeName = 'ITEM_EU_TSTAFF_14_B_RARE'


SET @ID = (select Link from _RefObjCommon where CodeName128 = @CodeName)
SET @Dur_U = (select Dur_U from _RefObjItem where ID = @ID)


PRINT 'Durablity : '
PRINT '-----------'
PRINT ''+@Dur_U+''

الكود الي بالحمر دة كود ال Item من غير كلمة PACKAGE_
وطبعا هتحط القم الي هيطلعلك مكان الرقم الي بالبنفسجي
ندخل في RefPricePolicy و دة Table سهل أوي و دة بيبقي فيه السعر بتاع ال Item

1 15 PACKAGE_ITEM_EU_TSTAFF_14_B_RARE 1 0 1000000 -1 xxx -1 xxx -1 xxx -1 xxx



الي بالأحمر دة عبارة عن الحاجة الي بيتباع بيها ال Item سواء كان Gold or Silk or Coin
كل حاجة ليها كود و دي كل الأكواد

1 = Gold
2 = Silk
4 = Gift Silk (Received Silk)
16 = Point (vSRO); Premium Silk (iSRO & kSRO)
32 = Honor Point
64 = Copper Coin
128 = Iron Coin
256 = Silver Coin
512 = Gold Coin
1024 = Arena Coin


الي بالبنفسجي دة بقي اد ايه من الحاجة دي يعني زي منا عامل كدة 1000000 جولد

ندخل علي RefShopGoods
ودة بقي الي بيتحط فيه المكان الي هيتباع فيه ال Item
ومن غير ال Table دي ال Item شم هيكون موجود في أي NPC

1 15 STORE_CH_SMITH_TAB1 PACKAGE_ITEM_EU_TSTAFF_14_B_RARE 0 -1 xxx -1 xxx -1 xxx -1 xxx


الي بالاخضر دة كود ال NPC ال هتحط فيه ال Item و أنا حطو في بتاع الأسلحة في Jangan
طب والي بالبنفسجي ؟ دة ترتيب ال Item في ال NPC و لازم يكون بالدور
و بيبتدي من 0 مش 1 يعني دة أول Item في ال NPC بس لو في Item في نفس المكان دة ال SR_GameServer هيجبلك Error

وبكدة أكون خلصت شرح الحمد لله
وشكرا

MohamedLol
26-12-2016, 09:09 PM
هجرب كل الحلول دى واولكو ايه الا حصل

Dev.Klito
26-12-2016, 09:28 PM
اتفضل

+1

MohamedLol
26-12-2016, 10:32 PM
لم يتما الحل

Dev.Klito
26-12-2016, 10:34 PM
لم يتما الحل

جربت الحلين ومفيش حاجة اشتغلت

MohamedLol
26-12-2016, 10:37 PM
جربت الا هى 0 ل 1

Dev.Klito
26-12-2016, 10:43 PM
جربت الا هى 0 ل 1

ايه مش فهمك قصدك من 0 ل 1

Dev.Klito
26-12-2016, 10:45 PM
http://up.dev-point.com/uploads1/d1b0cf9fb6a01.gif
http://up.dev-point.com/uploads1/a71e094e7ad02.gif
Exclusive Video : How To Add Items To NPC Easily Query
& Fix for some issues that u could have during the operation

1HzHYzI73w0
http://up.dev-point.com/uploads1/a71e094e7ad02.gif
http://up.dev-point.com/uploads1/31543eb5cc5c3.gif

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

USE SRO_VT_SHARD -----Mr.Rover-----
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_GODBLESS' -- Item CodeName in RefObjCommon
SET @Price = 1 -- Set 0 if you don't want to set Gold Price
SET @SilkPrice = 10 -- Set 0 if you don't want to set Silk Price
SET @TAB = 'STORE_STONE_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

شوف ده

MohamedLol
26-12-2016, 10:58 PM
جارى التجربه

Dev.Ri3o
05-01-2017, 10:08 PM
##