المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مشكلة في Acadmey


banner
26-09-2018, 04:14 PM
acadmey عندي غريب اوي بدخل اول اكونت وباخد منو ال بوينت باجي اعمل invite لكونت جديد يقولي request operation has failed. واجرب اعمل رقم اكادمي واخش بالاكونت التاني الاكونتين بيخدو كراش وبفتح ملقهوش دخل الاكديمي بردو :)

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

بعدين هتفتح حضرتك المسار ده
SQL > SRO_VT_SHARD > Programmability > Stored Procedures
و هتفتح كل واحد من دول و تبدل اللي فيه باللي انا جايبه

_TRAINING_CAMP_ADDMEMBER
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 [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -6
END
END

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

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN 1



_TRAINING_CAMP_CREATE
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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -6
END
END

INSERT INTO _TrainingCamp (CreationDate, Rank, GraduateCount, EvaluationPoint, LatestEvaluationDate, CommentTitle, Comment )
VALUES ( @FoundationDate, 5, 0, 0, @FoundationDate, '', '')

SET @CampID = @@IDENTITY

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

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

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN @CampID



_TRAINING_CAMP_DELCAMP
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 [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID)
BEGIN
RETURN -1000
END

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

BEGIN TRANSACTION

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


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

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

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

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN 1


_TRAINING_CAMP_DELMEMBER
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 [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID)
BEGIN
RETURN -2000
END

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

BEGIN TRANSACTION

-- آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أŒ أ…»أ…أ°, أˆ¤أ€آ؛ °*أ…أ°µأ‡´أ‚ °أ¦آ؟أ¬آ؟£ آ؛¸أپ¶ أˆأ„°أںأ€أژأ€أ‡ HonorPoint¸¦ أ€أ؛أ€أ¥أ‡أک¾أں أ‡أ‘´أ™.
IF @MemberClass = 1
BEGIN
DECLARE @HonorPoint INT
SELECT @HonorPoint = HonorPoint FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
IF (@@ERROR <> 0 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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2
END
END
END
ELSE
BEGIN
-- °أ¦أ‡èأ„آ، ¹أ¶أ‡أپ ·¹أ„أڑµأ¥ »èأپ¦
DELETE FROM _TrainingCampBuffStatus WHERE CampID = @CampID AND RecipientCharID = @MemberID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2005
END
END

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

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN 1


_TRAINING_CAMP_MEMBER_GRADUATE
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 [ID] FROM _TrainingCamp WITH (NOLOCK) WHERE [ID] = @CampID)
BEGIN
RETURN -2000
END

DECLARE @MemberClass TINYINT
SELECT @MemberClass = MemberClass FROM _TrainingCampMember WHERE CampID = @CampID AND CharID = @MemberID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0 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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -2002
END

-- أ…×أ€أŒآ؛أ*آ؟آ، ¸أ*آ؟¹ أ†÷أ€أژأ†®¸¦ أ€أ؛أ€أ¥.
IF @HonorPoint > 0
BEGIN
INSERT INTO _TrainingCampSubMentorHonorPoint VALUES (@MemberID, @HonorPoint)
IF (@@ERROR <> 0 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 <> 0 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 + @MentorPoint) WHERE CampID = @CampID AND MemberClass = 0
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END

UPDATE _TrainingCampMember SET HonorPoint = (HonorPoint + @SubMentorPoint) WHERE 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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -3
END
END
ELSE
BEGIN
UPDATE _TrainingCamp SET GraduateCount = (GraduateCount + 1) WHERE [ID] = @CampID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -3
END
END


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

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

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN 1


_TRAINING_CAMP_REFRESHMEMBERSTATUS
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
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, @UpdateDate, GETDATE()) = 0
BEGIN
RETURN 0
END
ELSE
BEGIN
RETURN 1
END


_TRAINING_CAMP_UPDATEHONORRANK
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 [ID] FROM _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 = null, Rank = 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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
CLOSE RankCursor
DEALLOCATE RankCursor

RETURN -2
END
UPDATE _TrainingCampHonorRank SET CampID = @CampID, Rank = @Rank WHERE Ranking = @Ranking
IF (@@ERROR <> 0 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 <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -4
END

COMMIT TRANSACTION

SET NOCOUNT OFF

RETURN 1

_TrainingCamp_FnAddMember
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 (NOLOCK) WHERE CharID = @MemberID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -1
END

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

DECLARE @RefObjID INT
SELECT @RefObjID = RefObjID FROM _Char WITH (NOLOCK) WHERE CharID = @MemberID
IF (@@ERROR <> 0 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 >= 1 )
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 >= 2 )
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 >= 5 )
BEGIN
RETURN -12
END
END
----------------------------------------------------------------------------------------------------------


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

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

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

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

SET NOCOUNT OFF

RETURN 1


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

banner
27-09-2018, 01:07 AM
شكرا لردك جداا هجرب واقول لحضرتك النتيجه

