طلب اضافة npc واضافة ايتم فيه وتعديل ال npc اللى موجود
السلام عليكم
ازيكم يا شباب
ياريت لو حد يفدنى فى الموضوع ده
انا عايز اعرف ازاى اضيف npc جديد واضيف فيه ايتم
ولو عندى npc جاهز وعايز اضيف او اشيل ايتم منوا ازاى ؟
وعايز اضيف اليكسير ادفنس ديجرى 13 لل npc helper shop
ولو فى npc فى سيرفر تانى وعايز اضيفه بالمحتويات بتاعتوا ممكن اجيب الداتا بتاعتوا ازاى ؟
ومع العلم انا الداتا بتعتى castaway
معلش طولت علبكم
واتمنى لو حد يفدنى فى المواضيع ديه
ولكم جزيل الشكر
السلام عليكم
1º set indentity propety in this tables
_RefObjCommon,_RefObjChar,_RefShop,_RefShopGroup,_ RefShopItemGroup,_RefShopTab,_RefShopTabGroup.
go Tools > Options... > Designers > and Clean "Prevent saving changes that require table re-creation" .
now
_RefObjCommon > Design > right click ID Column Set a primary key > Column Properties > Indetity Spercification > (Is Indetity) set "Yes" same with the others.
NOW DO THE SAME WITH Tab_RefHive and Tab_RefNest BUT SET INDENTITY OFF
ok now u can exec the querys without any errro
Npc Shop
كود PHP:
DECLARE @CHARNAME VARCHAR (30)
DECLARE @NPCNAME VARCHAR (30)
DECLARE @ADDNEW VARCHAR (30)
DECLARE @GAMEWORDID INT
SET @CHARNAME = 'DW' --U Char Name
SET @NPCNAME = '1' --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,OrgObjCodeName128,NameStrID128,DescStrID128,CashItem,Bionic,TypeID1,TypeID2,TypeID3,TypeID4,DecayTime,Country
,Rarity,CanTrade,CanSell,CanBuy,CanBorrow,CanDrop,CanPick,CanRepair,CanRevive,CanUse,CanThrow,Price,CostRepair,CostRevive,CostBorrow,KeepingFee,SellPrice,ReqLevelType1,ReqLevel1,ReqLevelType2,ReqLevel2,ReqLevelType3,ReqLevel3,ReqLevelType4,ReqLevel4,MaxContain,RegionID,Dir,OffsetX,OffsetY,OffsetZ,Speed1,Speed2,Scale,BCHeight,BCRadius
,EventID,AssocFileObj128,AssocFileDrop128,AssocFileIcon128,AssocFile1_128,AssocFile2_128,Link) VALUES
(1,@MAXCOMMONID,'NPC_'+@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',@MAXLINK)
SET IDENTITY_INSERT _RefObjCommon OFF
SET IDENTITY_INSERT _RefObjChar ON
INSERT INTO _RefObjChar (ID,Lvl,CharGender,MaxHP,MaxMP,ResistFrozen,ResistFrostbite,ResistBurn,ResistEShock,ResistPoison,ResistZombie,ResistSleep,ResistRoot,ResistSlow,ResistFear
,ResistMyopia,ResistBlood,ResistStone,ResistDark,ResistStun,ResistDisea,ResistChaos,ResistCsePD,ResistCseMD,ResistCseSTR,ResistCseINT,ResistCseHP,ResistCseMP,Resist24,ResistBomb,Resist26
,Resist27,Resist28,Resist29,Resist30,Resist31,Resist32,InventorySize,CanStore_TID1,CanStore_TID2,CanStore_TID3,CanStore_TID4,CanBeVehicle,CanControl,DamagePortion,MaxPassenger,AssocTactics,PD,MD,PAR,MAR,ER,BR,HR,CHR
,ExpToGive,CreepType,Knockdown,KO_RecoverTime,DefaultSkill_1,DefaultSkill_2,DefaultSkill_3,DefaultSkill_4,DefaultSkill_5,DefaultSkill_6,DefaultSkill_7,DefaultSkill_8,DefaultSkill_9,DefaultSkill_10,TextureType,Except_1
,Except_2,Except_3,Except_4,Except_5,Except_6,Except_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_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,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,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_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_STORE_'+@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,RefTabGroupCodeName,StrID128_Tab)
VALUES (1,15,@ShopTabID,'STORE_'+@NPCNAME+'_TAB1','STORE_'+@NPCNAME+'_GROUP1','SN_TAB_WEAPON')
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,@POSZ,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_WEAPONS'
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
(Tab)
كود PHP:
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 = '[GM] STATIIC' --U Char Name
SET @NPCNAME = 'STATIIC' --U NPC NAME
SET @GROUPNUMBER = 1
SET @TABNUMBER = 4
SET @TABNAME = 'TEST'
--
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,RefTabGroupCodeName,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
Group
كود PHP:
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+@GROUPNEW)
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
و لو عزت تحط اي item في الShop
هتجيم اسم الnpc هنا SET @TAB = 'STORE_LEVELING_TAB2'
كود PHP:
USE [SRO_VT_SHARD]
----------By Nefetis--------------
DECLARE @PRICETYPE VARCHAR (70)
DECLARE @PRICE VARCHAR (70)
DECLARE @TAB VARCHAR (70)
DECLARE @CODENAME128 VARCHAR (70)
DECLARE @OPTLEVEL VARCHAR (70)
SET @PRICETYPE = 'GOLD'
SET @OPTLEVEL = '5'
SET @CODENAME128 = 'ITEM_EU_STAFF_10_A_RARE'
SET @PRICE = '1'
SET @TAB = 'STORE_LEVELING_TAB2'
DECLARE @DATA VARCHAR (30) = (Select DUR_L FROM _RefObjItem WHERE ID IN(SELECT Link from _RefObjCommon where CodeName128 = @CODENAME128))
DECLARE @MAXLINK VARCHAR (30) = (SELECT MAX ([Index]) FROM _RefScrapOfPackageItem)+1
SET IDENTITY_INSERT _RefScrapOfPackageItem ON
INSERT INTO _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,'PACKAGE_'+@CODENAME128,@CODENAME128,@OPTLEVEL,0,@DATA,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',@MAXLINK)
SET IDENTITY_INSERT _RefScrapOfPackageItem OFF
SET IDENTITY_INSERT _RefPackageItem ON
DECLARE @ICON VARCHAR (70) = (SELECT AssocFileIcon128 FROM _RefObjCommon Where CodeName128 = @CODENAME128)
DECLARE @MAXID VARCHAR (30) = (SELECT MAX (ID) FROM _RefPackageItem)+1
INSERT INTO _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,@MAXID,'PACKAGE_'+@CODENAME128,0,'EXPAND_TERM_ALL','SN_'+@CODENAME128,'SN_'+@CODENAME128+'_TT_DESC',@ICON,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
SET IDENTITY_INSERT _RefPackageItem OFF
IF @PRICETYPE = 'GOLD' BEGIN
INSERT INTO _RefPricepolicyofitem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128) VALUES
(1,15,'PACKAGE_'+@CODENAME128,1,0,@PRICE,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
END
IF @PRICETYPE = 'SILK' BEGIN
INSERT INTO _RefPricepolicyofitem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128) VALUES
(1,15,'PACKAGE_'+@CODENAME128,2,0,@PRICE,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
INSERT INTO _RefPricepolicyofitem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128) VALUES
(1,15,'PACKAGE_'+@CODENAME128,4,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
INSERT INTO _RefPricepolicyofitem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128) VALUES
(1,15,'PACKAGE_'+@CODENAME128,16,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
END
DECLARE @MAXSLOT VARCHAR (30) = (SELECT MAX (SlotIndex) from _RefShopGoods Where Reftabcodename = @TAB and Service = 1)+1
INSERT INTO _RefShopGoods (Service,Country,RefTabCodeName,RefPackageItemCodeName,SlotIndex,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128) VALUES
(1,15,@TAB,'PACKAGE_'+@CODENAME128,@MAXSLOT,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
SET @PRICETYPE = 'GOLD'(GOLD OR SILK)
SET @OPTLEVEL = '5'(how much Plus)
SET @CODENAME128 = 'ITEM_EU_STAFF_10_A_RARE'(CodeName of item)
SET @PRICE = '1' (Price Of item)