Morning folks, this is my first thread here i guess anyway i hope this will help enough,
If you have looked much for something on internet like, Tools or Queries then suddenly found link has been Removed
or owner himself delete the link or you simple feel lazy to search on every forum something specific,certain
this THREAD will contain most of Queries & Tools Specially made for VSRO and the side-help tools & programs there will be illustrative pictures for every tool and explain the work being done by the tool, we will start with most importantly and so on
Cheers
Evatools 1.0.4
Illustrative image
Link:

Virustotal:

Status:
IP-Input
Illustrative image
Link:

Virustotal:

Status:
GreenBookFixer
Illustrative image
Link:

Virustotal:

Status: Infected
due virustotal scanit may be due the heavy packed.
Simplefw 2.2
Illustrative image
Link:

Virustotal:

Status: Infected
due virustotal scanit may be due the heavy packed also,
VsroNpc English
Illustrative image
Link:

Virustotal:

Status:
vSro - Auto Query Tool v1.3
Illustrative image
Link:

Virustotal:

Status:
KiwiGaurd
Illustrative image
Link:

Virustotal:

Status:
SR_GameServer_srZor
Illustrative image
Link:

Virustotal:

Status: Infected
due virustotal scanit may be due the heavy packed though.
wwwroot [DBConnect]
Illustrative image
Link:

Virustotal: Folder only contains texts
Status: Folder only contains texts
xvi32_254_N_RemoveDumps VSRO V188
Illustrative image
Link:

Virustotal:

Status:
Silkroad Item Editor
Illustrative image
Link:

Virustotal:

Status: Infected
due virustotal scanit may be due the heavy packed also,
Auto Bot Typer [AutoEvent]
Illustrative image
Link:

Virustotal:

Status: I don't think it's infected
due virustotal scan
xFire_Mob_Editor
Illustrative image
Link:

Virustotal:

Status:
Alchemy Ratio Editor
Illustrative image
Link:

Virustotal:

Status:
1 Direct link for all VSRO TOOLS

