- Joined
- Jul 24, 2011
- Messages
- 806
- Reaction score
- 615
Functions:
- Stat Transfer
- Rune Transfer (and convert to sword and magic)
- Quest Rings transfer
- Additional item transfer
Code:
- Stat Transfer
- Rune Transfer (and convert to sword and magic)
- Quest Rings transfer
- Additional item transfer
Code:
SQL:
/*Preparing variables */
DECLARE @usernum INT = 1
DECLARE @source_char INT = 8
DECLARE @destination_char INT = 9
DECLARE @source_class INT = 1
DECLARE @destination_class INT = 2
DECLARE @additional_stats INT = 0
DECLARE @skiprings INT = 1
DECLARE @skiprunes INT = 1
DECLARE @skipblended INT = 1
DECLARE @merga INT = 1
DECLARE @killian INT = 1
DECLARE @tempus INT = 0
DECLARE @tyrant INT = 1
DECLARE @awatyrant INT = 0
DECLARE @mazel INT = 0
DECLARE @rabbit INT = 0
DECLARE @rarerabbit INT = 0
DECLARE @epicrabbit INT = 0
DECLARE @uniquerabbit INT = 0
DECLARE @fred INT = 0
DECLARE @troll INT = 0
DECLARE @dragon INT = 0
/* ClassList */
/*
1 = Warrior
2 = Blader
3 = Wizard
4 = Force Archer
5 = Force Shielder
6 = Force Blader
*/
DECLARE @des_str INT
DECLARE @des_dex INT
DECLARE @des_int INT
/*Setting Destination character base stats*/
IF(@source_class = 1)
BEGIN
SET @des_str = 1100
SET @des_int = 100
SET @des_dex = 300
END
ELSE IF(@source_class = 2)
BEGIN
SET @des_str = 700
SET @des_int = 100
SET @des_dex = 700
END
ELSE IF(@source_class = 3)
BEGIN
SET @des_str = 200
SET @des_int = 1000
SET @des_dex = 300
END
ELSE IF(@source_class = 4)
BEGIN
SET @des_str = 200
SET @des_int = 1000
SET @des_dex = 300
END
ELSE IF(@source_class = 5)
BEGIN
SET @des_str = 900
SET @des_int = 300
SET @des_dex = 300
END
ELSE IF(@source_class = 6)
BEGIN
SET @des_str = 300
SET @des_int = 300
SET @des_dex = 900
END
/*Base Sets*/
DECLARE @level INT = 200
DECLARE @map INT = 1052671
DECLARE @warp INT = 1052671
DECLARE @res_pnt INT
DECLARE @des_pnt INT
DECLARE @add_pnt INT
/*Selecting Source Data*/
SELECT @res_pnt=STR+DEX+INT+PNT FROM Server01.dbo.cabal_character_table WHERE CharacterIdx=@source_char
SELECT @des_pnt=STR+DEX+INT+PNT FROM Server01.dbo.cabal_character_table WHERE CharacterIdx=@destination_char
SET @add_pnt = @res_pnt - @des_pnt + @additional_stats
/*UPDATE Destination Character*/
UPDATE Server01.dbo.cabal_character_table
SET
PNT = @add_pnt
WHERE
CharacterIdx=@destination_char
/*UPDATE Source Character*/
UPDATE Server01.dbo.cabal_character_table
SET
STR = @des_str
,DEX = @des_dex
,INT = @des_int
,PNT = 0
WHERE
CharacterIdx=@source_char
/*Transfer RUNES*/
/*Setting up the Transfer type Sword/Magic */
DECLARE @sword INT = 0
DECLARE @magic INT = 0
IF (@destination_class = 1 OR @destination_class = 2 OR @destination_class = 5 OR @destination_class = 6)
BEGIN
SET @sword = 1
END
IF (@destination_class = 3 OR @destination_class = 4)
BEGIN
SET @magic = 1
END
/*Transfer ABILITY RUNES*/
IF(@skiprunes = 0)
BEGIN
DECLARE @runes VARBINARY(512) = 0x
SELECT @runes = PassiveAbilityData
FROM Server01.dbo.cabal_soul_ability_table
WHERE CharacterIdx=@source_char
IF(@sword = 1)
BEGIN
set @runes = CAST(REPLACE(@runes,0xA2060000,0xA1060000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0xA9060000,0xA8060000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0x96030000,0x95030000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0x99030000,0x98030000) AS varbinary(512))
END
IF(@magic = 1)
BEGIN
set @runes = CAST(REPLACE(@runes,0xA1060000,0xA2060000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0xA8060000,0xA9060000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0x95030000,0x96030000) AS varbinary(512))
set @runes = CAST(REPLACE(@runes,0x98030000,0x99030000) AS varbinary(512))
END
UPDATE Server01.dbo.cabal_soul_ability_table
SET
PassiveAbilityData = @runes
WHERE CharacterIdx=@destination_char
END
/*Transfer BLENDED RUNES */
IF(@skipblended = 0)
BEGIN
DECLARE @blended VARBINARY(256) = 0x
SELECT
@blended = BlendedAbilityData
FROM Server01.dbo.cabal_soul_ability_table
WHERE CharacterIdx=@source_char
/*
IF(@sword = 1)
BEGIN
set @blended = CAST(REPLACE(@blended,0x020700000000000000000000,0xFC0600000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x030700000000000000000000,0xFD0600000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x040700000000000000000000,0xFE0600000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x050700000000000000000000,0xFF0600000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x060700000000000000000000,0x000700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x070700000000000000000000,0x010700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0E0700000000000000000000,0x080700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0F0700000000000000000000,0x090700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x100700000000000000000000,0x0A0700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x110700000000000000000000,0x0B0700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x120700000000000000000000,0x0C0700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x130700000000000000000000,0x0D0700000000000000000000) AS varbinary(256))
END
IF(@magic = 1)
BEGIN
set @blended = CAST(REPLACE(@blended,0xFC0600000000000000000000,0x020700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0xFD0600000000000000000000,0x030700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0xFE0600000000000000000000,0x040700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0xFF0600000000000000000000,0x050700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x000700000000000000000000,0x060700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x010700000000000000000000,0x070700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x080700000000000000000000,0x0E0700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x090700000000000000000000,0x0F0700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0A0700000000000000000000,0x100700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0B0700000000000000000000,0x110700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0C0700000000000000000000,0x120700000000000000000000) AS varbinary(256))
set @blended = CAST(REPLACE(@blended,0x0D0700000000000000000000,0x130700000000000000000000) AS varbinary(256))
END
*/
UPDATE Server01.dbo.cabal_soul_ability_table
SET
BlendedAbilityData = @blended
WHERE CharacterIdx=@destination_char
END
IF(@skiprings = 0)
BEGIN
/*Sending Ring Materials*/
IF(@merga = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526517 , @ItemOpt = 1367, @DurationIdx = 0
END
IF(@killian = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3186 , @ItemOpt = 1435, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 2842 , @ItemOpt = 100000000, @DurationIdx = 0
END
IF(@tempus = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3605 , @ItemOpt = 2114, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3603 , @ItemOpt = 4097, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 639 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@tyrant = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526857 , @ItemOpt = 1427, @DurationIdx = 0
END
IF(@awatyrant = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3606 , @ItemOpt = 2129, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3604 , @ItemOpt = 4098, @DurationIdx = 0
END
IF(@mazel = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3838 , @ItemOpt = 2323, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3904 , @ItemOpt = 2475, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 1216 , @ItemOpt = 0, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 1216 , @ItemOpt = 0, @DurationIdx = 0
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 1216 , @ItemOpt = 0, @DurationIdx = 0
END
END
IF(@rabbit = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526924 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@rarerabbit = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526925 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@epicrabbit = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526926 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@uniquerabbit = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526927 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@fred = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 526832 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@troll = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3734 , @ItemOpt = 0, @DurationIdx = 0
END
IF(@dragon = 1)
BEGIN
EXEC CabalCash.[dbo].[up_AddMyCashItemByItem] @UserNum = @usernum, @TranNo = 0, @ServerIdx = 1, @ItemIdx = 3839 , @ItemOpt = 0, @DurationIdx = 0
END
GO