[Release]The marvelous System [Auto Skill Up To a Specific Level]

07/30/2017 13:29 Storxy_#16
lol what a super sql expert with a dog mind
procedures are identity
you even didn't' add fix for combo skills
what a sql expert again =))
Quote:
Originally Posted by Syloxx View Post
Hello Elitepvpers,

Today iŽll release my automatic skill up query. It adds all available skills to your char based on Mastery and MasteryLevel.

Procedure:
Code:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_UPDATE_CHARSKILLS]    Script Date: 06.01.2015 05:06:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/**
version : 2
author : Syloxx
created date: 2015-05-01
description : add all aviable skills to character.
return value :
0 = No Errors
100 = The charname does not exists.
101 = Unknown Error.
**/

CREATE PROCEDURE [dbo].[_UPDATE_CHARSKILLS]
	  @nvcCharName nvarchar(30)
AS
SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE	  @intReturnValue int
		, @intCharID int
		, @intSkillID int

/**_# Rollback and return if inside an uncommittable transaction.*/
IF XACT_STATE() = -1
BEGIN
	SET @intReturnValue = 1
	GOTO ErrorHandler
END

BEGIN TRY
	SELECT	  @intCharID = CharID
	FROM	  _Char WITH (NOLOCK)
	WHERE	  CharName16 = @nvcCharName

	IF (@intCharID IS NULL OR @intCharID = 0)
	BEGIN
		SET @intReturnValue = 100
		GOTO ErrorHandler
	END

	/**_# [_CharSkill] DELETE FROM TABLE*/
	DELETE FROM _CharSkill WHERE CharID = @intCharID AND SkillID NOT IN (SELECT SkillID FROM _RefCharDefault_Skill)

	/**_# [UPDATE_SKILL_CURSOR] CREATE AND EXECUTE*/
	DECLARE UPDATE_SKILL_CURSOR CURSOR FOR
		SELECT	RS.ID
		FROM
			(
			SELECT	  Basic_Group
					, MAX(Basic_Level) AS Basic_Level
			FROM	  _RefSkill RS
			JOIN	  _CharSkillMastery CSM
			ON		  RS.ReqCommon_Mastery1 = CSM.MasteryID
			WHERE	  RS.Service = 1
			AND		  RS.ID NOT IN (SELECT SkillID FROM _RefCharDefault_Skill)
			AND		  RS.ReqCommon_MasteryLevel1 <= CSM.Level
			AND		  CSM.CharID = @intCharID
			GROUP BY  Basic_Group
			) MGS
		JOIN	  _RefSkill RS
		ON		  RS.Basic_Group = MGS.Basic_Group
		AND		  RS.Basic_Level = MGS.Basic_Level
		WHERE	  RS.ReqLearn_SP != 0

	OPEN UPDATE_SKILL_CURSOR
	FETCH NEXT FROM UPDATE_SKILL_CURSOR INTO @intSkillID
	WHILE @@FETCH_STATUS = 0
		BEGIN

			/**_# [_CharSkill] INSERT INTO TABLE*/
			INSERT INTO _CharSkill (CharID, SkillID, Enable)
			VALUES (@intCharID, @intSkillID, 1)

			FETCH NEXT FROM UPDATE_SKILL_CURSOR INTO @intSkillID
		END
	CLOSE UPDATE_SKILL_CURSOR
	DEALLOCATE UPDATE_SKILL_CURSOR
END TRY
BEGIN CATCH
	SET @intReturnValue = 101
	GOTO ErrorHandler
END CATCH

RETURN 0

ErrorHandler:
IF XACT_STATE() <> 0
	ROLLBACK TRANSACTION
	RETURN @intReturnValue
T-SQL:
Code:
USE SRO_VT_SHARD
DECLARE @intReturnValue int

EXEC @intReturnValue = _UPDATE_CHARSKILLS Charname
SELECT @intReturnValue AS ReturnValue
Tutorial:
-Add the Procedure to your Database.
-Insert the T-SQL content to a "New Query".
-Replace Charname with your Charname and click on "Execute"

Download attachment for better formating!
Don't remove / edit the header!
Press thanks if you use this query!

-Syloxx
07/30/2017 13:40 Ɗoc#17
Whos dick is bigger thread.
07/30/2017 13:41 Emperix#18
dam nice man , keep it up
07/30/2017 18:53 SwaGy.#19
Keep going , ty
07/31/2017 02:10 EdwardTeach+-#20
uw guys abt haters keep hating XD
i wont lower my level talking to kids around
07/31/2017 02:34 Muhab*#21
Quote:
Originally Posted by Ɗoc View Post
Whos dick is bigger thread.
thread.Length
07/31/2017 02:45 DeniMM#22
You want the entire section to hate you, huh?
08/01/2017 19:31 AceSpace#23
Quote:
Originally Posted by EdwardTeach+- View Post
if u take a look at syloxx ones its a bit different i re-coded it,
potassium?
How is it different?

Code:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_UPDATE_CHARSKILLS]    Script Date: 06.01.2015 05:06:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/**
version : 2
author : Syloxx
created date: 2015-05-01
description : add all aviable skills to character.
return value :
0 = No Errors
100 = The charname does not exists.
101 = Unknown Error.
**/

CREATE PROCEDURE [dbo].[_UPDATE_CHARSKILLS]
	  @nvcCharName nvarchar(30)
AS
SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE	  @intReturnValue int
		, @intCharID int
		, @intSkillID int

/**_# Rollback and return if inside an uncommittable transaction.*/
IF XACT_STATE() = -1
BEGIN
	SET @intReturnValue = 1
	GOTO ErrorHandler
END

