How add model Switch in your game ازاي تضيف موديل في الجيم عندك

بسم الله الرحمن الرحيم
النهارده هشرح ليكم ازاي تضيف موديل
في الجيم عندك
يلا بينا و ركز معايا

انت مثلا عاوز تضيف موديل تشتغل علي دجري 14
اول حاجه لازم تعملها
تجيب كود السلاح اللي الموديل هيشتغل عليه
من _RfObjCommon
و السطربتاعه من _REFobjItem


دا كويري تجيب منه السطر بتاع الايتم من Refobjcommon
SQL:
USE SRO_VT_SHARD
SELECT * from _RefObjCommon Where CodeName128 like 'ITEM_EU_TSTAFF_14_C_RARE'

و دا كويري تجيب السطر من Refobjitem

SQL:
USE SRO_VT_SHARD
SELECT * from _RefObjItem Where ID like '6953'

طبعا الرقم اللي في كويري دا الرقم اللي موجود في اخر سطرRefobjcommon

كدا جبنا السطور هنغير سطر refobjcommon زي كدا
'ITEM_EU_TSTAFF_14_C_RARE_01

و تغير مسار bsr or ddj
item\europe\tstaff/tstaff_01.bsr

و الكويري دا علشان تجيب بيه سطور اللي هتحتها في الميديا
SQL:
USE [SRO_VT_SHARD]
exec _GetMediaLines
@Type=1,
@CodeName='%ITEM%_%_%10_C_RARE_D%'

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

هنضيف بقي السكرولايه اللي هتعمل التغير
refobjcommon

كود:
1    63630    ITEM_ITEM_MULTI_MODEL_01    ?????    xxx    SN_ITEM_MULTI_MODEL_01    SN_ITEM_MULTI_MODEL_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    0    1    0    0    1    0    0    0    0    0    0    0    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_scroll.bsr    item\etc\vortex\model_d1.ddj    xxx    xxx    33654
refobjitem​
كود:
33654    1    2    0    0    1    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    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    ????    1    ??????                                                                                                                               -1    RESURRECT    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0    0

itemdata_45000​
كود:
1    63630    ITEM_ITEM_MULTI_MODEL_01    ?????    xxx    SN_ITEM_MULTI_MODEL_01    SN_ITEM_MULTI_MODEL_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    0    1    0    0    1    0    0    0    0    0    0    0    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_scroll.bsr    item\etc\vortex\model_d1.ddj    xxx    xxx    1    2    0    0    1    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    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    ????    1    ??????    -1    RESURRECT    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0

textdata_obj
كود:
1    SN_ITEM_MULTI_MODEL_01                                Model Switcher 1Dg
1    SN_ITEM_MULTI_MODEL_01_TT_DESC                                <sml2>Using this scroll, you will be able to switch the model "the look" of any custom items (equipment) to a specific degrees model.<br><br><strong><font color="255,236,219,156">How To Use</font></strong><br>Place any item into your inventories first slot.<br>Activate this scroll.<br><br><strong><font color="255,236,219,156">Model</font></strong><br>First Degree<br><br><strong><font color="255,236,219,156">Notice:</font></strong><br>This item works on DG[10] items only.</sml2>


