Originally Posted by mtnman33
welcome , those who can help on here usually wont , those who do usually only answer with smart azz remarks like use brain.exe or google even though this "IS" the help section and Ask the Experts ....lol so here is a few answers to your questions and hope they help
--------------------
how to add a new teloporter
first you need 2 chars for this one where you want the new teleporter to be located which will be CHARNAME1 and the other one to locate where you want this teleporter to teleport you to CHARNAME2 now you must log them on and take them exactly where you want them to be then log them off completely that sets your location on the database to read from and here is a hint the teleporter will round up or down to the nearest whole number you can not use like 234.567 you can use 234 or 235 and so on
be sure to run a full backup "ANY" time you run a script especially one you find from someone you don't know and trust and its a good point to do it anyways and at any time you run one , just running scripts is a good way to destroy a database.
ok here is the script
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' -- Teleporter 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 = 5000 -- 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!'
be sure to edit your setting in the top to your char names and teleporter names , this script will also give you a full print out for your text data to putyE=mtnman33;33096608]welcome , those who can help on here usually wont , those who do usually only answer with smart azz remarks like use brain.exe or google even though this "IS" the help section and Ask the Experts ....lol so here is a few answers to your questions and hope they help
--------------------
how to add a new teloporter
first you need 2 chars for this one where you want the new teleporter to be located which will be CHARNAME1 and the other one to locate where you want this teleporter to teleport you to CHARNAME2 now you must log them on and take them exactly where you want them to be then log them off completely that sets your location on the database to read from and here is a hint the teleporter will round up or down to the nearest whole number you can not use like 234.567 you can use 234 or 235 and so on
be sure to run a full backup "ANY" time you run a script especially one you find from someone you don't know and trust and its a good point to do it anyways and at any time you run one , just running scripts is a good way to destroy a database.
ok here is the script
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' -- Teleporter 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 = 5000 -- 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!'
be sure to edit your setting in the top to your char names and teleporter names , this script will also give you a full print out for your text data to put in your Media.pk2
at : Set @RequiredLvl you can set the min level there which answers the second part and to answer the 3rd part of your first question you go to database open table
dbo._RefTeleLink and see if you have OwnerTeleport =1 to TargetTeleport = 2
that mean Jangan teleporter "1" teleports you to Donwang teleporter "2" if not just insert this line into it and save it into your Media.pk2 text file reftelelink.txt
1 1 2 5000 0 0 0 2 0 0 6 0 0 0 0 0 0 0 0 0 0 0
ok that takes care of all 3 parts of your first question...lol
ok for the elixer part i am not sure exactly what your meaning , are you wanting to make an all new elixer ? or fix the ones you already have or do all of them ?
as for Trade Reward you can set it to whatever you want by going to table dbo.TriJobRewards and edit them however you wish them to be like this:
1 0
2 25484414866
3 665114021126
1: Hunter , 2:Trader , 3:Thief
hope all this helps you out and if you need any more just private message me and i will be glad to help , Good Luck
|