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

ÇáãæÞÚ ÇáÚÑÈí ÇáÇæá ááÚÈÉ Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   ÞÓã ÇáÇÓÆáÉ æ ÇáÇÓÊÝÓÇÑÇÊ áÚãá ÇáÓíÑÝÑÇÊ ÇáÎÇÕÉ (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   ÇáãæÖæÚ ÈÓíØ (https://silkroad4arab.com/vb/showthread.php?t=521153)

inter85black 14-08-2013 03:17 PM

ÇáãæÖæÚ ÈÓíØ
 
íÇ ÌãÇÚå ÇäÇ ÚÇæÒ ÇÚÇÏíá Úáì ÇáÓíÑÝÑ æ ÇÎáì ÇáÇßæäÊ ÊäÒá lvl 130 ããßä ÔÑÍ :wave:

komnda 14-08-2013 03:37 PM

ÊÎáì ÇáÇßæäÊÇÊ ÊäÒá lv 130
åÊÝÊÍ SQL
æÈÚÏíä ÊÎÊÇÑ
SRO_VT_Shard /Programmability/Stored Procedures /_AddNewChar
ßæÏ PHP:

-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ 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

1,1
ÎáíåÇ
130 130

Revog16 14-08-2013 03:42 PM

ßæÏ:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 08/14/2013 15:39:16 ******/
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. 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(), 130, 130, 0, 520, 100000000, 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


Çá 10000000 Ïå ÇáÜÜ sp


íÛáÞ #

komnda 14-08-2013 04:36 PM

##


ÇáÓÇÚÉ ÇáÂä 01:44 PM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.