Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Have fun in database

Experienced Elementalist
Joined
Sep 13, 2014
Messages
232
Reaction score
85
[DB] C9World

1. Game.
UspCreatePc

we can set money / level / skill point / add news item for new player


1.1 Set Level

- found
Code:
-- PC 스탯정보 입력

you will see
Code:
            INSERT Game.TblPcStat(cPcNo, cLev, cExp, cMapId)
            VALUES(@pPcNo, @pLev, @pExp, @pMapId)

change @pLev to '20' ( 20 is a level that you want )



1.2 Set Money / Skill point / Tired Rate / Normal Boost

Code:
            -- PC 주요정보 입력
            INSERT Game.TblPcInfo(cPcNo, cMoney, cRsrtCoin, cSkillPoint, cTiredRate, cNormalBst, cPcRoomBst, cPcRoomRsrtCoin, cSurvivalCoin)
            VALUES(@pPcNo, @pMoney, @pDFRsrtCoin, @[I][B][URL="https://forum.ragezone.com/members/2000049360.html"]PSK[/URL][/B][/I]illPoint, @pDFTiredRate, @pDFNormalBst, @pDFPcRoomBst, @pDFPcRoomRsrtCoin, @pDFSurvivalCoin)

@pMoney = Set money here.
@PSKillPoint = Set SP here.
@pDFTiredRate = Set Tired Rate Here.
@pDFNormalBst = Set normal boost here.

example change @pMoney to '5000' that character will get 5000 gold when create character




if want more just copy and past my code again.


1.4 add Point to new character

look at this line
Code:
            -- PC 주요정보 입력
            INSERT Game.TblPcInfo(cPcNo, cMoney, cRsrtCoin, cSkillPoint, cTiredRate, cNormalBst, cPcRoomBst, cPcRoomRsrtCoin, cSurvivalCoin)
            VALUES(@pPcNo, @pMoney, @pDFRsrtCoin, @[I][B][URL="https://forum.ragezone.com/members/2000049360.html"]PSK[/URL][/B][/I]illPoint, @pDFTiredRate, @pDFNormalBst, @pDFPcRoomBst, @pDFPcRoomRsrtCoin, @pDFSurvivalCoin)

insert cWB behind cSurvivalCoin
insert '500' behind @pDFSurvivalCoin ( 500 is you point )


AUTO UPDATE / ADD / ACCEPT GUILD MARK

execute this code
Code:
USE [C9World]
GO
/****** Object:  StoredProcedure [Game].[UspSetGuildMarkState]    Script Date: 12/16/2015 11:02:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/******************************************************************************
**        Name: UspSetGuildMarkState
**        Desc: 길드마크 심의 테이블 등록
**
**        Auth: 채석현
**        Date: 20111024
*******************************************************************************
**        Change History
*******************************************************************************
**        Date:        Author:                Description:
**        --------    --------            ---------------------------------------
*******************************************************************************/
ALTER PROCEDURE [Game].[UspSetGuildMarkState]
    @pGuildNo            BIGINT,
    @pGuildMark            BINARY(4096),
    @pGuildMarkState    TINYINT
