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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   تغير مكان الteleport (https://silkroad4arab.com/vb/showthread.php?t=595890)

merazz012 18-12-2015 09:49 AM

تغير مكان الteleport
 
عايز اغير مكانه خالص المبني نفسه اشيله من الtown ؟ حد يعرف ازاي علشان انا جربت اغير xyz
بتوعه مش راضي يتغير ؟ مسحته من الteleportbuilding...teleportdata..refllink في الميديا بيجيب كرش ؟ لما اجي مكان الteleport اللي كان فيه ؟!

BabiliOn 18-12-2015 10:12 AM

رد: تغير مكان الteleport
 
لو عايز تغير مكان npc الى فى التيليبورت هتغيرة من refnest

merazz012 18-12-2015 10:14 AM

رد: تغير مكان الteleport
 
npc في teleport ازاي مش فاهمك ؟!

BabiliOn 18-12-2015 10:17 AM

رد: تغير مكان الteleport
 
الـ npc هوة الشخص الى واقف الى بتفتحة وبتدوس على التيليبورت منو وبينقلك على مكان تانى دة لو عايز تشيلة كلة وتودية مكان تانى من refnest

merazz012 18-12-2015 10:26 AM

رد: تغير مكان الteleport
 
تقريبا مش من الrefnest علشان teleport ليها xyz فيteleportdata انا مش لاقي الid بتاعها اصلا في الrefnest

BabiliOn 18-12-2015 10:41 AM

رد: تغير مكان الteleport
 
هوة انتا عايز تغير اية بالظبط الـ Npc كلو ولا التيليبورت نفسو
ياريت توضح مشكلتك اكتر او تجيب صورة للحاجة الى عايز تنقلها

merazz012 18-12-2015 10:55 AM

رد: تغير مكان الteleport
 
npc كله

BabiliOn 18-12-2015 11:09 AM

رد: تغير مكان الteleport
 
اول حاجة عشان تغير مكانة لازم تجيب 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

رد: تغير مكان الteleport
 
اقتباس:

المشاركة الأصلية كتبت بواسطة BabiliOn (المشاركة 5241224)
اول حاجة عشان تغير مكانة لازم تجيب 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

رد: تغير مكان الteleport
 
أو تستخدم الكويرى دى

كود بلغة HTML:

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

رد: تغير مكان الteleport
 
اللي جرب يعمل ؟ تليبورت قبل كده هيعرف اني التيلبورت ال 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

رد: تغير مكان الteleport
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Mr.Rover (المشاركة 5241276)
أو تستخدم الكويرى دى

كود بلغة HTML:

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

رد: تغير مكان الteleport
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dangers SrO (المشاركة 5241270)
زي مقلك العضو كده
+1

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

Jayden 18-12-2015 11:44 PM

رد: تغير مكان الteleport
 
اقرا ال Query كويس كده وبص على الجزء ده

كود PHP:

DECLARE @MAXOBJ INT = (SELECT MAX (IDFROM _RefObjCommon)+1
DECLARE @REGION1 INT SET @REGION1 = (SELECT (LatestRegionFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSX1 INT SET @POSX1 = (SELECT (POSXFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSY1 INT SET @POSY1 = (SELECT (POSYFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSZ1 INT SET @POSZ1 = (SELECT (POSZFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
LINK INT = (SELECT MAX (IDFROM _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,LinkVALUES
(1,@MAXOBJ,'STORE_'+@Teleport,@Teleport,'xxx','SN_ STORE_'+@Teleport,'xxx',0,0,4,1,1,0,0,3,0,0,0,0,00,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

رد: تغير مكان الteleport
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5241399)
اقرا ال Query كويس كده وبص على الجزء ده

كود PHP:

DECLARE @MAXOBJ INT = (SELECT MAX (IDFROM _RefObjCommon)+1
DECLARE @REGION1 INT SET @REGION1 = (SELECT (LatestRegionFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSX1 INT SET @POSX1 = (SELECT (POSXFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSY1 INT SET @POSY1 = (SELECT (POSYFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
POSZ1 INT SET @POSZ1 = (SELECT (POSZFROM _Char WHERE CharName16 = @CHARNAME1)
DECLARE @
LINK INT = (SELECT MAX (IDFROM _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,LinkVALUES
(1,@MAXOBJ,'STORE_'+@Teleport,@Teleport,'xxx','SN_ STORE_'+@Teleport,'xxx',0,0,4,1,1,0,0,3,0,0,0,0,00,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 اصلا


الساعة الآن 04:26 AM.

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