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:
من غير متقول والله عملتها انا عارف انك تعبت معايا وبتحاول تحلهالي بس انا مش عارف مالها معقده ليه كدا
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
كدا الحكايه في فلتر عشان لو مشكله كانت اتحلت
Procedures+Quesry
وأتاكد انك عاملهم صح
الى نزلهم المشرف حلهم أكيد لو المشكله كراش
لكن لو بيديلك messge بخطأ فى الجيم بدون كراش يبقى فيلتر
تجرب فيلتر تانى أحسن وتشوف وتابع الموضوع