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

مشاهدة النسخة كاملة : تغير مكان الteleport


merazz012
18-12-2015, 09:49 AM
عايز اغير مكانه خالص المبني نفسه اشيله من الtown ؟ حد يعرف ازاي علشان انا جربت اغير xyz
بتوعه مش راضي يتغير ؟ مسحته من الteleportbuilding...teleportdata..refllink في الميديا بيجيب كرش ؟ لما اجي مكان الteleport اللي كان فيه ؟!

BabiliOn
18-12-2015, 10:12 AM
لو عايز تغير مكان npc الى فى التيليبورت هتغيرة من refnest

merazz012
18-12-2015, 10:14 AM
npc في teleport ازاي مش فاهمك ؟!

BabiliOn
18-12-2015, 10:17 AM
الـ npc هوة الشخص الى واقف الى بتفتحة وبتدوس على التيليبورت منو وبينقلك على مكان تانى دة لو عايز تشيلة كلة وتودية مكان تانى من refnest

merazz012
18-12-2015, 10:26 AM
تقريبا مش من الrefnest علشان teleport ليها xyz فيteleportdata انا مش لاقي الid بتاعها اصلا في الrefnest

BabiliOn
18-12-2015, 10:41 AM
هوة انتا عايز تغير اية بالظبط الـ Npc كلو ولا التيليبورت نفسو
ياريت توضح مشكلتك اكتر او تجيب صورة للحاجة الى عايز تنقلها

merazz012
18-12-2015, 10:55 AM
npc كله

BabiliOn
18-12-2015, 11:09 AM
اول حاجة عشان تغير مكانة لازم تجيب id السطر بتاع npc من _RefObjCommon

بعد ما تجيبة هتروح على Tab_RefTactics وهتبحث على نفس الرقم id الى جبتو من _RefObjCommon

مثال: هيكون زي كدا مكانة الى بالون الاحمر

Tab_RefTactics

46070 41848 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_Test

اول ما تلاقية هتروح على طول واخد الرقم الى بالون الازرق وتروح على تابل Tab_RefNest وتبحث بردو على الرقم الى بالون الازرق

مثال على مكانة فى Tab_RefNest

36831 2000 46070 22475 837 475,725952 22 -9832 0 0 0 0 0 1 0 1 0

بعد ما تلاقية هتغير بقي الاحداثيات الجديدة الى انتا عايزها وترستر السيرفر هتلاقي مكانة اتغير بدون مشاكل

Dangers SrO
18-12-2015, 03:00 PM
اول حاجة عشان تغير مكانة لازم تجيب id السطر بتاع npc من _RefObjCommon

بعد ما تجيبة هتروح على Tab_RefTactics وهتبحث على نفس الرقم id الى جبتو من _RefObjCommon

مثال: هيكون زي كدا مكانة الى بالون الاحمر

Tab_RefTactics

46070 41848 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_Test

اول ما تلاقية هتروح على طول واخد الرقم الى بالون الازرق وتروح على تابل Tab_RefNest وتبحث بردو على الرقم الى بالون الازرق

مثال على مكانة فى Tab_RefNest

36831 2000 46070 22475 837 475,725952 22 -9832 0 0 0 0 0 1 0 1 0

بعد ما تلاقية هتغير بقي الاحداثيات الجديدة الى انتا عايزها وترستر السيرفر هتلاقي مكانة اتغير بدون مشاكل

زي مقلك العضو كده
+1

Mr.Rover
18-12-2015, 03:21 PM
أو تستخدم الكويرى دى

