عرض مشاركة واحدة
قديم 12-02-2015, 08:48 PM   #5

abed2006
عضو فعال



الصورة الرمزية abed2006


• الانـتـسـاب » Aug 2010
• رقـم العـضـويـة » 73568
• المشـــاركـات » 412
• الـدولـة » الاسكندرية
• الـهـوايـة »
• اسـم الـسـيـرفـر »
• الـجـنـس » Male
• نقـاط التقييم » 10
abed2006 صـاعـد

abed2006 غير متواجد حالياً



افتراضي



اقتباس:
المشاركة الأصلية كتبت بواسطة hamzafigo عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
تحت امرك يا باشا بص. علشان تشيل ايتم من الشخصيات الجديدة بيبقي من AddNewChar ودي هتجيبها من المسار دا

SRO_VT_SHARD>>Programmability>>Stored Procedure

كليك يمين علي AddNewChar و اختار Modify

هتجيلك مثلا بالمنظر دا
كود:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 12/02/2015 01:56:42 ص ******/
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(CharID) FROM _User WITH (NOLOCK) WHERE 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 (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, 24252, 589, -14.655776, 468, 2094, 109,
                GetDate(), 1, 1, 0, 0,0, 200,200, 1, 1, 1, 1)   
    
    SET @NewCharID = @@IDENTITY        
    IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)        
    BEGIN        
        -- أ„³¸¯أ…أچ »أ½¼آ؛ ½أ‡أ†أگ!        
        ROLLBACK TRANSACTION        
        RETURN -5        
    END        
        
           
        
           
    -- start by novice.        
    -- A??¦ Slot ¾E¾´´U.. ±×³E 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)        

BEGIN

exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_C_PEGASUS_SCROLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HWAN_POTION',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_REVERSE_RETURN_SCROLL',30,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RESURRECTION_100P_SCROLL',10,1
END 

    -- Quick Slot أپ¤آ؛¸ أ€أ؛أ€أ¥آ؟ë!!!        
    exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        
INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own) VALUES (@UserJID, 50000);
COMMIT TRANSACTION        
          
RETURN @NewCharID
تحت كدة هتلاقي زي كدة

كود:
INSERT _CharNameList VALUES(@CharName, @NewCharID)        

BEGIN

exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_C_PEGASUS_SCROLL',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_ARCHEMY_POTION_SPEED_11',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HWAN_POTION',10,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_REVERSE_RETURN_SCROLL',30,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RESURRECTION_100P_SCROLL',10,1
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, 24252, 589, -14.655776, 468, 2094, 109,
                GetDate(), 1, 1, 0, 0,0, 200,200, 1, 1, 1, 1)
ركز فية شوية هتفهمة. تقبل مروري
اولا شكرا لرد حضرتك وتعبك
ثانيا جارى التجربة ولو المشكلة اتحلت هرد على حضرتك

باشا انا جربت الحل اللى حضرتك قولتلى علية نفس المشكلة DC برضو



التعديل الأخير تم بواسطة abed2006 ; 12-02-2015 الساعة 09:30 PM السبب: كلمة