ÚÑÖ ãÔÇÑßÉ æÇÍÏÉ
ÞÏíã 03-07-2015, 09:17 AM   #7

MR.KaBO
ÚÖæ áÇãÚ



ÇáÕæÑÉ ÇáÑãÒíÉ MR.KaBO


• ÇáÇäÜÊÜÓÜÇÈ » May 2015
• ÑÞÜã ÇáÚÜÖÜæíÜÉ » 122322
• ÇáãÔÜÜÜÇÑßÜÇÊ » 1,109
• ÇáÜÏæáÜÉ » Qena
• ÇáÜåÜæÇíÜÉ » Game Developer -Designer Unity 3D
• ÇÓÜã ÇáÜÓÜíÜÑÝÜÑ » Private Server
• ÇáÜÌÜäÜÓ » Male
• äÞÜÇØ ÇáÊÞííã » 12
MR.KaBO ÕÜÇÚÜÏ

MR.KaBO ÛíÑ ãÊæÇÌÏ ÍÇáíÇð



ÇÝÊÑÇÖí ÑÏ: ÚÇæÒ Çí ÔÎÕíÉ ÊäÒá íßæä ãÚÇåÇ title name ÌäÈ ÇÓãåÇ ÇÒÇí ããßä ÔÑÍ



ãÔ ãæÌæÏå æÇááå ÍÊí ÈÕ Çåæ
ßæÏ PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 07/03/2015 08:11:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
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        
       
       
    
-----------------------------------------------------------------------------        
    -- 
1. Ä³¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú Ã¼Å©ÇÑ´Ù.        
    -----------------------------------------------------------------------------        
         
    -- 
start by novice.        
    
SELECT @temp count(CharIDFROM _User WITH (NOLOCKWHERE UserJID = @UserJID        
          
    
IF (@temp >= 4)        
    
BEGIN        
        
-- ³Ê¹« ¸¹ÀÚ³ª        
        
RETURN -2        
    END        
    
-- 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 (RefObjIDCharName16ScaleStrengthIntellectLatestRegion,PosXPosYPosZAppointedTeleportInventorySize,      
                
LastLogoutCurLevelMaxLevelRemainGoldRemainStatPointRemainSkillPointHPMPJobLvl_TraderJobLvl_HunterJobLvl_RobberWorldID)      
    
VALUES (@RefCharID, @CharName, @CharScale2020, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport109,      
                
GetDate(), 1115000000010000000200,2001111)      
   
    
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,        
    */        
           
    
DECLARE @ItemID BIGINT        
    SET 
@ItemID 0        
    
-- »ó°©        
    
IF (@RefMailID <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID1, @RefMailID, @DurMail        
        
IF (@ItemID <= 0)        
        
BEGIN        
            ROLLBACK TRANSACTION        
            
RETURN -8        
        END        
    END        
    
-- ¹ÙÁö        
    
IF (@RefPantsID <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID4, @RefPantsID, @DurPants        
        
IF (@ItemID <= 0)        
        
BEGIN        
            ROLLBACK TRANSACTION        
            
RETURN -9        
        END        
    END        
    
-- Boots        
    
IF (@RefBootsID <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID5, @RefBootsID, @DurBoots        
        
IF (@ItemID <= 0)        
        
BEGIN        
            ROLLBACK TRANSACTION        
            
RETURN -10        
        END        
    END        
    
-- Weapon        
    
IF (@RefWeaponID <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID6, @RefWeaponID, @DurWeapon        
        
IF (@ItemID <= 0)        
        
BEGIN        
            ROLLBACK TRANSACTION        
            
RETURN -11        
        END        
    END        
    
-- ¹æÆÐ        
    
IF (@RefShield <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @RefShield, @DurShield        
        
IF (@ItemID <= 0)        
        
BEGIN        
            ROLLBACK TRANSACTION        
            
RETURN -12        
        END        
    END        
    
-- È¤½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ È°À̶ó¸é È*»ì 250°³µéÀ̠ȰÅëµµ ÇÔ²² ÁØ´ÙÁÒÄ¡?        
    IF (@
DefaultArrow <> 0)        
    
BEGIN        
        EXEC 
@ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID7, @DefaultArrow250        
        
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(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 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)        
          
    
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_EVENT_COS_C_PEGASUS_SCROLL',20,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',8000,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',8000,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_ETC_ARCHEMY_POTION_SPEED_11',10,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_AVATAR_M_KNIGHT',1,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_AVATAR_M_KNIGHT_HAT',1,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_AVATAR_W_HALLOWEEN',1,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_AVATAR_W_KNIGHT_HAT',1,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_COS_P_MYOWON_SCROLL',1,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_REVERSE_RETURN_SCROLL',50,1    
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_ETC_ARENA_COIN',200,1
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_GLOBAL_CHATTING',5,1   
      

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

COMMIT TRANSACTION        
          
RETURN @NewCharID 


ÊæÞíÚ MR.KaBO :
ÚÝæÇ ,,, áÇíãßäß ãÔÇåÏå ÇáÑæÇÈØ áÇäß ÛíÑ ãÓÌá áÏíäÇ [ ááÊÓÌíá ÇÖÛØ åäÇ ]


ÑÏ ãÚ ÇÞÊÈÇÓ