USE [SRO_VT_SHARD]---By Mr.Rover---DECLARE @ROVER1 VARCHAR (129)DECLARE @CHARNAME VARCHAR (64)SET @ROVER1 = 'NPC_CODE' ----- Your Npc NameSET @CHARNAME = 'Char_Name' ----- Charactar name [which is going to be the place of npc]
Declare @AS1 int SET @AS1 = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @ROVER1)Declare @AS2 int SET @AS2 = (SELECT dwTacticsID FROM Tab_RefTactics WHERE dwObjID = @AS1)Declare @AS3 int SET @AS3 = (SELECT dwNestID FROM Tab_RefNest WHERE dwTacticsID = @AS2)
Declare @ASpos1 int SET @ASpos1 = (SELECT latestregion FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos2 int SET @ASpos2 = (SELECT posx FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos3 int SET @ASpos3 = (SELECT posy FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos4 int SET @ASpos4 = (SELECT posz FROM _char WHERE charname16 = @CHARNAME)
UPDATE Tab_RefNestSET nregiondbid = @ASpos1,flocalposx = @ASpos2,flocalposy = @ASpos3,flocalposz = @ASpos4WHERE dwnestid = @AS3 and dwtacticsid = @AS2

merazz012
18-12-2015, 11:16 PM
اللي جرب يعمل ؟ تليبورت قبل كده هيعرف اني التيلبورت ال xyz مش في ال refnest في refteleportdata
بس بغيرها مش بتتغير ؟!؟ ازاي هيبقي ليها xyz في refnest و refteleportdata ؟! ياريت حد يكون عملها او جرب يغير مكانها يقولي الكلام اللي انت بتقوله دا لو عايز تغير مكان NPC SELLER

و دا كويري تعمل تليبورت مفيش فيه TABLE REFNEST
USE SRO_VT_SHARD


DECLARE @Teleport VARCHAR (64)
DECLARE @CHARNAME1 VARCHAR (30)
DECLARE @CHARNAME2 VARCHAR (30)
DECLARE @OwnTeleport INT
DECLARE @Fee INT
DECLARE @RequiredLVL INT

/* Put your settings here */
SET @Teleport = 'PVP_ZONE' -- any name you want ex: PK_ZONE or PVP_ZONE
SET @CHARNAME1 = 'CHARNAME1' -- Teleport position
SET @CHARNAME2 = 'CHARNAME2' -- Spawn position after teleport
SET @OwnTeleport = 1 -- Target teleport ID ex: 1 for Jangan - 5 for Hotan - 20 for Constantinople
SET @Fee = 50000 -- Gold amount to Pass the teleport
SET @RequiredLVL = 0 -- minimum level required to teleport 0 for no restriction - ex:90 lvl 90 and higher can teleport
/* settings area end here */

IF EXISTS (SELECT CodeName128 FROM _RefObjCommon WHERE CodeName128 = 'STORE_'+@Teleport)
BEGIN
raiserror('The stated teleportname of %s is already exist!',11,1,@Teleport);
RETURN;
END

DECLARE @MAXOBJ INT = (SELECT MAX (ID) FROM _RefObjCommon)+1
DECLARE @REGION1 INT SET @REGION1 = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSX1 INT SET @POSX1 = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSY1 INT SET @POSY1 = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSZ1 INT SET @POSZ1 = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @LINK INT = (SELECT MAX (ID) FROM _RefObjStruct)+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,Rarit y,CanTrade,CanSell,CanBuy,CanBorrow,CanDrop,CanPic k,CanRepair,CanRevive,CanUse,CanThrow,Price,CostRe pair,CostRevive,CostBorrow,KeepingFee,SellPrice,Re qLevelType1,ReqLevel1,ReqLevelType2,ReqLevel2,ReqL evelType3,ReqLevel3,ReqLevelType4,ReqLevel4,MaxCon tain,RegionID,Dir,OffsetX,OffsetY,OffsetZ,Speed1,S peed2,Scale,BCHeight,BCRadius,EventID,AssocFileObj 128,AssocFileDrop128,AssocFileIcon128,AssocFile1_1 28,AssocFile2_128,Link) VALUES
(1,@MAXOBJ,'STORE_'+@Teleport,@Teleport,'xxx','SN_ STORE_'+@Teleport,'xxx',0,0,4,1,1,0,0,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,@REGION1,0,@POSX1,@POSY1,@POSZ1,0,0,50,50,30,0,' quest\teleport01.bsr','xxx','xxx','xxx','xxx',@lin k)
SET IDENTITY_INSERT _RefObjCommon OFF

print ''
print 'Add the following line to teleportbuilding.txt @server_dep\silkroad\textdata folder'
print '1 '+CONVERT(varchar(max),@MAXOBJ)+' '+'STORE_'+@Teleport+' '+@Teleport+' xxx '+'SN_STORE_'+@Teleport+' xxx 0 0 4 1 1 0 0 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 '+CONVERT(varchar(max),@REGION1)+' 0 '+CONVERT(varchar(max),@POSX1)+' '+CONVERT(varchar(max),@POSY1)+' '+CONVERT(varchar(max),@POSZ1)+' 0 0 50 50 30 0 quest\teleport01.bsr xxx xxx xxx xxx '+CONVERT(varchar(max),@link)
print ''
print 'Add the following line to textdata_object.txt @server_dep\silkroad\textdata folder'
print ''
print '1 '+'SN_STORE_'+@Teleport+' '+@Teleport
print ''
print ''

SET IDENTITY_INSERT _RefObjStruct ON
INSERT INTO _RefObjStruct (ID,Dummy_Data) VALUES
(@LINK,0)
SET IDENTITY_INSERT _RefObjStruct OFF

DECLARE @MAXTELID INT = (SELECT MAX (ID) FROM _RefTeleport)+1
DECLARE @WORLDID INT = (SELECT (WorldID) FROM _Char where CharName16 = @CHARNAME2)
DECLARE @REGION2 INT SET @REGION2 = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME2)
DECLARE @POSX2 INT SET @POSX2 = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME2)
DECLARE @POSY2 INT SET @POSY2 = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME2)
DECLARE @POSZ2 INT SET @POSZ2 = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME2)

