Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Private Server > SRO PServer Guides & Releases
You last visited: Today at 06:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Custom Open Skills Scroll (Procedures) High Performance

Discussion on [Release] Custom Open Skills Scroll (Procedures) High Performance within the SRO PServer Guides & Releases forum part of the SRO Private Server category.

Reply
 
Old   #1

 
Taut¥'s Avatar
 
elite*gold: 28
Join Date: Mar 2021
Posts: 136
Received Thanks: 189
[Release] Custom Open Skills Scroll (Procedures) High Performance

Hello Everyone,

Credits for @

Today I wrote to you a system that was done before by Developers with a scroll in each BUILD, today it is through one scroll when you open the Mastery like: FIRE/COLD/LIGHT, ETC and the STATS POINT together with a STR or INT will open All skills automatically and it is done by HIGH PERFORMANCE to reduce the load on the CPU If you have any questions, just call me on the DISCORD Taut:3258


Note: Create your own scroll, Use Your brain.exe


CREATE PROCEDURE


Code:
USE [YOUR_DATABASE]
GO
/****** Object:  StoredProcedure [dbo].[_TautOpenSkills]    Script Date: 6/5/2021 8:02:35 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--=============================================
--Credits For Taut¥
--Discord:Taut#3258
--DM ME IF YOU HAVE ANY PROBLEM!
--=============================================
CREATE PROCEDURE [dbo].[_TautOpenSkills]
@CharID INT
AS
SET NOCOUNT ON
SET XACT_ABORT ON

DECLARE @SkillID INT
IF XACT_STATE() = -1
BEGIN
GOTO ErrorHandler
END
BEGIN TRY
	IF (@CharID IS NULL OR @CharID=0)
	BEGIN
	GOTO ErrorHandler
	END
IF EXISTS(SELECT * FROM SRO_VT_SHARD.._Char WITH(NOLOCK) WHERE RemainStatPoint > 0 AND CharID = @CharID)
	BEGIN
	DECLARE @Charname VARCHAR(26) = (SELECT TOP 1 Charname16 FROM SRO_VT_SHARD.._Char with(nolock) where charid = @CharID)
	END
ELSE
	BEGIN
--## Delete Old Skills
DELETE FROM SRO_VT_SHARD.._CharSkill WHERE [CharID]=@CharID AND [SkillID] NOT IN (SELECT [SkillID] FROM SRO_VT_SHARD.._RefCharDefault_Skill  WITH(NOLOCK))
DECLARE @Build varchar(6) = CASE WHEN (SELECT TOP 1 Intellect FROM SRO_VT_SHARD.._Char WITH(NOLOCK) WHERE CharID = @CharID)<(SELECT TOP 1 Strength FROM SRO_VT_SHARD.._Char wITH(NOLOCK) WHERE CharID = @CharID) THEN 'STR' ELSE 'INT' END
IF @Build = 'STR'
BEGIN

INSERT SRO_VT_SHARD.._CharSKill 
		SELECT	DISTINCT @CharID, RS.ID,1
		FROM		(SELECT	  Basic_Group, MAX(Basic_Level) AS Basic_Level
		FROM	  SRO_VT_SHARD.._RefSkill RS WITH(NOLOCK)
		JOIN	  SRO_VT_SHARD.._CharSkillMastery CSM  WITH(NOLOCK) ON RS.ReqCommon_Mastery1 = CSM.MasteryID  WHERE RS.Service = 1 AND RS.Basic_code NOT LIKE '%COLD%SHIELD%' AND RS.Basic_Code NOT LIKE '%FIRE%DETECT%' AND RS.Basic_Code NOT LIKE '%FIRE%DESCRY%' AND RS.Basic_Code NOT LIKE '%LIGHTNING%GYEONGGONG%'
		AND		  RS.ID NOT IN (SELECT SkillID FROM SRO_VT_SHARD.._RefCharDefault_Skill  WITH(NOLOCK))
		AND		  RS.ID NOT IN (SELECT SkillID FROM SRO_VT_SHARD.._CharSkill WITH(NOLOCK) WHERE CharID = @CharID)
		AND		  RS.ReqCommon_MasteryLevel1 <= CSM.Level
		AND		  CSM.CharID = @CharID
		GROUP BY  Basic_Group
		) MGS
		JOIN	  SRO_VT_SHARD.._RefSkill RS WITH(NOLOCK)
		ON		  RS.Basic_Group = MGS.Basic_Group
		AND		  RS.Basic_Level = MGS.Basic_Level
		WHERE	  RS.ReqLearn_SP != 0 
		
	
END
ELSE IF @Build = 'INT'
	BEGIN
	INSERT SRO_VT_SHARD.._CharSKill 
		SELECT	DISTINCT @CharID, RS.ID,1
		FROM		(SELECT	  Basic_Group, MAX(Basic_Level) AS Basic_Level
		FROM	  SRO_VT_SHARD.._RefSkill RS WITH(NOLOCK)
		JOIN	  SRO_VT_SHARD.._CharSkillMastery CSM WITH(NOLOCK) ON RS.ReqCommon_Mastery1 = CSM.MasteryID  
		JOIN	  SRO_VT_SHARD.._Char C WITH(NOLOCK) ON C.CharID = CSM.CharID WHERE RS.Service = 1  AND RS.Basic_code NOT LIKE '%COLD%SHIELD%' AND RS.Basic_Code NOT LIKE '%FIRE%DETECT%' AND RS.Basic_Code NOT LIKE '%FIRE%DESCRY%' AND RS.Basic_Code NOT LIKE '%LIGHTNING%GYEONGGONG%'
		AND		  RS.ID NOT IN (SELECT SkillID FROM SRO_VT_SHARD.._RefCharDefault_Skill WITH(NOLOCK))
		AND		  RS.ID NOT IN (SELECT SkillID FROM SRO_VT_SHARD.._CharSkill WITH(NOLOCK) WHERE CharID = @CharID)
		AND		  RS.ReqCommon_MasteryLevel1 <= CSM.Level
		AND		  CSM.CharID = @CharID
		GROUP BY  Basic_Group
		) MGS
		JOIN	  SRO_VT_SHARD.._RefSkill RS WITH(NOLOCK)
		ON		  RS.Basic_Group = MGS.Basic_Group
		AND		  RS.Basic_Level = MGS.Basic_Level
		WHERE	  RS.ReqLearn_SP != 0 
	END
END
END TRY
BEGIN CATCH
GOTO ErrorHandler
END CATCH
ErrorHandler:
IF XACT_STATE() <> 0
ROLLBACK TRANSACTION
AddLogItem
Code:
IF @Operation = 41 AND @ItemRefID = 41874
	EXEC _TautOpenSkills @CharID

Thanks everyone. Wait for new things and do not hesitate when you need anything. Just tell me via the discord: Taut#3258 24/7 Active
Taut¥ is offline  
Thanks
3 Users
Old 06/05/2021, 10:29   #2
 
LegendarySouL's Avatar
 
elite*gold: 0
Join Date: Nov 2020
Posts: 170
Received Thanks: 61
Such a great job , keep goin
LegendarySouL is offline  
Thanks
1 User
Old 06/05/2021, 13:08   #3
 
Syloxx's Avatar
 
elite*gold: 56
Join Date: Oct 2013
Posts: 1,165
Received Thanks: 774
Original Code: (6 years old)

Your Procedure looks like a more ugly version of mine with added hints (NOLOCK) that are at best useless and at worse f**k up sql server performance.

You didn't gave any credits to me (your code is obviously "inspired" from mine)

the the worst part... you removed the most important return statement (above the EventHandler label) you will now ALWAYS land in the error handler code because you are not stopping it from entering there lol

I would recommend contacting me if you prefer some high quality SQL work, i am not that active in the SRO Community as i used to be however i still take orders here and there during my sparetime

-Syloxx
Syloxx is offline  
Thanks
1 User
Old 06/05/2021, 22:23   #4

 
Taut¥'s Avatar
 
elite*gold: 28
Join Date: Mar 2021
Posts: 136
Received Thanks: 189
Quote:
Originally Posted by Syloxx View Post
Original Code: (6 years old)

Your Procedure looks like a more ugly version of mine with added hints (NOLOCK) that are at best useless and at worse f**k up sql server performance.

You didn't gave any credits to me (your code is obviously "inspired" from mine)

the the worst part... you removed the most important return statement (above the EventHandler label) you will now ALWAYS land in the error handler code because you are not stopping it from entering there lol

I would recommend contacting me if you prefer some high quality SQL work, i am not that active in the SRO Community as i used to be however i still take orders here and there during my sparetime

-Syloxx


Thank you, for your comment, but i dont copy anything from your thread. you can compare about Proc
Taut¥ is offline  
Old 06/06/2021, 00:52   #5
 
Syloxx's Avatar
 
elite*gold: 56
Join Date: Oct 2013
Posts: 1,165
Received Thanks: 774
Quote:
Originally Posted by Taut¥ View Post
Thank you, for your comment, but i dont copy anything from your thread. you can compare about Proc


as you can see the main query is 90% identical, all you did is add the database with an .. (instead of .dbo. wich is alot more performant since the sql server don't have to search every schema) and some extra checks. You even used the identical labels as I did so yeah, this is just a plain copy paste, don't know why after all these years I´ve been inactive you guys are still copying and then even claim it as your own work even after being caught lol

I mean even your where checks are line by line exactly the same as I did them

you probably don't even know what "MGS" means...




Why you are checking "XACT_STATE" and rolling back an transaction in your errorhandler, I checked it because it was part of my default procedure layout however, there is no transaction started / committed so unless you are using my procedure layout there is no need to add any of this...

besides that... nobody ever used labels for error handling besides me in the sro community and then its basically line by line a copy paste from my original, I mean its ok, actually its just a prove that my work is still one of the best, just give credits and don't say "its my work I did all my self" because obviously it isnt


your procedure is just waaay too identical.
Syloxx is offline  
Thanks
3 Users
Old 06/06/2021, 03:51   #6

 
Taut¥'s Avatar
 
elite*gold: 28
Join Date: Mar 2021
Posts: 136
Received Thanks: 189
Quote:
Originally Posted by Syloxx View Post


as you can see the main query is 90% identical, all you did is add the database with an .. (instead of .dbo. wich is alot more performant since the sql server don't have to search every schema) and some extra checks. You even used the identical labels as I did so yeah, this is just a plain copy paste, don't know why after all these years I´ve been inactive you guys are still copying and then even claim it as your own work even after being caught lol

I mean even your where checks are line by line exactly the same as I did them

you probably don't even know what "MGS" means...




Why you are checking "XACT_STATE" and rolling back an transaction in your errorhandler, I checked it because it was part of my default procedure layout however, there is no transaction started / committed so unless you are using my procedure layout there is no need to add any of this...

besides that... nobody ever used labels for error handling besides me in the sro community and then its basically line by line a copy paste from my original, I mean its ok, actually its just a prove that my work is still one of the best, just give credits and don't say "its my work I did all my self" because obviously it isnt


your procedure is just waaay too identical.


Im sorry for that, but as i told you i dont see your system as you said its from 2015, I Swear, But Nevermind if you need me to remove that, easy.

And I did this for INT / STR, i see both proc is similar but i didn't copy any system, only write by my logic.
Taut¥ is offline  
Reply


Similar Threads Similar Threads
[Release] Silk Ruffle Scroll [Best Performance]
07/29/2017 - SRO PServer Guides & Releases - 4 Replies
https://i.epvpimg.com/Ybguf.png The Procedure was taken from Reality SRO DB and re-coded by me The Procedure USE GO /****** Object: StoredProcedure . Script Date: 7/29/2017 7:36:03 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON
stats reset scroll Procedures ERROR SQL
01/22/2015 - SRO Private Server - 9 Replies
why i'm getting this error, when i'm trying to add stats reset scroll. http://i.epvpimg.com/c4Wkf.png and some one can give me guide for stats reset scroll + skill reset scroll + premium remove scrolls ?
[Performance-Camtasia Studio]Wie verbessere ich die Performance?
11/13/2009 - Video Art - 4 Replies
Hallo liebe Community und Mitglieder. Wenn ich mit dem Aufnahmeprogramm „Camtasia Studio" ein Fenster aufnehme, z.B. das Client Fenster von Metin2, verschlechtert sich die Performance beim späteren angucken des Resultates. D.h. es bleibt bei mehreren Hängern und es ist kein flüssiger Film. Was habe ich versucht? #Die Frames pro Sekunde zu erhöhen(bis 200 Frames pro Sekunde, aber dann gibt es auch schon bei der Aufnahme Hänger, bzw. beim produzieren) #Das Video in der Bearbeitung zu...



All times are GMT +1. The time now is 06:14.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.