USE [PS_GameData]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER Proc [dbo].[usp_Create_Char_R]
@ServerID tinyint,
@
[Only registered and activated users can see links. Click Here To Register...] varchar(12),
@
[Only registered and activated users can see links. Click Here To Register...]ID int,
@CharName varchar(50) ,
@Slot Tinyint,
@Family Tinyint,
@Grow Tinyint,
@Hair Tinyint,
@Face Tinyint,
@Size Tinyint,
@Job Tinyint,
@Sex Tinyint,
@Level Smallint,
@
[Only registered and activated users can see links. Click Here To Register...]point Smallint,
@Skillpoint Smallint,
@
[Only registered and activated users can see links. Click Here To Register...] Smallint,
@Dex Smallint,
@Rec Smallint,
@Int Smallint,
@Luc Smallint,
@
[Only registered and activated users can see links. Click Here To Register...] Smallint,
@Hp Smallint,
@Mp Smallint,
@Sp Smallint,
@Map Smallint,
@Dir Smallint,
@Exp Int,
@Money Int,
@Posx Real,
@Posy Real,
@Posz Real,
@Hg Smallint,
@Vg Smallint,
@Cg Tinyint,
@Og Tinyint,
@Ig Tinyint,
/* 여기까지 인자값 주어져야 함 */
/* SP 내부 참조용 변수 */
@CharID int = 0,
@NameCnt tinyint = 0
AS
SET NOCOUNT ON
DECLARE @Ret int
IF @Grow = 0 -- Easy mode
BEGIN
SET @Grow = 3
SET @Level = 15
SET @
[Only registered and activated users can see links. Click Here To Register...]Point = 126
SET @SkillPoint = 9999
SET @money = 2000000
IF @Job = 0
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 28
END
ELSE IF @Job = 1
BEGIN
SET @rec = 26
END
ELSE IF @Job = 2
BEGIN
SET @dex = 33
END
ELSE IF @Job = 3
BEGIN
SET @luc = 27
END
ELSE IF @job = 4
BEGIN
SET @int = 29
END
ELSE IF @job = 5
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 28
END
END
ELSE IF @Grow = 1 -- normal mode
BEGIN
SET @Grow = 3
SET @Level = 30
SET @
[Only registered and activated users can see links. Click Here To Register...]Point = 261
SET @SkillPoint = 9999
SET @money = 2000000
IF @Job = 0
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 43
END
ELSE IF @Job = 1
BEGIN
SET @rec = 41
END
ELSE IF @Job = 2
BEGIN
SET @dex = 48
END
ELSE IF @Job = 3
BEGIN
SET @luc = 42
END
ELSE IF @job = 4
BEGIN
SET @int = 44
END
ELSE IF @job = 5
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 43
END
END
ELSE IF @Grow = 2 -- Hard mode
BEGIN
SET @Grow = 3
SET @Level = 60
SET @
[Only registered and activated users can see links. Click Here To Register...]Point = 531
SET @SkillPoint = 9999
SET @money = 2000000
IF @Job = 0
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 73
END
ELSE IF @Job = 1
BEGIN
SET @rec = 71
END
ELSE IF @Job = 2
BEGIN
SET @dex = 78
END
ELSE IF @Job = 3
BEGIN
SET @luc = 72
END
ELSE IF @job = 4
BEGIN
SET @int = 74
END
ELSE IF @job = 5
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 73
END
END
ELSE IF @Grow = 3 -- Ultimate mode
BEGIN
SET @Grow = 3
SET @Level = 90
SET @
[Only registered and activated users can see links. Click Here To Register...]Point = 810
SET @SkillPoint = 9999
SET @money = 2000000
IF @Job = 0
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 73
END
ELSE IF @Job = 1
BEGIN
SET @rec = 71
END
ELSE IF @Job = 2
BEGIN
SET @dex = 78
END
ELSE IF @Job = 3
BEGIN
SET @luc = 72
END
ELSE IF @job = 4
BEGIN
SET @int = 74
END
ELSE IF @job = 5
BEGIN
SET @
[Only registered and activated users can see links. Click Here To Register...] = 73
END
END
SET @CharName = LTRIM(RTRIM(@CharName))
SET @Ret = 0
SET @NameCnt = (SELECT ISNULL(COUNT(*),0) FROM Chars WHERE CharName=@CharName AND Del=0)
IF(@NameCnt <> 0)
BEGIN
RETURN -2
END
ELSE
BEGIN
IF EXISTS ( SELECT CharID FROM Chars WHERE CharName=@CharName AND Del = 1 AND [Level] >10 AND DeleteDate > DATEADD(dd, -7, GETDATE()) )
BEGIN
RETURN -2
END
SET @Map = 42
SET @PosX = X
SET @PosY = Y
SET @PosZ = Z
BEGIN TRANSACTION
INSERT INTO Chars(ServerID,UserID, UserUID, CharName, Slot, Family, Grow,
Hair, Face, [Size], Job, Sex, [Level], StatPoint, SkillPoint,
[Str], Dex, Rec, [Int], Luc, Wis, HP, MP, SP, Map, Dir, [Exp], [Money],
PosX, PosY, Posz, Hg, Vg, Cg, Og, Ig, RenameCnt, RemainTime)
VALUES(@ServerID @
[Only registered and activated users can see links. Click Here To Register...], @
[Only registered and activated users can see links. Click Here To Register...]ID, @CharName, @Slot, @Family, @Grow,
@Hair, @Face, @Size, @Job, @Sex, @Level, @
[Only registered and activated users can see links. Click Here To Register...]Point, @SkillPoint,
@
[Only registered and activated users can see links. Click Here To Register...], @Dex, @Rec, @Int, @Luc, @
[Only registered and activated users can see links. Click Here To Register...], @HP, @MP, @SP, @Map, @Dir, @Exp, @Money,
@PosX, @PosY, @Posz, @Hg, @Vg, @Cg, @Og, @Ig, 0, 0)
IF( @@ERROR=0 )
BEGIN
COMMIT TRANSACTION
END
ELSE
BEGIN
ROLLBACK TRANSACTION
RETURN -1
END
SET @CharID = IDENT_CURRENT('Chars')
END
RETURN @CharID
SET NOCOUNT OFF