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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم المواضيع المكررة و المخالفة (https://silkroad4arab.com/vb/forumdisplay.php?f=58)
-   -   سوأل بخصوص Teleport (https://silkroad4arab.com/vb/showthread.php?t=521186)

spiderx2 14-08-2013 07:23 PM

سوأل بخصوص Teleport
 
انا كنت عملت موضوع بخصوص Teleport

و خت ال query دة

كود:


USE SRO_VT_SHARD /* Add new Teleport By Marwan Abbas */


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,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,@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',@link)
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+'
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,AssocRefObjID,ZoneName128,GenRegionID,GenPos_X,GenPos_Y,GenPos_Z,GenAreaRadius,CanBeResurrectPos,CanGotoResurrectPos,GenWorldID,BindInteractionMask,FixedService) VALUES
(1,@MAXTELID,'GATE_'+@Teleport,'STORE_'+@Teleport,@MAXOBJ,'SN_STORE_'+@Teleport,@REGION2,@POSX2,@POSY2,@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,RestrictBindMethod,RunTimeTeleportMethod,CheckResult,Restrict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Restrict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,Restrict5,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,RestrictBindMethod,RunTimeTeleportMethod,CheckResult,Restrict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Restrict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,Restrict5,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,RestrictBindMethod,RunTimeTeleportMethod,CheckResult,Restrict1,Data1_1,Data1_2,Restrict2,Data2_1,Data2_2,Restrict3,Data3_1,Data3_2,Restrict4,Data4_1,Data4_2,Restrict5,Data5_1,Data5_2) VALUES
(1,@OwnTeleport,@MAXTELID,@Fee,0,0,0,1,@RequiredLVL,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!'

حلو او الكلم دة

علشان اعمل كدة لازم خط الطول والعرض والارتفاع الى X Y Z بتاع مكان الى عايز اعمل فية teleport
صح

طيب الى x y z دول احتهم فى انهى مكان فى الكود واسم التليبورت فى انهى مان

يعنى من الاخر عايز شرح الكود دة

واكون شاكر لكم

gotsha 14-08-2013 07:57 PM

ملحوظه هامه الكويرى دة هتبوظلك الداتا بيز عشان مش شغاله اعمل Backup وجرب عشان تصدقنى


الساعة الآن 05:11 AM.

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