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

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   استفسار فى MaxStack in Npc (https://silkroad4arab.com/vb/showthread.php?t=545786)

.-Carica-. 24-01-2014 10:51 PM

استفسار فى MaxStack in Npc
 
عايز اخلى MaxStack فى الElixer فى النبس لما اجى اشتريها يقى 1000
ازى
عشان هيا 5
2-
عايز Query add Telebort !! يكون شغال تمام او شرح من غير كوري
ty

che_9299 24-01-2014 11:34 PM

1- refobjitem عمود ال MaxStack
2-
**example: if we set @OwnTeleport = 1 then after creating the new teleport ,query will add link between it and JANGAN teleport that means you will be able to teleport from JANGAN to your new teleport and from your new teleport to JANGAN too.

*the fee is the gold required to teleport.

*if you set @RequiredLVL = 0 > any character with any level can teleport

*if you set @RequiredLVL = 60 for example > only characters with lvl 60 and above can teleport.

**If you set @RequiredLVL more than 0 >> the query will create just one link [one way teleport only] from the ownteleport to the new teleport

كود:

USE SRO_VT_SHARD /* Add new Teleport By Arabianfox */


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+'                                                                '+@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!'


.-Carica-. 25-01-2014 12:12 AM

ماهو فى refitem 1000
انا اقصد لما بشتريه
صوره للتوضويح
http://www8.0zz0.com/2014/01/24/21/543213745.jpg

che_9299 25-01-2014 12:34 AM

http://www.silkroad4arab.com/vb/showthread.php?t=439816

.-Carica-. 25-01-2014 12:51 AM

انت مش فهمنى
انا عايز لما اجى اشتريه يبقى اكتر من 5 و يبقو محطوطين على بعض !!

شايف الـQUantity 5 عايز اخيها 1000

Yui 25-01-2014 03:34 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة che_9299 (المشاركة 4992140)
1- refobjitem عمود ال MaxStack
2-
**example: if we set @OwnTeleport = 1 then after creating the new teleport ,query will add link between it and JANGAN teleport that means you will be able to teleport from JANGAN to your new teleport and from your new teleport to JANGAN too.

*the fee is the gold required to teleport.

*if you set @RequiredLVL = 0 > any character with any level can teleport

*if you set @RequiredLVL = 60 for example > only characters with lvl 60 and above can teleport.

**If you set @RequiredLVL more than 0 >> the query will create just one link [one way teleport only] from the ownteleport to the new teleport

كود:

USE SRO_VT_SHARD /* Add new Teleport By Arabianfox */


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+'                                                                '+@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!'


For change MaxStack in NPC from othere table not from _RefObjItem you need to know more about this

اقتباس:

المشاركة الأصلية كتبت بواسطة .-Carica-. (المشاركة 4992171)
انت مش فهمنى
انا عايز لما اجى اشتريه يبقى اكتر من 5 و يبقو محطوطين على بعض !!

شايف الـQUantity 5 عايز اخيها 1000


For change MaxStack from NPC go _RefScrapOfPackageItem go to item code and check row data and change 5 to 1000

che_9299 25-01-2014 03:36 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة Yui (المشاركة 4992226)
For change MaxStack in NPC from othere table not from _RefObjItem you need to know more about this




For change MaxStack from NPC go _RefScrapOfPackageItem go to item code and check row data and change 5 to 1000

oh Forgot!

.-Carica-. 25-01-2014 11:43 AM

تمام
شكراََ ياشباب

ღ♥ČrimeḾaster♥ღ 25-01-2014 06:00 PM

##


الساعة الآن 08:54 AM.

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