- Katılım
- 10 Nisan 2013
- Mesajlar
- 20,055
Stored Procedures bölümünden CREATE_NEW_CHAR modify edip Execute ediniz.
Sütunları kendi DB 'nizde ki USERDATA tablosuna göre düzenleyiniz. aksi takdirde problemler oluşabilir.
62/1 şeklinde otomatik tüm karakterler master açık şeklinde başlar..
1 level için: Programmability ->Stored procedures ->CREATE_NEW_CHAR proc una giriyorsunuz master_ac 'ın altına eklemeniz yeterli
Sütunları kendi DB 'nizde ki USERDATA tablosuna göre düzenleyiniz. aksi takdirde problemler oluşabilir.
62/1 şeklinde otomatik tüm karakterler master açık şeklinde başlar..
1 level için: Programmability ->Stored procedures ->CREATE_NEW_CHAR proc una giriyorsunuz master_ac 'ın altına eklemeniz yeterli
View hidden content is available for registered users!
Kod:
USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[CREATE_NEW_CHAR] Script Date: 02.12.2024 02:09:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[CREATE_NEW_CHAR]
@strAccountID varchar(21),
@index tinyint,
@strCharID varchar(21),
@bRace tinyint,
@sClass smallint,
@nHair int,
@bFace tinyint,
@bStr tinyint,
@bSta tinyint,
@bDex tinyint,
@bIntel tinyint,
@bCha tinyint
AS
DECLARE @bNation tinyint
DECLARE @bCharCount tinyint
DECLARE @bCount tinyint
DECLARE @simdikiClass smallint
SELECT @bNation = bNation, @bCharCount = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID
IF (@bNation = 1 AND @bRace > 10)
RETURN 2
ELSE IF (@bNation = 2 AND @bRace < 10)
RETURN 2
ELSE IF (@bNation <> 1 AND @bNation <> 2)
RETURN 2
SELECT @bCount = COUNT(strUserID) FROM USERDATA WHERE strUserID = @strCharID
IF (@bCount > 0)
RETURN 3
BEGIN TRAN
IF (@index = 0)
UPDATE ACCOUNT_CHAR SET strCharID1 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
ELSE IF (@index = 1)
UPDATE ACCOUNT_CHAR SET strCharID2 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
ELSE IF (@index = 2)
UPDATE ACCOUNT_CHAR SET strCharID3 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRAN
RETURN 4
END
IF(@sClass = 101)
SET @simdikiClass = 106
ELSE IF(@sClass = 102)
SET @simdikiClass = 108
ELSE IF(@sClass = 202)
SET @simdikiClass = 208
ELSE IF(@sClass = 103)
SET @simdikiClass = 110
ELSE IF(@sClass = 104)
SET @simdikiClass = 112
ELSE IF(@sClass = 201)
SET @simdikiClass = 206
ELSE IF(@sClass = 203)
SET @simdikiClass = 210
ELSE IF(@sClass = 204)
SET @simdikiClass = 212
-- invalid nickname process end
INSERT INTO USERDATA (strUserID, Nation, Race, Class, HairRGB, Face, Strong, Sta, Dex, Intel, Cha,Level,Points,Hp,Mp,strSkill)
VALUES (@strCharID, @bNation, @bRace, @simdikiClass, @nHair, @bFace, @bStr, @bSta, @bDex, @bIntel, @bCha,62,197,5000,5000,'j')
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
RETURN 4
END
COMMIT TRAN
RETURN 0