ÚÑÖ ãÔÇÑßÉ æÇÍÏÉ
ÞÏíã 29-10-2013, 05:10 PM   #1

™Dev Microsoft™





• ÇáÇäÜÊÜÓÜÇÈ » Mar 2013
• ÑÞÜã ÇáÚÜÖÜæíÜÉ » 110495
• ÇáãÔÜÜÜÇÑßÜÇÊ » 2,214
• ÇáÜÏæáÜÉ » in Dedicated Server
• ÇáÜåÜæÇíÜÉ » Develop DB&PHP Edit&Fixing Buged Files
• ÇÓÜã ÇáÜÓÜíÜÑÝÜÑ » Private Server
• ÇáÜÌÜäÜÓ » Male
• äÞÜÇØ ÇáÊÞííã » 61
™Dev Microsoft™ ÌÜíÜÏ

™Dev Microsoft™ ÛíÑ ãÊæÇÌÏ ÍÇáíÇð


ÅÑÓÇá ÑÓÇáÉ ÚÈÑ Yahoo Åáì ™Dev Microsoft™

(6) ÇÒÇí ÊÞÏÑ ÊÚãá title name ãÚ ÇáÜnew char !!






ãæÇÕÝÇÊ ÇáÜtable Çááí ÍÖÑÊß åÇÊÓÊÎÏãæ :

----------------------
/ ÇáÜtitle name
for euro Count / for CHIN Cheief Genral

Grab Pet 3 Day
10 Instant Return Scroll
1 Devil B Male and Female



ÇãÔí ãÚ ÇáÎØæÇÊ ÇáÇÊíÉ :
ÇÝÊÍ ÇáÜSRO_VT_SHARD
Programmability/ Stored procedures
æ ÈÚÏíä åÇÊ
_AddNewChar
æ ÇãÓÍ ßá Çááí Ýí ÇáÜTable
æ 꾯 Çááí åÇßÊÈæ ÏáæÞÊí :


[SPOILER]
ßæÏ PHP:
 set ANSI_NULLS ON 
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, @DefaultTeleport45,       
                
GetDate(), 11000200,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 @NewCharIDcnt
       FROM _RefDummySlot with
nolock )        
        
WHERE cnt 
 
           
    
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_COS_P_GHOST_SCROLL',1,1       
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,1   
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,
    exec _ADD_ITEM_EXTERN 
@CharName,'ITEM_MALL_RETURN_SCROLL_HIGH_SPEED',10,1  
    UPDATE 
[dbo].[_Charset HwanLevel='4' where CharName16=@CharName      
           
    
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!         
    
exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...         
 
COMMIT TRANSACTION         
           
RETURN @NewCharID 
[/SPOILER]







ÇáÊÚÏíá ÇáÃÎíÑ Êã ÈæÇÓØÉ ™Dev Microsoft™ ; 31-10-2013 ÇáÓÇÚÉ 05:44 AM

ÑÏ ãÚ ÇÞÊÈÇÓ
ÅÚáÇäÇÊ google