الموقع العربي الاول للعبة 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=476021)

trakok 15-01-2013 01:28 AM

المشكله فى الداتا ولا فى الكلينت
 
سورى لكل الادمن انى عملت موضوع جديد بس المشكله انىى الموضوع دا قديم وقلت يمكن محدش هيرد عليا بس سورى تانى وياريت تساعدونى
الموضوع اهوه وفيه الصوره بتاعه المشكله بتاعتى

http://www.silkroad4arab.com/vb/show...72#post4512472

xxxlitaxxx 15-01-2013 01:41 AM

حضرتك ديه بتبقى مشكله من الداتا وسهل تحلها
هتروح
SRO_VT_SHARD >> programmability>>>> _AddNewChar

بعد كده علم على كل الى عاندك وامسحوا وحط ديه
كود:

USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 01/15/2013 00:36:47 ******/
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(), 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_E060529_GOLDDRAGONFLAG_M',1,1     
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060529_GOLDDRAGONFLAG_F',1,1       
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_M_NASRUN',1,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_W_NASRUN',1,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_W_BLACKWING',1,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_M_BLACKWING',1,1
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_W_BLACKWING_HAT',1,1
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_M_BLACKWING_HAT',1,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_P_MYOWON_SCROLL',1,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RETURN_SCROLL_HIGH_SPEED',11,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RENT_REVERSE_RETURN_SCROLL',11,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E090930_SPEED_UP_SUPER_SCROLL',10,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_HP_SUPERSET_5_BAG ',1000,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_MP_SUPERSET_5_BAG ',1000,1 
        exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HWAN_POTION',10,1                           
    update _Char
    set HwanLevel = 13
    where CharName16 = @CharName
  UPDATE _Items SET OptLevel = 80 WHERE ID64 = @ItemID
             
        -- Quick Slot Á¤º¸ ÀúÀå¿ë!!!       
        exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...       

COMMIT TRANSACTION       
             
RETURN @NewCharID


طبعا حضرتك هتمسح الايتم لو مش عايزها هتظبط اللفل وكده زى منتا عايز وهتدوس

Execute وان شاء الله تتحل المشكله ^^


الساعة الآن 09:13 AM.

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