20xx 21xx Otomatik Master Açma - Başlangıç Level Ayarlama (Oto Skill - Stat)

Aspava

PvP-Gaming
Üye
16 Haz 2018
139
115
43
Awards
1
41
Bursa
tekport.net
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.




Kod:
update userdata set [Level] = '1' ,[strSkill] = '', [Points] = '',[bLevelRebirth] ='' where strUserID = @strCharID






Kod:
USE [kn_online]
GO
/****** Object: StoredProcedure [dbo].[CREATE_NEW_CHAR] Script Date: 02.12.2017 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
 
Moderatör tarafında düzenlendi:
  • Like
Tepkiler: DaTaTr