Jump to content

Recommended Posts

Posted

In order to do that edit lin_CreateChar stored procedure, example:

 

USE [lin2world]
GO
/****** Object:  StoredProcedure [dbo].[lin_CreateChar]    Script Date: 2013-05-30 02:04:06 ******/
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  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  

--Here we set starting level to 20
SET @Lev = 20
SET @Exp = 835863

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>5
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

 

This is the part you're interested in:

--Here we set starting level to 20
SET @Lev = 20
SET @Exp = 835863

 

That means the players will start 20lvl.

 

 

Thank you

Posted

If you can't deduce that changing a SQL query named CreateChar that ALSO has xp\level variables - will have some result\effect on character creation you shouldn't be messing with anything L2J or L2Off.

 

Posted

If you can't deduce that changing a SQL query named CreateChar that ALSO has xp\level variables - will have some result\effect on character creation you shouldn't be messing with anything L2J or L2Off.

Exactly, such thing is relative easy, but still not everyone that is "messing" with OFF files knows this.

 

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Only 3 days left and we'll start with some events, you can check our Discord for more info!
    • Tired of frantically switching between windows trying to find that specific Warlock who should be casting saves? Forgot which server you left your Warsmith on? This mod solves these problems! What it does: Turns the boring window title into an information panel: Server Name - Character Name [Class] Real-life examples: - ServerName - HardcoreFarm [Spoilerr] (who's been spoiling for 3 months already) - ServerName - ClericHelper [Buffer] (eternal buffer on standby) - ServerName - MainChar [Gladiator] (main character who's always AFK) Why you need this: For multiboxers - to avoid confusing where the DD is and where the healer is For the forgetful - if your memory is like a goldfish For streamers - viewers immediately see who's on screen For adults - when playing at work and need to quickly hide the window DLL only - no Interface files needed Installation (more complicated than making tea): 1. Download the DLL 2. Drop it into the System folder 3. Launch the client 4. Be amazed how you lived without this before! Purchase Conditions: Price: 100$ Payment Method: USDT. How to Buy: Contact me on Telegram: @kiselevwv for a quick response. I will answer all your questions and provide additional information if needed. I guarantee functionality at the moment of sale and prompt assistance with setup after purchase.
    • I agree, l2damage crap to compare to l2java which was the father of pvp servers and till this days people playing there for good time.
    • 📝 Registration — Account Registration Creating a new player account. Usually includes: login password password confirmation email Result: a new record is created in the accounts table (loginserver). 🔑 Change Password — Password Change The player changes the password knowing the current one. Required: current password new password new password confirmation Result: the password field is updated in the accounts table. ♻️ Password Recovery — Password Reset If the player forgot the password. Implementation only via email: the player enters their login, email the system sends an email with a link or code the player opens the link / enters the code sets a new password Result: the password is updated in the accounts table.   All fields are validated (required, format, length, uniqueness, security checks).   Price: 80$   and i can rewrite script for PTS server.   Contacts:   Telegram Discord
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..