Credits: D0n!
Moin moin,
einige von euch kennen den Bug ja.. Man kann per OllyDBG seinen Charakter nennen wie man will.. z.B [Admin]Geneth oder sonst wie. Den Bug an sich release ich nicht, jedoch den Fix dafür.
1.
[Only registered and activated users can see links. Click Here To Register...]
2.
[Only registered and activated users can see links. Click Here To Register...]
Löscht alles was dort vorhanden ist, und fügt das dort ein:
Und schon ist es gefixt :)
Moin moin,
einige von euch kennen den Bug ja.. Man kann per OllyDBG seinen Charakter nennen wie man will.. z.B [Admin]Geneth oder sonst wie. Den Bug an sich release ich nicht, jedoch den Fix dafür.
1.
[Only registered and activated users can see links. Click Here To Register...]
2.
[Only registered and activated users can see links. Click Here To Register...]
Löscht alles was dort vorhanden ist, und fügt das dort ein:
Code:
USE [Character]
GO
/****** Object: StoredProcedure [dbo].[p_Char_Create] Script Date: 09/27/2017 15:35:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/****** 개체: 저장 프로시저 dbo.p_Char_Create 스크립트 날짜: 2007-03-13 오후 6:25:10 ******/
ALTER PROCEDURE [dbo].[p_Char_Create]
/*
Character Create
2004.6 By CJC
input:
All Args
output:
nCharNo = 1~? 생성된 캐릭의 번호(에러시 = 0 )
= 0 캐릭 생성 에러
= -1 해당 유저의 슬롯에 캐릭이 있음.
= -2 캐릭 외모 기록 에러
= -3 캐릭 옵션 기록 에러
*/
[MENTION=7094823]nuse[/MENTION]rNo int, -- 1 1 ~ ? [MENTION=3476088]ncr[/MENTION]eateWorld tinyint, -- 2 0 ~ ? [MENTION=1267808]nad[/MENTION]minLevel tinyint, -- 3 0=USER, 1~?=GM Level 1~?
[MENTION=1672162]nsL[/MENTION]otNo tinyint, -- 4 0 ~ 5
[MENTION=325240]Sid[/MENTION] nvarchar(40), -- 5
[MENTION=7011834]nRa[/MENTION]ce tinyint, -- 6 0 = Human, 1 = Elf, 2 = Dark elf [MENTION=1440671]Nclass[/MENTION] tinyint, -- 7 1 = Fighter,4 = Cleric, 7 = Archer, 10 = Mage [MENTION=1572698]nGeN[/MENTION]der tinyint, -- 8 0 = Male, 1 = Female
[MENTION=928935]Nhai[/MENTION]rType tinyint, -- 9 0 ~ ?
[MENTION=928935]Nhai[/MENTION]rColor tinyint, -- 10 0 ~ ? [MENTION=1193570]nface[/MENTION]Shape tinyint, -- 11 0 ~ ?
@nCharNo int OUTPUT -- 12
AS
SET NOCOUNT ON
-- 에러코드 일단 세팅
SET @nCharNo = 0
-- 해당유저의 해당슬롯에 캐릭이 있는지 확인
IF EXISTS (SELECT nUserNo FROM tCharacter(NOLOCK) WHERE nUserNo = [MENTION=7094823]nuse[/MENTION]rNo AND nSlotNo = [MENTION=1672162]nsL[/MENTION]otNo AND bDeleted = 0)
BEGIN
SET @nCharNo = -1
RETURN
END
IF EXISTS (SELECT sID FROM tCharacter(NOLOCK) WHERE sID = [MENTION=325240]Sid[/MENTION])
BEGIN
RETURN
END
ELSE
-- 캐릭 생성
BEGIN TRAN
IF EXISTS (SELECT sID FROM tCharacter(NOLOCK) WHERE sID = [MENTION=325240]Sid[/MENTION])
BEGIN
RETURN
END
ELSE
INSERT tCharacter ( nUserNo, nSlotNo, sID, nCreateWorld, nAdminLevel )
VALUES ( [MENTION=7094823]nuse[/MENTION]rNo, [MENTION=1672162]nsL[/MENTION]otNo, [MENTION=325240]Sid[/MENTION], [MENTION=3476088]ncr[/MENTION]eateWorld, [MENTION=1267808]nad[/MENTION]minLevel )
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN
END
SET @nCharNo = @@IDENTITY
-- 캐릭 외모 세팅
INSERT tCharacterShape ( nCharNo, nRace, nClass, nGender, nHairType, nHairColor, nFaceShape )
VALUES ( @nCharNo, [MENTION=7011834]nRa[/MENTION]ce, [MENTION=1440671]Nclass[/MENTION], [MENTION=1572698]nGeN[/MENTION]der, [MENTION=928935]Nhai[/MENTION]rType, [MENTION=928935]Nhai[/MENTION]rColor, [MENTION=1193570]nface[/MENTION]Shape )
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nCharNo = -2
RETURN
END
-- 캐릭 옵션 세팅
INSERT tCharacterOptions ( nCharNo )
VALUES ( @nCharNo )
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
SET @nCharNo = -3
RETURN
END
-- 캐릭 생성 성공
IF PATINDEX('%[^A-Za-z0-9_]%', [MENTION=325240]Sid[/MENTION]) <> 0
BEGIN
ROLLBACK TRAN
SET @nCharNo = -3
RETURN
END
COMMIT TRAN
-- end
Und schon ist es gefixt :)