BEGIN TRY
	SELECT	  @intCharID = CharID
	FROM	  _Char WITH (NOLOCK)
	WHERE	  CharName16 = @nvcCharName

	IF (@intCharID IS NULL OR @intCharID = 0)
	BEGIN
		SET @intReturnValue = 100
		GOTO ErrorHandler
	END

	/**_# [_CharSkill] DELETE FROM TABLE*/
	DELETE FROM _CharSkill WHERE CharID = @intCharID AND SkillID NOT IN (SELECT SkillID FROM _RefCharDefault_Skill)

	/**_# [UPDATE_SKILL_CURSOR] CREATE AND EXECUTE*/
	DECLARE UPDATE_SKILL_CURSOR CURSOR FOR
		SELECT	RS.ID
		FROM
			(
			SELECT	  Basic_Group
					, MAX(Basic_Level) AS Basic_Level
			FROM	  _RefSkill RS
			JOIN	  _CharSkillMastery CSM
			ON		  RS.ReqCommon_Mastery1 = CSM.MasteryID
			WHERE	  RS.Service = 1
			AND		  RS.ID NOT IN (SELECT SkillID FROM _RefCharDefault_Skill)
			AND		  RS.ReqCommon_MasteryLevel1 <= CSM.Level
			AND		  CSM.CharID = @intCharID
			GROUP BY  Basic_Group
			) MGS
		JOIN	  _RefSkill RS
		ON		  RS.Basic_Group = MGS.Basic_Group
		AND		  RS.Basic_Level = MGS.Basic_Level
		WHERE	  RS.ReqLearn_SP != 0

	OPEN UPDATE_SKILL_CURSOR
	FETCH NEXT FROM UPDATE_SKILL_CURSOR INTO @intSkillID
	WHILE @@FETCH_STATUS = 0
		BEGIN

			/**_# [_CharSkill] INSERT INTO TABLE*/
			INSERT INTO _CharSkill (CharID, SkillID, Enable)
			VALUES (@intCharID, @intSkillID, 1)

			FETCH NEXT FROM UPDATE_SKILL_CURSOR INTO @intSkillID
		END
	CLOSE UPDATE_SKILL_CURSOR
	DEALLOCATE UPDATE_SKILL_CURSOR
END TRY
BEGIN CATCH
	SET @intReturnValue = 101
	GOTO ErrorHandler
END CATCH

RETURN 0

ErrorHandler:
IF XACT_STATE() <> 0
	ROLLBACK TRANSACTION
	RETURN @intReturnValue
Blind much?

What the hell did you do exactly? you just added
Code:
if @eventid = 22 and @data = X level
begin
   exec _procedureofsylox @charname wow
end
08/02/2017 18:17 Syloxx#24
Hello,

1st of all, looks like you didn't read my original post completely... it says "Don't remove / edit the header!"

If you did any modifications to the query, you would be able to add a 2nd header but removing or editing the original header simply offend the license conditions!

2nd I do not notice any modifications to the logic inside the query, but a rename... it is ok to do that but I wouldn't consider that as a "re-code"

3rd if you use released stuff please use the latest version atlease

4th you also should add a kind of error handler to the parent procedure
something like

Code:
IF @ReturnValue != 0
BEGIN
    INSERT INTO _ERROR_TABLE
    VALUES (PROCEDURE_NAME, RETURN_VALUE, CharID, DATE, ROW, ERROR_CODE ,ERROR_DESCRIPTION)
END
so incase the procedure fail for whatever reason you can debug and fix it if required (thats why I actually added return values to my queries)
08/02/2017 18:20 EdwardTeach+-#25
Quote:
Originally Posted by Syloxx View Post
Hello,

1st of all, looks like you didn't read my original post completely... it says "Don't remove / edit the header!"

If you did any modifications to the query, you would be able to add a 2nd header but removing or editing the original header simply offend the license conditions!

2nd I do not notice any modifications to the logic inside the query, but a rename... it is ok to do that but I wouldn't consider that as a "re-code"

3rd if you use released stuff please use the latest version atlease

4th you also should add a kind of error handler from the parent procedure
something like

Code:
IF @ReturnValue != 0
BEGIN
    INSERT INTO _ERROR_TABLE
    VALUES (PROCEDURE_NAME, RETURN_VALUE, CharID, DATE, ROW, ERROR_CODE ,ERROR_DESCRIPTION)
END
so incase the procedure fail for whatever reason you can debug and fix it if required (thats why I actually added return values to my queries)
Hi, i didn't read the original post carefully, but header back up.
and its like a little modification not a re-coding
cheers
08/02/2017 20:40 Snow*#26
copy and paste much? not really helpful
08/02/2017 22:56 EdwardTeach+-#27
Quote:
Originally Posted by Snow* View Post
copy and paste much? not really helpful
ur mad cuz i said that ur project araxion is failed? XD
08/03/2017 04:58 Snow*#28
Quote:
Originally Posted by EdwardTeach+- View Post
ur mad cuz i said that ur project araxion is failed? XD
What does Araxion have to do with you being a copycat? You're no where near Araxion team and what we achieved so far. When is your next release copycat?
08/03/2017 05:11 B1Q#29
Quote:
Originally Posted by Snow* View Post
What does Araxion have to do with you being a copycat? You're no where near Araxion team and what we achieved so far. When is your next release copycat?
we mek neo rec arab rec i mek modals ityms qusts
300 Online Players

08/03/2017 05:40 Snow*#30
Quote:
Originally Posted by B1QB0SS :3 View Post
we mek neo rec arab rec i mek modals ityms qusts
300 Online Players

Hi, I'd like to hear more about your innovative features at Litviar.