وهعمل الكويري دا​
SQL:
USE [SRO_VT_SHARDLOG]
GO
/****** Object:  StoredProcedure [dbo].[_ModelSwitcher]    Script Date: 3/31/2016 7:36:27 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[_ModelSwitcher]   
  @CharID  int,   
  @ItemRefID int
  AS 
 DECLARE @ItemID    int
  ,@RefItemID int
  ,@DG int
  ,@NoItem int
  ,@Color varchar(50)
  ,@GEN varchar(50)   
  ,@RARET VARCHAR(50)
  ,@T1 tinyint 
  ,@T2 tinyint 
  ,@T3 tinyint
  ,@T4 tinyint
       SELECT @DG = CASE WHEN @ItemRefID = '63630' THEN '1' --------1=Degree Number
                            WHEN @ItemRefID = '63631' THEN '2' ---63630 = Scroll id
                            WHEN @ItemRefID = '63632' THEN '3'
                            WHEN @ItemRefID = '63633' THEN '4'
                            WHEN @ItemRefID = '63634' THEN '5'
                            WHEN @ItemRefID = '63635' THEN '6'
                            WHEN @ItemRefID = '63636' THEN '7'
                            WHEN @ItemRefID = '63637' THEN '8'
                            WHEN @ItemRefID = '63638' THEN '9'
                            WHEN @ItemRefID = '63639' THEN '10'
                            WHEN @ItemRefID = '63640' THEN '11'
                            WHEN @ItemRefID = '63641' THEN '12'
                            ELSE NULL END         
                    
                    
            SELECT @ItemID=I.ID64 , @RefItemID = I.RefItemID 
            FROM SRO_VT_SHARD.dbo._Items I INNER JOIN SRO_Vt_SHARD.dbo._Inventory Iv
            ON I.ID64 = Iv.ItemID
            WHERE Iv.Slot = '13' AND Iv.CharID = @CharID
            
            -- First item 
            SELECT @T1 = TypeID1 , @T2 = TypeID2 , @T3 = TypeID3 , @T4 = TypeID4 ,@Color = Color , @GEN = Gender , @RareT = RareT
            FROM SRO_VT_SHARDLOG.dbo._ModelSwitchers WHERE ID = @RefItemID
            -- Second item
            SELECT TOP 1 @NoItem = ID FROM SRO_VT_SHARDLOG.dbo._ModelSwitchers 
            WHERE TypeID1 = @T1 
              AND TypeID2 = @T2 
              AND TypeID3 = @T3
              AND TypeID4 = @T4
              AND Color = @Color
              AND DG = @DG
              AND Gender = @GEN
              AND RareT = @RareT
          -- Upcating
          UPDATE SRO_VT_SHARD.dbo._Items SET RefItemID = @NoItem WHERE ID64 = @ItemID

وبعدين هتروح علي Sro_Vt_shardlog>addlogitem

,و تحط البروسيد دا​
كود:
/*Mod Switcher*/
  IF @ItemRefID BETWEEN '63630' and '63641' AND @Operation = '41'
  BEGIN EXEC SRO_VT_SHARDLOG.dbo._ModelSwitcher @CharId, @ItemRefID 
  END

