Start Lvl 20 Chars

Discussion in 'Help' started by maxicroma, Sep 19, 2011.

  1. maxicroma

    maxicroma New Member

    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
     
  2. maxicroma

    maxicroma New Member

    bump.............
     
  3. Meow

    Meow New Member

    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).
     
  4. maxicroma

    maxicroma New Member

    It not works :/
     
  5. bartoruiz

    bartoruiz AdvExt64 Customers (GF/GE/HF)

    it does, paste your edited store procedure.
     
  6. FidoW

    FidoW AdvExt64 Customers (IL)

    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