banner
27-09-2018, 01:18 AM
للاسف بردو مشتغلتش ودي صوره للمشكله

http://www.silkroad4arab.com/vb/http://c.up-00.com/2018/09/153800043507721.jpg (http://www.up-00.com/)

banner
27-09-2018, 01:25 AM
http://www13.0zz0.com/2018/09/27/01/630490607.jpg (https://www.0zz0.com)

https://d.top4top.net/p_99946a041.jpg

BuiLt4KiLl
27-09-2018, 03:08 AM
حضرتك عملت Excute في كل مرة نقلت فيها
ولا قفلت علطول ؟
Excute اللي هيا F5

banner
27-09-2018, 02:54 PM
حضرتك عملت Excute في كل مرة نقلت فيها
ولا قفلت علطول ؟
Excute اللي هيا F5

عملت والله زي محضرتك قولت بظبط

BuiLt4KiLl
27-09-2018, 03:01 PM
عملت والله زي محضرتك قولت بظبط

أيوا أنا نسيت أقول لحضرتك في أول رد
إنك لازم كل مرة هتشيل حاجة من الـProcedures و تبدلها بحاجة من اللي أنا اديتهالك
لازم تضغط F5
:Emoji26:

banner
27-09-2018, 03:02 PM
أيوا أنا نسيت أقول لحضرتك في أول رد
إنك لازم كل مرة هتشيل حاجة من الـProcedures و تبدلها بحاجة من اللي أنا اديتهالك
لازم تضغط F5
:Emoji26:

من غير متقول والله عملتها انا عارف انك تعبت معايا وبتحاول تحلهالي بس انا مش عارف مالها معقده ليه كدا

banner
27-09-2018, 11:33 PM
up

BuiLt4KiLl
28-09-2018, 12:00 AM
up

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

banner
28-09-2018, 12:08 AM
و الله حضرتك لسا في بالي و منستش و
قاعد بدورلك على حل
:Emoji26:

تسلم والله انا بحااول بردو ويااريت نلاقي حل علشان الداتا دي انا شغال فيها بقالي كتير

BuiLt4KiLl
28-09-2018, 12:34 AM
تسلم والله انا بحااول بردو ويااريت نلاقي حل علشان الداتا دي انا شغال فيها بقالي كتير

طيب معلش حضرتك ممكن ترفعلي الداتا
و أنا هحاول أشوفها
و لو في خوف على شغل حضرتك اعملها Password
و ابعتهولي في رسالة خاصة

™ EgY_KhaN ™
28-09-2018, 12:56 AM
اعتقد انك مشغل فلتر او كلامي صح يبقي المشكلة عندك في الفلتر مش في الداتا لان مشاكل الداتا حلها الي الاخ BuiLt4KiLl بعتهالك فوق

BuiLt4KiLl
28-09-2018, 12:57 AM
معلش الأول بدل الـProcedures دول باللي عندك
و اقفل ملفات السيرفر كلها و افتحها و جرب كدا

_GetCharTrainingCamp
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_GetCharTrainingCamp] Script Date: 9/28/2018 12:54:32 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_GetCharTrainingCamp]
@CharName VARCHAR(64)
AS
SET NOCOUNT ON

DECLARE @CharID INT
IF NOT EXISTS (SELECT CharID FROM _Char WITH (NOLOCK) WHERE CharName16 = @CharName)
BEGIN
RETURN -1
END

SELECT @CharID = CharID FROM _Char WITH (NOLOCK) WHERE CharName16 = @CharName

DECLARE @CampID INT
SET @CampID = 0

SELECT @CampID = CampID FROM _TrainingCampMember WHERE CharID = @CharID
IF @@ERROR <> 0 OR @@ROWCOUNT = 0
BEGIN
RETURN -2
END

SET NOCOUNT OFF

RETURN @CampID


_TrainingCampRanking
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_TrainingCampRanking] Script Date: 9/28/2018 12:57:20 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE [dbo].[_TrainingCampRanking]
AS

SELECT Ranking, Tcm.CharName, Rank
FROM _TrainingCampHonorRank AS Tchr JOIN _TrainingCampMember AS Tcm
ON Tchr.CampID = Tcm.CampID
WHERE Tcm.MemberClass = 0 -- 0أ€آ؛ أˆأ„°أںأ€أژ

BuiLt4KiLl
28-09-2018, 12:59 AM
اعتقد انك مشغل فلتر او كلامي صح يبقي المشكلة عندك في الفلتر مش في الداتا لان مشاكل الداتا حلها الي الاخ BuiLt4KiLl بعتهالك فوق

و الله و أنا كمان بقول كدا
بس هوا أكيد زمانه عارف
و هيقول

Mahmoud Rashwan
28-09-2018, 02:05 AM
كدا الحكايه في فلتر عشان لو مشكله كانت اتحلت

#3mr
28-09-2018, 06:03 AM
Procedures+Quesry

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

.Gamer.
28-09-2018, 10:25 AM
##