[OSO] GATE to Heavens Queries

Joined
Nov 22, 2013
Messages
118
Reaction score
37
Here are queries to Run on Database:
Create_Character:

SQL:
USE [gth_game]
GO
/****** Object:  StoredProcedure [dbo].[OSO_CreateCharacter]    Script Date: 7/21/2024 8:37:15 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[OSO_CreateCharacter]   
    @account_code int,
    @characterID tinyint,
    @userID NVARCHAR(20),
    @serverGroupID tinyint,
    @name NVARCHAR(20),
    @pcClass tinyint,
    @pcJob tinyint,
    @skinPart0 tinyint,
    @skinPart1 tinyint,
    @skinPart2 tinyint,
    @skinPart3 tinyint,
    @rank NVARCHAR(20),
    @rankpoint int,
    @age int,
    @worldIdx tinyint,
    @posX real,
    @posY real,
    @posZ real,
    @angleYaw real,
    @level tinyint,
    @exp bigint,
    @increaseExpRate smallint,
    @selectedGen tinyint,
    @genLevel tinyint,
    @genExp bigint,
    @increaseGenExpRate smallint,
    @genCapability0 int,
    @genCapability1 int,
    @genCapability2 int,
    @genCapability3 int,
    @genCapability4 int,
    @genCapability5 int,
    @genCapability6 int,
    @genCapability7 int,
    @force smallint,
    @soulpower smallint,
    @agility smallint,
    @vitality smallint,
    @bonusStatusPoint smallint,
    @curRA real,
    @curSA real,
    @curChargeNSE int,
    @curChargeSE int,
    @curChargeRA real,
    @curChargeSA real,
    @depotSE int,
    @curWeapon tinyint,
    @bindingIdx smallint,
    @itemNumber tinyint
AS
BEGIN
    
    declare @r int
            ,@cha_code bigint           
            ,@error int           
            ,@count int
    select @cha_code=max(cha_code) + 1 from tbl_game
        exec @r = usp_select_next_cha_code    @cha_code output
        select @count = count(cha_code)
        from tbl_game
        where cha_code = @cha_code
        if (@count > 0)
            set @error = 2
    


    INSERT INTO tbl_game(
        cha_code, account_code, characterID, userID, serverGroupID, name, pcClass, pcJob,
        skinPart0, skinPart1, skinPart2, skinPart3, rank, rankpoint, age, worldIdx,
        posX, posY, posZ, angleYaw, level, exp, increaseExpRate, selectedGen, genLevel,
        genExp, increaseGenExpRate, genCapability0, genCapability1, genCapability2, genCapability3,
        genCapability4, genCapability5, genCapability6, genCapability7, force, soulpower,
        agility, vitality, bonusStatusPoint, curRA, curSA, curChargeNSE, curChargeSE,
        curChargeRA, curChargeSA, depotSE, curWeapon, bindingIdx, itemNumber)
    VALUES (
        @cha_code, @account_code, @characterID, @userID, @serverGroupID, @name, @pcClass, @pcJob,
        @skinPart0, @skinPart1, @skinPart2, @skinPart3, @rank, @rankpoint, @age, @worldIdx,
        @posX, @posY, @posZ, @angleYaw, @level, @exp, @increaseExpRate, @selectedGen, @genLevel,
        @genExp, @increaseGenExpRate, @genCapability0, @genCapability1, @genCapability2, @genCapability3,
        @genCapability4, @genCapability5, @genCapability6, @genCapability7, @force, @soulpower,
        @agility, @vitality, @bonusStatusPoint, @curRA, @curSA, @curChargeNSE, @curChargeSE,
        @curChargeRA, @curChargeSA, @depotSE, @curWeapon, @bindingIdx, @itemNumber);


        if @pcClass = 0           
                INSERT INTO tbl_skill ( cha_code, userID,  serverGroupID, characterID, tableIdx00, tableIdx01, level00, level01)
                VALUES (@cha_code, @userID, @serverGroupID, @characterID, 72, 73, 1, 1)--, @skill_level00)
                if (@@ERROR <> 0 )
                    set @error = 6           
            else if @pcClass = 1
            
                INSERT INTO tbl_skill ( cha_code, userID,  serverGroupID, characterID, tableIdx00, tableIdx01, level00, level01)
                VALUES (@cha_code, @userID, @serverGroupID, @characterID, 74, 75, 256, 256)--, @skill_level00)
                if (@@ERROR <> 0 )
                    set @error = 6
            
            else if @pcClass = 2
            
                INSERT INTO tbl_skill ( cha_code, userID,  serverGroupID, characterID, tableIdx00, tableIdx01, level00, level01)
                VALUES (@cha_code, @userID, @serverGroupID, @characterID, 10, 76, 65536, 65536)--, @skill_level00)
                if (@@ERROR <> 0 )
                    set @error = 6
            
            else if @pcClass = 3
            
                INSERT INTO tbl_skill ( cha_code, userID,  serverGroupID, characterID, tableIdx00, tableIdx01, level00, level01)
                VALUES (@cha_code, @userID, @serverGroupID, @characterID, 77, 78, 16777216, 16777216)--, @skill_level00)
                if (@@ERROR <> 0 )
                    set @error = 6
            

        INSERT INTO tbl_quest ( cha_code, userID, serverGroupID, characterID)
            VALUES ( @cha_code, @userID,@serverGroupID,@characterID )

        INSERT INTO tbl_friend (userID, ServerGroupID, CharacterID, cha_code)
            VALUES ( @userID, @serverGroupID, @CharacterID, @cha_code)

        INSERT INTO    tbl_helper (cha_code, userID, serverGroupID, characterID)
            VALUES (@cha_code, @userID, @serverGroupID, @characterID)


END;

A valid new character
SQL:
USE [gth_game]
GO

DECLARE    @return_value int

EXEC    @return_value = [dbo].[OSO_CreateCharacter]
        @account_code = 2,
        @characterID = 1,
        @userID = N'test2',
        @serverGroupID = 0,
        @name = N'Test2',
        @pcClass = 0,
        @pcJob = 0,
        @skinPart0 = 0,
        @skinPart1 = 0,
        @skinPart2 = 0,
        @skinPart3 = 0,
        @rank = N'High',
        @rankpoint = 0,
        @age = 0,
        @worldIdx = 0,
        @posX = 17639,
        @posY = 16103,
        @posZ = 3264,
        @angleYaw = 180,
        @level = 1,
        @exp = 0,
        @increaseExpRate = 100,
        @selectedGen = 0,
        @genLevel = 1,
        @genExp = 0,
        @increaseGenExpRate = 100,
        @genCapability0 = -1,
        @genCapability1 = -1,
        @genCapability2 = -1,
        @genCapability3 = -1,
        @genCapability4 = -1,
        @genCapability5 = -1,
        @genCapability6 = -1,
        @genCapability7 = -1,
        @force = 20,
        @soulpower = 46,
        @agility = 24,
        @vitality = 22,
        @bonusStatusPoint = 0,
        @curRA = 100,
        @curSA = 100,
        @curChargeNSE = 0,
        @curChargeSE = 1000,
        @curChargeRA = 20,
        @curChargeSA = 20,
        @depotSE = 0,
        @curWeapon = 0,
        @bindingIdx = 15,
        @itemNumber = 0

SELECT    'Return Value' = @return_value

GO
 
Back