INSERT INTO _RefTeleport (Service,ID,CodeName128,AssocRefObjCodeName128,Ass ocRefObjID,ZoneName128,GenRegionID,GenPos_X,GenPos _Y,GenPos_Z,GenAreaRadius,CanBeResurrectPos,CanGot oResurrectPos,GenWorldID,BindInteractionMask,Fixed Service) VALUES
(1,@MAXTELID,'GATE_'+@Teleport,'STORE_'+@Teleport, @MAXOBJ,'SN_STORE_'+@Teleport,@REGION2,@POSX2,@POS Y2,@POSZ2,30,0,0,@WORLDID,1,0)

print ''
print 'Add the following line to teleportdata.txt @server_dep\silkroad\textdata folder'
print '1 '+CONVERT(varchar(max),@MAXTELID)+' '+'GATE_'+@Teleport+' '+CONVERT(varchar(max),@MAXOBJ)+' '+'SN_STORE_'+@Teleport+' '+CONVERT(varchar(max),@REGION2)+' '+CONVERT(varchar(max),@POSX2)+' '+CONVERT(varchar(max),@POSY2)+' '+CONVERT(varchar(max),@POSZ2)+' 30 0 0 '+CONVERT(varchar(max),@WORLDID)+' 1 0'
print ''
print ''

IF @RequiredLVL = 0
BEGIN
INSERT INTO _RefTeleLink (Service,OwnerTeleport,TargetTeleport,Fee,Restrict BindMethod,RunTimeTeleportMethod,CheckResult,Restr ict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Res trict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,R estrict5,Data5_1,Data5_2) VALUES
(1,@OwnTeleport,@MAXTELID,@Fee,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0)
INSERT INTO _RefTeleLink (Service,OwnerTeleport,TargetTeleport,Fee,Restrict BindMethod,RunTimeTeleportMethod,CheckResult,Restr ict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Res trict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,R estrict5,Data5_1,Data5_2) VALUES
(1,@MAXTELID,@OwnTeleport,@Fee,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0)

print ''
print 'Add the following lines to teleportlink.txt @server_dep\silkroad\textdata folder'
print '1 '+CONVERT(varchar(max),@OwnTeleport)+' '+CONVERT(varchar(max),@MAXTELID)+' '+CONVERT(varchar(max),@Fee)+' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'
print '1 '+CONVERT(varchar(max),@MAXTELID)+' '+CONVERT(varchar(max),@OwnTeleport)+' '+CONVERT(varchar(max),@Fee)+' 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'
print ''
END
ELSE BEGIN
INSERT INTO _RefTeleLink (Service,OwnerTeleport,TargetTeleport,Fee,Restrict BindMethod,RunTimeTeleportMethod,CheckResult,Restr ict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Res trict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,R estrict5,Data5_1,Data5_2) VALUES
(1,@OwnTeleport,@MAXTELID,@Fee,0,0,0,1,@RequiredLV L,999,0,0,0,0,0,0,0,0,0,0,0,0)

print ''
print ''
print 'Add the following line to teleportlink.txt @server_dep\silkroad\textdata folder'
print '1 '+CONVERT(varchar(max),@OwnTeleport)+' '+CONVERT(varchar(max),@MAXTELID)+' '+CONVERT(varchar(max),@Fee)+' 0 0 0 1 '+CONVERT(varchar(max),@RequiredLVL)+' 999 0 0 0 0 0 0 0 0 0 0 0 0'
print ''

END

print ''
print 'Done!'

merazz012
18-12-2015, 11:32 PM
أو تستخدم الكويرى دى

