ÚÑÖ ãÔÇÑßÉ æÇÍÏÉ
ÞÏíã 03-07-2015, 09:37 PM   #8

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 20:34:15 ******/
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_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_EVENT_COS_C_PEGASUS_SCROLL',20,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   
    UPDATE 
[dbo].[_Charset HwanLevel='9' where CharName16=@CharName  

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

COMMIT TRANSACTION        
          
RETURN @NewCharID 

##íÜ##ÛÜ###á####ÜÞ###


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


ÑÏ ãÚ ÇÞÊÈÇÓ