After server restart, characters log in with a buff / debuff that lasts a lot

Discussion in 'Help' started by Arcia, Jun 11, 2010.

  1. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    That's my problem.

    I'm using Interlude, dVamp extender.

    Each time I restart the server for regular maintenance, some characters log in with a buff / debuff that lasts a very, very long time, many days.

    I have to manually dispel them, because some of them for instance log in with a "Shocked!" debuff, preventing them from playing.

    I'd show you the logs, but I don't know which one would be needed.

    Any ideas or suggestions as to where to start looking?

    Thanks in advance.
     
  2. FidoW

    FidoW AdvExt64 Customers (IL)

    Sounds like a mismatch between cached & l2server, problem with buff extension maybe, i see similar problem before while working in coep.
     
  3. Renobizarro

    Renobizarro AdvExt64 Customers (IL)

    that happens too when server date is changed.
     
  4. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    The Cached, NPC and Server versions are the same, in the same pack.

    And no, I'm not changing the server's date.

    Only some users appear with the problem, around 20, and it's always the same characters.
     
  5. Renobizarro

    Renobizarro AdvExt64 Customers (IL)

    check ur cached logs when that players logs in/out
     
  6. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    I've checked the dlls for the Cached, Server and NPC, and even changed them for a previous version, yet no luck.

    Checked the logs of the characters when they log in and out, and there's nothing meaningful or even referring to this problem.

    I'm getting somewhat desperate. It always happens to the same characters (throught char ID?)

    Any more ideas?
     
  7. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    Well, so far I've been "fixing" this by copying a character to a new one. The change in ID keeps the character safe from the problem.

    But new characters are appearing with the bug... and I really don't know what could it be.

    Maybe the problem is in a stored procedure... but which one should I look for?

    Please, any help would be greatly appreciated.
     
  8. Saitx

    Saitx AdvExt64 Customers (IL)

    -Try regenerating your _pch files, (could be same skill ids , or same skill pch ids , are you getting any l2server skill errors ? )
    -and your stored procedure/create_char and there should be some skill ones.
    -also cleanup all buffs and skills (if you are running a highrate and skills are autoget.) user_active_skill table i think.
     
  9. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    Yes, I am getting l2server skill errors sometimes.

    Rate's x5, not auto-get, nothing fathing. Official-like in most things.

    This is my create_char stored procedure:
    Code:
    USE [lin2world]
    GO
    /****** Object:  StoredProcedure [dbo].[lin_CreateChar]    Script Date: 09/20/2010 11:02:25 ******/
    SET ANSI_NULLS ON
    GO
    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  BIGINT,  
    @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  
      
    -- 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
    
    I'll check remaking the pch files, thanks for the heads-up. I though it had no solution. =(
     
  10. Fr3DBr

    Fr3DBr Guest

    this is definatelly your user_ActiveSkill table, you must drop it and re-create it and try seeking for latest layout of this table... then yes after making sure it is correct, you can look the procedures.
     
  11. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    Thanks, I didn't think about dropping and recreating the table.

    Where can I find the latest layout of the table?

    I'm sorry if the question seem noobish, but this is the first time I've faced such a problem.
     
    Last edited: Oct 14, 2010
  12. Jamie2006

    Jamie2006 AdvExt64 Customers (IL)

    I got this one, maybe it helps :p

     
    Last edited: Oct 27, 2010
  13. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    Will try, thanks. I tried deleting my table and then recreating it using my own scripts and the problem persists... will see if this one's different.

    Thanks.
     
  14. Arcia

    Arcia AdvExt64 Customers (GF/GE/HF)

    Nope... it didn't work... =(
     
  15. demo

    demo New Member

    Just delete the skill in the skilldata? Find the skill in the skillname-e.dat on the client side, find the SkillID in the skilldata.txt and delete it or chance the effect.

    it should work;) it's unusual but it will work

    cheers

    Demo