Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[SQL] Query to Reset Player Skill

Junior Spellweaver
Joined
Sep 21, 2011
Messages
194
Reaction score
35
for CH;
Code:
USE SRO_VT_SHARD
DECLARE @CharName varchar (64)
DECLARE  @CharID int
DECLARE @GiveSP int
SET @CharName = 'CharName' --Your Char Name
SET @GiveSP   = '10000000' --Write the amount of Skill Point
SET @CharID = (SELECT CharID FROM _Char WHERE CharName16 = @CharName) --Do not change

-- edit by InPanic Kev --
update _ClientConfig
set Data = '0'
where CharID = @CharID
-- edit by InPanic Kev --

--- Do Not Change Here ---
--- made by ModGift for RZ ---
DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '2' and SkillID<'40' 

DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '40' and SkillID<'70' 

DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '70' 

UPDATE [dbo].[_CharSkillMastery]
   SET 
      [Level] = '0'
 WHERE CharID= @CharID

UPDATE [dbo].[_Char]
  SET RemainSkillPoint= @GiveSP
  WHERE CharName16 = @CharName
GO
-----
for EU;
Code:
USE SRO_VT_SHARD
DECLARE @CharName varchar (64)
DECLARE  @CharID int
DECLARE @GiveSP int
SET @CharName = 'CharName' --Your Char Name
SET @GiveSP   = '10000000' --Write the amount of Skill Point
SET @CharID = (SELECT CharID FROM _Char WHERE CharName16 = @CharName) --Do not change

-- edit by InPanic Kev --
update _ClientConfig
set Data = '0'
where CharID = @CharID
-- edit by InPanic Kev --

--- Do Not Change Here ---
--- made by ModGift for RZ  ---
DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '2'

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID
           ,'8421'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID
		   ,'8419'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '8420'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9354'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9355'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9944'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '10625'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '11162'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '11526'
           ,'1')
UPDATE [dbo].[_CharSkillMastery]
   SET 
      [Level] = '0'
 WHERE CharID= @CharID
UPDATE [dbo].[_Char]
  SET RemainSkillPoint= @GiveSP
  WHERE CharName16 = @CharName
GO

for Reset All Char;
Code:
USE [SRO_VT_SHARD]
GO
--Made by ModGift for RaGeZoNe 

-- edit by InPanic Kev --
update _ClientConfig
set Data = '0'
-- edit by InPanic Kev --

DELETE FROM [dbo].[_CharSkill]
      WHERE  SKillID NOT LIKE '1' and  SKillID NOT LIKE '2' and  SKillID NOT LIKE '40'
	  and  SKillID NOT LIKE '70' and  SKillID NOT LIKE '8421' and  SKillID NOT LIKE '8419'
	  and  SKillID NOT LIKE '8420' and  SKillID NOT LIKE '9354' and  SKillID NOT LIKE '9355'
	  and  SKillID NOT LIKE '9944' and  SKillID NOT LIKE '10625' and  SKillID NOT LIKE '11162'
	  and  SKillID NOT LIKE '11526'
GO 

UPDATE [dbo].[_CharSkillMastery]
   SET 
      [Level] = '0'

Please press like :)
Thanks InPanic Kev for edit.
 
Last edited:
Newbie Spellweaver
Joined
Jul 14, 2012
Messages
73
Reaction score
4
this is very simply i made the same querys some weeks ago , but letz try to dev a query to give the SP back
 
Newbie Spellweaver
Joined
Oct 14, 2011
Messages
75
Reaction score
26
Easy but if u use this query the old skills are still in the underbar :) it looks a bit ugly ... so i have edit the query have fun

for CH;
Code:
USE SRO_VT_SHARD
DECLARE @CharName varchar (64)
DECLARE  @CharID int
SET @CharName = 'CharName' --Your Char Name
SET @CharID = (SELECT CharID FROM _Char WHERE CharName16 = @CharName) --Do not change

[COLOR="#FF8C00"]-- edit by InPanic Kev --[/COLOR]
update _ClientConfig
set Data = '0'
where CharID = @CharID
[COLOR="#FF8C00"]-- edit by InPanic Kev --[/COLOR]

--- Do Not Change Here ---
--- made by ModGift for RZ ---
DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '2' and SkillID<'40' 

DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '40' and SkillID<'70' 

DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '70' 

UPDATE [dbo].[_CharSkillMastery]
   SET 
      [Level] = '0'
 WHERE CharID= @CharID
