الموضوع: مشكلة في Acadmey
عرض مشاركة واحدة
قديم 26-09-2018, 09:44 PM   #2

BuiLt4KiLl
عضو متألق



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


• الانـتـسـاب » Jul 2014
• رقـم العـضـويـة » 118364
• المشـــاركـات » 1,842
• الـدولـة » Kuwait
• الـهـوايـة »
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 67
BuiLt4KiLl جـيـد

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



افتراضي رد: مشكلة في Acadmey



خد Backup من الـDB الأول حضرتك
و تستخدم الـQuery ده
كود PHP:
use SRO_VT_SHARD
TRUNCATE TABLE 
[dbo].[_TrainingCampSubMentorHonorPoint]
TRUNCATE TABLE [dbo].[_TrainingCampMember]
TRUNCATE TABLE [dbo].[_TrainingCampBuffStatus]
TRUNCATE TABLE [dbo].[_TrainingCampHonorRank]
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (1)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (2)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (3)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (4)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (5)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (6)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (7)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (8)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (9)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (10)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (11)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (12)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (13)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (14)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (15)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (16)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (17)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (18)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (19)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (20)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (21)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (22)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (23)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (24)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (25)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (26)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (27)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (28)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (29)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (30)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (31)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (32)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (33)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (34)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (35)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (36)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (37)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (38)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (39)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (40)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (41)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (42)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (43)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (44)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (45)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (46)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (47)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (48)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (49)
INSERT INTO [dbo].[_TrainingCampHonorRank](RankingVALUES (50)
EXEC [dbo].[_TRAINING_CAMP_UPDATEHONORRANK]
DELETE FROM [dbo].[_TrainingCamp
بعدين هتفتح حضرتك المسار ده
SQL > SRO_VT_SHARD > Programmability > Stored Procedures
و هتفتح كل واحد من دول و تبدل اللي فيه باللي انا جايبه

_TRAINING_CAMP_ADDMEMBER
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_ADDMEMBER]    Script Date: 9/26/2018 9:38:25 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER  PROCEDURE 
[dbo].[_TRAINING_CAMP_ADDMEMBER]
    @
CampID    INT,
    @
MemberID    INT
AS

    
SET NOCOUNT ON

    
IF NOT EXISTS (SELECT [IDFROM _TrainingCamp WITH (NOLOCKWHERE [ID] = @CampID)
    
BEGIN
        
RETURN -1000
    END

    
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @MemberID)
    
BEGIN
        
RETURN -1001
    END

    
DECLARE @Ret     INT

BEGIN TRANSACTION

    
DECLARE @HonorPoint INT
    SET 
@HonorPoint 0
    SELECT 
@HonorPoint HonorPoint FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @MemberID    
    
    
IF @HonorPoint <> 0
    BEGIN
        DELETE FROM _TrainingCampSubMentorHonorPoint WHERE  CharID 
= @MemberID    
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -6
        END
    END

    EXEC 
@Ret =  _TrainingCamp_FnAddMember @CampID, @MemberID, @HonorPoint
    
IF (@@ERROR <> OR @Ret <= 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN @Ret
    END

COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN 
_TRAINING_CAMP_CREATE
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_CREATE]    Script Date: 9/26/2018 9:38:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE 
[dbo].[_TRAINING_CAMP_CREATE]
    @
CreaterID    INT
AS
    
SET NOCOUNT ON

    
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @CreaterID)
    
BEGIN
        
RETURN -1001
    END

    
DECLARE @CampID        INT
    
DECLARE @FoundationDate    SMALLDATETIME
    SET 
@FoundationDate GETDATE()

BEGIN TRANSACTION

    
DECLARE @HonorPoint INT
    SET 
@HonorPoint 0
    SELECT 
@HonorPoint HonorPoint FROM _TrainingCampSubMentorHonorPoint WHERE CharID = @CreaterID    
    
    
IF @HonorPoint <> 0
    BEGIN
        DELETE FROM _TrainingCampSubMentorHonorPoint WHERE  CharID 
= @CreaterID    
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -6
        END
    END

    INSERT INTO _TrainingCamp 
(CreationDateRankGraduateCountEvaluationPoint,  LatestEvaluationDateCommentTitleComment )
    
VALUES ( @FoundationDate500,  @FoundationDate'''')

    
SET @CampID = @@IDENTITY

    
IF (@@ERROR <> OR @@ROWCOUNT OR @CampID 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -7
    END

    
DECLARE @Ret INT
    EXEC 
@Ret _TrainingCamp_FnAddMember  @CampID, @CreaterID, @HonorPoint 
    
IF (@@ERROR <> OR @Ret <= 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN @Ret
    END

COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN @CampID 
_TRAINING_CAMP_DELCAMP
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_DELCAMP]    Script Date: 9/26/2018 9:39:35 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER  PROCEDURE 
[dbo].[_TRAINING_CAMP_DELCAMP]
    @
CampID    INT,
    @
CreaterID    INT
AS
    
SET NOCOUNT ON

    
IF NOT EXISTS (SELECT [IDFROM _TrainingCamp WITH (NOLOCKWHERE [ID] = @CampID)
    
BEGIN
        
RETURN -1000
    END

    
DECLARE @MemberClass TINYINT
    SELECT 
@MemberClass MemberClass FROM _TrainingCampMember WITH (NOLOCKWHERE CampID = @CampID AND CharID = @CreaterID
    
IF (@@ERROR <> OR @@ROWCOUNT OR @MemberClass <> 0)
    
BEGIN
        
RETURN -2000
    END

BEGIN TRANSACTION

    
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥أ‡أکµأگ´أ™.
    
INSERT _TrainingCampSubMentorHonorPoint SELECT CharIDHonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass AND HonorPoint 0    
    
IF (@@ERROR <> 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -2
    END


    DELETE FROM _TrainingCampMember WHERE CampID 
= @CampID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -1
    END

    DELETE FROM _TrainingCamp WHERE 
[ID] = @CampID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -2
    END

    
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥ »èأپ¦
    DELETE FROM _TrainingCampBuffStatus WHERE CampID 
= @CampID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -2005
    END

    COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN 
_TRAINING_CAMP_DELMEMBER
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_DELMEMBER]    Script Date: 9/26/2018 9:40:39 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER  PROCEDURE 
[dbo].[_TRAINING_CAMP_DELMEMBER]
    @
CampID    INT,
    @
MemberID    INT,
    @
IsBan        TINYINT
AS
    
SET NOCOUNT ON

    
IF NOT EXISTS (SELECT [IDFROM _TrainingCamp WITH (NOLOCKWHERE [ID] = @CampID)
    
BEGIN
        
RETURN -2000
    END

    
DECLARE @MemberClass TINYINT
    SELECT 
@MemberClass MemberClass FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT OR @MemberClass 0)
    
BEGIN
        
RETURN -2001
    END

BEGIN TRANSACTION

    
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أŒ أ…»أ…أ°أˆ¤أ€آ؛ °*أ…أ°µأ‡´أ‚ °أ¦آ؟أ¬آ؟£ آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥أ‡أک¾أں أ‡أ‘´أ™.
    IF @
MemberClass 
    BEGIN
        
DECLARE @HonorPoint INT
        SELECT 
@HonorPoint HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -2002
        END

        
-- °*أ…أ°µأˆ °أچأ€أŒ ¾أ†´أڈ°أ*, ¸أ*آ؟¹أ†÷أ€أژأ†®°آ، 10أپآ، أ€أŒ»أ³أ€أŒ¶أ³¸é 10أپآ،أ€» ±îأ€أڑ.
        IF (@
IsBan <> 1)
        
BEGIN
            
IF (@HonorPoint >= 10)
            
BEGIN
                SET 
@HonorPoint = @HonorPoint 10    
            END
            
ELSE
            
BEGIN
                SET 
@HonorPoint 0
            END        
        END

        
-- أ…×أ€أŒآ؛أ*آ؟آ، ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ أ€أ؛أ€أ¥.
        IF @
HonorPoint 0
        BEGIN
            INSERT INTO _TrainingCampSubMentorHonorPoint VALUES 
(@MemberID, @HonorPoint)        
            IF (@@
ERROR <> OR @@ROWCOUNT 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -2
            END
        END
    END
    
ELSE
    
BEGIN
        
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥ »èأپ¦
        DELETE FROM _TrainingCampBuffStatus WHERE CampID 
= @CampID AND RecipientCharID = @MemberID
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -2005
        END
    END

    DELETE FROM _TrainingCampMember WHERE CampID 
= @CampID AND CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -1
    END

    COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN 
_TRAINING_CAMP_MEMBER_GRADUATE
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_MEMBER_GRADUATE]    Script Date: 9/26/2018 9:41:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE 
[dbo].[_TRAINING_CAMP_MEMBER_GRADUATE]
    @
CampID    INT,
    @
MemberID    INT,
    @
Evaluation    INT
AS
    
SET NOCOUNT ON

    
IF NOT EXISTS (SELECT [IDFROM _TrainingCamp WITH (NOLOCKWHERE [ID] = @CampID)
    
BEGIN
        
RETURN -2000
    END

    
DECLARE @MemberClass TINYINT
    SELECT 
@MemberClass MemberClass FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT OR @MemberClass 0)
    
BEGIN
        
RETURN -2001
    END

BEGIN TRANSACTION

    
-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ أپ¹¾÷
    
IF @MemberClass 1
    BEGIN
        
-- أ€أŒ³أ‘أ€آ؛ أ†أ²°آ، أپآ،¼أ¶°آ، ¾أ¸´أ™´أ™¸¸أ€أŒ ³أ‘أ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥¸¸ أ‡أکأپأ–¸é µأˆ´أ™.
        DECLARE @
HonorPoint INT
        SELECT 
@HonorPoint HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -2002
        END

        
-- أ…×أ€أŒآ؛أ*آ؟آ، ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ أ€أ؛أ€أ¥.
        IF @
HonorPoint 0
        BEGIN
            INSERT INTO _TrainingCampSubMentorHonorPoint VALUES 
(@MemberID, @HonorPoint)        
            IF (@@
ERROR <> OR @@ROWCOUNT 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -2
            END
        END
    END
    
ELSE
    -- 
¼أ¶·أƒ»أ½أ€أ‡ أپ¹¾÷
    BEGIN

        
-- ¸â¹أ¶µéآ؟آ،°أ” ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ ¹أ‌آ؟µأ‡أکآ؛¸أ€أڑ.
        DECLARE @
JoinLvl         INT

        SELECT 
@JoinLvl CharJoinedLevel FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -2003
        END

        
-- °آ،أ€أ”·¹آ؛§أ€أŒ 30 أ€أŒأ‡أڈآ؟©¾أں آ؟©·¯°آ،أپأ¶ آ؛أژ°آ، أ‡أ½أ…أƒأ€أŒ أپ¸أ€çأ‡أ‘´أ™.
        IF (@
JoinLvl <= 30)
        
BEGIN    
            
DECLARE @MentorPoint        INT
            
DECLARE @SubMentorPoint    INT

            SET 
@MentorPoint = (40 - @JoinLvl)
            
SET @SubMentorPoint = (@MentorPoint 10)
    
            
UPDATE _TrainingCampMember SET HonorPoint = (HonorPoint + @MentorPointWHERE CampID = @CampID AND MemberClass 0
            
IF (@@ERROR <> 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -4
            END
            
            UPDATE _TrainingCampMember SET HonorPoint 
= (HonorPoint + @SubMentorPointWHERE CampID = @CampID AND MemberClass 1
            
IF (@@ERROR <> 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -5
            END
    
            
-- أ†أ²°آ،أپآ،¼أ¶¸¦ ¹أ‌آ؟µأ‡أکآ؛¸أ€أڑ.
            
UPDATE _TrainingCamp SET     GraduateCount = (GraduateCount 1), 
                            
EvaluationPoint = (EvaluationPoint + @Evaluation), 
                            
LatestEvaluationDate GETDATE()
            
WHERE [ID] = @CampID
            
IF (@@ERROR <> OR @@ROWCOUNT 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -3
            END
        END
        
ELSE
        
BEGIN
            UPDATE _TrainingCamp SET GraduateCount 
= (GraduateCount 1WHERE [ID] = @CampID
            
IF (@@ERROR <> OR @@ROWCOUNT 0)
            
BEGIN
                ROLLBACK TRANSACTION
                
RETURN -3
            END    
        END


        DELETE FROM _TrainingCampBuffStatus WHERE CampID 
= @CampID AND RecipientCharID = @MemberID
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            
RETURN -2005
        END
    END

    
-- أ‡أ¶أ€ç أ„·أ‡أپ ¸â¹أ¶آ؟آ،¼»èأپ¦
    DELETE FROM _TrainingCampMember WHERE CampID 
= @CampID AND CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -1
    END

    COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN 
_TRAINING_CAMP_REFRESHMEMBERSTATUS
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_REFRESHMEMBERSTATUS]    Script Date: 9/26/2018 9:41:31 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO


----------------------------------------------------------------------
-- 
2. ´©أ€û¹أ¶±× 2أ‚÷ ·¹آ؛§´أ™آ؟î ¹®أپ¦ أ‡أک°أ، 
----------------------------------------------------------------------


ALTER    PROCEDURE [dbo].[_TRAINING_CAMP_REFRESHMEMBERSTATUS]
    @
CampID    INT,
    @
MemberID    INT,
    @
RefreshTarget    TINYINT,
    @
Data        INT
AS
    
SET NOCOUNT ON
/*
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_PLAYSTATE    (BYTE)0x01
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_LEVEL    (BYTE)0x02
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_HONORPOINT    (BYTE)0x03
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_POSITION    (BYTE)0x04
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_CHARNAME    (BYTE)0x05
    #define TRAINING_CAMP_MEMBER_REFRESH_TARGET_CUR_LEVEL    (BYTE)0x06
*/
    
IF @RefreshTarget 2    -- MaxLevel
    BEGIN
        UPDATE _TrainingCampMember SET CharMaxLevel 
= @Data WHERE CampID = @CampID AND CharID = @MemberID
    END

    
IF @RefreshTarget 6    -- CurLevel
    BEGIN
        UPDATE _TrainingCampMember SET CharCurLevel 
= @Data WHERE CampID = @CampID AND CharID = @MemberID
    END

    SET NOCOUNT OFF 
_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED]    Script Date: 9/26/2018 9:41:46 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE 
[dbo].[_TRAINING_CAMP_STARTUP_HONOR_UPDATE_NEEDED]
AS
    IF 
NOT EXISTS (SELECT LastUpdateDate FROM _TrainingCampHonorRankUpdateDate )
    
BEGIN
        
RETURN 1
    END

    
DECLARE @UpdateDate DATETIME

    SELECT 
@UpdateDate LastUpdateDate FROM _TrainingCampHonorRankUpdateDate
    
    
IF DATEDIFF(DAY, @UpdateDateGETDATE()) = 0
    BEGIN
        
RETURN 0
    END
    
ELSE
    
BEGIN
        
RETURN 1
    END 
_TRAINING_CAMP_UPDATEHONORRANK
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TRAINING_CAMP_UPDATEHONORRANK]    Script Date: 9/26/2018 9:42:29 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE 
[dbo].[_TRAINING_CAMP_UPDATEHONORRANK]
AS
    
SET NOCOUNT ON

    
-- أ€أڈ´أœ ·©أ…· أ…×أ€أŒآ؛أ*أ€» ¼¼أ†أƒأ‡أ‘´أ™.
    DECLARE @
Ranking    INT
    SET 
@Ranking 1

    
DECLARE @CampID    INT
    
DECLARE @Rank    TINYINT

BEGIN TRANSACTION

    
DECLARE RankCursor CURSOR FAST_FORWARD FOR
    
SELECT TOP 50 [IDFROM _TrainingCamp WITH (NOLOCK)
    
WHERE EvaluationPoint >= 10
    ORDER BY EvaluationPoint DESC
LatestEvaluationDate ASC

    
-- أ€أڈ´أœ أ€üأƒ¼ ·©أ…·أ€» ¾أ¸أ€½أ€¸·أژ أ‡¥½أƒأ‡أڈأ€أڑ.
    
UPDATE _TrainingCamp SET Rank 5 WHERE Rank <> 5
    
IF (@@ERROR <> 0)
    
BEGIN
        ROLLBACK TRANSACTION

        DEALLOCATE RankCursor
        
RETURN -1
    END

    
-- ·©أ…· أ…×أ€أŒآ؛أ*µµ أƒأٹ±âأˆ*أ‡أڈأ€أڑ.
    
UPDATE _TrainingCampHonorRank SET CampID nullRank null
    
IF (@@ERROR <> 0)
    
BEGIN
        ROLLBACK TRANSACTION

        DEALLOCATE RankCursor
        
RETURN -1
    END

    OPEN RankCursor
    FETCH NEXT FROM RankCursor INTO 
@CampID
    
WHILE @@FETCH_STATUS 0
    BEGIN
        
IF @Ranking <= 5
        BEGIN
            SET 
@Rank 1
        END
        
ELSE IF @Ranking <= 15
        BEGIN
            SET 
@Rank 2
        END
        
ELSE IF @Ranking <= 30
        BEGIN
            SET 
@Rank 3
        END
        
ELSE
        
BEGIN
            SET 
@Rank 4
        END

        UPDATE _TrainingCamp SET Rank 
= @Rank WHERE [ID] = @CampID    
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            CLOSE RankCursor
            DEALLOCATE RankCursor

            
RETURN -2
        END
        UPDATE _TrainingCampHonorRank SET CampID 
= @CampIDRank = @Rank WHERE Ranking = @Ranking    
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            ROLLBACK TRANSACTION
            CLOSE RankCursor
            DEALLOCATE RankCursor

            
RETURN -3
        END 
        
        SET 
@Ranking = @Ranking 1

        FETCH NEXT FROM RankCursor INTO 
@CampID
    END

    CLOSE RankCursor
    DEALLOCATE RankCursor

    
-- ¸¶أپأ¶¸·أ€¸·أژ °»½أ…أ‡أ‘ ³¯أ‚¥¸¦ أ€û¾îآ؛¸أ€أڑ!!!
    IF 
EXISTS (SELECT LastUpdateDate FROM _TrainingCampHonorRankUpdateDate)
    
BEGIN
        UPDATE _TrainingCampHonorRankUpdateDate SET LastUpdateDate 
GETDATE()
    
END
    
ELSE
    
BEGIN
        INSERT INTO _TrainingCampHonorRankUpdateDate VALUES 
(GETDATE())
    
END

    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        ROLLBACK TRANSACTION
        
RETURN -4
    END

COMMIT TRANSACTION

    SET NOCOUNT OFF

    
RETURN 
_TrainingCamp_FnAddMember
كود PHP:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_TrainingCamp_FnAddMember]    Script Date: 9/26/2018 9:43:23 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER  PROCEDURE 
[dbo].[_TrainingCamp_FnAddMember]
    @
CampID    INT,
    @
MemberID    INT,
    @
HonorPoint    INT
AS
    
SET NOCOUNT ON

    
IF EXISTS (SELECT CharID FROM _TrainingCampMember WHERE CharID = @MemberID)
    
BEGIN
        
RETURN -1001
    END

    
DECLARE @MemberName    VARCHAR(64)
    DECLARE @
MemberMaxLvl        TINYINT
    
DECLARE @MemberCurLvl        TINYINT
    
    SELECT 
@MemberName CharName16, @MemberMaxLvl MaxLevel, @MemberCurLvl CurLevel FROM _Char WITH (NOLOCKWHERE CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        
RETURN -1
    END

    
IF EXISTS (SELECT CharID FROM _TrainingCampMember WITH (NOLOCKWHERE CampID = @CampID AND CharID = @MemberID)
    
BEGIN
        
RETURN -2
    END

    
DECLARE @RefObjID INT
    SELECT 
@RefObjID RefObjID FROM _Char WITH (NOLOCKWHERE CharID = @MemberID
    
IF (@@ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        
RETURN -3
    END

/*    commented by novice. ¾أ†·آ،·أژ آ؟أ…±أ¤´أ™!! 2007. 07. 16.
    ----------------------------------------------------------------------------------------------------------
    -- by novice
    DECLARE @ApprenticeCount    INT
    DECLARE @SubMentorCount    INT

    -- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!!
    SELECT @SubMentorCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 1
    IF ( @SubMentorCount >= 2 )
    BEGIN
        RETURN -11
    END

    -- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!!
    SELECT @ApprenticeCount = COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass = 2
    IF ( @ApprenticeCount >= 5 )
    BEGIN
        RETURN -12
    END
    ----------------------------------------------------------------------------------------------------------
*/

    
DECLARE @MemberClass TINYINT
    SET 
@MemberClass 0

    
IF @MemberMaxLvl 40
    BEGIN
        SET 
@MemberClass 2
    END
    
ELSE IF @MemberMaxLvl 60
    BEGIN
        SET 
@MemberClass 1
    END

    
----------------------------------------------------------------------------------------------------------
    -- 
by novice 2007. 07. 16.
    
-- °آ،أ€أ”½أƒأ…°´أ‚ »ç¶÷أ€أ‡ ·¹آ؛§آ؟آ، µû¶أ³¼أ…¬·آ،½آ؛¸¦ °أ،أپ¤أ‡أڈ´أ‚µ¥..
    -- 
±×³أ‰ ¹«أ€أ›أپ¤ °¢ أ…¬·آ،½آ؛آ؟آ، ´ëأ‡أک أ€أژآ؟أ¸أ€» °أ‹»çأ‡أڈ¸é ´ç±أ™ ¹®أپ¦°آ، أ€أ–´أ™
    
-- °آ،أ€أ”أ‡أڈ´أ‚ »ç¶÷أ€أ‡ أ…¬·آ،½آ؛آ؟آ، ¸أ‚´أ‚ أ€أژآ؟أ¸ °أ‹»ç¸¦ ½أƒµµأ‡أک¾أں أ‡أ‘´أ™!!
    -- 
±أ™µ¥.. ³»°آ، أ€üآ؟آ،´أ‚ آ؟أ– أ€أ؛·¸°أ” أ‡أں¾أ؛أ€»±î.......... ¤أگ_¤أگ
    
----------------------------------------------------------------------------------------------------------
    IF @
MemberClass 0
    BEGIN
        
DECLARE @MentorCount    INT
    
        
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!!
        
SELECT @MentorCount COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass 0
        
IF ( @MentorCount >= )
        
BEGIN
            
RETURN -14            -- ADD DBأ€أ›¾÷ ½أ‡أ†أگ¶أ³´أ‚ ·أژ±×·أژ ¾´´أ™..
        
END
    END
    
ELSE IF @MemberClass 1
    BEGIN
        
DECLARE @SubMentorCount    INT
    
        
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!!
        
SELECT @SubMentorCount COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass 1
        
IF ( @SubMentorCount >= )
        
BEGIN
            
RETURN -11
        END
    END
    
ELSE IF @MemberClass 2
    BEGIN
        
DECLARE @ApprenticeCount    INT
    
        
-- أ€أ½´ë nolockأ€¸·أژ أ‡أڈأپأ¶ ¸»أ€أڑ!!
        
SELECT @ApprenticeCount COUNT(*) FROM _TrainingCampMember WHERE CampID = @CampID AND MemberClass 2
        
IF ( @ApprenticeCount >= )
        
BEGIN
            
RETURN -12
        END
    END
    
----------------------------------------------------------------------------------------------------------


    
INSERT _TrainingCampMember VALUES
    
(@CampID, @MemberID, @RefObjID, @MemberNameGETDATE(), @MemberClass, @MemberMaxLvl, @MemberCurLvl, @MemberMaxLvl, @HonorPoint)
    IF (@@
ERROR <> OR @@ROWCOUNT 0)
    
BEGIN
        
RETURN -5
    END

    
IF ( < (SELECT COUNT(*) FROM _TrainingCampBuffStatus
            WHERE CampID 
= @CampID and RecipientCharID = @MemberID) )
    
BEGIN
        
RETURN -2006
    END

    
IF @MemberClass OR @MemberClass 2
    BEGIN
        
-- °أ¦أ‡èأ„آ، ´©أ€û ¹أ¶أ‡أپآ؟آ، ´ëأ‡أ‘ ³»آ؟ë
        INSERT _TrainingCampBuffStatus 
            VALUES 
(@CampID, @MemberID00, default, 00)
        IF (@@
ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            
RETURN -2005
        END
    END

    
-- °أ¦أ‡èأ„آ، أ€û¸³ ¹أ¶أ‡أپآ؟آ، ´ëأ‡أ‘ ³»آ؟ë
    
IF @MemberClass 0
    BEGIN
        INSERT _TrainingCampBuffStatus
            SELECT 
@CampID, @MemberIDcnt 10'2000-01-01'03
            FROM _RefDummySlot with
nolock )  
            
WHERE cnt 5
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            
RETURN -2005
        END
    END
    
ELSE IF @MemberClass 2
    BEGIN
        INSERT _TrainingCampBuffStatus
            SELECT 
@CampID, @MemberID10'2000-01-01'03
        
IF (@@ERROR <> OR @@ROWCOUNT 0)
        
BEGIN
            
RETURN -2005
        END
    END

    SET NOCOUNT OFF

    
RETURN 
و جرب و قولي
معلش هما كتير شوية لكن دي المفروض تحل كل المشاكل
و يشتغل عادي جداً
بس رستر السيرفر بعد ما تخلص