USE [SRO_VT_SHARD]---By Mr.Rover---DECLARE @ROVER1 VARCHAR (129)DECLARE @CHARNAME VARCHAR (64)SET @ROVER1 = 'NPC_CODE' ----- Your Npc NameSET @CHARNAME = 'Char_Name' ----- Charactar name [which is going to be the place of npc]
Declare @AS1 int SET @AS1 = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @ROVER1)Declare @AS2 int SET @AS2 = (SELECT dwTacticsID FROM Tab_RefTactics WHERE dwObjID = @AS1)Declare @AS3 int SET @AS3 = (SELECT dwNestID FROM Tab_RefNest WHERE dwTacticsID = @AS2)
Declare @ASpos1 int SET @ASpos1 = (SELECT latestregion FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos2 int SET @ASpos2 = (SELECT posx FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos3 int SET @ASpos3 = (SELECT posy FROM _char WHERE charname16 = @CHARNAME)Declare @ASpos4 int SET @ASpos4 = (SELECT posz FROM _char WHERE charname16 = @CHARNAME)
UPDATE Tab_RefNestSET nregiondbid = @ASpos1,flocalposx = @ASpos2,flocalposy = @ASpos3,flocalposz = @ASpos4WHERE dwnestid = @AS3 and dwtacticsid = @AS2

كويري فيه اخطاء كتير

merazz012
18-12-2015, 11:32 PM
زي مقلك العضو كده
+1

اقرا الكلام كويس

Jayden
18-12-2015, 11:44 PM
اقرا ال Query كويس كده وبص على الجزء ده

DECLARE @MAXOBJ INT = (SELECT MAX (ID) FROM _RefObjCommon)+1
DECLARE @REGION1 INT SET @REGION1 = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSX1 INT SET @POSX1 = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSY1 INT SET @POSY1 = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSZ1 INT SET @POSZ1 = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @LINK INT = (SELECT MAX (ID) FROM _RefObjStruct)+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,Rarit y,CanTrade,CanSell,CanBuy,CanBorrow,CanDrop,CanPic k,CanRepair,CanRevive,CanUse,CanThrow,Price,CostRe pair,CostRevive,CostBorrow,KeepingFee,SellPrice,Re qLevelType1,ReqLevel1,ReqLevelType2,ReqLevel2,ReqL evelType3,ReqLevel3,ReqLevelType4,ReqLevel4,MaxCon tain,RegionID,Dir,OffsetX,OffsetY,OffsetZ,Speed1,S peed2,Scale,BCHeight,BCRadius,EventID,AssocFileObj 128,AssocFileDrop128,AssocFileIcon128,AssocFile1_1 28,AssocFile2_128,Link) VALUES
(1,@MAXOBJ,'STORE_'+@Teleport,@Teleport,'xxx','SN_ STORE_'+@Teleport,'xxx',0,0,4,1,1,0,0,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,@REGION1,0,@POSX1,@POSY1,@POSZ1,0,0,50,50,30,0,' quest\teleport01.bsr','xxx','xxx','xxx','xxx',@lin k)

هتلاقى @POSX1,@POSY1,@POSZ1 دول مكان OffsetX OffsetY OffsetZ فى _refobjcommon
وفى الاول قايلك
SET @CHARNAME1 = 'CHARNAME1' -- Teleport position

يبقى هو ده اللى بيتحكم فى مكانها

merazz012
18-12-2015, 11:57 PM
اقرا ال Query كويس كده وبص على الجزء ده

DECLARE @MAXOBJ INT = (SELECT MAX (ID) FROM _RefObjCommon)+1
DECLARE @REGION1 INT SET @REGION1 = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSX1 INT SET @POSX1 = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSY1 INT SET @POSY1 = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @POSZ1 INT SET @POSZ1 = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @LINK INT = (SELECT MAX (ID) FROM _RefObjStruct)+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,Rarit y,CanTrade,CanSell,CanBuy,CanBorrow,CanDrop,CanPic k,CanRepair,CanRevive,CanUse,CanThrow,Price,CostRe pair,CostRevive,CostBorrow,KeepingFee,SellPrice,Re qLevelType1,ReqLevel1,ReqLevelType2,ReqLevel2,ReqL evelType3,ReqLevel3,ReqLevelType4,ReqLevel4,MaxCon tain,RegionID,Dir,OffsetX,OffsetY,OffsetZ,Speed1,S peed2,Scale,BCHeight,BCRadius,EventID,AssocFileObj 128,AssocFileDrop128,AssocFileIcon128,AssocFile1_1 28,AssocFile2_128,Link) VALUES
(1,@MAXOBJ,'STORE_'+@Teleport,@Teleport,'xxx','SN_ STORE_'+@Teleport,'xxx',0,0,4,1,1,0,0,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,@REGION1,0,@POSX1,@POSY1,@POSZ1,0,0,50,50,30,0,' quest\teleport01.bsr','xxx','xxx','xxx','xxx',@lin k)

هتلاقى @POSX1,@POSY1,@POSZ1 دول مكان OffsetX OffsetY OffsetZ فى _refobjcommon
وفى الاول قايلك
SET @CHARNAME1 = 'CHARNAME1' -- Teleport position

يبقى هو ده اللى بيتحكم فى مكانها


ماشي انا عايز اغيرها اغيرها منين ؟ والله الID اصلا مش موجود في الTab_RefTactics اصلا

Jayden
19-12-2015, 12:54 AM
انا جبت سيرة reftactics ؟ :icon5:
من refobjcommon يا باشا فى OffestX OffestY OffestZ

merazz012
19-12-2015, 08:25 PM
solved ##

BabiliOn
19-12-2015, 08:50 PM
متستخدمش الطريقة بتاعتى لو انتا مش عامل npc كامل
لو عامل تيليبورت بس فى common+refteleport+refteleink
دة هتستخدم الطريقة بتاعت Jayden

Dangers SrO
19-12-2015, 09:31 PM
##