[Release]The marvelous System [Auto Skill Up To a Specific Level]
Discussion on [Release]The marvelous System [Auto Skill Up To a Specific Level] within the SRO PServer Guides & Releases forum part of the SRO Private Server category.
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
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!
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
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)
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
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?
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
[Buying] WTB Specific Account - DK / Paladin Account - With specific things on it. 03/04/2016 - World of Warcraft Trading - 0 Replies SKYPE : cristian.puf21 - SKYPE : mishap87
http://www.eu-accounts.com/resources/static/image s/logo.png
Hello,
I'm looking for a specific account which must have all of the listed things below:
-Plate class: DK/Pala with warrior TIER 3 (BMAH Preffered)
-CM 17 with at least one FOS best realm time in WOD