Scroll Recall Skills (Auto Teleport)

12/07/2016 13:46 D3vil Power#1
:D

Made ur own Scroll ..

ِAdd To _AddLogItem

PHP Code:
IF ((@Operation 41 ) AND (@ItemRefID 61508)) 
BEGIN 
exec SRO_VT_SHARD
.dbo._Scroll_Reset @CharID 
END 
Create New Procedure

PHP Code:
USE [SRO_VT_SHARD
GO 

/****** Object:  StoredProcedure [dbo].[_Scroll_Reset]    Script Date: 2/21/2016 4:06:44 PM ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER OFF 
GO 




CREATE PROCEDURE 
[dbo].[_Scroll_Reset
@
CharID INT 
AS 

BEGIN 

        
declare @TotalSP int  
        
declare @TotalSPMastery int  
        SELECT 
@TotalSP SUM(_RefSkill.ReqLearn_SPFROM _RefSkill_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' 
        
SELECT @TotalSPMastery SUM(_RefLevel.Exp_MFROM _CharSkillMastery_RefLevel WHERE _RefLevel.Lvl=_CharSkillMastery.Level AND _CharSkillMastery.CharID=@CharID AND _CharSkillMastery.Level <= '120'  
        
UPDATE _Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+200000 WHERE CharID=@CharID  
        DELETE _CharSkill FROM _RefSkill
_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' AND _RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)  
            
UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '120'  

END 
Change 120 to your server level ,
Regards,:handsdown:
12/11/2016 00:30 NoIdeaForAName#2
How did you make it with auto teleport?

exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID ?
12/11/2016 00:46 leo2111#3
Quote:
Originally Posted by NoIdeaForAName View Post
How did you make it with auto teleport?

exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID ?
Auto teleport by clicking on the scroll
12/11/2016 09:11 NoIdeaForAName#4
Quote:
Originally Posted by leo2111 View Post
Auto teleport by clicking on the scroll
Yes, but can you point out the rows that made it a return scroll ?
12/11/2016 22:40 blapanda#5
Quote:
Originally Posted by NoIdeaForAName View Post
Yes, but can you point out the rows that made it a return scroll ?
You easily copy the parameters of an existing "Teleport Scroll"-Item to your new scroll.
Find the [Link] of an already existing return scroll and use it at the _RefObjItem table for the [ID] column.

Best to use is the regular "Return Scroll", shorten its "time to take till teleport" to approx 1-2 seconds, done.

Return scroll, regular one, parameters:

Code:
Param1	Desc1_128	Param2	Desc2_128	Param3	Desc3_128
30000	????		1	??????		-1	RESURRECT
30(.000) seconds till teleport, stated as "resurrect" (teleports to town with the specification of "revive there if paralyzed/dead"). Other options were teleporting to the thieves den and few others (which have to be datamined at the gameserver :p).
Take the Item [ID] of the new teleport scroll and replace the one given here previously as "61508":

Code:
IF ((@Operation = 41 ) AND (@ItemRefID = 61508)) 
BEGIN 
exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID 
END
Done.
12/12/2016 00:14 NoIdeaForAName#6
Quote:
Originally Posted by blapanda View Post
You easily copy the parameters of an existing "Teleport Scroll"-Item to your new scroll.
Find the [Link] of an already existing return scroll and use it at the _RefObjItem table for the [ID] column.

Best to use is the regular "Return Scroll", shorten its "time to take till teleport" to approx 1-2 seconds, done.

Return scroll, regular one, parameters:

Code:
Param1	Desc1_128	Param2	Desc2_128	Param3	Desc3_128
30000	????		1	??????		-1	RESURRECT
30(.000) seconds till teleport, stated as "resurrect" (teleports to town with the specification of "revive there if paralyzed/dead"). Other options were teleporting to the thieves den and few others (which have to be datamined at the gameserver :p).
Take the Item [ID] of the new teleport scroll and replace the one given here previously as "61508":

Code:
IF ((@Operation = 41 ) AND (@ItemRefID = 61508)) 
BEGIN 
exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID 
END
Done.

Thank you, panda-daddy. I spent my entire day on these procedures and I start to understand them. I'll test later.
12/12/2016 00:47 D3vil Power#7
Quote:
Originally Posted by NoIdeaForAName View Post
How did you make it with auto teleport?

exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID ?
Quote:
Originally Posted by NoIdeaForAName View Post
Yes, but can you point out the rows that made it a return scroll ?
Quote:
Originally Posted by blapanda View Post
You easily copy the parameters of an existing "Teleport Scroll"-Item to your new scroll.
Find the [Link] of an already existing return scroll and use it at the _RefObjItem table for the [ID] column.

Best to use is the regular "Return Scroll", shorten its "time to take till teleport" to approx 1-2 seconds, done.

Return scroll, regular one, parameters:

Code:
Param1	Desc1_128	Param2	Desc2_128	Param3	Desc3_128
30000	????		1	??????		-1	RESURRECT
30(.000) seconds till teleport, stated as "resurrect" (teleports to town with the specification of "revive there if paralyzed/dead"). Other options were teleporting to the thieves den and few others (which have to be datamined at the gameserver :p).
Take the Item [ID] of the new teleport scroll and replace the one given here previously as "61508":

Code:
IF ((@Operation = 41 ) AND (@ItemRefID = 61508)) 
BEGIN 
exec SRO_VT_SHARD.dbo._Scroll_Reset @CharID 
END
Done.
good job blapanda.
i wasn't here :(((
12/12/2016 03:33 where_love2003#8
Quote:
Originally Posted by D3vil Power View Post
:D

Made ur own Scroll ..

ِAdd To _AddLogItem

PHP Code:
IF ((@Operation 41 ) AND (@ItemRefID 61508)) 
BEGIN 
exec SRO_VT_SHARD
.dbo._Scroll_Reset @CharID 
END 
Create New Procedure

PHP Code:
USE [SRO_VT_SHARD
GO 

/****** Object:  StoredProcedure [dbo].[_Scroll_Reset]    Script Date: 2/21/2016 4:06:44 PM ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER OFF 
GO 




CREATE PROCEDURE 
[dbo].[_Scroll_Reset
@
CharID INT 
AS 

BEGIN 

        
declare @TotalSP int  
        
declare @TotalSPMastery int  
        SELECT 
@TotalSP SUM(_RefSkill.ReqLearn_SPFROM _RefSkill_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' 
        
SELECT @TotalSPMastery SUM(_RefLevel.Exp_MFROM _CharSkillMastery_RefLevel WHERE _RefLevel.Lvl=_CharSkillMastery.Level AND _CharSkillMastery.CharID=@CharID AND _CharSkillMastery.Level <= '120'  
        
UPDATE _Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+200000 WHERE CharID=@CharID  
        DELETE _CharSkill FROM _RefSkill
_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' AND _RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)  
            
UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '120'  

END 
Change 120 to your server level ,
Regards,:handsdown:
why this all
12/13/2016 11:52 NoIdeaForAName#9
Quote:
Originally Posted by blapanda View Post

Code:
Param1	Desc1_128	Param2	Desc2_128	Param3	Desc3_128
30000	????		1	??????		-1	RESURRECT
PHP Code:
local overlap job exception!! : CServerProcessesOverlap 
12/13/2016 12:01 blapanda#10
Quote:
Originally Posted by NoIdeaForAName View Post
PHP Code:
local overlap job exception!! : CServerProcessesOverlap 
You might did something wrong.
Copy the entire return scroll as it is, from common and item, adjust the id of both entries and the link, and also change the item string.
It is a failsafe method doing so.

The result will look similar to this:
12/13/2016 12:17 NoIdeaForAName#11
Quote:
Originally Posted by blapanda View Post
You might did something wrong.
Copy the entire return scroll as it is, from common and item, adjust the id of both entries and the link, and also change the item string.
It is a failsafe method doing so.

The result will look similar to this:
[Only registered and activated users can see links. Click Here To Register...]
Thank you for the explanation, I really appreciate members like you. :)

Edit : Now it says "Cannot find target" when I use it X.X

Edit 2 : I made sure the lines from itemdata45000 & RefObjCommon are the same.
The ''Cannot find target'' error is gone but when I press on the scroll, nothing happens.

PHP Code:
if(@Operation 41 and @ItemRefID '41807'
BEGIN  
UPDATE SRO_VT_SHARD
.._CharSkillMastery
SET Level 
'100' where MasteryID =518
END 
This is what I use at _AddTimedJob

I wonder if I have to create the skilldata/skillefect again for that scroll?

Edit : Yes, the itemdata had to be same as the one of a return scroll, but it teleports me and doesn't do shit, nothing.
12/13/2016 15:11 Xutan*#12
Quote:
Originally Posted by NoIdeaForAName View Post
Thank you for the explanation, I really appreciate members like you. :)

Edit : Now it says "Cannot find target" when I use it X.X

Edit 2 : I made sure the lines from itemdata45000 & RefObjCommon are the same.
The ''Cannot find target'' error is gone but when I press on the scroll, nothing happens.

PHP Code:
if(@Operation 41 and @ItemRefID '41807'
BEGIN  
UPDATE SRO_VT_SHARD
.._CharSkillMastery
SET Level 
'100' where MasteryID =518
END 
This is what I use at _AddTimedJob

I wonder if I have to create the skilldata/skillefect again for that scroll?

Edit : Yes, the itemdata had to be same as the one of a return scroll, but it teleports me and doesn't do shit, nothing.
logdb.._AddLogItem
12/13/2016 15:48 blapanda#13
Yea, have to be at the _AddLogItem PROC @SRO_VT_LOG.

Every item behavior and usage will be channeled through that procedure, if specifically defining an action or event with the respective item (in this case, using the new teleport scroll -> executing a new procedure -> refreshing altered skill tables @'CharID after teleport).
12/13/2016 16:08 NoIdeaForAName#14
Quote:
Originally Posted by Xutan* View Post
logdb.._AddLogItem
Quote:
Originally Posted by blapanda View Post
Yea, have to be at the _AddLogItem PROC @SRO_VT_LOG.

Every item behavior and usage will be channeled through that procedure, if specifically defining an action or event with the respective item (in this case, using the new teleport scroll -> executing a new procedure -> refreshing altered skill tables @'CharID after teleport).
Hello and thank you for the reply.

I have added it at [dbo].[_AddLogItem] (SRO_VT_LOG) and it works flawlessly.

Moreover, I added CharID = @CharID so it will give the respective player the mastery, not every player from the server.
01/08/2017 04:59 GMCreative#15
Quote:
Originally Posted by D3vil Power View Post
:D

Made ur own Scroll ..

ِAdd To _AddLogItem

PHP Code:
IF ((@Operation 41 ) AND (@ItemRefID 61508)) 
BEGIN 
exec SRO_VT_SHARD
.dbo._Scroll_Reset @CharID 
END 
Create New Procedure

PHP Code:
USE [SRO_VT_SHARD
GO 

/****** Object:  StoredProcedure [dbo].[_Scroll_Reset]    Script Date: 2/21/2016 4:06:44 PM ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER OFF 
GO 




CREATE PROCEDURE 
[dbo].[_Scroll_Reset
@
CharID INT 
AS 

BEGIN 

        
declare @TotalSP int  
        
declare @TotalSPMastery int  
        SELECT 
@TotalSP SUM(_RefSkill.ReqLearn_SPFROM _RefSkill_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' 
        
SELECT @TotalSPMastery SUM(_RefLevel.Exp_MFROM _CharSkillMastery_RefLevel WHERE _RefLevel.Lvl=_CharSkillMastery.Level AND _CharSkillMastery.CharID=@CharID AND _CharSkillMastery.Level <= '120'  
        
UPDATE _Char SET RemainSkillPoint=RemainSkillPoint+@TotalSP+@TotalSPMastery+200000 WHERE CharID=@CharID  
        DELETE _CharSkill FROM _RefSkill
_CharSkill WHERE _RefSkill.ID=_CharSkill.SkillID AND _CharSkill.CharID=@CharID AND _RefSkill.ReqCommon_MasteryLevel1 <= '120' AND _RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)  
            
UPDATE _CharSkillMastery SET Level='0' WHERE CharID=@CharID AND Level <= '120'  

END 
Change 120 to your server level ,
Regards,:handsdown:

Perfect