الأحد أبريل 29, 2018 12:33 pm | كيفية اضافة npc جديدة |
| كيفية اضافة npc جديدة لسيرفر
|
| | |
|
الأحد أبريل 29, 2018 1:04 pm | رد: كيفية اضافة npc جديدة |
|
الـموضع ده شـامل كـل تعديل فـى الـ 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 نـبتدى الـشرح
Add NPC
لازم الاول نـعمل زى الـصور عـشان الكورى يـتعمل
ودلوقتى بـقا ده الـ Query اللى هنضـيف بيه الـ NPC الـجديد
كود PHP:
- الكود:
-
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,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_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,@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_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
كدة تـمام
الـ NPC اتعمل بس بدون اسم فى الـجيم ولا اسم جروب !!
1- عشـان اسم الجروب هنضيف السطر ده فى Textuisystem فى الميديا
كود بلغة HTML:
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
2-عشان اسم الـ NPC داخل اللعبة هتضيف الـسطر ده فى textdata_object فى الميديا
كود بلغة HTML:
1 SN_NPC_YouNPC item Nova DG11 عدل على YouNPC باسم ال NPC بتاعك
Add item in NPC
لازم تـعمل زى الـصور عـشان الـ Query يشـغل مـعاك
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(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
Add New 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 = '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,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
Add New 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
تغير اتـجاه الـ NPC هنـفتح الـ SQL
SRO_VT_SHARD / RefHive
نـجيب الـ ID من اسم الـ NPC وبعدين نـروح على RefNest
فى dwHiveID هـندور على الـ ID بتاع اللى NPC لاقـنا وكلو تـمام ! فى wInitiaalDir نكتب بقـا التجاه اللى عايزنو بنظر اليه
West = -32767 South = -16384 Earth = 0 North = +16384
صـور للتوضيح
صور لتوضيح الاتجهات
غـير مـكان الـ NPC
1-هـتجيب Account وتوقفو فـى الـمكان الـجديد اللى هـننقل ليه الـ NPC 2-هـتجيب اسـم الـ NPC مـثال STORE_Thiefs_TAB1 اسـتخدم الـ Query ده عـشان تـجيب ID الـ NPC
كود PHP:
- الكود:
-
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
النجم الذهبي ; توقيع العضو |
|
|
| | |
|
الجمعة يونيو 29, 2018 7:36 pm | رد: كيفية اضافة npc جديدة |
| |
| | |
|
| |