ÇáãæÞÚ ÇáÚÑÈí ÇáÇæá ááÚÈÉ Silkroad Online

ÇáãæÞÚ ÇáÚÑÈí ÇáÇæá ááÚÈÉ Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   ÞÓã ÇáÇÓÆáÉ æ ÇáÇÓÊÝÓÇÑÇÊ áÚãá ÇáÓíÑÝÑÇÊ ÇáÎÇÕÉ (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ (https://silkroad4arab.com/vb/showthread.php?t=592351)

saksak 26-09-2015 12:09 AM

Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ .........ãÔ áÇÞí Ïå ÚäÏí StoredProcedures

BuiLt4KiLl 26-09-2015 12:13 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
SRO_VT_SHARD > Programmability > Stored Producers > _AddNewChar

saksak 26-09-2015 12:22 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
ÇäÊ ÈÑäÓ æ ÑÈäÇ íßÑãß ...ÔßÑÇ Úáí ãÑæÑß:kissing:

saksak 26-09-2015 12:22 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
ÇÊãäí ãäß ÇáãÓÇÚÏå

caeser 22-02-2016 12:07 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
ØÈ ÍÏ íÌíÈæ ØíÈ

M.HADAD 22-02-2016 04:40 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
ßæÏ PHP:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 6/16/2015 7:30:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER   PROCEDURE 
[dbo].[_AddNewChar]    
@
UserJID   INT,    
--@
CharSlot   INT,    
@
RefCharID   INT,    
@
CharName   varchar (64),    
@
CharScale   tinyINT,    
@
StartRegionID  INT,    
@
StartPos_X   real,    
@
StartPos_Y   real,    
@
StartPos_Z   real,    
@
DefaultTeleport INT,    
@
RefMailID   INT,    
@
RefPantsID   INT,    
@
RefBootsID   INT,    
@
RefWeaponID  INT,    
@
RefShield   INT,    
@
DurMail   tinyINT,    
@
DurPants   tinyINT,    
@
DurBoots   tinyINT,    
@
DurWeapon   tinyINT,    
@
DurShield   tinyINT,    
@
DefaultArrow  INT      
AS    
    
SET NOCOUNT ON      

    
DECLARE @Slot  INT        
    
DECLARE @temp  INT        
            
    
DECLARE @NewCharID  INT        
    SET 
@NewCharID 0        
 
 
-- Initial Equip Edit by Albert
 
DECLARE @RefHandID INT
 
DECLARE @RefHatID INT
 
DECLARE @RefShoulderID INT
 
DECLARE @RefEarringID INT
 
DECLARE @RefRingID INT
 
DECLARE @RefNeckID INT
 
DECLARE @DurHand INT
 
DECLARE @DurHat INT
 
DECLARE @DurShoulder INT
 
DECLARE @DurEarring INT
 
DECLARE @DurRing INT
 
DECLARE @DurNeck INT
 
      
    
-- finish by novice.        
    
    -----------------------------------------------------------------------------        
    -- 
2. Ä³¸¯ÅÍ Ãß°¡Çϱ⠠      
    
-----------------------------------------------------------------------------        
    IF (@
CharScale 68) -- 0100 0100 --> 68 ÀÌ´Ù!        
    
BEGIN        
        
-- Ä³¸¯ÅÍ »ý¼º ½ÇÆÐ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!         
        RETURN -
3        
    END
        
    EXEC 
@temp _IsExistingCharName @CharName        
    
IF (@temp <> 0)        
    
BEGIN        
        
-- À̹̠»ç¿ëÁßÀΠÀ̸§À̶ó´Âµ¥?        
        RETURN -
4        
    END        
    
BEGIN TRANSACTION
    
    
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!      
     
INSERT INTO _Char (RefObjIDCharName16ScaleStrengthIntellect,  LatestRegion,PosXPosYPosZAppointedTeleportInventorySize,      
                 
LastLogoutCurLevelMaxLevelRemainGold,  RemainStatPointRemainSkillPointHPMPJobLvl_TraderJobLvl_Hunter,  JobLvl_RobberWorldIDDailyPK)      
    
VALUES (@RefCharID,  @CharName, @CharScale2020, @StartRegionID, @StartPos_X, @StartPos_Y,  @StartPos_Z, @DefaultTeleport45,      
                
GetDate(), 110000,011111)      
    
    
SET @NewCharID = @@IDENTITY        
    
IF (@@ERROR <> OR @@ROWCOUNT 0)        
    
BEGIN        
        
-- Ä³¸¯ÅÍ »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -5        
    END        
    
-- start by novice.        
    -- 
ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..        
    
INSERT INTO _User VALUES (@UserJID, @NewCharID)        
    -- 
finish by novice.        
    
    
     -----------------------------------------------------------------------------        
     -- 
3-1. Àåºñ ½½·Ô Ã¤¿ì±â        
     
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼96°³·Î Áõ°¡!!!(woos0)
     -----------------------------------------------------------------------------        
      --
PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!        
     
INSERT INTO _Inventory(CharIDSlotItemID)        
      
SELECT @NewCharIDcnt0        
       FROM _RefDummySlot with
nolock )       
        
WHERE cnt 109        

          
    
IF (@@ERROR <> 0)        
    
BEGIN        
        
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -7         
    END        
 
--  PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!    
     
 -- ???? ??? ???? ?? ????...    
 
/* ?? ???  ???? ??.    
  0: EQUIP_SLOT_HELM    
  1: EQUIP_SLOT_MAIL,    
  2: EQUIP_SLOT_SHOULDERGUARD,    
  3: EQUIP_SLOT_GAUNTLET,    
  4: EQUIP_SLOT_PANTS,    
  5: EQUIP_SLOT_BOOTS,    
  6: EQUIP_SLOT_WEAPON,    
  7: EQUIP_SLOT_SHIELD or ARROW,    
  8: EQUIP_SLOT_EARRING,    
  9: EQUIP_SLOT_NECKLACE,    
 10: EQUIP_SLOT_L_RING,    
 11: EQUIP_SLOT_R_RING,    
 */    

 
-- Initial Equip Edit by Albert
 
DECLARE @ItemID BIGINT    
 SET 
@ItemID 0    
 
-- Chest
 
IF (@RefMailID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID1, @RefMailID, @DurMail
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Hand
 
IF (@RefHandID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID3, @RefHandID, @DurHand
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Hat
 
IF (@RefHatID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID0, @RefHatID, @DurHat
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Shoulder
 
IF (@RefShoulderID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID2, @RefShoulderID, @DurShoulder
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Pants 
 
IF (@RefPantsID <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID4, @RefPantsID, @DurPants
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -9    
    END    
 END    
 
-- Boots    
 
IF (@RefBootsID <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID5, @RefBootsID, @DurBoots
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -10    
    END    
 END    
 
-- Weapon    
 
IF (@RefWeaponID <> 0BEGIN   
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID6, @RefWeaponID, @DurWeapon
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -11    
    END    
 END    
 
-- Shield
 
IF (@RefShield <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @RefShield, @DurShield
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -12    
    END    
 END    
 
-- Arror/Bolt
 
IF (@DefaultArrow <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @DefaultArrow250
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -13    
    END    
 END
 
-- Earring
 
IF (@RefEarringID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID9, @RefEarringID, @DurEarring
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Ring 1
 
IF (@RefRingID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID11, @RefRingID, @DurRing
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Ring 2
 
IF (@RefRingID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID12, @RefRingID, @DurRing
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Necklace
 
IF (@RefNeckID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID10, @RefNeckID, @DurNeck
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Initial Equip Edit by Albert
     
     
-----------------------------------------------------------------------------        
     -- 
3-2. ¾Æ¹ÙŸ Inventory ½½·Ô Ã¤¿ì±â        
     
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
     -- 
APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼Ãß°¡µÇ´Â ºÎºÐ
     
-----------------------------------------------------------------------------        
      --
PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!        
     
INSERT INTO _InventoryForAvatar(CharIDSlotItemID)        
      
SELECT @NewCharIDcnt0
       FROM _RefDummySlot with
nolock )       
        
WHERE cnt 5

          
    
IF (@@ERROR <> 0)        
    
BEGIN        
        
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -14
    END        
     
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!        
          
    -----------------------------------------------------------------------------        
    -- default 
skill³Ö¾îÁֱ⠠      
    
-----------------------------------------------------------------------------        
    DECLARE @
country tinyINT        
    EXEC 
@country _GetObjCountry @RefCharID        
           
    INSERT INTO _CharSkillMastery 
(CharIDMasteryIDLevel)        
    
SELECT @NewCharIDMasteryID0        
    FROM _RefCharDefault_SkillMastery  with
(nolock)      
    
WHERE Race = @country or Race 3        
    
IF (@@error <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -15        
    END        
    INSERT INTO _CharSkill 
(CharID,SkillID,Enable)        
    
SELECT @NewCharIDSkillID1        
    FROM  _RefCharDefault_Skill  with
(nolock)      
    
WHERE Race = @country or Race 3        
    
IF (@@error <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -16        
    END        
    
-----------------------------------------------------------------------------        
    -- 
±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
    
-----------------------------------------------------------------------------        
    
INSERT INTO _CharQuest (CharIDQuestIDStatusAchievementCountStartTimeEndTimeQuestData1QuestData2)        
    
SELECT @NewCharIDID10getdate(), getdate(), 00        
    FROM _RefQuest
     WHERE CodeName in 
(SELECT CodeName FROM _RefCharDefault_Quest   with(nolockWHERE (Race = @country or Race 3) and RequiredLevel 1  and Service 1)
    IF (@@
error <> 0)
    
BEGIN
        ROLLBACK TRANSACTION        
        
RETURN -17        
    END    
    
-----------------------------------------------------------------------------        
    -- Static 
Avatar Initial Record ³Ö±â        
    
-----------------------------------------------------------------------------        
    
INSERT INTO _StaticAvatar(CharIDvalues(@NewCharID)        
    IF (@@
ERROR <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -18        
    END         
          
    
-----------------------------------------------------------------------------        
    -- 
Trijob Ã¤¿ö³Ö±â!!!!!        
    -----------------------------------------------------------------------------        
    
INSERT INTO _CharTrijob VALUES (@NewCharID01000)        
    IF (@@
ERROR <> 0)        
    
BEGIN        
        
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -19        
    END         
          
    
-----------------------------------------------------------------------------        
    -- 
CharList¿¡ ID ³Ö¾îÁֱ⠠      
    
-----------------------------------------------------------------------------        
    
INSERT _CharNameList VALUES(@CharName, @NewCharID)        
 
UPDATE  _Char SET CurLevel 1MaxLevel 1Strength 20Intellect=  20RemainStatPoint0ExpOffset 0RemainGold 50000000,  RemainSkillPoint 500000InventorySize 109 WHERE _Char.CharID =  @NewCharID
 UPDATE _Items SET OptLevel
=12 WHERE ID64 IN (SELECT  ItemID FROM _Inventory WHERE Slot BETWEEN 0 AND 12 AND Slot Not LIKE  '15' AND CharID=@NewCharID)
 
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_RESURRECTION_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_PREMIUM_GLOBAL_GOLDTIME',1,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_ETC_E090930_SPEED_UP_SUPER_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_COS_P_MYOWON_SCROLL',1,0
    
IF (@RefCharID >= 1907 AND @RefCharID <= 1919) -- MALE CH 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 14875 AND @RefCharID <= 14887) -- MALE EU
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 1920 AND @RefCharID <= 1931) -- FEMALE CH 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 14888 AND @RefCharID <= 14900) -- FEMALE EU 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,0
 END

 
            
    
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!        
    
exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        

COMMIT TRANSACTION        
          
RETURN @NewCharID 


Dev.BigBear 23-02-2016 01:59 AM

ÑÏ: Çí ÍÏ íÓÇÚÏäí ÇäÇ ãÚäÏíÔ dbo.AddNewChar ããßä Íá Çæ ãßÇäå ÈÇáÖÈØ
 
ÇÞÊÈÇÓ:

ÇáãÔÇÑßÉ ÇáÃÕáíÉ ßÊÈÊ ÈæÇÓØÉ M.HADAD (ÇáãÔÇÑßÉ 5254424)
ßæÏ PHP:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 6/16/2015 7:30:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER   PROCEDURE 
[dbo].[_AddNewChar]    
@
UserJID   INT,    
--@
CharSlot   INT,    
@
RefCharID   INT,    
@
CharName   varchar (64),    
@
CharScale   tinyINT,    
@
StartRegionID  INT,    
@
StartPos_X   real,    
@
StartPos_Y   real,    
@
StartPos_Z   real,    
@
DefaultTeleport INT,    
@
RefMailID   INT,    
@
RefPantsID   INT,    
@
RefBootsID   INT,    
@
RefWeaponID  INT,    
@
RefShield   INT,    
@
DurMail   tinyINT,    
@
DurPants   tinyINT,    
@
DurBoots   tinyINT,    
@
DurWeapon   tinyINT,    
@
DurShield   tinyINT,    
@
DefaultArrow  INT      
AS    
    
SET NOCOUNT ON      

    
DECLARE @Slot  INT        
    
DECLARE @temp  INT        
            
    
DECLARE @NewCharID  INT        
    SET 
@NewCharID 0        
 
 
-- Initial Equip Edit by Albert
 
DECLARE @RefHandID INT
 
DECLARE @RefHatID INT
 
DECLARE @RefShoulderID INT
 
DECLARE @RefEarringID INT
 
DECLARE @RefRingID INT
 
DECLARE @RefNeckID INT
 
DECLARE @DurHand INT
 
DECLARE @DurHat INT
 
DECLARE @DurShoulder INT
 
DECLARE @DurEarring INT
 
DECLARE @DurRing INT
 
DECLARE @DurNeck INT
 
      
    
-- finish by novice.        
    
    -----------------------------------------------------------------------------        
    -- 
2. Ä³¸¯ÅÍ Ãß°¡Çϱ⠠      
    
-----------------------------------------------------------------------------        
    IF (@
CharScale 68) -- 0100 0100 --> 68 ÀÌ´Ù!        
    
BEGIN        
        
-- Ä³¸¯ÅÍ »ý¼º ½ÇÆÐ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!         
        RETURN -
3        
    END
        
    EXEC 
@temp _IsExistingCharName @CharName        
    
IF (@temp <> 0)        
    
BEGIN        
        
-- À̹̠»ç¿ëÁßÀΠÀ̸§À̶ó´Âµ¥?        
        RETURN -
4        
    END        
    
BEGIN TRANSACTION
    
    
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!      
     
INSERT INTO _Char (RefObjIDCharName16ScaleStrengthIntellect,  LatestRegion,PosXPosYPosZAppointedTeleportInventorySize,      
                 
LastLogoutCurLevelMaxLevelRemainGold,  RemainStatPointRemainSkillPointHPMPJobLvl_TraderJobLvl_Hunter,  JobLvl_RobberWorldIDDailyPK)      
    
VALUES (@RefCharID,  @CharName, @CharScale2020, @StartRegionID, @StartPos_X, @StartPos_Y,  @StartPos_Z, @DefaultTeleport45,      
                
GetDate(), 110000,011111)      
    
    
SET @NewCharID = @@IDENTITY        
    
IF (@@ERROR <> OR @@ROWCOUNT 0)        
    
BEGIN        
        
-- Ä³¸¯ÅÍ »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -5        
    END        
    
-- start by novice.        
    -- 
ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..        
    
INSERT INTO _User VALUES (@UserJID, @NewCharID)        
    -- 
finish by novice.        
    
    
     -----------------------------------------------------------------------------        
     -- 
3-1. Àåºñ ½½·Ô Ã¤¿ì±â        
     
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼96°³·Î Áõ°¡!!!(woos0)
     -----------------------------------------------------------------------------        
      --
PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!        
     
INSERT INTO _Inventory(CharIDSlotItemID)        
      
SELECT @NewCharIDcnt0        
       FROM _RefDummySlot with
nolock )       
        
WHERE cnt 109        

          
    
IF (@@ERROR <> 0)        
    
BEGIN        
        
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -7         
    END        
 
--  PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!    
     
 -- ???? ??? ???? ?? ????...    
 
/* ?? ???  ???? ??.    
  0: EQUIP_SLOT_HELM    
  1: EQUIP_SLOT_MAIL,    
  2: EQUIP_SLOT_SHOULDERGUARD,    
  3: EQUIP_SLOT_GAUNTLET,    
  4: EQUIP_SLOT_PANTS,    
  5: EQUIP_SLOT_BOOTS,    
  6: EQUIP_SLOT_WEAPON,    
  7: EQUIP_SLOT_SHIELD or ARROW,    
  8: EQUIP_SLOT_EARRING,    
  9: EQUIP_SLOT_NECKLACE,    
 10: EQUIP_SLOT_L_RING,    
 11: EQUIP_SLOT_R_RING,    
 */    

 
-- Initial Equip Edit by Albert
 
DECLARE @ItemID BIGINT    
 SET 
@ItemID 0    
 
-- Chest
 
IF (@RefMailID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID1, @RefMailID, @DurMail
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Hand
 
IF (@RefHandID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID3, @RefHandID, @DurHand
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Hat
 
IF (@RefHatID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID0, @RefHatID, @DurHat
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Shoulder
 
IF (@RefShoulderID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID2, @RefShoulderID, @DurShoulder
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Pants 
 
IF (@RefPantsID <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID4, @RefPantsID, @DurPants
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -9    
    END    
 END    
 
-- Boots    
 
IF (@RefBootsID <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID5, @RefBootsID, @DurBoots
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -10    
    END    
 END    
 
-- Weapon    
 
IF (@RefWeaponID <> 0BEGIN   
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID6, @RefWeaponID, @DurWeapon
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -11    
    END    
 END    
 
-- Shield
 
IF (@RefShield <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @RefShield, @DurShield
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -12    
    END    
 END    
 
-- Arror/Bolt
 
IF (@DefaultArrow <> 0BEGIN    
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @DefaultArrow250
    
IF (@ItemID <= 0BEGIN    
        ROLLBACK TRANSACTION    
        
RETURN -13    
    END    
 END
 
-- Earring
 
IF (@RefEarringID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID9, @RefEarringID, @DurEarring
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Ring 1
 
IF (@RefRingID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID11, @RefRingID, @DurRing
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Ring 2
 
IF (@RefRingID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID12, @RefRingID, @DurRing
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Necklace
 
IF (@RefNeckID <> 0BEGIN
    EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID10, @RefNeckID, @DurNeck
    
IF (@ItemID <= 0BEGIN
        ROLLBACK TRANSACTION
        
RETURN -8
    END
 END
 
-- Initial Equip Edit by Albert
     
     
-----------------------------------------------------------------------------        
     -- 
3-2. ¾Æ¹ÙŸ Inventory ½½·Ô Ã¤¿ì±â        
     
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
     -- 
APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼Ãß°¡µÇ´Â ºÎºÐ
     
-----------------------------------------------------------------------------        
      --
PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!        
     
INSERT INTO _InventoryForAvatar(CharIDSlotItemID)        
      
SELECT @NewCharIDcnt0
       FROM _RefDummySlot with
nolock )       
        
WHERE cnt 5

          
    
IF (@@ERROR <> 0)        
    
BEGIN        
        
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -14
    END        
     
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH  WARNING!!!        
          
    -----------------------------------------------------------------------------        
    -- default 
skill³Ö¾îÁֱ⠠      
    
-----------------------------------------------------------------------------        
    DECLARE @
country tinyINT        
    EXEC 
@country _GetObjCountry @RefCharID        
           
    INSERT INTO _CharSkillMastery 
(CharIDMasteryIDLevel)        
    
SELECT @NewCharIDMasteryID0        
    FROM _RefCharDefault_SkillMastery  with
(nolock)      
    
WHERE Race = @country or Race 3        
    
IF (@@error <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -15        
    END        
    INSERT INTO _CharSkill 
(CharID,SkillID,Enable)        
    
SELECT @NewCharIDSkillID1        
    FROM  _RefCharDefault_Skill  with
(nolock)      
    
WHERE Race = @country or Race 3        
    
IF (@@error <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -16        
    END        
    
-----------------------------------------------------------------------------        
    -- 
±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
    
-----------------------------------------------------------------------------        
    
INSERT INTO _CharQuest (CharIDQuestIDStatusAchievementCountStartTimeEndTimeQuestData1QuestData2)        
    
SELECT @NewCharIDID10getdate(), getdate(), 00        
    FROM _RefQuest
     WHERE CodeName in 
(SELECT CodeName FROM _RefCharDefault_Quest   with(nolockWHERE (Race = @country or Race 3) and RequiredLevel 1  and Service 1)
    IF (@@
error <> 0)
    
BEGIN
        ROLLBACK TRANSACTION        
        
RETURN -17        
    END    
    
-----------------------------------------------------------------------------        
    -- Static 
Avatar Initial Record ³Ö±â        
    
-----------------------------------------------------------------------------        
    
INSERT INTO _StaticAvatar(CharIDvalues(@NewCharID)        
    IF (@@
ERROR <> 0)        
    
BEGIN        
        ROLLBACK TRANSACTION        
        
RETURN -18        
    END         
          
    
-----------------------------------------------------------------------------        
    -- 
Trijob Ã¤¿ö³Ö±â!!!!!        
    -----------------------------------------------------------------------------        
    
INSERT INTO _CharTrijob VALUES (@NewCharID01000)        
    IF (@@
ERROR <> 0)        
    
BEGIN        
        
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
        
ROLLBACK TRANSACTION        
        
RETURN -19        
    END         
          
    
-----------------------------------------------------------------------------        
    -- 
CharList¿¡ ID ³Ö¾îÁֱ⠠      
    
-----------------------------------------------------------------------------        
    
INSERT _CharNameList VALUES(@CharName, @NewCharID)        
 
UPDATE  _Char SET CurLevel 1MaxLevel 1Strength 20Intellect=  20RemainStatPoint0ExpOffset 0RemainGold 50000000,  RemainSkillPoint 500000InventorySize 109 WHERE _Char.CharID =  @NewCharID
 UPDATE _Items SET OptLevel
=12 WHERE ID64 IN (SELECT  ItemID FROM _Inventory WHERE Slot BETWEEN 0 AND 12 AND Slot Not LIKE  '15' AND CharID=@NewCharID)
 
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_RESURRECTION_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_PREMIUM_GLOBAL_GOLDTIME',1,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_ETC_E090930_SPEED_UP_SUPER_SCROLL',10,1
 exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_COS_P_MYOWON_SCROLL',1,0
    
IF (@RefCharID >= 1907 AND @RefCharID <= 1919) -- MALE CH 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 14875 AND @RefCharID <= 14887) -- MALE EU
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 1920 AND @RefCharID <= 1931) -- FEMALE CH 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,0
 END
ELSE     IF (@RefCharID >= 14888 AND @RefCharID <= 14900) -- FEMALE EU 
    BEGIN
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,0
 END

 
            
    
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!        
    
exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        

COMMIT TRANSACTION        
          
RETURN @NewCharID 







åæ áæ ÇÓÊÎÏã ÇáßæíÑì ßÏÉ åíÌÈáæ ÇíÑæÑ æ ãÔ åíÔÊÛá
áÇä ÇäÊ ÌíÈæ Alter ÚÏá ÚáíåÇ æ ÎáíåÇ Create

æ ÚáÔÇä ÇáÓåæáÉ Çåì ÇÓÊÎÏã ÏÇ Çßäæ ßæíÑì ÚÇÏì æ åæ
åíÚãáß ÇáÈÑæÓíÏÌÑ áæÍÏÉ





ßæÏ:

USE [SRO_VT_SHARD]
GO

/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 23/02/2016 12:59:26 Õ ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO





CREATE PROCEDURE [dbo].[_AddNewChar]
    @UserJID            INT,       
    --@CharSlot            INT,       
    @RefCharID            INT,       
    @CharName            varchar (64),       
    @CharScale            tinyINT,       
    @StartRegionID            INT,       
    @StartPos_X            real,       
    @StartPos_Y            real,       
    @StartPos_Z            real,       
    @DefaultTeleport    INT,       
    @RefMailID            INT,       
    @RefPantsID            INT,       
    @RefBootsID            INT,       
    @RefWeaponID        INT,       
    @RefShield            INT,       
    @DurMail            tinyINT,       
    @DurPants            tinyINT,       
    @DurBoots            tinyINT,       
    @DurWeapon            tinyINT,       
    @DurShield            tinyINT,       
    @DefaultArrow        INT       
AS   
   
SET NOCOUNT ON     

    DECLARE @Slot  INT       
    DECLARE @temp  INT       
           
    DECLARE @NewCharID  INT       
    SET @NewCharID = 0       
     
     
    -----------------------------------------------------------------------------       
    -- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.       
    -----------------------------------------------------------------------------       
       
    -- start by novice.       
    SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID       
         
    IF (@temp >= 4)       
    BEGIN       
        -- ³Ê¹« ¸¹ÀÚ³ª       
        RETURN -2       
    END       
    -- finish by novice.       
     
    -----------------------------------------------------------------------------       
    -- 2. ij¸¯ÅÍ Ãß°¡ÇÏ±â       
    -----------------------------------------------------------------------------       
    IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!       
    BEGIN       
        -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!       
        RETURN -3       
    END
       
    EXEC @temp = _IsExistingCharName @CharName       
    IF (@temp <> 0)       
    BEGIN       
        -- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?       
        RETURN -4       
    END       
   
BEGIN TRANSACTION
   
    -- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!     
    INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,     
                LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)     
    VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,     
                GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)     
   
    SET @NewCharID = @@IDENTITY       
    IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)       
    BEGIN       
        -- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -5       
    END       
       
         
    -- start by novice.       
    -- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..       
    INSERT INTO _User VALUES (@UserJID, @NewCharID)       
    -- finish by novice.       
     
     
    -----------------------------------------------------------------------------       
    -- 3-1. Àåºñ ½½·Ô ä¿ì±â       
    -- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
    -----------------------------------------------------------------------------       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
    INSERT INTO _Inventory(CharID, Slot, ItemID)       
      SELECT @NewCharID, cnt, 0       
      FROM _RefDummySlot with( nolock )     
        WHERE cnt < 109       

         
    IF (@@ERROR <> 0)       
    BEGIN       
        -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -7       
    END       

    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
         
    -- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...       
    /* ¿ä·± ¼ø¼*·Î  Á¤ÀǵǾî ÀÖ´Ù.       
    0: EQUIP_SLOT_HELM       
    1: EQUIP_SLOT_MAIL,       
    2: EQUIP_SLOT_SHOULDERGUARD,       
    3: EQUIP_SLOT_GAUNTLET,       
    4: EQUIP_SLOT_PANTS,       
    5: EQUIP_SLOT_BOOTS,       
    6: EQUIP_SLOT_WEAPON,       
    7: EQUIP_SLOT_SHIELD or ARROW,       
    8: EQUIP_SLOT_EARRING,       
    9: EQUIP_SLOT_NECKLACE,       
    10: EQUIP_SLOT_L_RING,       
    11: EQUIP_SLOT_R_RING,       
    */       
         
    DECLARE @ItemID BIGINT       
    SET @ItemID = 0       
    -- »ó°©       
    IF (@RefMailID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -8       
        END       
    END       
    -- ¹ÙÁö       
    IF (@RefPantsID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -9       
        END       
    END       
    -- Boots       
    IF (@RefBootsID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -10       
        END       
    END       
    -- Weapon       
    IF (@RefWeaponID <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -11       
        END       
    END       
    -- ¹æÆÐ       
    IF (@RefShield <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -12       
        END       
    END       
    -- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ ȰÀ̶ó¸é È*»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?       
    IF (@DefaultArrow <> 0)       
    BEGIN       
        EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250       
        IF (@ItemID <= 0)       
        BEGIN       
            ROLLBACK TRANSACTION       
            RETURN -13       
        END       
    END


    -----------------------------------------------------------------------------       
    -- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â       
    -- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
    -- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
    -----------------------------------------------------------------------------       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
    INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)       
      SELECT @NewCharID, cnt, 0
      FROM _RefDummySlot with( nolock )     
        WHERE cnt < 5

         
    IF (@@ERROR <> 0)       
    BEGIN       
        -- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -14
    END       
    --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!       
         
    -----------------------------------------------------------------------------       
    -- default skill³Ö¾îÁÖ±â       
    -----------------------------------------------------------------------------       
    DECLARE @country tinyINT       
    EXEC @country = _GetObjCountry @RefCharID       
         
    INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)       
    SELECT @NewCharID, MasteryID, 0       
    FROM _RefCharDefault_SkillMastery  with(nolock)     
    WHERE Race = @country or Race = 3       
    IF (@@error <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -15       
    END       
    INSERT INTO _CharSkill (CharID,SkillID,Enable)       
    SELECT @NewCharID, SkillID, 1       
    FROM  _RefCharDefault_Skill  with(nolock)     
    WHERE Race = @country or Race = 3       
    IF (@@error <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -16       
    END       
    -----------------------------------------------------------------------------       
    -- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
    -----------------------------------------------------------------------------       
    INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)       
    SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0       
    FROM _RefQuest
    WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest  with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
    IF (@@error <> 0)
    BEGIN
        ROLLBACK TRANSACTION       
        RETURN -17       
    END   
    -----------------------------------------------------------------------------       
    -- Static Avatar Initial Record ³Ö±â       
    -----------------------------------------------------------------------------       
    INSERT INTO _StaticAvatar(CharID) values(@NewCharID)       
    IF (@@ERROR <> 0)       
    BEGIN       
        ROLLBACK TRANSACTION       
        RETURN -18       
    END       
         
    -----------------------------------------------------------------------------       
    -- Trijob ä¿ö³Ö±â!!!!!       
    -----------------------------------------------------------------------------       
    INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)       
    IF (@@ERROR <> 0)       
    BEGIN       
        -- Àκ¥Å丮 »ý¼º ½ÇÆÐ!       
        ROLLBACK TRANSACTION       
        RETURN -19       
    END       
         
    -----------------------------------------------------------------------------       
    -- CharList¿¡ ID ³Ö¾îÁÖ±â       
    -----------------------------------------------------------------------------       
    INSERT _CharNameList VALUES(@CharName, @NewCharID)       
         
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1     
    exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1     
         
    -- Quick Slot Á¤º¸ ÀúÀå¿ë!!!       
    exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...       

COMMIT TRANSACTION       
         
RETURN @NewCharID

GO



ÇáÓÇÚÉ ÇáÂä 07:38 PM.

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