GO
-----
for EU;
Code:
USE SRO_VT_SHARD
DECLARE @CharName varchar (64)
DECLARE  @CharID int
SET @CharName = 'CharName' --Your Char Name
SET @CharID = (SELECT CharID FROM _Char WHERE CharName16 = @CharName) --Do not change


[COLOR="#FF8C00"]-- edit by InPanic Kev --[/COLOR]
update _ClientConfig
set Data = '0'
where CharID = @CharID
[COLOR="#FF8C00"]-- edit by InPanic Kev --[/COLOR]
--- Do Not Change Here ---
--- made by ModGift for RZ  ---

DELETE [dbo].[_CharSkill]
   WHERE [CharID] = @CharID and [SkillID] > '2'

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID
           ,'8421'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID
		   ,'8419'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '8420'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9354'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9355'
           ,'1')

INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '9944'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '10625'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '11162'
           ,'1')
INSERT INTO [dbo].[_CharSkill]
           ([CharID]
           ,[SkillID]
           ,[Enable])
     VALUES
           (@CharID,
           '11526'
           ,'1')
UPDATE [dbo].[_CharSkillMastery]
   SET 
      [Level] = '0'
 WHERE CharID= @CharID
GO
 
Newbie Spellweaver
Joined
Jul 14, 2012
Messages
73
Reaction score
4
add this please its better ;)

Code:
UPDATE [dbo].[_Char]
  SET RemainSkillPoint = RemainSkillPoint + @GiveSP
  WHERE CharName16 = @CharName

this give the SP + the old SP ;)

greetz
 
Junior Spellweaver
Joined
Sep 21, 2011
Messages
194
Reaction score
35
add this please its better ;)

Code:
UPDATE [dbo].[_Char]
  SET RemainSkillPoint = RemainSkillPoint + @GiveSP
  WHERE CharName16 = @CharName

this give the SP + the old SP ;)

greetz
i know but not need.
if you using my query add your function ;)
 
Last edited:
Junior Spellweaver
Joined
Jan 3, 2012
Messages
150
Reaction score
10
Is there a way to make it as an item ? like a scroll to reset all the sp once ... instead of the potion with silk.
 
Experienced Elementalist
Joined
Jan 27, 2012
Messages
231
Reaction score
29
instead of doing cheap butt queries learn how to use this one :

_CalcInvestedSP_Skill
_CalcInvestedSP_Skill_n_Mastery

_InitializeCharSkill_Invest_n_Withdraw - which using those 2

Code:
USE [SRO_VT_SHARD_INIT]
GO
/****** Object:  StoredProcedure [dbo].[_InitializeCharSkill_Invest_n_Withdraw]    Script Date: 08/01/2012 11:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER  procedure [dbo].[_InitializeCharSkill_Invest_n_Withdraw]
	@CharID int
	as
	declare @InvestedSP int
	declare @WithdrawGold int
	declare @WithdrawSP int
	declare @RemainSP int
	declare @RemainGold bigint
	declare @RemainSP_Prev int
	declare @RemainGold_Prev bigint
	declare record_cursor cursor for select CharID,RemainSkillPoint,RemainGold from _Char
	open record_cursor
	fetch next from record_cursor into @CharID, @RemainSP, @RemainGold
	while( @@fetch_status = 0)
	begin
		exec _CalcInvestedSP_Skill_n_Mastery @CharID , @InvestedSP output
		exec _CalcCharWithdrawSkill_n_Mastery @CharID, @WithdrawGold output, @WithdrawSP output
		
		set @RemainSP_Prev = @RemainSP
		set @RemainGold_Prev = @RemainGold
		
		set @RemainSP = @RemainSP + @InvestedSP - @WithdrawSP
		if( @RemainSP < 0)
			set @RemainSP = 0
		set @RemainGold = @RemainGold + @WithdrawGold
		update _Char set RemainSkillPoint = @RemainSP, RemainGold = @RemainGold where CharID = @CharID
		fetch next from record_cursor into @CharID, @RemainSP, @RemainGold
	end
	close record_cursor
	deallocate record_cursor
	update _CharSkillMastery set Level = 0 where CharID = @CharID
	delete _CharSkill where SkillId not in(select SkillID from _RefCharDefault_Skill) and CharID = @CharID


of course this is only example... , just check out the whole stored procedures i wrote here.

you will see how awesome is that.



it will calc spended SP and will retrive it!- the exact amount included mastery level sp.
 
Back
Top