Making delay for scroll ex: (Global&Reverse)
QUERY TO DISABLE SOME SKILL FOR PVP SERVER OWNERS
Disable academy
send special item to character
Delete an item from (WHOLE GAME)
Change your (NPC PLACE BY CHARNAME)
Disable Elixirs for (PVP SERVERS OWNERS)
Change Mob Spwan with "RegionID"
Find item by Serial By Syloxx
Query:
Procedure:
Execute the procedure:
Result:
Automatic Skill Query by Syloxx
T-SQL:
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"
Query Register Account by Syloxx
Code:
Code:
USE [SRO_VT_SHARD] declare @ID int Declare @CODENAME varchar(128) set @CODENAME = 'ITEM_MALL_REVERSE_RETURN_SCROLL' set @ID = ( Select Link from _refobjcommon where codename128 like @CODENAME) UPDATE _RefObjItem SET Param4='20000', Desc4_128='COOLTIME:0x000000C8' WHERE ID=@ID
QUERY TO DISABLE SOME SKILL FOR PVP SERVER OWNERS
Code:
---Pain Use SRO_VT_SHARD --- Miav Melo Update _RefSkill Set Service = 0 Where Basic_Code Like 'SKILL_EU_WARRIOR_GUARDA_DIVIDE_%' --- --Screens Use SRO_VT_SHARD_Peace --- Miav Melo GO Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_WARRIOR_GUARDA_INTERCEPT_%' Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_WARRIOR_GUARDA_MAGIC_BLOCK_%' Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_WARRIOR_GUARDA_ALL_BLOCK_%' ------- --STR / INT Use SRO_VT_SHARD_Peace --- Miav Melo GO Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_CLERIC_BLESSA_STR_%' Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_CLERIC_BLESSA_INT_%' ------- --PHY / MAG Use SRO_VT_SHARD_Peace --- Miav Melo GO Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_CLERIC_BLESSA_PHYSICAL_%' Update _RefSkill Set Service = 1 Where Basic_Code Like 'SKILL_EU_CLERIC_BLESSA_MAGICAL_%' ------- --RES Use SRO_VT_SHARD --- Miav Melo GO Update _RefSkill Set Service = 0 Where Basic_Code Like 'SKILL_EU_CLERIC_REBIRTHA_GROUP_%' Update _RefSkill Set Service = 0 Where Basic_Code Like 'SKILL_EU_CLERIC_REBIRTHA_SPECIAL_%' --------
Disable academy
Code:
ALTER PROCEDURE [dbo] . [_TRAINING_CAMP_CREATE]
@CreaterID INT
AS
RETURN -2
send special item to character
Code:
--HOW TO USE: --exec _ADD_ITEM_EXTERN 'CharName','ItemsCodeName',Count,OptLvl declare @CharName varchar(64) set @CharName = 'Charname Here' exec _ADD_ITEM_EXTERN @CharName,'ITEM_CODE_HERE',250,0
Delete an item from (WHOLE GAME)
Code:
USE [YOUR SHARD DB HERE] go Exec [Dbo].[_SEEK_N_DESTROY_ITEM] 'ITEM_CODE_HERE'
Change your (NPC PLACE BY CHARNAME)
Code:
USE [YOUR SHARD DB HERE] DECLARE @KINGEDITOR1 VARCHAR (129) DECLARE @CHARNAME VARCHAR (64) SET @KINGEDITOR1 = 'NPC_NAME' ----- Your Npc Name SET @CHARNAME = 'Charname' ----- Charactar name [ where you Want to set npc ] Declare @AS1 int SET @AS1 = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @KINGEDITOR1) Declare @AS2 int SET @AS2 = (SELECT dwTacticsID FROM Tab_RefTactics WHERE dwObjID = @AS1) Declare @AS3 int SET @AS3 = (SELECT dwNestID FROM Tab_RefNest WHERE dwTacticsID = @AS2) Declare @ASpos1 int SET @ASpos1 = (SELECT latestregion FROM _char WHERE charname16 = @CHARNAME) Declare @ASpos2 int SET @ASpos2 = (SELECT posx FROM _char WHERE charname16 = @CHARNAME) Declare @ASpos3 int SET @ASpos3 = (SELECT posy FROM _char WHERE charname16 = @CHARNAME) Declare @ASpos4 int SET @ASpos4 = (SELECT posz FROM _char WHERE charname16 = @CHARNAME) UPDATE Tab_RefNest SET nregiondbid = @ASpos1, flocalposx = @ASpos2, flocalposy = @ASpos3, flocalposz = @ASpos4 WHERE dwnestid = @AS3 and dwtacticsid = @AS2
Disable Elixirs for (PVP SERVERS OWNERS)
Code:
USE [YOUR SHARD DB HERE] GO UPDATE _RefObjItem SET _RefObjItem.Param1 = 0 FROM _RefObjItem AS Items INNER JOIN _RefObjCommon AS Objects ON Items.ID=Objects.Link WHERE Quelle.CodeName128 like 'ELIXIR OR ADVANCED CODE HERE WANT TO DISABLE'
Change Mob Spwan with "RegionID"
Code:
--select *from Tab_RefTactics where dwObjID like '46834' declare @idfrom int = 46834 , @idto int =36165 , @region int =26472 update Tab_RefTactics set dwObjID = @idto where dwTacticsID in ( select dwTacticsID from Tab_RefNest where nRegionDBID= @region and dwTacticsID in ( select dwTacticsID from Tab_RefTactics where dwObjID = @idfrom ) ) /* select *from Tab_RefNest where dwTacticsID like '46834' UPDATE Tab_RefTactics SET dwObjID ='36165' where dwTacticsID like '71046' UPDATE Tab_RefTactics SET dwObjID = '46834' where dwObjID like '36165' selaect *from Tab_RefNest where dwTacticsID like '42020'*/
Find item by Serial By Syloxx
Query:
Code:
USE SRO_VT_SHARD
GO
--//////////FindItemBySerial V1.3 By Syloxx\\\\\\\\\
DECLARE @Serial BIGINT = YOUR_SERIAL_HERE,
@ItemID INT,
@ItemCodeName VARCHAR(128)
SELECT @ItemCodeName = C.CodeName128 ,
@ItemID = I.ID64
FROM _RefObjCommon C
INNER JOIN _Items I
ON C.ID = I.RefItemID
WHERE @Serial = I.Serial64
--###############################################
--##### CHECK IF SERIAL IS VALID #####
--###############################################
IF @ItemID IS NULL OR @ItemID = 0
BEGIN
PRINT 'No item with the specified Serial found!'
END
--###############################################
--##### CHECK IF ITEM IS IN INVENTORY #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID from _Inventory))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Inventory' AS 'Storage',
INV.Slot
FROM _Items IT
INNER JOIN _Inventory INV
ON INV.ItemID = IT.ID64
INNER JOIN _Char C
ON C.CharID = INV.CharID
INNER JOIN _User U
ON U.CharID = C.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
END
--###############################################
--##### CHECK IF ITEM IS IN STORAGE #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _Chest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Storage' AS 'Storage',
SINV.Slot
FROM _Items IT
INNER JOIN _Chest SINV
ON SINV.ItemID = IT.ID64
INNER JOIN _User U
ON U.UserJID = SINV.UserJID
INNER JOIN _Char C
ON C.CharID = U.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
END
--###############################################
--##### CHECK IF ITEM IS IN PET #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _InvCOS))
BEGIN
DECLARE @COSSerial BIGINT,
@COSItemID INT,
@COSCodeName VARCHAR(128)
SELECT CCOS.ID AS 'COSID',
ROC.CodeName128 AS 'COS CodeName',
CCOS.CharName AS 'COS Name',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'COS Inventory' AS 'Storage',
CINV.Slot
FROM _Items IT
INNER JOIN _InvCOS CINV
ON CINV.ItemID = IT.ID64
INNER JOIN _CharCOS CCOS
ON CCOS.ID = CINV.COSID
INNER JOIN _Items COSIT
ON COSIT.Data = CCOS.ID
INNER JOIN _RefObjCommon ROC
ON ROC.ID = COSIT.RefItemID
WHERE IT.Serial64 = @Serial
AND ROC.TypeID2=2
AND ROC.TypeID3=1
AND ROC.TypeID4=2
SELECT @COSSerial = COSIT.Serial64,
@COSItemID = COSIT.ID64,
@COSCodeName = ROC.CodeName128
FROM _Items IT
INNER JOIN _InvCOS CINV
ON CINV.ItemID = IT.ID64
INNER JOIN _CharCOS CCOS
ON CCOS.ID = CINV.COSID
INNER JOIN _Items COSIT
ON COSIT.Data = CCOS.ID
INNER JOIN _RefObjCommon ROC
ON ROC.ID = COSIT.RefItemID
WHERE IT.Serial64 = @Serial
AND ROC.TypeID2=2
AND ROC.TypeID3=1
AND ROC.TypeID4=2
--##############################################
--##### CHECK IF PET IS IN INVENTORY #####
--##############################################
IF (@COSItemID IN (SELECT ItemID from _Inventory))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Inventory' AS 'Storage',
INV.Slot
FROM _Items IT
INNER JOIN _Inventory INV
ON INV.ItemID = IT.ID64
INNER JOIN _Char C
ON C.CharID = INV.CharID
INNER JOIN _User U
ON U.CharID = C.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
END
--##############################################
--##### CHECK IF PET IS IN STORAGE #####
--##############################################
ELSE IF (@COSItemID IN (SELECT ItemID FROM _Chest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Storage' AS 'Storage',
SINV.Slot
FROM _Items IT
INNER JOIN _Chest SINV
ON SINV.ItemID = IT.ID64
INNER JOIN _User U
ON U.UserJID = SINV.UserJID
INNER JOIN _Char C
ON C.CharID = U.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
END
--##############################################
--##### CHECK IF PET IS IN GUILD STORAGE #####
--##############################################
ELSE IF (@COSItemID IN (SELECT ItemID FROM _GuildChest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
GM.CharID,
GM.CharName AS 'GuildMaster',
G.ID AS 'GuildID',
G.Name AS 'GuildName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Guild Storage' AS 'Storage',
GINV.Slot
FROM _Items IT
INNER JOIN _GuildChest GINV
ON GINV.ItemID = IT.ID64
INNER JOIN _Guild G
ON G.ID = GINV.GuildID
INNER JOIN _GuildMember GM
ON GM.GuildID = G.ID
INNER JOIN _User U
ON U.CharID = GM.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
AND GM.MemberClass = 0
END
END
--###############################################
--##### CHECK IF ITEM IS IN GUILD STORAGE #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _GuildChest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
GM.CharID,
GM.CharName AS 'GuildMaster',
G.ID AS 'GuildID',
G.Name AS 'GuildName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Guild Storage' AS 'Storage',
GINV.Slot
FROM _Items IT
INNER JOIN _GuildChest GINV
ON GINV.ItemID = IT.ID64
INNER JOIN _Guild G
ON G.ID = GINV.GuildID
INNER JOIN _GuildMember GM
ON GM.GuildID = G.ID
INNER JOIN _User U
ON U.CharID = GM.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
AND GM.MemberClass = 0
END
Code:
USE SRO_VT_SHARD
GO
CREATE PROCEDURE _FindItemBySerial
@Serial BIGINT
AS
--//////////FindItemBySerial V1.3 By Syloxx\\\\\\\\\
DECLARE @ItemID INT,
@ItemCodeName VARCHAR(128)
SELECT @ItemCodeName = C.CodeName128 ,
@ItemID = I.ID64
FROM _RefObjCommon C
INNER JOIN _Items I
ON C.ID = I.RefItemID
WHERE @Serial = I.Serial64
--###############################################
--##### CHECK IF SERIAL IS VALID #####
--###############################################
IF @ItemID IS NULL OR @ItemID = 0
BEGIN
PRINT 'No item with the specified Serial found!'
END
--###############################################
--##### CHECK IF ITEM IS IN INVENTORY #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID from _Inventory))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Inventory' AS 'Storage',
INV.Slot
FROM _Items IT
INNER JOIN _Inventory INV
ON INV.ItemID = IT.ID64
INNER JOIN _Char C
ON C.CharID = INV.CharID
INNER JOIN _User U
ON U.CharID = C.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
END
--###############################################
--##### CHECK IF ITEM IS IN STORAGE #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _Chest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Storage' AS 'Storage',
SINV.Slot
FROM _Items IT
INNER JOIN _Chest SINV
ON SINV.ItemID = IT.ID64
INNER JOIN _User U
ON U.UserJID = SINV.UserJID
INNER JOIN _Char C
ON C.CharID = U.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
END
--###############################################
--##### CHECK IF ITEM IS IN PET #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _InvCOS))
BEGIN
DECLARE @COSSerial BIGINT,
@COSItemID INT,
@COSCodeName VARCHAR(128)
SELECT CCOS.ID AS 'COSID',
ROC.CodeName128 AS 'COS CodeName',
CCOS.CharName AS 'COS Name',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'COS Inventory' AS 'Storage',
CINV.Slot
FROM _Items IT
INNER JOIN _InvCOS CINV
ON CINV.ItemID = IT.ID64
INNER JOIN _CharCOS CCOS
ON CCOS.ID = CINV.COSID
INNER JOIN _Items COSIT
ON COSIT.Data = CCOS.ID
INNER JOIN _RefObjCommon ROC
ON ROC.ID = COSIT.RefItemID
WHERE IT.Serial64 = @Serial
AND ROC.TypeID2=2
AND ROC.TypeID3=1
AND ROC.TypeID4=2
SELECT @COSSerial = COSIT.Serial64,
@COSItemID = COSIT.ID64,
@COSCodeName = ROC.CodeName128
FROM _Items IT
INNER JOIN _InvCOS CINV
ON CINV.ItemID = IT.ID64
INNER JOIN _CharCOS CCOS
ON CCOS.ID = CINV.COSID
INNER JOIN _Items COSIT
ON COSIT.Data = CCOS.ID
INNER JOIN _RefObjCommon ROC
ON ROC.ID = COSIT.RefItemID
WHERE IT.Serial64 = @Serial
AND ROC.TypeID2=2
AND ROC.TypeID3=1
AND ROC.TypeID4=2
--##############################################
--##### CHECK IF PET IS IN INVENTORY #####
--##############################################
IF (@COSItemID IN (SELECT ItemID from _Inventory))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Inventory' AS 'Storage',
INV.Slot
FROM _Items IT
INNER JOIN _Inventory INV
ON INV.ItemID = IT.ID64
INNER JOIN _Char C
ON C.CharID = INV.CharID
INNER JOIN _User U
ON U.CharID = C.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
END
--##############################################
--##### CHECK IF PET IS IN STORAGE #####
--##############################################
ELSE IF (@COSItemID IN (SELECT ItemID FROM _Chest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
C.CharID,
C.CharName16 AS 'CharName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Storage' AS 'Storage',
SINV.Slot
FROM _Items IT
INNER JOIN _Chest SINV
ON SINV.ItemID = IT.ID64
INNER JOIN _User U
ON U.UserJID = SINV.UserJID
INNER JOIN _Char C
ON C.CharID = U.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
END
--##############################################
--##### CHECK IF PET IS IN GUILD STORAGE #####
--##############################################
ELSE IF (@COSItemID IN (SELECT ItemID FROM _GuildChest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
GM.CharID,
GM.CharName AS 'GuildMaster',
G.ID AS 'GuildID',
G.Name AS 'GuildName',
@COSCodeName AS 'COS CodeName',
IT.OptLevel,
'Guild Storage' AS 'Storage',
GINV.Slot
FROM _Items IT
INNER JOIN _GuildChest GINV
ON GINV.ItemID = IT.ID64
INNER JOIN _Guild G
ON G.ID = GINV.GuildID
INNER JOIN _GuildMember GM
ON GM.GuildID = G.ID
INNER JOIN _User U
ON U.CharID = GM.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @COSSerial
AND GM.MemberClass = 0
END
END
--###############################################
--##### CHECK IF ITEM IS IN GUILD STORAGE #####
--###############################################
ELSE IF (@ItemID IN (SELECT ItemID FROM _GuildChest))
BEGIN
SELECT TBU.JID AS 'UserJID',
TBU.StrUserID AS 'UserName',
GM.CharID,
GM.CharName AS 'GuildMaster',
G.ID AS 'GuildID',
G.Name AS 'GuildName',
@ItemCodeName AS 'Item CodeName',
IT.OptLevel,
'Guild Storage' AS 'Storage',
GINV.Slot
FROM _Items IT
INNER JOIN _GuildChest GINV
ON GINV.ItemID = IT.ID64
INNER JOIN _Guild G
ON G.ID = GINV.GuildID
INNER JOIN _GuildMember GM
ON GM.GuildID = G.ID
INNER JOIN _User U
ON U.CharID = GM.CharID
INNER JOIN SRO_VT_ACCOUNT..TB_User TBU
ON TBU.JID = U.UserJID
WHERE IT.Serial64 = @Serial
AND GM.MemberClass = 0
END
Code:
USE SRO_VT_SHARD GO exec _FindItemBySerial YOUR_SERIAL_HERE
Automatic Skill Query by Syloxx
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
Code:
USE SRO_VT_SHARD DECLARE @intReturnValue int EXEC @intReturnValue = _UPDATE_CHARSKILLS Charname SELECT @intReturnValue AS ReturnValue
-Add the Procedure to your Database.
-Insert the T-SQL content to a "New Query".
-Replace Charname with your Charname and click on "Execute"
Query Register Account by Syloxx
Code:
Code:
DECLARE @Username VARCHAR(16) = 'Username' --enter username
, @Password VARCHAR(16) = 'Password' --enter password
, @GM BIT = 0 --0 = normal user, 1 = GM
, @MD5 VARCHAR(32)
, @NewJID INT
/**_# get MD5 hash of password*/
SET @MD5 = CONVERT(VARCHAR(32), HashBytes('MD5', @Password) ,2)
/**_# insert user into user table*/
INSERT TB_User (StrUserID, [password], sec_primary, sec_content)
VALUES (@Username, @MD5, CASE WHEN @GM = 1 THEN 1 ELSE 3 END, CASE WHEN @GM = 1 THEN 1 ELSE 3 END)
/**_# get JID of the new user*/
SET @NewJID = SCOPE_IDENTITY()
/**_# insert user into silk table*/
INSERT INTO SK_Silk
VALUES (@NewJID, 0, 0, 0)
Quote:
Queries Section will be updating even more when i got more time