و بعدين تعمل التابل دا​
كود:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_ModelSwitchers]    Script Date: 4/1/2016 3:13:24 AM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_ModelSwitchers](
    [ID] [int] NOT NULL,
    [CodeName] [varchar](128) NULL,
    [TypeID1] [int] NULL,
    [TypeID2] [int] NULL,
    [TypeID3] [int] NULL,
    [TypeID4] [int] NULL,
    [Color] [varchar](50) NULL,
    [RareT] [varchar](16) NULL,
    [DG] [int] NULL,
    [Gender] [varchar](50) NULL,
 CONSTRAINT [PK__ModSwitch] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ودي صوره توضحلك انت هتعمل ايه في التابل دا
LUbacab.png

اولا بتضيف اكواد الايتم الاصلي اللي هيتعملها Switch

1 = ID الايتم ف ال _RefObjCommon
2= TypeID4 دا كود تمييز للتفرقة بين الاسلحة يعني بمعني اصح كل سلاح وليه رقم و دا هتجيبه من refobjcommon
3=دا ال Rarity بتاع الايتم لو نورمال اكتب نورمال لو A_RARE تبقا Nova لو C_RARE تبق Sun
4=dg الايتم اللي انت ضايف الكود بتاعها هنا والدجري هنا يقصد بيه شكل الدجريي ,و في الكود التاني بتاع الموديا اكتب فيه الدجري اللي الايتم هيتحول عليه
5= دي لو انت ضايف فيها ال Set لو Male h او Female

و بكدا اكون خلصت لو عندك سؤال اسأل انا موجود علي طول​
 
بسم الله الرحمن الرحيم
النهارده هشرح ليكم ازاي تضيف موديل
في الجيم عندك
يلا بينا و ركز معايا

انت مثلا عاوز تضيف موديل تشتغل علي دجري 14
اول حاجه لازم تعملها
تجيب كود السلاح اللي الموديل هيشتغل عليه
من _RfObjCommon
و السطربتاعه من _REFobjItem


دا كويري تجيب منه السطر بتاع الايتم من Refobjcommon
SQL:
USE SRO_VT_SHARD
SELECT * from _RefObjCommon Where CodeName128 like 'ITEM_EU_TSTAFF_14_C_RARE'

و دا كويري تجيب السطر من Refobjitem

SQL:
USE SRO_VT_SHARD
SELECT * from _RefObjItem Where ID like '6953'

طبعا الرقم اللي في كويري دا الرقم اللي موجود في اخر سطرRefobjcommon

كدا جبنا السطور هنغير سطر refobjcommon زي كدا
'ITEM_EU_TSTAFF_14_C_RARE_01

و تغير مسار bsr or ddj
item\europe\tstaff/tstaff_01.bsr

و الكويري دا علشان تجيب بيه سطور اللي هتحتها في الميديا
SQL:
USE [SRO_VT_SHARD]
exec _GetMediaLines
@Type=1,
@CodeName='%ITEM%_%_%10_C_RARE_D%'

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

هنضيف بقي السكرولايه اللي هتعمل التغير
refobjcommon

كود:
1    63630    ITEM_ITEM_MULTI_MODEL_01    ?????    xxx    SN_ITEM_MULTI_MODEL_01    SN_ITEM_MULTI_MODEL_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    0    1    0    0    1    0    0    0    0    0    0    0    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_scroll.bsr    item\etc\vortex\model_d1.ddj    xxx    xxx    33654
refobjitem​
كود:
33654    1    2    0    0    1    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    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    ????    1    ??????                                                                                                                               -1    RESURRECT    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0    0

itemdata_45000​
كود:
1    63630    ITEM_ITEM_MULTI_MODEL_01    ?????    xxx    SN_ITEM_MULTI_MODEL_01    SN_ITEM_MULTI_MODEL_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    0    1    0    0    1    0    0    0    0    0    0    0    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    xxx    item\etc\drop_mall_scroll.bsr    item\etc\vortex\model_d1.ddj    xxx    xxx    1    2    0    0    1    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    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    ????    1    ??????    -1    RESURRECT    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    -1    xxx    0    0

textdata_obj
كود:
1    SN_ITEM_MULTI_MODEL_01                                Model Switcher 1Dg
1    SN_ITEM_MULTI_MODEL_01_TT_DESC                                <sml2>Using this scroll, you will be able to switch the model "the look" of any custom items (equipment) to a specific degrees model.<br><br><strong><font color="255,236,219,156">How To Use</font></strong><br>Place any item into your inventories first slot.<br>Activate this scroll.<br><br><strong><font color="255,236,219,156">Model</font></strong><br>First Degree<br><br><strong><font color="255,236,219,156">Notice:</font></strong><br>This item works on DG[10] items only.</sml2>


وهعمل الكويري دا​
SQL:
USE [SRO_VT_SHARDLOG]
GO
/****** Object:  StoredProcedure [dbo].[_ModelSwitcher]    Script Date: 3/31/2016 7:36:27 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[_ModelSwitcher]  
  @CharID  int,  
  @ItemRefID int
  AS
 DECLARE @ItemID    int
  ,@RefItemID int
  ,@DG int
  ,@NoItem int
  ,@Color varchar(50)
  ,@GEN varchar(50)  
  ,@RARET VARCHAR(50)
  ,@T1 tinyint
  ,@T2 tinyint
  ,@T3 tinyint
  ,@T4 tinyint
       SELECT @DG = CASE WHEN @ItemRefID = '63630' THEN '1' --------1=Degree Number
                            WHEN @ItemRefID = '63631' THEN '2' ---63630 = Scroll id
                            WHEN @ItemRefID = '63632' THEN '3'
                            WHEN @ItemRefID = '63633' THEN '4'
                            WHEN @ItemRefID = '63634' THEN '5'
                            WHEN @ItemRefID = '63635' THEN '6'
                            WHEN @ItemRefID = '63636' THEN '7'
                            WHEN @ItemRefID = '63637' THEN '8'
                            WHEN @ItemRefID = '63638' THEN '9'
                            WHEN @ItemRefID = '63639' THEN '10'
                            WHEN @ItemRefID = '63640' THEN '11'
                            WHEN @ItemRefID = '63641' THEN '12'
                            ELSE NULL END        
                   
                   
            SELECT @ItemID=I.ID64 , @RefItemID = I.RefItemID
            FROM SRO_VT_SHARD.dbo._Items I INNER JOIN SRO_Vt_SHARD.dbo._Inventory Iv
            ON I.ID64 = Iv.ItemID
            WHERE Iv.Slot = '13' AND Iv.CharID = @CharID
           
            -- First item
            SELECT @T1 = TypeID1 , @T2 = TypeID2 , @T3 = TypeID3 , @T4 = TypeID4 ,@Color = Color , @GEN = Gender , @RareT = RareT
            FROM SRO_VT_SHARDLOG.dbo._ModelSwitchers WHERE ID = @RefItemID
            -- Second item
            SELECT TOP 1 @NoItem = ID FROM SRO_VT_SHARDLOG.dbo._ModelSwitchers
            WHERE TypeID1 = @T1
              AND TypeID2 = @T2
              AND TypeID3 = @T3
              AND TypeID4 = @T4
              AND Color = @Color
              AND DG = @DG
              AND Gender = @GEN
              AND RareT = @RareT
          -- Upcating
          UPDATE SRO_VT_SHARD.dbo._Items SET RefItemID = @NoItem WHERE ID64 = @ItemID

وبعدين هتروح علي Sro_Vt_shardlog>addlogitem

,و تحط البروسيد دا​
كود:
/*Mod Switcher*/
  IF @ItemRefID BETWEEN '63630' and '63641' AND @Operation = '41'
  BEGIN EXEC SRO_VT_SHARDLOG.dbo._ModelSwitcher @CharId, @ItemRefID
  END

و بعدين تعمل التابل دا​
كود:
USE [SRO_VT_SHARDLOG]
GO

/****** Object:  Table [dbo].[_ModelSwitchers]    Script Date: 4/1/2016 3:13:24 AM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[_ModelSwitchers](
    [ID] [int] NOT NULL,
    [CodeName] [varchar](128) NULL,
    [TypeID1] [int] NULL,
    [TypeID2] [int] NULL,
    [TypeID3] [int] NULL,
    [TypeID4] [int] NULL,
    [Color] [varchar](50) NULL,
    [RareT] [varchar](16) NULL,
    [DG] [int] NULL,
    [Gender] [varchar](50) NULL,
 CONSTRAINT [PK__ModSwitch] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ودي صوره توضحلك انت هتعمل ايه في التابل دا
مشاهدة المرفق 793

اولا بتضيف اكواد الايتم الاصلي اللي هيتعملها Switch

1 = ID الايتم ف ال _RefObjCommon
2= TypeID4 دا كود تمييز للتفرقة بين الاسلحة يعني بمعني اصح كل سلاح وليه رقم و دا هتجيبه من refobjcommon
3=دا ال Rarity بتاع الايتم لو نورمال اكتب نورمال لو A_RARE تبقا Nova لو C_RARE تبق Sun
4=dg الايتم اللي انت ضايف الكود بتاعها هنا والدجري هنا يقصد بيه شكل الدجريي ,و في الكود التاني بتاع الموديا اكتب فيه الدجري اللي الايتم هيتحول عليه
5= دي لو انت ضايف فيها ال Set لو Male h او Female

و بكدا اكون خلصت لو عندك سؤال اسأل انا موجود علي طول​
عاااش
 
عودة
أعلى