Hi , somebody knows how make that the new characters start lvl 20? i think that its whit a change in these store procedure Code: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[lin_CreateChar] ( @char_name NVARCHAR(24), @account_name NVARCHAR(24), @account_id INT, @pledge_id INT, @builder TINYINT, @gender TINYINT, @race TINYINT, @class TINYINT, @world SMALLINT, @xloc INT, @yloc INT, @zloc INT, @HP FLOAT, @MP FLOAT, @SP INT, @Exp INT, @Lev TINYINT, @align SMALLINT, @PK INT, @Duel INT, @PKPardon INT, @FaceIndex INT = 0, @HairShapeIndex INT = 0, @HairColorIndex INT = 0 ) AS SET NOCOUNT ON SET @char_name = RTRIM(@char_name) DECLARE @char_id int SET @char_id = 0 IF @char_name LIKE N' ' BEGIN RAISERROR ('Character name has space : name = [%s]', 16, 1, @char_name) RETURN -1 END -- check user_prohibit if exists(select char_name from user_prohibit (nolock) where char_name = @char_name) begin RAISERROR ('Character name is prohibited: name = [%s]', 16, 1, @char_name) RETURN -1 end declare @user_prohibit_word nvarchar(20) select top 1 @user_prohibit_word = words from user_prohibit_word (nolock) where @char_name like '%' + words + '%' if @user_prohibit_word is not null begin RAISERROR ('Character name has prohibited word: name = [%s], word[%s]', 16, 1, @char_name, @user_prohibit_word) RETURN -1 end -- check reserved name declare @reserved_name nvarchar(50) declare @reserved_account_id int select top 1 @reserved_name = char_name, @reserved_account_id = account_id from user_name_reserved (nolock) where used = 0 and char_name = @char_name if not @reserved_name is null begin if not @reserved_account_id = @account_id begin RAISERROR ('Character name is reserved by other player: name = [%s]', 16, 1, @char_name) RETURN -1 end end IF @race>4 BEGIN RAISERROR ('Race overflow : = [%s]', 16, 1, @char_name) RETURN -1 END IF @race=0 and @class!=0 and @class!=10 BEGIN RAISERROR ('Class Overflow for Human: = [%s]', 16, 1, @class) RETURN -1 END IF @race=1 and @class!=18 and @class!=25 BEGIN RAISERROR ('Class Overflow for Elf: = [%s]', 16, 1, @class) RETURN -1 END IF @race=2 and @class!=31 and @class!=38 BEGIN RAISERROR ('Class Overflow for DE: = [%s]', 16, 1, @class) RETURN -1 END IF @race=3 and @class!=44 and @class!=49 BEGIN RAISERROR ('Class Overflow for Orc: = [%s]', 16, 1, @class) RETURN -1 END IF @race=4 and @class!=53 BEGIN RAISERROR ('Class Overflow for Dwarf: = [%s]', 16, 1, @class) RETURN -1 END -- insert user_data INSERT INTO user_data ( char_name, account_name, account_id, pledge_id, builder, gender, race, class, subjob0_class, world, xloc, yloc, zloc, HP, MP, max_hp, max_mp, SP, Exp, Lev, align, PK, PKpardon, duel, create_date, face_index, hair_shape_index, hair_color_index ) VALUES (@char_name, @account_name, @account_id, @pledge_id, @builder, @gender, @race, @class, @class, @world, @xloc, @yloc, @zloc, @HP, @MP, @HP, @MP, @SP, @Exp, @Lev, @align, @PK, @Duel, @PKPardon, GETDATE(), @FaceIndex, @HairShapeIndex, @HairColorIndex) IF (@@error = 0) BEGIN SET @char_id = @@IDENTITY INSERT INTO quest (char_id) VALUES (@char_id) END SELECT @char_id if @char_id > 0 begin -- make user_history exec lin_InsertUserHistory @char_name, @char_id, 1, @account_name, NULL if not @reserved_name is null update user_name_reserved set used = 1 where char_name = @reserved_name end If somebody can help me grettings
INSERT INTO user_data ( char_name, account_name, account_id, pledge_id, builder, gender, race, class, subjob0_class, world, xloc, yloc, zloc, HP, MP, max_hp, max_mp, SP, Exp, Lev, align, PK, PKpardon, duel, create_date, face_index, hair_shape_index, hair_color_index ) VALUES (@char_name, @account_name, @account_id, @pledge_id, @builder, @gender, @race, @class, @class, @world, @xloc, @yloc, @zloc, @HP, @MP, @HP, @MP, @SP, *Xp value for Lvl 20*,20, @align, @PK, @Duel, @PKPardon, GETDATE(), @FaceIndex, @HairShapeIndex, @HairColorIndex)........................................................................................ On the *Xp value for Lvl 20* you need to add the amount of experience that a character lvl 20 must to have (I dont remember exactly how many is, check the xp table, or just a lvl 20 mob and copy the exp value).
You dont need to touch the insert at all, you can just do an update later, i really prefer let things like it is and mod it by ways you can disable it with a simple comment line for example (--) UPDATE user_data SET exp = 835864, lev = 20 WHERE char_id = @char_id