Merhaba Ko-Cuce şövalyeleri! 
Bugün yabancı bir forumda gezerken bu editörü buldum fakat oradaki konuda, editörün ihtiyaç duyduğu prosedürler falan yoktu. Bu konu altından KnightEditor'u ve gereken her şeyi vereceğim.
Editorden bir kaç resim koymakta fayda var.
Öncelikle prosedürler.
Şimdi de gerekli tablolarımızı ekliyoruz.
Download Link : http://hotfile.com/dl/101523968/3756a41/KnightEditor.zip.html
Bugün yabancı bir forumda gezerken bu editörü buldum fakat oradaki konuda, editörün ihtiyaç duyduğu prosedürler falan yoktu. Bu konu altından KnightEditor'u ve gereken her şeyi vereceğim.
Editorden bir kaç resim koymakta fayda var.
Öncelikle prosedürler.
Kod:
/****** Object: Stored Procedure dbo.UMG_ACCOUNT_INFO_DELETE Script Date: 6/6/2006 6:03:34 PM ******/
-- created by sungyong 2003.11.19
CREATE PROCEDURE UMG_ACCOUNT_INFO_DELETE
@AccountID varchar(20)
AS
declare @nation tinyint
declare @charnum tinyint
declare @charid1 char(21)
declare @charid2 char(21)
declare @charid3 char(21)
SET @charid1 = null
SET @charid2 = null
SET @charid3 = null
SELECT @nation = bNation, @charnum = bCharNum, @charid1 = strCharID1, @charid2 = strCharID2, @charid3=strCharID3
FROM ACCOUNT_CHAR
WHERE strAccountID = @AccountID
IF @@rowcount = 0
BEGIN
RETURN
END
---- ??? ?? ?? ?? -----------------------------------
IF @charid1 is NOT NULL
BEGIN
EXEC UMG_CHAR_DELETE @AccountID, @charid1
END
IF @charid2 is NOT NULL
BEGIN
EXEC UMG_CHAR_DELETE @AccountID, @charid2
END
IF @charid3 is NOT NULL
BEGIN
EXEC UMG_CHAR_DELETE @AccountID, @charid3
END
---- ??? ?? ?? ? -----------------------------------
---- ??, ?????? ??? ?? ?? ?? -----------------------------------
DECLARE @money int, @dwtime int, @strWHdata varchar(1600), @strSerial varchar(1600)
select @money=nMoney, @dwtime=dwTime, @strWHdata=WarehouseData, @strSerial=strSerial
from WAREHOUSE
where strAccountID = @AccountID
if @@rowcount <> 0
begin
INSERT INTO
DELETED_WAREHOUSE ( strAccountID,nMoney,dwTime,WarehouseData,strSerial )
VALUES ( @AccountID, @money, @dwtime, @strWHdata, @strSerial )
DELETE FROM
WAREHOUSE
WHERE strAccountID = @AccountID
end
INSERT INTO
DELETED_ACCOUNT_CHAR ( strAccountID, bNation, bCharNum, strCharID1, strCharID2, strCharID3 )
VALUES ( @AccountID, @nation, @charnum, @charid1, @charid2, @charid3 )
DELETE FROM
ACCOUNT_CHAR
WHERE strAccountID = @AccountID
---- ?????? ??? ?? ?? ? -----------------------------------
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_CHAR_DELETE Script Date: 6/6/2006 6:03:34 PM ******/
-- Scripted by sungyong
-- 2003.11.19
CREATE PROCEDURE UMG_CHAR_DELETE
@AccountID char(21),
@CharID char(21)
AS
DECLARE @Nation tinyint, @Race tinyint, @Class smallint, @HairColor tinyint, @Rank tinyint, @Title tinyint, @Level tinyint, @Exp int, @Loyalty int
DECLARE @Face tinyint, @City tinyint, @Knights smallint, @Fame tinyint, @Hp smallint, @Mp smallint, @Sp smallint, @Strong tinyint, @Sta tinyint, @Dex tinyint
DECLARE @Intel tinyint, @Cha tinyint, @Authority tinyint, @Points tinyint, @Gold int, @Zone tinyint, @Bind smallint, @PX int, @PZ int, @PY int, @strSkill varchar(20), @strItem varchar(400), @strQuest varchar(400)
DECLARE @Members smallint, @sQuestCount smallint
BEGIN TRAN
SELECT @Nation = Nation, @Race = Race, @Class = Class, @HairColor = HairColor, @Rank = Rank, @Title = Title, @Level = [Level], @Exp = [Exp], @Loyalty = Loyalty, @Face = Face, @City = City, @Knights = Knights, @Fame = Fame,
@Hp = Hp, @Mp = Mp, @Sp = Sp, @Strong = Strong, @Sta = Sta, @Dex = Dex, @Intel = Intel, @Cha = Cha, @Authority = Authority, @Points = Points, @Gold = Gold, @Zone = [Zone], @Bind = Bind, @PX = PX, @PZ = PZ, @PY = PY, @strSkill = strSkill, @strItem = strItem, @sQuestCount = sQuestCount, @strQuest = strQuest
FROM USERDATA WHERE strUserId = @CharID
INSERT INTO DELETED_USERDATA (strAccountID, strUserID, Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, strSkill, strItem, sQuestCount, strQuest )
VALUES ( @AccountID, @CharID, @Nation, @Race, @Class, @HairColor, @Rank, @Title, @Level, @Exp, @Loyalty, @Face, @City, @Knights, @Fame, @Hp, @Mp, @Sp, @Strong, @Sta, @Dex, @Intel, @Cha, @Authority, @Points, @Gold, @Zone, @Bind, @PX, @PZ, @PY, @strSkill, @strItem, @sQuestCount, @strQuest )
DELETE FROM USERDATA WHERE strUserId = @CharID
DELETE FROM KNIGHTS_USER WHERE strUserId = @CharID
SELECT @Members=Members FROM KNIGHTS WHERE IDNum = @Knights
IF @Members <= 1
UPDATE KNIGHTS SET Members = 1 WHERE IDNum = @Knights
ELSE
UPDATE KNIGHTS SET Members = Members - 1 WHERE IDNum = @Knights
DELETE FROM USER_SAVED_MAGIC WHERE strCharID = @CharID
COMMIT TRAN
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_EXP_RECOVERY Script Date: 6/6/2006 6:03:34 PM ******/
CREATE PROCEDURE UMG_EXP_RECOVERY
AS
SET NOCOUNT ON
DECLARE @strCharID char(21)
DECLARE @nExp int
DECLARE job1 CURSOR FOR
SELECT strUserID, nExp FROM EXP_RECOVERY
OPEN job1
FETCH NEXT FROM job1
INTO @strCharID, @nExp
WHILE @@fetch_status = 0
BEGIN
DECLARE @nOldExp INT
SELECT @nOldExp = Exp FROM [USERDATA] WHERE [strUserID] = @strCharID
IF @nOldExp > 0
BEGIN
UPDATE USERDATA SET Exp = @nOldExp + @nExp WHERE [strUserID] = @strCharID
END
FETCH NEXT FROM job1
INTO @strCharID, @nExp
END
CLOSE job1
DEALLOCATE job1
SET NOCOUNT OFF
DELETE FROM EXP_RECOVERY
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_LOAD_USER_DATA Script Date: 6/6/2006 6:03:32 PM ******/
/****** ??: ?? ???? dbo.LOAD_USER_DATA ???? ??: 2002-11-14 ?? 11:18:04 ******/
-- modifed by Sungyong 2003.04.29
CREATE PROCEDURE UMG_LOAD_USER_DATA
@id char(21),
@nRet smallint OUTPUT
AS
SET NOCOUNT ON
SELECT Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City, Knights, Fame,
Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, dwTime, strSkill, strItem,strSerial, sQuestCount, strQuest, MannerPoint, LoyaltyMonthly
FROM USERDATA WHERE strUserId = @id
SET @nRet = @@ROWCOUNT
SET NOCOUNT OFF
GO
Kod:
CREATE PROCEDURE [dbo].[UMG_LOGIN]
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
DECLARE @pwd varchar(13), @Authority int
BEGIN
-- <RETRIEVE ACCOUNT DATA>
SELECT @pwd = strPasswd, @Authority = strAuthority FROM TB_USER WHERE strAccountID = @AccountID
-- </RETRIEVE ACCOUNT DATA>
-- <ACCOUNT DOES NOT EXIST>
IF @@ROWCOUNT = 0
BEGIN
SET @nRet = 0
RETURN
END
-- </ACCOUNT DOES NOT EXIST>
-- <NOT A 'GM'> [SET strAuthority TO 0]
IF @Authority <> 0
BEGIN
SET @nRet = 0
RETURN
END
-- </NOT A 'GM'>
-- <EMPTY PASSWORD>
ELSE IF @pwd IS NULL
BEGIN
SET @nRet = 0
RETURN
END
-- </EMPTY PASSWORD>
-- <INVALID PASSWORD>
ELSE IF @pwd <> @Password
BEGIN
SET @nRet = 0
RETURN
END
-- </INVALID PASSWORD>
SET @nRet = 1
END
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_TOOL_CHARACTER_RESTORE Script Date: 6/6/2006 6:03:34 PM ******/
CREATE PROCEDURE UMG_TOOL_CHARACTER_RESTORE
@strAccountID VARCHAR(20),
@strUserID VARCHAR(20),
@index SMALLINT,
@Pos INT,
@nRet SMALLINT OUTPUT
AS
SET NOCOUNT ON
DECLARE @ROW SMALLINT
DECLARE @TEMP VARCHAR(20)
SET @ROW = 0
------------------------------------- ?????? ?? ? ?? -------------------------------------------------------------
SELECT @ROW = COUNT(*) FROM USERDATA WHERE strUserID = @strUserID
IF @ROW > 0
BEGIN
SET @nRet = -1
RETURN
END
SELECT @ROW = COUNT(*) FROM DELETED_USERDATA WHERE strUserID = @strUserID AND strAccountID = @strAccountID
IF @ROW = 0
BEGIN
SET @nRet = -2
RETURN
END
IF @index = 0
BEGIN
SELECT @ROW = bCharNum, @TEMP = strCharID1 FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF @ROW >= 3
BEGIN
SET @nRet = -3
RETURN
END
IF @TEMP IS NOT NULL
BEGIN
SET @nRet = -4
RETURN
END
END
ELSE IF @index = 1
BEGIN
SELECT @ROW = bCharNum, @TEMP = strCharID2 FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF @ROW >= 3
BEGIN
SET @nRet = -3
RETURN
END
IF @TEMP IS NOT NULL
BEGIN
SET @nRet = -4
RETURN
END
END
ELSE IF @index = 2
BEGIN
SELECT @ROW = bCharNum, @TEMP = strCharID3 FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF @ROW >= 3
BEGIN
SET @nRet = -3
RETURN
END
IF @TEMP IS NOT NULL
BEGIN
SET @nRet = -4
RETURN
END
END
ELSE IF @index = 3
BEGIN
SELECT @ROW = bCharNum, @TEMP = strCharID4 FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF @ROW >= 3
BEGIN
SET @nRet = -3
RETURN
END
IF @TEMP IS NOT NULL
BEGIN
SET @nRet = -4
RETURN
END
END
ELSE IF @index = 4
BEGIN
SELECT @ROW = bCharNum, @TEMP = strCharID5 FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF @ROW >= 3
BEGIN
SET @nRet = -3
RETURN
END
IF @TEMP IS NOT NULL
BEGIN
SET @nRet = -4
RETURN
END
END
---------------------------------------------------------------------------------------------------------------------------
DECLARE @Rank tinyint, @Title tinyint, @Level tinyint
DECLARE @Exp int, @Loyalty int
DECLARE @Knights smallint, @Fame tinyint, @Strong tinyint, @Sta tinyint, @Dex tinyint
DECLARE @Intel tinyint, @Cha tinyint, @Points tinyint, @Gold int, @Zone tinyint
DECLARE @strSkill varchar(20), @strItem varchar(400), @strQuest varchar(400)
DECLARE @Nation tinyint, @Race smallint, @Class smallint, @HairColor tinyint, @Face tinyint, @sQuestCount smallint
BEGIN TRAN
-- USERDATA RESTORE
SELECT @Rank = Rank, @Title = Title, @Level = [Level], @Exp = [Exp], @Loyalty = Loyalty,
@Strong = Strong, @Sta = Sta, @Dex = Dex, @Intel = Intel, @Cha = Cha,
@Points = Points, @Gold = Gold,@strSkill = strSkill, @strItem = strItem,
@Nation = Nation, @Race = Race, @Class = Class, @HairColor = HairColor, @Face = Face, @Zone = Zone, @sQuestCount = sQuestCount, @strQuest = strQuest
FROM DELETED_USERDATA WHERE strUserId = @strUserID AND strAccountID = @strAccountID
INSERT INTO USERDATA (strUserID, Nation, Race, Class, HairColor, Rank, Title, [Level], [Exp], Loyalty, Face, City,
Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, [Zone], Bind, PX, PZ, PY, strSkill, strItem, sQuestCount, strQuest )
VALUES (@strUserID , @Nation, @Race, @Class, @HairColor, @Rank, @Title, @Level, @Exp,
@Loyalty, @Face, /*@City*/ 0, /*@Knights*/ 0, /*@Fame*/ 0, /*@Hp*/ 100, /*@Mp*/ 100, /*@Sp*/ 100, @Strong, @Sta, @Dex, @Intel, @Cha,
/*@Authority*/ 1, @Points, @Gold, @Zone, /*@Bind*/ -1, /*@PX*/ 500, /*@PZ*/ 500, /*@PY*/ 0, @strSkill, @strItem, @sQuestCount, @strQuest )
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet = -5
RETURN
END
-- ACCOUNT_CHAR TABLE UPDATE
IF @index = 0
UPDATE ACCOUNT_CHAR SET strCharID1 = @strUserID, bCharNum = bCharNum + 1 WHERE strAccountID = @strAccountID
ELSE IF @index = 1
UPDATE ACCOUNT_CHAR SET strCharID2 = @strUserID, bCharNum = bCharNum + 1 WHERE strAccountID = @strAccountID
ELSE IF @index = 2
UPDATE ACCOUNT_CHAR SET strCharID3 = @strUserID, bCharNum = bCharNum + 1 WHERE strAccountID = @strAccountID
ELSE IF @index = 3
UPDATE ACCOUNT_CHAR SET strCharID4 = @strUserID, bCharNum = bCharNum + 1 WHERE strAccountID = @strAccountID
ELSE IF @index = 4
UPDATE ACCOUNT_CHAR SET strCharID5 = @strUserID, bCharNum = bCharNum + 1 WHERE strAccountID = @strAccountID
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet = -6
RETURN
END
-- DELETE TABLE
DELETE FROM DELETED_USERDATA WHERE strUserID = @strUserID AND strAccountID = @strAccountID
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nRet = -7
RETURN
END
SET @nRet = 1
COMMIT TRAN
SET NOCOUNT OFF
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_UPDATE_KNIGHTS Script Date: 6/6/2006 6:03:32 PM ******/
-- sungyong 2002.11.14 create
CREATE PROCEDURE UMG_UPDATE_KNIGHTS
@nRet smallint OUTPUT,
@KnightsIndex smallint,
@Members tinyint,
@Points int
AS
DECLARE @Row tinyint
SELECT @Row = COUNT(*) FROM KNIGHTS WHERE IDNum = @KnightsIndex
IF @Row = 0
BEGIN
SET @nRet = 2
RETURN
END
UPDATE KNIGHTS SET Members = @Members, Points = @Points WHERE IDNum = @KnightsIndex
SET @nRet = 1
RETURN
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_UPDATE_USER_DATA Script Date: 6/6/2006 6:03:32 PM ******/
-- Created By Sungyong 2002.12.11
CREATE PROCEDURE UMG_UPDATE_USER_DATA
@id varchar(21),
@strItem varchar(400)
AS
UPDATE USERDATA
Set
strItem = @strItem
WHERE strUserId = @id
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_UPDATE_USER_DATA2 Script Date: 6/6/2006 6:03:32 PM ******/
-- created by sungyong 2004.04.29
CREATE PROCEDURE UMG_UPDATE_USER_DATA2
@id varchar(21),
@Nation tinyint,
@Race tinyint,
@Class smallint,
@HairColor tinyint,
@Rank tinyint,
@Title tinyint,
@Level tinyint,
@Exp int,
@Loyalty int,
@Face tinyint,
@City tinyint,
@Knights smallint,
@Fame tinyint,
@Hp smallint,
@Mp smallint,
@Sp smallint,
@Str tinyint,
@Sta tinyint,
@Dex tinyint,
@Intel tinyint,
@Cha tinyint,
@Authority tinyint,
@Points tinyint,
@Gold int,
@Zone tinyint,
@Bind smallint,
@PX int,
@PZ int,
@PY int,
@dwTime int,
@QuestTotal smallint,
@strSkill varchar(20),
@strItem varchar(400),
@strSerial varchar(400),
@strQuest varchar(400),
@MannerPoint int,
@LoyaltyMonthly int
AS
UPDATE USERDATA
Set
Nation = @Nation,
Race = @Race,
Class = @Class,
HairColor = @HairColor,
Rank = @Rank,
Title = @Title,
[Level] = @Level,
[Exp] = @Exp,
Loyalty = @Loyalty,
Face = @Face,
City = @City,
Knights = @Knights,
Fame = @Fame,
Hp = @Hp,
Mp = @Mp,
Sp = @Sp,
Strong = @Str,
Sta = @Sta,
Dex = @Dex,
Intel = @Intel,
Cha = @Cha,
Authority = @Authority,
Points = @Points,
Gold = @Gold,
[Zone] = @Zone,
Bind = @Bind,
PX = @PX,
PZ = @PZ,
PY = @PY,
dwTime = @dwTime,
strSkill = @strSkill,
strItem = @strItem,
strSerial = @strSerial, -- 2002 11. 12
sQuestCount = @QuestTotal, -- 2003.04.09
strQuest = @strQuest, -- 2003.04.09
MannerPoint = @MannerPoint, -- 2004.01.30
LoyaltyMonthly = @LoyaltyMonthly -- 2004.04.29
WHERE strUserId = @id
GO
Kod:
/****** Object: Stored Procedure dbo.UMG_UPDATE_WAREHOUSE Script Date: 6/6/2006 6:03:34 PM ******/
-- created by Sungyong 2002.12.11
CREATE PROCEDURE UMG_UPDATE_WAREHOUSE
@accountid varchar(21),
@strItem varchar(1600)
AS
UPDATE WAREHOUSE
Set
WarehouseData = @strItem
WHERE strAccountID = @accountid
GO
Şimdi de gerekli tablolarımızı ekliyoruz.
Kod:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TOOL_USER_IP]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TOOL_USER_IP]
GO
CREATE TABLE [dbo].[TOOL_USER_IP] (
[strUserIP] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[CreateTime] [datetime] NULL DEFAULT (getdate())
) ON [PRIMARY]
GO
Kod:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TOOL_VERSION]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TOOL_VERSION]
GO
CREATE TABLE [dbo].[TOOL_VERSION] (
[sIndex] [int] NOT NULL ,
[sUserTool] [int] NULL
) ON [PRIMARY]
GO
INSERT INTO TOOL_VERSION VALUES(1, 1017)
GO
Download Link : http://hotfile.com/dl/101523968/3756a41/KnightEditor.zip.html
Son düzenleme:
2.000.000 TL ⚔️ Ödüllü MYKOv2 GENESIS | 24 Nisan 2026 ⚔️ Resmi Açılış Başlıyor!