AS
    SET NOCOUNT ON            -- 설명 : 결과 레코드 셋을 반환 안 시킨다.
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    
    --- 변수 선언
    DECLARE @[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo INT,
            @aRowCnt INT


    --- 변수 초기화 
    SELECT @[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo = 0, @aRowCnt = 0   -- 한줄에 초기화 
    
    -- 길드 존재하는지 확인
    IF NOT EXISTS (
        SELECT *
        FROM Game.TblGuildBase
        WHERE cGuildNo = @pGuildNo
    )
    BEGIN
        SET @[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo = 1                    -- 존재하지 않는 길드
    END
    ELSE
    BEGIN
        IF EXISTS (
            SELECT *
            FROM Game.TblGuildMarkJudge
            WHERE cGuildNo = @pGuildNo
        )
        BEGIN
            UPDATE Game.TblGuildMarkJudge
            SET cGuildMarkJudge = @pGuildMark, cGuildMarkJudgeState = 3
            WHERE cGuildNo = @pGuildNo




        IF EXISTS (
            SELECT *
            FROM Game.TblGuildMark
            WHERE cGuildNo = @pGuildNo
        )
        BEGIN
            UPDATE Game.TblGuildMark
            SET cGuildMark = @pGuildMark
            WHERE cGuildNo = @pGuildNo
        END
        ELSE
        BEGIN
            INSERT INTO Game.TblGuildMark (cGuildNo, cGuildMark)
            VALUES (@pGuildNo, @pGuildMark)
        END
                    
        END
        -- 아무것도 없는 상태라면
        ELSE
        BEGIN
            INSERT INTO Game.TblGuildMarkJudge (cGuildNo, cGuildMarkJudge, cGuildMarkJudgeState)
            VALUES (@pGuildNo, @pGuildMark, 3)
            
            
        IF EXISTS (
            SELECT *
            FROM Game.TblGuildMark
            WHERE cGuildNo = @pGuildNo
        )
        BEGIN
            UPDATE Game.TblGuildMark
            SET cGuildMark = @pGuildMark
            WHERE cGuildNo = @pGuildNo
        END
        ELSE
        BEGIN
            INSERT INTO Game.TblGuildMark (cGuildNo, cGuildMark)
            VALUES (@pGuildNo, @pGuildMark)
        END
        END


        SELECT @[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo = @@Error, @aRowCnt = @@RowCount
        IF (@aRowCnt <> 1)
            SET @[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo = 3            -- DB오류
    END
    
    RETURN  (@[I][B][URL="https://forum.ragezone.com/members/2000075974.html"]Aer[/URL][/B][/I]rNo)            -- 0이면 성공
 
Last edited:
Junior Spellweaver
Joined
Jul 1, 2007
Messages
159
Reaction score
16
how can i delete entire player info? i mean everything that has to do with 1 acount and 1 character
 
Experienced Elementalist
Joined
Dec 19, 2015
Messages
247
Reaction score
69
i cant execute the guild logo code , its giving me a error on database , help please @xlmansox
 
Put Community First
Loyal Member
Joined
Oct 2, 2014
Messages
1,112
Reaction score
832
If anyone wants to experiment, I've been poking around the C9World DB to see what can be used in a CMS or modified for your characters.

Here's what I've found so far:

cPcNo = global character number
cAccNo = ACCOUNT number

Game.TblItem - All item IDs and stats
Game.TblPcBagInfo - Expanded inventories and their contents (binary).

Game.TblPcBase - CHARACTER DATA - Contains class, hair chosen, etc.

Game.TblPcInfo - CHARACTER DATA - Contains money, fatigue rate, etc.

Game.TblPcEvent - NOTE: I think this is a list of characters participating in events?

Game.TblPcPlayTime - Total time spent playing per character.
NOTE: Has no account check (cAccNo).

Game.TblPcQuest - Current quests per character.
NOTE: Has no account check (cAccNo).

Game.TblPcPersistentEvent - Seems to be persistent events but haven't found where the IDs are yet. Weekly event seems to be ID 351.

Game.TblPcStat - Exp, Artisan level and exp, current map (cMapId), cPosX, cPosY and cPosZ (positions) and current legend and displayed legend (cLegendId and cDisplayLegendId)

Game.TblPcSupItem - cSupMagicItemId (spellstone(ID:1699) etc), cSupMagicItemCnt (quantity), cSupShootItemID (arrow(ID:2272) etc), cSupShootItemCnt (quantity)

Game.TblPcWeek - cBuffType - which daily buff is applied (picks up day of the week, Sunday = 1, Saturday = 7.
 
Experienced Elementalist
Joined
Dec 19, 2015
Messages
247
Reaction score
69
i have the event ids , do u wanna test any of them? and see if it works on Game.TblPcPersistentEvent ?
 
Newbie Spellweaver
Joined
Mar 10, 2016
Messages
8
Reaction score
1
Hello, does anyone has the list of all Legends ID please? or can anyone tell me how to check it? I've been searching all day how to do it but no clue :/ thanks.
 
Junior Spellweaver
Joined
Oct 27, 2015
Messages
164
Reaction score
33
all legend not work. this game 63lvl item and 65lvl player(reabin surv yes) limit... no more no game :F
 
Back
Top