LosaDev source snapshot 2019

This commit is contained in:
LosaDev committed 2026-11-07 13:30:45 +07:00
commit c198676e97
20588 files changed
+8812878

No files matched your search

@@ -0,0 +1,66 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_game_get_data] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_game_get_data]
GO
/****** Object: StoredProcedure [dbo].[game_game_get_data] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_game_get_data]
(
@userID varchar(12)
)
As
SET NOCOUNT ON
DECLARE @CURRENTDATE DATETIME
DECLARE @CONNECTDATE DATETIME
SET @CURRENTDATE = GETDATE();
SET @CONNECTDATE = ( SELECT conndate FROM dbo.userGameDB WHERE accountIDX IN ( SELECT accountIDX FROM dbo.userMemberDB WHERE userID = @userID ))
BEGIN
IF( @CURRENTDATE < @CONNECTDATE )
SET @CONNECTDATE = @CURRENTDATE
END
SELECT a.accountIDX, b.userID, b.nickName, a.userState, a.gameMoney
, a.conn_count, @CONNECTDATE, a.userLevel, a.userEXP--, a.relateLevel
, b.eventType, isNull(c.class,0) as 'class', b.joinType, b.regDate, a.regionType
, a.rencpoint, a.renspoint, isNull(c.region,0) as 'region', b.cpType, ISNULL(d.cpID, '') AS 'cpID'
, ISNULL(d.note, '') AS 'cpUNIQ', b.limitType, b.limitDate, a.userFishingLevel, a.userFishingEXP
, a.refillData, a.userExcavationLevel, a.userExcavationEXP, a.userHerocEXP, a.userHerosEXP, a.practice
FROM userGameDB a WITH( NOLOCK )
JOIN userMemberDB b WITH( NOLOCK )
ON a.accountIDX = b.accountIDX
LEFT JOIN userRankingDB c WITH( NOLOCK )
ON a.accountIDX = c.accountIDX
LEFT JOIN userCooperationDB d WITH( NOLOCK )
ON a.accountIDX=d.accountIDX WHERE b.userID = @userID
+123
View File
@@ -0,0 +1,123 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_game_save] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_game_save]
GO
/****** Object: StoredProcedure [dbo].[game_game_save] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_game_save]
(
@accountIDX int
, @userState int
, @gameMoney bigint
, @conn_count int
, @connDate datetime
, @userLevel int
, @userEXP int
, @playTime int
, @regionType int
, @userFishingLevel int
, @userFishingEXP int
, @refillData int
, @userExcavationLevel int
, @userExcavationEXP int
, @init_time int
)
As
SET NOCOUNT ON
IF @userLevel < 50
BEGIN
-- 기존 루틴 그대로
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
END
ELSE
BEGIN
--
IF( EXISTS( SELECT * FROM dbo.userRelativeLevelDB WITH( NOLOCK )
WHERE accountIDX = @accountIDX ) )
BEGIN
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
--, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
UPDATE dbo.userRelativeLevelDB
SET init_time = @init_time
WHERE accountIDX = @accountIDX
END
ELSE
BEGIN
-- 기존 루틴 그대로 : 혹시나 ?
UPDATE dbo.userGameDB
SET gameMoney = @gameMoney
, userState = @userState
, playTime = playTime + Round((@playTime/1000)/60,0)
, conn_count = @conn_count
, userLevel = @userLevel
, userEXP = @userEXP
, userFishingLevel = @userFishingLevel
, userFishingEXP = @userFishingEXP
, regionType = @regionType
, connDate = @connDate
, refillData = @refillData
, userExcavationLevel = @userExcavationLevel
, userExcavationEXP = @userExcavationEXP
, Practice = 0
WHERE accountIDX = @accountIDX
END
END
@@ -0,0 +1,46 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_BlockList] Script Date: 01/11/2018 11:59:29 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_BlockList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_BlockList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_BlockList] Script Date: 01/11/2018 11:59:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_BlockList','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_BlockList
--
--GO
-- =============================================
-- Subject : dbo.game_practice_BlockList
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_BlockList]
@KickID varchar(20)
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT accountIDX FROM LosaGame.dbo.userMemberDB WHERE limitType = 100 AND limitDate > Getdate() - 3 AND userID = @KickID
GO
@@ -0,0 +1,68 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_Init_count] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_practice_Init_count]
GO
/****** Object: StoredProcedure [dbo].[game_practice_Init_count] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_practice_Init_count]
@ACCOUNT_IDX INT,
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_COUNT INT -- 수련장 입장횟수
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT COUNT(*) FROM dbo.userPracticeDB WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX
IF(@@ROWCOUNT = 0)
BEGIN
SELECT -1;
RETURN ;
END
BEGIN TRAN
UPDATE dbo.userPracticeDB
SET PracticeCount = @PRACTICE_COUNT
WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT 1;
RETURN;
GO
@@ -0,0 +1,53 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_list] Script Date: 11/18/2017 17:09:36 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_get_list]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_get_list]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_list] Script Date: 11/18/2017 17:09:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : ÈÆ·ÃÇϱ⠵¥ÀÌÅÍ
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_get_list]
@topn INT,
@ACCOUNT_IDX INT,
@PRACTICE_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT TOP (@topn) practiceIDX, UPD.AccountIDX, UMD.NickName, PracticeTime, UpdateDate
FROM dbo.userPracticeDB AS UPD WITH (READUNCOMMITTED)
JOIN dbo.userMemberDB AS UMD on UPD.AccountIDX = UMD.accountIDX
WHERE UPD.AccountIDX <= @ACCOUNT_IDX AND UMD.limitDate < GETDATE()
ORDER by UPD.AccountIDX DESC
GO
@@ -0,0 +1,44 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_Ranking_list] Script Date: 2017-12-07 오후 6:59:20 ******/
DROP PROCEDURE [dbo].[game_practice_get_my_Ranking_list]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_Ranking_list] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_list
--
--GO
-- =============================================
-- Subject : dbo.game_practice_get_list
-- DBA :
-- DATE : 2014-03-03
-- Description : 훈련하기 데이터
-- =============================================
Create PROCEDURE [dbo].[game_practice_get_my_Ranking_list]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT StartDate, EndDate, PracticeIDX, PracticeRank, PresentType1, Code1, Value1, PresentType2, Code2, Value2, PresentType3, Code3, Value3, PresentType4, Code4, Value4, PresentType5, Code5, Value5
FROM dbo.userPracticeDB_Ranking AS UPR WITH (READUNCOMMITTED)
INNER JOIN dbo.userPracticeDB_Present AS UPP ON UPR.value = UPP.PresentValue
WHERE AccountIDX = @ACCOUNT_IDX
@@ -0,0 +1,50 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_list] Script Date: 2017-12-07 오후 6:59:20 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_get_my_list]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_get_my_list]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_get_my_list] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_get_my_list','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_get_my_list
--
--GO
-- =============================================
-- Subject dbo.game_practice_get_my_list
-- DBA
-- DATE 2014-03-03
-- Description 훈련하기 데이터
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_get_my_list]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT practiceIDX, PracticeGrade, PracticeCount, PracticeTime, PracticeRank
FROM dbo.userPracticeDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX
GO
@@ -0,0 +1,110 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_Reward_Cursor] Script Date: 11/23/2017 12:48:42 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_rank_Reward_Cursor]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_rank_Reward_Cursor]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_Reward_Cursor] Script Date: 11/23/2017 12:48:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_rank_Reward_Cursor','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_rank_Reward_Cursor
--
--GO
-- =============================================
-- Subject : dbo.game_practice_rank_Reward_Cursor
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_rank_Reward_Cursor]
@RankAStart Int, @RankAEnd Int, @RankAType Int, @RankACode Int, @RankAMent Int, @RankAPeriad Int,
@RankBStart Int, @RankBEnd Int, @RankBType Int, @RankBCode Int, @RankBMent Int, @RankBPeriad Int,
@RankCStart Int, @RankCEnd Int, @RankCType Int, @RankCCode Int, @RankCMent Int, @RankCPeriad Int,
@RankDStart Int, @RankDEnd Int, @RankDType Int, @RankDCode Int, @RankDMent Int, @RankDPeriad Int,
@RankDID varchar(20)
AS
BEGIN
/*
SET @RankAStart Int = 1, @RankAEnd Int = 2, @RankAType Int = 3, @RankACode Int = 1000039, @RankAMent Int = 1128, @RankAPeriad Int = 28
SET @RankBStart Int = 3, @RankBEnd Int = 5, @RankBType Int = 3, @RankBCode Int = 1000039, @RankBMent Int = 1128, @RankBPeriad Int = 28
SET @RankCStart Int = 6, @RankCEnd Int = 10, @RankCType Int = 3, @RankCCode Int = 1000039, @RankCMent Int = 1128, @RankCPeriad Int = 28
SET @RankDStart Int = 11, @RankDEnd Int =999999999, @RankDType Int = 3, @RankDCode Int = 1000039, @RankDMent Int = 1128, @RankDPeriad Int = 28
SET @RankDID varchar(20) = 'DeveloperK'
*/
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName=@RankDID
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
DECLARE @AccountIDX INT = 0, @Ranking INT = 0
DECLARE RankingRewardCursor CURSOR FAST_FORWARD FOR
SELECT [AccountIDX], RANK()over(PARTITION BY PracticeIDX ORDER BY PracticeTime, UpdateDate) AS PracticeRank
FROM [LosaGame].[dbo].[userPracticeDB]
OPEN RankingRewardCursor
FETCH NEXT FROM RankingRewardCursor
INTO @AccountIDX, @Ranking
WHILE @@FETCH_STATUS = 0
BEGIN
IF @RankAStart <= @Ranking AND @Ranking <= @RankAEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankAType, @RankACode, 1, 0, 0, @RankAMent, GetDate() + @RankAPeriad, 0, 0
SELECT 1111, @sendIDX, @AccountIDX, @RankAType, @RankACode, 1, 0, 0, @RankAMent, GetDate() + @RankAPeriad, 0, 0
END
ELSE IF @RankBStart <= @Ranking AND @Ranking <= @RankBEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankBType, @RankBCode, 1, 0, 0, @RankBMent, GetDate() + @RankBPeriad, 0, 0
SELECT 2222, @sendIDX, @AccountIDX, @RankBType, @RankBCode, 1, 0, 0, @RankBMent, GetDate() + @RankBPeriad, 0, 0
END
ELSE IF @RankCStart <= @Ranking AND @Ranking <= @RankCEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankCType, @RankCCode, 1, 0, 0, @RankCMent, GetDate() + @RankCPeriad, 0, 0
SELECT 3333, @sendIDX, @AccountIDX, @RankCType, @RankCCode, 1, 0, 0, @RankCMent, GetDate() + @RankCPeriad, 0, 0
END
ELSE IF @RankDStart <= @Ranking AND @Ranking <= @RankDEnd
BEGIN
-- exec game_present_add_idx @sendIDX, @AccountIDX, @RankDType, @RankDCode, 1, 0, 0, @RankDMent, GetDate() + @RankDPeriad, 0, 0
SELECT 4444, @sendIDX, @AccountIDX, @RankDType, @RankDCode, 1, 0, 0, @RankDMent, GetDate() + @RankDPeriad, 0, 0
END
FETCH NEXT FROM RankingRewardCursor INTO @AccountIDX, @Ranking
END
CLOSE RankingRewardCursor
DEALLOCATE RankingRewardCursor
GO
--if OBJECT_ID('userPracticeDB_Backup') is not null
--DROP TABLE [LosaGame].[dbo].[userPracticeDB_Backup]
--SELECT * INTO [LosaGame].[dbo].[userPracticeDB_Backup]
--FROM [LosaGame].[dbo].[userPracticeDB]
--TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB]
END
@@ -0,0 +1,197 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_reward] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_rank_reward]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_rank_reward]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_rank_reward] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_rank_reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_rank_reward
--
--GO
-- =============================================
-- Subject : dbo.game_practice_rank_reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_rank_reward]
@RankAStart Int, @RankAEnd Int, @RankAMent Int, @RankAPeriad Int,
@RankAType01 Int, @RankACode01 Int, @RankACount01 Int,
@RankAType02 Int, @RankACode02 Int, @RankACount02 Int,
@RankAType03 Int, @RankACode03 Int, @RankACount03 Int,
@RankAType04 Int, @RankACode04 Int, @RankACount04 Int,
@RankAType05 Int, @RankACode05 Int, @RankACount05 Int,
@RankBStart Int, @RankBEnd Int, @RankBMent Int, @RankBPeriad Int,
@RankBType01 Int, @RankBCode01 Int, @RankBCount01 Int,
@RankBType02 Int, @RankBCode02 Int, @RankBCount02 Int,
@RankBType03 Int, @RankBCode03 Int, @RankBCount03 Int,
@RankBType04 Int, @RankBCode04 Int, @RankBCount04 Int,
@RankBType05 Int, @RankBCode05 Int, @RankBCount05 Int,
@RankCStart Int, @RankCEnd Int, @RankCMent Int, @RankCPeriad Int,
@RankCType01 Int, @RankCCode01 Int, @RankCCount01 Int,
@RankCType02 Int, @RankCCode02 Int, @RankCCount02 Int,
@RankCType03 Int, @RankCCode03 Int, @RankCCount03 Int,
@RankCType04 Int, @RankCCode04 Int, @RankCCount04 Int,
@RankCType05 Int, @RankCCode05 Int, @RankCCount05 Int,
@RankDStart Int, @RankDEnd Int, @RankDMent Int, @RankDPeriad Int,
@RankDType01 Int, @RankDCode01 Int, @RankDCount01 Int,
@RankDType02 Int, @RankDCode02 Int, @RankDCount02 Int,
@RankDType03 Int, @RankDCode03 Int, @RankDCount03 Int,
@RankDType04 Int, @RankDCode04 Int, @RankDCount04 Int,
@RankDType05 Int, @RankDCode05 Int, @RankDCount05 Int,
@RankDID varchar(20)
AS
BEGIN
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName=@RankDID
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
BEGIN TRAN
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB_Ranking]
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB_Present]
Declare @CurrentDate DateTime
declare @StartDate NVARCHAR(10), @EndDate NVARCHAR(10), @TableDate NVARCHAR(10)
SET @CurrentDate = GetDate()
SET @StartDate = CONVERT(NVARCHAR(10), @CurrentDate - 7, 23)
SET @EndDate = CONVERT(NVARCHAR(10), @CurrentDate, 23)
SET @TableDate = CONVERT(NVARCHAR(10), @CurrentDate , 112)
INSERT INTO [LosaGame].[dbo].[userPracticeDB_Present]
(
PresentValue, PresentType1, Code1 , Value1, PresentType2, Code2 , Value2, PresentType3, Code3 , Value3, PresentType4, Code4 , Value4, PresentType5, Code5 , Value5
)
VALUES
( 1, @RankAType01, @RankACode01, @RankACount01, @RankAType02, @RankACode02, @RankACount02, @RankAType03, @RankACode03, @RankACount03, @RankAType04, @RankACode04, @RankACount04, @RankAType05, @RankACode05, @RankACount05 ),
( 2, @RankBType01, @RankBCode01, @RankBCount01, @RankBType02, @RankBCode02, @RankBCount02, @RankBType03, @RankBCode03, @RankBCount03, @RankBType04, @RankBCode04, @RankBCount04, @RankBType05, @RankBCode05, @RankBCount05 ),
( 3, @RankCType01, @RankCCode01, @RankCCount01, @RankCType02, @RankCCode02, @RankCCount02, @RankCType03, @RankCCode03, @RankCCount03, @RankCType04, @RankCCode04, @RankCCount04, @RankCType05, @RankCCode05, @RankCCount05 ),
( 4, @RankDType01, @RankDCode01, @RankDCount01, @RankDType02, @RankDCode02, @RankDCount02, @RankDType03, @RankDCode03, @RankDCount03, @RankDType04, @RankDCode04, @RankDCount04, @RankDType05, @RankDCode05, @RankDCount05 )
INSERT INTO [LosaGame].[dbo].[userPracticeDB_Ranking]
(
StartDate, EndDate, AccountIDX, PracticeIDX, PracticeRank, sendIDX, value, msgType, limitDate
)
SELECT @StartDate, @EndDate, AccountIDX as AccountIDX, PracticeIDX AS PracticeIDX, PracticeRank AS PracticeRank, @sendIDX AS sendIDX
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN 1
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN 2
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN 3
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN 4
ELSE 0
END AS presentType
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN @RankAMent
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN @RankBMent
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN @RankCMent
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN @RankDMent
END AS msgType
, CASE WHEN @RankAStart <= PracticeRank AND PracticeRank <= @RankAEnd THEN GETDATE() + @RankAPeriad
WHEN @RankBStart <= PracticeRank AND PracticeRank <= @RankBEnd THEN GETDATE() + @RankBPeriad
WHEN @RankCStart <= PracticeRank AND PracticeRank <= @RankCEnd THEN GETDATE() + @RankCPeriad
WHEN @RankDStart <= PracticeRank AND PracticeRank <= @RankDEnd THEN GETDATE() + @RankDPeriad
END AS limitDate
FROM
(
SELECT [AccountIDX], RANK()over(PARTITION BY PracticeIDX ORDER BY PracticeTime, UpdateDate) AS PracticeRank, PracticeIDX, PracticeTime
FROM [LosaGame].[dbo].[userPracticeDB]
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND AccountIDX IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB])
) PracticeDB
IF (@@ROWCOUNT = 0) OR (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
RETURN;
END
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType1, Code1, Value1, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code1 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType2, Code2, Value2, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code2 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType3, Code3, Value3, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code3 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType4, Code4, Value4, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code4 > 0
INSERT INTO dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT sendIDX, AccountIDX, PresentType5, Code5, Value5, 0, 0, msgType, 0, limitDate, @CurrentDate FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue
WHERE Code5 > 0
UPDATE dbo.userGameDB SET practice = 1
--------------------------------------------------------------------
-- 0. 프로시져 시작 할때 userGameDB 백업 하자.
--------------------------------------------------------------------
DECLARE @tblName varchar(256), @sql varchar(256)
SET @tblName = '[Backup].dbo.LosaGame_' + @TableDate + '_userPracticeDB_Ranking'
SET @sql = 'SELECT * INTO ' + @tblName + ' FROM [LosaGame].[dbo].[userPracticeDB_Ranking] AS UPR
INNER JOIN [LosaGame].[dbo].[userPracticeDB_Present] AS UPP ON UPR.value = UPP.PresentValue'
execute (@sql)
DECLARE @tblName1 varchar(256), @sqlo varchar(256)
SET @tblName1 = '[Backup].dbo.LosaGame_' + @TableDate + '_userPracticeDB'
SET @sqlo = 'SELECT * INTO ' + @tblName1 + ' FROM [LosaGame].[dbo].[userPracticeDB]'
execute (@sqlo)
TRUNCATE TABLE [LosaGame].[dbo].[userPracticeDB]
COMMIT TRAN
END
@@ -0,0 +1,80 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_set_data]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_set_data]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_data] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_set_data','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_set_data
--
--GO
-- =============================================
-- Subject : dbo.game_practice_set_data
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_set_data]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_GRADE INT, -- 수련장 등급
@PRACTICE_COUNT INT, -- 수련장 입장횟수
@PRACTICE_TIME INT, -- 수련장 시간
@PRACTICE_RANK INT -- 수련장 랭크
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPracticeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX))
BEGIN
UPDATE dbo.userPracticeDB
SET PracticeGrade = @PRACTICE_GRADE, PracticeCount=@PRACTICE_COUNT
, PracticeTime=@PRACTICE_TIME, PracticeRank=@PRACTICE_RANK
WHERE AccountIDX = @ACCOUNT_IDX
AND PracticeIDX = @PRACTICE_IDX;
END
ELSE
BEGIN
INSERT INTO dbo.userPracticeDB (AccountIDX, PracticeIDX, PracticeCount, PracticeGrade, PracticeTime, PracticeRank, UpdateDate, regDate)
VALUES ( @ACCOUNT_IDX, @PRACTICE_IDX, @PRACTICE_COUNT, @PRACTICE_GRADE, @PRACTICE_TIME, @PRACTICE_RANK, GETDATE(), GETDATE());
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT @nReturn;
RETURN;
@@ -0,0 +1,85 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_Time] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_practice_set_Time]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_practice_set_Time]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_practice_set_Time] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_practice_set_Time','P') IS NOT NULL
--
-- DROP PROC dbo.game_practice_set_Time
--
--GO
-- =============================================
-- Subject : dbo.game_practice_set_Time
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_practice_set_Time]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PRACTICE_IDX INT, -- 연습 인덱스
@PRACTICE_GRADE INT, -- 수련장 등급
@PRACTICE_COUNT INT, -- 수련장 입장횟수
@PRACTICE_TIME INT, -- 수련장 시간
@PRACTICE_RANK INT -- 수련장 랭크
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPracticeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PracticeIDX = @PRACTICE_IDX))
BEGIN
UPDATE dbo.userPracticeDB
SET PracticeGrade = @PRACTICE_GRADE, PracticeCount=@PRACTICE_COUNT
, PracticeTime=@PRACTICE_TIME, PracticeRank=@PRACTICE_RANK
, UpdateDate = GETDATE()
WHERE AccountIDX = @ACCOUNT_IDX
AND PracticeIDX = @PRACTICE_IDX;
END
ELSE
BEGIN
INSERT INTO dbo.userPracticeDB (AccountIDX, PracticeIDX, PracticeCount, PracticeGrade, PracticeTime, PracticeRank, UpdateDate, regDate)
VALUES ( @ACCOUNT_IDX, @PRACTICE_IDX, @PRACTICE_COUNT, @PRACTICE_GRADE, @PRACTICE_TIME, @PRACTICE_RANK, GETDATE(), GETDATE());
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
SELECT -1;
RETURN;
END
COMMIT TRAN
SELECT @nReturn;
RETURN;
GO
+1
View File
@@ -0,0 +1 @@
ALTER TABLE [LosaGame].[dbo].[userGameDB] ADD Practice SMALLINT NOT NULL CONSTRAINT DF_Practice DEFAULT 1;
+54
View File
@@ -0,0 +1,54 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPracticeDB]
GO
/****** Object: Table [dbo].[userPracticeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB](
[AccountIDX] [int] NOT NULL,
[PracticeIDX] [int] NOT NULL,
[PracticeCount] [int] NOT NULL,
[PracticeGrade] [int] NOT NULL,
[PracticeTime] [int] NOT NULL,
[PracticeRank] [int] NOT NULL,
[UpdateDate][datetime] NOT NULL,
[regDate] [datetime] NOT NULL,
CONSTRAINT [PK_userPracticeDB] PRIMARY KEY CLUSTERED
(
[AccountIDX] ASC,
[PracticeIDX] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Pract__4AE30379] DEFAULT ((0)) FOR [PracticeIDX]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Grade__4BD727B2] DEFAULT ((0)) FOR [PracticeGrade]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Count__4BD727B2] DEFAULT ((0)) FOR [PracticeCount]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__time__4BD727B2] DEFAULT ((999999999)) FOR [PracticeTime]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__Rank__4BD727B2] DEFAULT ((99999999)) FOR [PracticeRank]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__UpdateDate__4DBF7024] DEFAULT (getdate()) FOR [UpdateDate]
GO
ALTER TABLE [dbo].[userPracticeDB] ADD CONSTRAINT [DF__userPract__regDa__4DBF7024] DEFAULT (getdate()) FOR [regDate]
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB_Present] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
DROP TABLE [dbo].[userPracticeDB_Present]
GO
/****** Object: Table [dbo].[userPracticeDB_Present] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB_Present]
(
[PresentValue] [int] NOT NULL,
[PresentType1] [int] NOT NULL,
[Code1] [int] NOT NULL,
[Value1] [int] NOT NULL,
[PresentType2] [int] NOT NULL,
[Code2] [int] NOT NULL,
[Value2] [int] NOT NULL,
[PresentType3] [int] NOT NULL,
[Code3] [int] NOT NULL,
[Value3] [int] NOT NULL,
[PresentType4] [int] NOT NULL,
[Code4] [int] NOT NULL,
[Value4] [int] NOT NULL,
[PresentType5] [int] NOT NULL,
[Code5] [int] NOT NULL,
[Value5] [int] NOT NULL,
CONSTRAINT [PK_userPracticeDB_Present] PRIMARY KEY CLUSTERED
(
[PresentValue] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
@@ -0,0 +1,36 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPracticeDB_Ranking] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
DROP TABLE [dbo].[userPracticeDB_Ranking]
GO
/****** Object: Table [dbo].[userPracticeDB_Ranking] Script Date: 2017-12-19 ¿ÀÀü 10:16:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPracticeDB_Ranking]
(
[StartDate] [NVARCHAR](10) NOT NULL,
[EndDate] [NVARCHAR](10) NOT NULL,
[AccountIDX] [int] NOT NULL,
[PracticeIDX] [int] NOT NULL CONSTRAINT [DF__userPractRanking__Pract__4AE30379] DEFAULT ((0)),
[PracticeRank] [int] NOT NULL CONSTRAINT [DF__userPractRanking__Rank__4BD727B2] DEFAULT ((999999999)),
[sendIDX] [int] NOT NULL,
[value] [int] NOT NULL,
[msgType] [int] NULL,
[limitDate] [datetime] NULL,
) ON [PRIMARY]
GO
/****** Object: Index [NCI_T_World_Enthrone_WorldID] Script Date: 2017-06-16 ¿ÀÈÄ 3:55:17 ******/
CREATE NONCLUSTERED INDEX [NCI_userPracticeDB_Ranking] ON [dbo].[userPracticeDB_Ranking]
(
[AccountIDX] ASC,
[PracticeIDX] ASC
)
+69
View File
@@ -0,0 +1,69 @@
USE [msdb]
GO
/****** Object: Job [05:00_game_pcbang_playtime] Script Date: 01/20/2018 11:54:28 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 01/20/2018 11:54:28 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'05:00_game_pcbang_playtime',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'하루전 PC방 플레이시간과 참여유저수에 따른 보너스 캐쉬 지급',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'lstggame', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [하루전 PC방플레이 캐쉬지급] Script Date: 01/20/2018 11:54:28 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'하루전 PC방플레이 캐쉬지급',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'EXEC game_PCBangPlayTime_Reward',
@database_name=N'LosaGame',
@flags=4
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'PC방 플레이실행',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20180124,
@active_end_date=99991231,
@active_start_time=50000,
@active_end_time=235959,
@schedule_uid=N'53272898-f46a-4e97-8cfe-c19ffa90cec6'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
@@ -0,0 +1,76 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_ADD] Script Date: 11/08/2017 10:09:35 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_ADD]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_ADD]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_ADD] Script Date: 11/08/2017 10:09:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_ADD','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_ADD
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_ADD
-- DBA :
-- DATE : 2015-06-17
-- Description : PCBang 플레이 타임
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_ADD]
@ACCOUNT_IDX INT, -- 유저 인덱스
@PCBangIndex INT -- PC방 인덱스
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @nReturn INT
SET @nReturn=0 -- True
declare @CurrentDate NVARCHAR(10)
SET @CurrentDate = CONVERT(NVARCHAR(10), GetDate(), 112)
BEGIN TRAN
IF (EXISTS(SELECT * FROM dbo.userPCBangPlayTimeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX ANd PCBangDate = @CurrentDate))
BEGIN
IF (EXISTS(SELECT * FROM dbo.userPCBangPlayTimeDB WITH (NOLOCK) WHERE AccountIDX = @ACCOUNT_IDX AND PCBangIndex = @PCBangIndex ANd PCBangDate = @CurrentDate))
BEGIN
UPDATE dbo.userPCBangPlayTimeDB
SET PCBangPlayTime = PCBangPlayTime + 1
WHERE AccountIDX = @ACCOUNT_IDX AND PCBangIndex = @PCBangIndex ANd PCBangDate = @CurrentDate
END
END
ELSE
BEGIN
INSERT INTO dbo.userPCBangPlayTimeDB (AccountIDX, PCBangIndex, PCBangDate, PCBangPlayTime)
VALUES ( @ACCOUNT_IDX, @PCBangIndex, @CurrentDate, 1);
END
IF (@@ROWCOUNT = 0) or (@@ERROR <> 0)
BEGIN
SELECT -1;
ROLLBACK TRAN
RETURN;
END
COMMIT TRAN
SELECT 1;
RETURN;
@@ -0,0 +1,57 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_My_RewardList] Script Date: 01/18/2018 12:57:10 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_My_RewardList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_My_RewardList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_My_RewardList] Script Date: 01/18/2018 12:57:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_My_RewardList','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_My_RewardList
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_My_RewardList
-- DBA :
-- DATE : 2015-06-17
-- Description : ÈÆ·Ã µ¥ÀÌÅÍ »ý¼º
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_My_RewardList]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT PCBangDate
, AccountIDX
, PCBangCount
, PCBangBonusCash
FROM LosaGame.dbo.userPCBangPregentDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX
GO
@@ -0,0 +1,56 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_PCBangList] Script Date: 01/23/2018 16:51:50 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_PCBangList]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_PCBangList]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_PCBangList] Script Date: 01/23/2018 16:51:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_PCBangList','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_PCBangList
--
--GO
-- =============================================
-- Subject dbo.game_PCBangPlayTime_PCBangList
-- DBA
-- DATE 2014-03-03
-- Description PC¹æÇ÷¹ÀÌŸÀÓ¸®½ºÆ®
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_PCBangList]
@PCBangIDX INT,
@SearchDate NVARCHAR(16)
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
DECLARE @Date NVARCHAR(10)
SET @Date = replace(@SearchDate, '-', '')
SELECT PCBangDate
,PCBangIndex
,AccountIDX
,PCBangPlayTime
FROM LosaGame.dbo.userPCBangPlayTimeDB WITH (READUNCOMMITTED)
WHERE PCBangIndex = @PCBangIDX AND PCBangDate = @Date AND PCBangPlayTime >= 60
GO
@@ -0,0 +1,85 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
DROP PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_Reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_Reward
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_Reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
AS
BEGIN
DECLARE @LimitTime INT = 30
DECLARE @DateTime NVARCHAR(10) = CONVERT(NVARCHAR(10), GetDate()-1, 112)
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='개발자K'
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
INSERT INTO LosaGame.dbo.userPCBangPregentDB(PCBangDate, AccountIDX, PCBangCount, PCBangBonusCash)
SELECT PCBangDate, AccountIDX, max(PCBangIndexCount.PCBangCount), max(presentGold)
FROM LosaGame.dbo.userPCBangPlayTimeDB AS PPT
INNER JOIN ( SELECT PCBangIndex, count(PCBangIndex) AS PCBangCount, CASE WHEN count(PCBangIndex) >= 5 THEN 1250
WHEN count(PCBangIndex) >= 4 THEN 750
WHEN count(PCBangIndex) >= 3 THEN 450
WHEN count(PCBangIndex) >= 2 THEN 250
ELSE 100
END AS presentGold FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 60 AND PCBangDate = @DateTime
GROUP by PCBangDate, PCBangIndex) AS PCBangIndexCount
ON PCBangIndexCount.PCBangIndex = PPT.PCBangIndex
WHERE PCBangDate = @DateTime
Group By PCBangDate, PPT.AccountIDX
INSERT INTO LosaGame.dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT @sendIDX, AccountIDX, 13, PCBangBonusCash, 72, 0, 0, 1132, 0, GETDATE() + 3, Getdate()
FROM LosaGame.dbo.userPCBangPregentDB
WHERE PCBangDate = @DateTime
END
GO
@@ -0,0 +1,118 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
DROP PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_Reward] Script Date: 2018-01-12 오전 10:31:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_Reward','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_Reward
--
--GO
-- =============================================
-- Subject : dbo.game_PCBangPlayTime_Reward
-- DBA :
-- DATE : 2015-06-17
-- Description : 훈련 데이터 생성
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_Reward]
AS
BEGIN
DECLARE @LimitTime INT = 30
DECLARE @DateTime NVARCHAR(10) = CONVERT(NVARCHAR(10), GetDate(), 112)
DECLARE @sendIDX int, @receiveIDX int
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='개발자K'
)
IF (@sendIDX IS NULL)
BEGIN
SET @sendIDX = (
SELECT accountIDX
FROM [LosaGame].dbo.userMemberDB WITH(NOLOCK)
WHERE nickName='DeveloperK'
)
END
DECLARE @PCbangIndex int = 0, @PCBangCount int = 0
DECLARE PCBangPlayTime CURSOR FOR
SELECT PCBangIndex, count(PCBangIndex) AS PCBangCount FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime
GROUP by PCBangDate, PCBangIndex ORDER BY PCBangDate, PCBangIndex
OPEN PCBangPlayTime
FETCH NEXT FROM PCBangPlayTime INTO @PCbangIndex , @PCBangCount
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT PCBangDate, AccountIDX, @PCBangCount AS PCBangcount,
CASE WHEN @PCBangCount >= 5 THEN 500
WHEN @PCBangCount >= 4 THEN 300
WHEN @PCBangCount >= 3 THEN 200
WHEN @PCBangCount >= 2 THEN 150
ELSE 100
END AS presentGold
FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime AND PCBangIndex = @PCbangIndex
MERGE LosaGame.dbo.userPCBangPregentDB AS Target
USING (SELECT PCBangDate, AccountIDX, @PCBangCount AS PCBangcount,
CASE WHEN @PCBangCount >= 5 THEN 500
WHEN @PCBangCount >= 4 THEN 300
WHEN @PCBangCount >= 3 THEN 200
WHEN @PCBangCount >= 2 THEN 150
ELSE 100
END AS presentGold
FROM LosaGame.dbo.userPCBangPlayTimeDB
WHERE AccountIDX NOT IN (SELECT AccountIDX FROM [LosaGame].[dbo].[userMemberDB] WHERE limitType = 100 AND limitDate > Getdate())
AND PCBangPlayTime >= 30 AND PCBangDate = @DateTime AND PCBangIndex = @PCbangIndex) AS Source
ON (Target.AccountIDX = Source.AccountIDX AND Target.PCBangDate = Source.PCBangDate)
WHEN MATCHED AND Target.PCBangcount < Source.PCBangcount THEN
UPDATE SET Target.PCBangCount = Source.PCBangcount, Target.PCBangBonusCash = Source.presentGold
WHEN NOT MATCHED BY TARGET THEN
INSERT (PCBangDate, AccountIDX, PCBangCount, PCBangBonusCash)
VALUES (Source.PCBangDate, Source.AccountIDX, Source.PCBangcount, Source.presentGold)
OUTPUT $action, Inserted.*, Deleted.*;
-- 커서를다음칸으로이동시킨다.
FETCH NEXT FROM PCBangPlayTime INTO @PCbangIndex , @PCBangCount
END
CLOSE PCBangPlayTime
DEALLOCATE PCBangPlayTime
INSERT INTO LosaGame.dbo.userPresentDB
(
sendIDX, receiveIDX, presentType, value1, value2, value3, value4, msgType, flag, limitDate, regDate
)
SELECT @sendIDX, AccountIDX, 13, PCBangBonusCash, 7, 0, 0, 1132, 0, GETDATE() + 7, Getdate()
FROM LosaGame.dbo.userPCBangPregentDB
WHERE PCBangDate = @DateTime
END
GO
@@ -0,0 +1,52 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_mylist] Script Date: 2017-12-07 오후 6:59:20 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_PCBangPlayTime_mylist]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_PCBangPlayTime_mylist]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_PCBangPlayTime_mylist] Script Date: 2017-12-07 오후 6:59:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--IF OBJECT_ID('dbo.game_PCBangPlayTime_mylist','P') IS NOT NULL
--
-- DROP PROC dbo.game_PCBangPlayTime_mylist
--
--GO
-- =============================================
-- Subject dbo.game_PCBangPlayTime_mylist
-- DBA
-- DATE 2014-03-03
-- Description PC방플레이타임리스트
-- =============================================
CREATE PROCEDURE [dbo].[game_PCBangPlayTime_mylist]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT PCBangDate
,PCBangIndex
,AccountIDX
,PCBangPlayTime
FROM LosaGame.dbo.userPCBangPlayTimeDB WITH (READUNCOMMITTED)
WHERE AccountIDX = @ACCOUNT_IDX AND PCBangPlayTime >= 60
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPCBangPlayTimeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPCBangPlayTimeDB]
GO
/****** Object: Table [dbo].[userPCBangPlayTimeDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPCBangPlayTimeDB](
[PCBangDate][NVARCHAR](10) NOT NULL,
[PCBangIndex] [int] NOT NULL,
[AccountIDX] [int] NOT NULL,
[PCBangPlayTime] [int] NOT NULL,
CONSTRAINT [PK_userPCBangPlayTimeDB] PRIMARY KEY CLUSTERED
(
[PCBangDate] ASC,
[AccountIDX] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangDate__4AE30379] DEFAULT (('')) FOR [PCBangDate]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangIndex__4BD727B2] DEFAULT ((0)) FOR [PCBangIndex]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userAccountIDX__4BD727B2] DEFAULT ((0)) FOR [AccountIDX]
GO
ALTER TABLE [dbo].[userPCBangPlayTimeDB] ADD CONSTRAINT [DF__userPCBangPlayTime__4BD727B2] DEFAULT ((0)) FOR [PCBangPlayTime]
GO
@@ -0,0 +1,39 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userPCBangPregentDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
DROP TABLE [dbo].[userPCBangPregentDB]
GO
/****** Object: Table [dbo].[userPCBangPregentDB] Script Date: 2017-11-13 ¿ÀÀü 10:16:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userPCBangPregentDB](
[PCBangDate][NVARCHAR](10) NOT NULL,
[AccountIDX] [int] NOT NULL,
[PCBangCount] [int] NOT NULL,
[PCBangBonusCash] [int] NOT NULL,
CONSTRAINT [PK_userPCBangPregentDB] PRIMARY KEY CLUSTERED
(
[PCBangDate] ASC,
[AccountIDX] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangPgtDate__4AE30379] DEFAULT (('')) FOR [PCBangDate]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userrPCBangPgtAccountIDX__4BD727B2] DEFAULT ((0)) FOR [AccountIDX]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangPgtIndex__4BD727B2] DEFAULT ((0)) FOR [PCBangCount]
GO
ALTER TABLE [dbo].[userPCBangPregentDB] ADD CONSTRAINT [DF__userPCBangBonusCash__4BD727B2] DEFAULT ((0)) FOR [PCBangBonusCash]
GO
@@ -0,0 +1,144 @@
USE [LosaLogData]
GO
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
-- 로그 저장 테이블 생성 2018-01-15 by bckim,
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[log_data_excavating_new](
[RegDate] [datetime] NOT NULL,
[LogIDX] [bigint] IDENTITY(1,1) NOT NULL,
[LogType] [int] NOT NULL,
[AccountIDX] [int] NOT NULL,
[UserID] [varchar](20) NOT NULL,
[UserName] [varchar](20) NOT NULL,
[ExLevel] [int] NOT NULL,
[ExEXP] [int] NOT NULL,
[CType] [int] NOT NULL,
[CLevel] [int] NOT NULL,
[CExpert] [int] NOT NULL,
[RCount] [tinyint] NOT NULL,
[MapID] [int] NOT NULL,
[X] [int] NOT NULL,
[Y] [int] NOT NULL,
[Z] [int] NOT NULL,
[RewardType] [int] NOT NULL,
[Index] [int] NOT NULL,
[Price] [int] NOT NULL,
[Mutiple] [int] NOT NULL,
[ResultMoney] [int] NOT NULL,
[UserIP] [varchar](15) NOT NULL,
CONSTRAINT [PK_log_data_excavating_new_idx] PRIMARY KEY CLUSTERED
(
RegDate ASC,
LogIDX ASC
)
) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [NC_log_data_excavating_new_AccountIDX] ON [dbo].[log_data_excavating_new]
(
AccountIDX ASC
)
GO
SET ANSI_PADDING OFF
GO
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
-- 로그 저장 프로시저 2018-01-15 by bckim,
--
-- 탐사 확장
-- 2122=log_Excavating_log_add INT INT STR STR INT INT INT INT INT INT INT INT INT INT INT INT INT INT INT64 STR
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[log_Excavating_log_add]
@LOG_TYPE INT,
@ACCOUNT_IDX INT,
@USER_ID VARCHAR(20),
@USER_NAME VARCHAR(20),
@USER_EX_LEVEL INT,
@USER_EX_EXP INT,
@CLASS_TYPE INT,
@CLASS_LEVEL INT,
@CLASS_EXPERT INT,
@REMAIN_COUNT INT,
@MAP_ID INT,
@X INT,
@Y INT,
@Z INT,
@REWARD_TYPE INT,
@INDEX INT,
@PRICE INT,
@MULIPLE INT,
@RESULT_MONEY BIGINT,
@USER_IP VARCHAR(15)
AS
SET NOCOUNT ON
SET LOCK_TIMEOUT 10000
DECLARE @REG_DATE DATETIME
SET @REG_DATE=GETDATE()
BEGIN TRY
BEGIN TRAN
INSERT dbo.log_data_excavating_new WITH (XLOCK, ROWLOCK) ([RegDate],
[LogType],[AccountIDX],[UserID],[UserName],[ExLevel],
[ExEXP],[CType],[CLevel],[CExpert],[RCount],
[MapID],[X],[Y],[Z],[RewardType],
[Index],[Price],[Mutiple],[ResultMoney],[UserIP] )
VALUES (@REG_DATE,
@LOG_TYPE,@ACCOUNT_IDX,@USER_ID, @USER_NAME,@USER_EX_LEVEL,
@USER_EX_EXP,@CLASS_TYPE,@CLASS_LEVEL,@CLASS_EXPERT,@REMAIN_COUNT,
@MAP_ID,@X,@Y,@Z,@REWARD_TYPE,
@INDEX,@PRICE,@MULIPLE,@RESULT_MONEY,@USER_IP
)
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
EXEC dbo.log_errorLog_set_log @ACCOUNT_IDX
RETURN -1
END CATCH
RETURN 0;
GO
@@ -0,0 +1,269 @@
---------------------------------------------------------
------------- CREATE TABLE -----------------
---------------------------------------------------------
USE [LosaGame]
GO
/****** Object: Table [dbo].[userCardMatchingDB] Script Date: 07/11/2018 10:38:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userCardMatchingDB](
[AccountIDX] [int] NOT NULL,
[MissionCount] [int] NOT NULL,
[MissionType] [tinyint] NOT NULL,
[MissionMark1] [tinyint] NOT NULL,
[MissionMark2] [tinyint] NOT NULL,
[Mark1] [tinyint] NOT NULL,
[Mark2] [tinyint] NOT NULL,
[UpdateTime] [datetime] NOT NULL,
[RegDate] [datetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [MissionCount]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [MissionType]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [MissionMark1]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [MissionMark2]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [Mark1]
GO
ALTER TABLE [dbo].[userCardMatchingDB] ADD DEFAULT ((0)) FOR [Mark2]
GO
---------------------------------------------------------
------------- CREATE PROC_1 -----------------
---------------------------------------------------------
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_cardmatching_update_data] Script Date: 07/11/2018 10:52:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : dbo.game_cardmatching_update_data
-- Author : bckim
-- DATE : 2018-06-18
-- Description : 카드 매칭 미션 및 데이터 업데이트
-- =============================================
CREATE PROCEDURE [dbo].[game_cardmatching_update_data]
@ACCOUNT_IDX INT,
@UpdateType TINYINT,
@MissionType TINYINT,
@MissionMark1 TINYINT,
@MissionMark2 TINYINT,
@Mark1 TINYINT,
@Mark2 TINYINT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
BEGIN TRAN
IF( @UpdateType = 0 )
BEGIN
UPDATE [dbo].[userCardMatchingDB] WITH (XLOCK, ROWLOCK) SET [MissionCount] = [MissionCount] +1 ,[MissionType] = @MissionType,
[MissionMark1] = @MissionMark1,[MissionMark2] = @MissionMark2,[Mark1] = @Mark1,[Mark2] = @Mark2, [UpdateTime] = GETDATE(), [RegDate] = GETDATE() WHERE AccountIDX = @ACCOUNT_IDX;
END
ELSE
BEGIN
UPDATE [dbo].[userCardMatchingDB] WITH (XLOCK, ROWLOCK) SET [MissionType] = @MissionType,[MissionMark1] = @MissionMark1,[MissionMark2] = @MissionMark2,
[Mark1] = @Mark1,[Mark2] = @Mark2, [UpdateTime] = GETDATE() WHERE AccountIDX = @ACCOUNT_IDX;
END
IF(@@ROWCOUNT=0)
BEGIN
INSERT INTO [dbo].[userCardMatchingDB] WITH(XLOCK, ROWLOCK) ([MissionCount], [AccountIDX],[MissionType],[MissionMark1],[MissionMark2],[Mark1],[Mark2],[UpdateTime],[RegDate])
VALUES ( 0, @ACCOUNT_IDX, @MissionType, @MissionMark1, @MissionMark2, @Mark1, @Mark2, GETDATE(),GETDATE())
END
COMMIT TRAN
GO
---------------------------------------------------------
------------- CREATE PROC_2 -----------------
---------------------------------------------------------
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_cardmatching_get_data] Script Date: 07/11/2018 11:43:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : dbo.game_cardmatching_get_data
-- Author : bckim
-- DATE : 2018-06-18
-- Description : 카드 매칭 미션 및 상태 조회
-- =============================================
CREATE PROCEDURE [dbo].[game_cardmatching_get_data]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT [MissionType],[MissionMark1],[MissionMark2],[Mark1],[Mark2],[UpdateTime]
FROM [dbo].[userCardMatchingDB] WITH (NOLOCK)
WHERE [AccountIDX] = @ACCOUNT_IDX
GO
---------------------------------------------------------
------------- CREATE TABLE -----------------
---------------------------------------------------------
USE [LosaLogData]
GO
/****** Object: Table [dbo].[log_data_cardmatching] Script Date: 07/11/2018 11:44:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[log_data_cardmatching](
[idx] [int] IDENTITY(1,1) NOT NULL,
[AccountIDX] [int] NOT NULL,
[NickName] [nvarchar](20) NOT NULL,
[UserLevel] [int] NOT NULL,
[LogType] [int] NOT NULL,
[MissionType] [int] NOT NULL,
[MissionMark1] [int] NOT NULL,
[MissionMark2] [int] NOT NULL,
[UserMark1] [int] NOT NULL,
[UserMark2] [int] NOT NULL,
[RewardStep] [int] NOT NULL,
[ItemType] [int] NOT NULL,
[ItemCode] [int] NOT NULL,
[ItemValue] [int] NOT NULL,
[RegDate] [datetime] NOT NULL,
CONSTRAINT [PK_log_data_cardmatching] PRIMARY KEY CLUSTERED
(
[RegDate] ASC,
[idx] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [LogType]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [MissionType]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [MissionMark1]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [MissionMark2]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [UserMark1]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [UserMark2]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [RewardStep]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [ItemType]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [ItemCode]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT ((0)) FOR [ItemValue]
GO
ALTER TABLE [dbo].[log_data_cardmatching] ADD DEFAULT (getdate()) FOR [RegDate]
GO
---------------------------------------------------------
------------- CREATE PROC_2 -----------------
---------------------------------------------------------
USE [LosaLogData]
GO
/****** Object: StoredProcedure [dbo].[log_data_cardmatching_add] Script Date: 07/11/2018 11:45:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : log_data_cardmatching_add
-- Author : bckim
-- Date : 2018-07-01
-- Description : 카드 매칭 로그
-- // 2018-06-18 by bckim, 카드 짝 마추기 이벤트 추가
-- =============================================
CREATE PROCEDURE [dbo].[log_data_cardmatching_add]
@ACCOUNT_IDX INT,
@NICK_NAME NVARCHAR(20),
@USER_LEVEL INT,
@LOG_TYPE INT,
@MISSION_TYPE INT,
@MISSION_MARK1 INT,
@MISSION_MARK2 INT,
@USER_MARK1 INT,
@USER_MARK2 INT,
@REWARD_STEP INT,
@ITEM_TYPE INT,
@ITEM_CODE INT,
@ITEM_VALUE INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
INSERT INTO log_data_cardmatching (AccountIDX, NickName,UserLevel,LogType,MissionType,MissionMark1,MissionMark2,UserMark1,UserMark2,RewardStep,ItemType,ItemCode, ItemValue,RegDate)
VALUES (@ACCOUNT_IDX, @NICK_NAME, @USER_LEVEL, @LOG_TYPE, @MISSION_TYPE,@MISSION_MARK1,@MISSION_MARK2,@USER_MARK1,@USER_MARK2,@REWARD_STEP, @ITEM_TYPE, @ITEM_CODE, @ITEM_VALUE, GETDATE())
GO
---------------------------------------------------------
------------- END -----------------
---------------------------------------------------------
+146
View File
@@ -0,0 +1,146 @@
USE [LosaGame]
GO
/****** Object: Table [dbo].[userDiceGameDB] Script Date: 10/11/2018 17:38:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[userDiceGameDB](
[AccountIDX] [int] NOT NULL,
[Position] [int] NOT NULL,
[Trace01] [int] NOT NULL,
[Trace02] [int] NOT NULL,
[Trace03] [int] NOT NULL,
[Trace04] [int] NOT NULL,
[Trace05] [int] NOT NULL,
[Trace06] [int] NOT NULL,
[Board] [tinyint] NOT NULL,
[RewardStep01] [int] NOT NULL,
[RewardStep02] [int] NOT NULL,
[RewardStep03] [int] NOT NULL,
[RewardStep04] [int] NOT NULL,
[RewardStep05] [int] NOT NULL,
[RewardStep06] [int] NOT NULL,
[RewardStep07] [int] NOT NULL,
[RewardStep08] [int] NOT NULL,
[RewardStep09] [int] NOT NULL,
[RewardStep10] [int] NOT NULL,
[UpdateTime] [datetime] NULL,
[RegDate] [datetime] NULL
) ON [PRIMARY]
GO
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_dice_game_data_update] Script Date: 10/11/2018 17:40:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : dbo.game_dice_game_data_update
-- Author : bckim
-- DATE : 2018-08-30
-- Description : // 2018-08-30 by bckim, 주사위 이벤트 추가
-- =============================================
CREATE PROCEDURE [dbo].[game_dice_game_data_update]
@ACCOUNT_IDX INT,
@Position INT,
@Trace01 INT,
@Trace02 INT,
@Trace03 INT,
@Trace04 INT,
@Trace05 INT,
@Trace06 INT,
@Board TINYINT,
@Reward01 INT,
@Reward02 INT,
@Reward03 INT,
@Reward04 INT,
@Reward05 INT,
@Reward06 INT,
@Reward07 INT,
@Reward08 INT,
@Reward09 INT,
@Reward10 INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
BEGIN TRAN
UPDATE [dbo].[userDiceGameDB] WITH (XLOCK, ROWLOCK)
SET [AccountIDX] = @ACCOUNT_IDX,[Position] = @Position,[Trace01] = @Trace01,[Trace02] = @Trace02,[Trace03] = @Trace03,[Trace04] = @Trace04,[Trace05] = @Trace05,[Trace06] = @Trace06,[Board] = @Board,
[RewardStep01] = @Reward01,[RewardStep02] = @Reward02,[RewardStep03] = @Reward03,[RewardStep04] = @Reward04,[RewardStep05] = @Reward05,
[RewardStep06] = @Reward06,[RewardStep07] = @Reward07,[RewardStep08] = @Reward08,[RewardStep09] = @Reward09,[RewardStep10] = @Reward10, [UpdateTime] = GETDATE()
WHERE AccountIDX = @ACCOUNT_IDX;
IF(@@ROWCOUNT=0)
BEGIN
INSERT INTO [dbo].[userDiceGameDB] WITH(XLOCK, ROWLOCK) ([AccountIDX],[Position],[Trace01],[Trace02],[Trace03],[Trace04],[Trace05],[Trace06],[Board],
[RewardStep01],[RewardStep02],[RewardStep03],[RewardStep04],[RewardStep05],[RewardStep06],[RewardStep07],[RewardStep08],[RewardStep09],[RewardStep10],[UpdateTime],[RegDate] )
VALUES ( @ACCOUNT_IDX,@Position,@Trace01,@Trace02,@Trace03,@Trace04,@Trace05,@Trace06,@Board,
@Reward01,@Reward02,@Reward03,@Reward04,@Reward05,@Reward06,@Reward07,@Reward08,@Reward09,@Reward10, GETDATE(),GETDATE())
END
COMMIT TRAN
GO
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_dice_game_get_data] Script Date: 10/11/2018 17:40:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : dbo.game_dice_game_get_data
-- Author : bckim
-- DATE : 2018-08-30
-- Description : // 2018-08-30 by bckim, 주사위 이벤트 추가
-- =============================================
CREATE PROCEDURE [dbo].[game_dice_game_get_data]
@ACCOUNT_IDX INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
SELECT [Position],[Trace01],[Trace02],[Trace03],[Trace04],[Trace05],[Trace06],[Board],
[RewardStep01],[RewardStep02],[RewardStep03],[RewardStep04],[RewardStep05],
[RewardStep06],[RewardStep07],[RewardStep08],[RewardStep09],[RewardStep10]
FROM [dbo].[userDiceGameDB] WITH (NOLOCK)
WHERE [AccountIDX] = @ACCOUNT_IDX
GO
+118
View File
@@ -0,0 +1,118 @@
USE [LosaLogData]
GO
/****** Object: Table [dbo].[log_data_DiceGame] Script Date: 10/11/2018 17:41:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[log_data_DiceGame](
[AccountIDX] [int] NOT NULL,
[GameState] [int] NOT NULL,
[DiceCountUsed] [int] NOT NULL,
[BoardCountUsed] [int] NOT NULL,
[RewardCountUsed] [int] NOT NULL,
[Position] [int] NOT NULL,
[Trace01] [int] NOT NULL,
[Trace02] [int] NOT NULL,
[Trace03] [int] NOT NULL,
[Trace04] [int] NOT NULL,
[Trace05] [int] NOT NULL,
[Trace06] [int] NOT NULL,
[Board] [tinyint] NOT NULL,
[RewardStep01] [int] NOT NULL,
[RewardStep02] [int] NOT NULL,
[RewardStep03] [int] NOT NULL,
[RewardStep04] [int] NOT NULL,
[RewardStep05] [int] NOT NULL,
[RewardStep06] [int] NOT NULL,
[RewardStep07] [int] NOT NULL,
[RewardStep08] [int] NOT NULL,
[RewardStep09] [int] NOT NULL,
[RewardStep10] [int] NOT NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL
) ON [PRIMARY]
GO
----------------------------------------------------------------------------
----------------------------------------------------------------------------
USE [LosaLogData]
GO
/****** Object: StoredProcedure [dbo].[log_data_DiceGame_update] Script Date: 10/11/2018 17:41:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Subject : dbo.log_data_DiceGame_update
-- Author : bckim
-- DATE : 2018-08-30
-- Description : // 2018-08-30 by bckim, ÁÖ»çÀ§ À̺¥Æ® Ãß°¡_ ·Î±×
-- =============================================
CREATE PROCEDURE [dbo].[log_data_DiceGame_update]
@ACCOUNT_IDX INT,
@Game_State INT,
@DiceCountUsed INT,
@BoardCountUsed INT,
@RewardCountUsed INT,
@Position INT,
@Trace01 INT,
@Trace02 INT,
@Trace03 INT,
@Trace04 INT,
@Trace05 INT,
@Trace06 INT,
@Board TINYINT,
@Reward01 INT,
@Reward02 INT,
@Reward03 INT,
@Reward04 INT,
@Reward05 INT,
@Reward06 INT,
@Reward07 INT,
@Reward08 INT,
@Reward09 INT,
@Reward10 INT
AS
SET NOCOUNT ON;
SET LOCK_TIMEOUT 10000;
BEGIN TRAN
IF EXISTS( SELECT * FROM [dbo].[log_data_DiceGame] WHERE @ACCOUNT_IDX = [AccountIDX] AND [GameState] = 0 )
BEGIN
UPDATE [dbo].[log_data_DiceGame] WITH (XLOCK, ROWLOCK)
SET [GameState] = @Game_State,[DiceCountUsed] = [DiceCountUsed] + @DiceCountUsed,[BoardCountUsed] = [BoardCountUsed] + @BoardCountUsed, [RewardCountUsed] = [RewardCountUsed] + @RewardCountUsed,
[Position] = @Position,[Trace01] = @Trace01,[Trace02] = @Trace02,[Trace03] = @Trace03,[Trace04] = @Trace04,[Trace05] = @Trace05,[Trace06] = @Trace06,[Board] = @Board,
[RewardStep01] = @Reward01,[RewardStep02] = @Reward02,[RewardStep03] = @Reward03,[RewardStep04] = @Reward04,[RewardStep05] = @Reward05,
[RewardStep06] = @Reward06,[RewardStep07] = @Reward07,[RewardStep08] = @Reward08,[RewardStep09] = @Reward09,[RewardStep10] = @Reward10, [EndTime] = GETDATE()
WHERE @ACCOUNT_IDX = [AccountIDX] AND [GameState] = 0
END
ELSE
BEGIN
INSERT INTO [dbo].[log_data_DiceGame] WITH(XLOCK, ROWLOCK)
([AccountIDX],[GameState],[DiceCountUsed],[BoardCountUsed],[RewardCountUsed],[Position],[Trace01],[Trace02],[Trace03],[Trace04],[Trace05],[Trace06],[Board],
[RewardStep01],[RewardStep02],[RewardStep03],[RewardStep04],[RewardStep05],[RewardStep06],[RewardStep07],[RewardStep08],[RewardStep09],[RewardStep10],[StartTime],[EndTime] )
VALUES ( @ACCOUNT_IDX,@Game_State,@DiceCountUsed,@BoardCountUsed,@RewardCountUsed,@Position,@Trace01,@Trace02,@Trace03,@Trace04,@Trace05,@Trace06,@Board,
@Reward01,@Reward02,@Reward03,@Reward04,@Reward05,@Reward06,@Reward07,@Reward08,@Reward09,@Reward10, GETDATE(),GETDATE())
END
COMMIT TRAN
GO
@@ -0,0 +1,14 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_login_get_data] Script Date: 10/19/2018 11:14:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[game_login_get_data]
(
@userID varchar(12)
)
As
SELECT b.userID, a.encodeKey, a.gameServerID, connDate, a.UserIP FROM userLoginDB a WITH(NOLOCK) INNER JOIN userMemberDB b WITH(NOLOCK) ON a.accountIDX = b.accountIDX WHERE b.userID=@userID
+234
View File
@@ -0,0 +1,234 @@
<% OPTION EXPLICIT %>
<!-- #include file = "createKey.asp" -->
<%
Response.Expires = 0
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-Control", "no-cache, no-store, must-revalidate"
Response.AddHeader "Expires", "-1"
Dim db, dbcon, sql, rs
Dim userID, accountIDX, zoneType, zoneName, gameServerID, userIP
Dim useKey, fixKey
Dim oEncryptor, encodeID, encodeKey, encodeIP, encodeIPKey, sendKeyString, prevKey, exeTime, chgKeyTime
userID = session("userID")
zoneType = Request.Form("zoneType")
useKey = ""
chgKeyTime = 5
userIP = Request.Servervariables("REMOTE_HOST")
Select Case zoneType
Case 1 :
zoneName = "QA_ZONE"
%><!-- #include file = "cnn_game_qa.asp" --><%
Case 3 :
zoneName = "DEV_ZONE"
%><!-- #include file = "cnn_game_dev.asp" --><%
Case Else
zoneName = "DEV_ZONE"
%><!-- #include file = "cnn_game_dev.asp" --><%
End Select
If userID = "" or isNull(userID) or Len(userID) = 0 Then
db.close
Set db=Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("You can play after login.");
top.location.replace("/default.asp");
//-->
</SCRIPT>
<%
Response.End
End If
'세션 accountIDX 값이 싱글존으로 되어 있어서 다른존과 accountIDX 불일치. 때문에 accountIDX 가져오는 구문 추가
sql = "EXEC web_get_accountIDX '" & userID & "'"
Set rs = db.Execute(sql)
If rs.eof and rs.bof Then
rs.close
Set rs=Nothing
db.close
Set db=Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("Membership was not successful.");
history.back();
//-->
</SCRIPT>
<%
Response.End
End If
accountIDX = rs("accountIDX")
sql = "EXEC web_game_server_get_data_top1"
Set rs = db.Execute(sql)
If rs.eof and rs.bof Then
rs.close
Set rs=Nothing
db.close
Set db=Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("No servers are running.");
history.back();
//-->
</SCRIPT>
<%
Response.End
Else
gameServerID = rs("serverID")
End If
useKey = CreateEncodeKey()
sql = "EXEC web_user_login_count '" & userID & "'"
Set rs=db.Execute(sql)
If rs(0) = 0 Then
rs.close
Set rs=Nothing
db.close
Set db=Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("No sign in information. \ N \ nPlease contact your administrator.");
top.location.replace("/default.asp");
//-->
</SCRIPT>
<%
Response.End
End If
sql = "EXEC web_user_login_enkey_get_data '" & accountIDX & "'"
Set rs = db.Execute(sql)
If rs.eof and rs.bof Then
rs.close
Set rs=Nothing
db.close
Set db=Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
<!--
alert("존별로 유저인덱스가 틀려 접속 <%=zoneName%>에는 접속할 수 없습니다");
history.back();
//-->
</SCRIPT>
<%
Response.End
End If
prevKey = rs("encodeKey")
exeTime = rs("connDate")
If DateDiff("n",exeTime,Now()) < chgKeyTime Then
useKey = prevKey
Else
sql = "EXEC web_user_login_enkey_update '" & userID & "', '" & useKey & "', '" & userIP & "'"
db.Execute(sql)
End If
sql = "EXEC web_fixkey_get_data"
Set rs=db.Execute(sql)
fixKey = rs(0)
Set oEncryptor = Server.CreateObject("IoEncrypt.Encrypt")
encodeID = oEncryptor.Encode15 (userID,fixKey)
encodeKey = oEncryptor.Encode15 (useKey,useKey)
encodeIP = oEncryptor.Encode15 (userIP,fixKey)
encodeIPKey = oEncryptor.Encode15 (useKey,fixKey)
Set oEncryptor = Nothing
Dim strSenKeyString
strSenKeyString = encodeKey & encodeID
Dim strSenIPKeyString
strSenIPKeyString = encodeIPKey & encodeIP
rs.close
Set rs=Nothing
db.close
Set db=Nothing
'response.write(zoneName)
'response.end
'------------------------------------------------------------------------------------------------------------
' 프로토콜 설정
'------------------------------------------------------------------------------------------------------------
Dim strProtocol
strProtocol = "LostSagaQA"
%><!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<title>로스트사가 게임 실행 중입니다. | 로스트사가</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="imagetoolbar" content="no">
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="util.js"></script>
<script type="text/javascript" src="protocolcheck.js"></script>
<script type="text/javascript">
$(function ()
{
protocolCheck($("#playgame").attr("href"),
function () {
goUrl("webmanager.asp");
},
function () {
goUrl("default.asp");
}
);
});
</script>
</head>
<body class="playing">
<a id="playgame" style="display:;" href="<%=strProtocol%>://<%=strSenKeyString%>,<%=strSenIPKeyString%>,<%=gameServerID%>"></a>
<input type="hidden" id="loginKey" value="<%=strSenKeyString%>" />
<h2 class="blind">게임 실행</h2>
<div class="btnArea">
<button type="button" class="btnImg btnGameRe" title="게임 재실행하기" onclick="goUrl('playUrl.asp')">게임 재실행하기</button>
</div>
<div class="loadingPop">
<div class="loading">
<p>로딩중입니다. 잠시만 기다려주세요. 최초 실행 시 로스트사가 웹매니저 설치 페이지로 이동합니다</p>
</div>
<div id="bgDark"></div>
</div>
</body>
</html>
@@ -0,0 +1,31 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_quest_delete] Script Date: 11/21/2018 11:09:44 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[game_quest_delete]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[game_quest_delete]
GO
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_quest_delete] Script Date: 11/21/2018 11:09:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[game_quest_delete]
(
@accountIDX int
)
AS
DELETE FROM userQuestDB WHERE accountIDX = @accountIDX
DELETE FROM userQuestCompleteDB WHERE accountIDX = @accountIDX
GO
@@ -0,0 +1,19 @@
USE [LosaGame]
GO
/****** Object: StoredProcedure [dbo].[game_login_get_data_by_check] Script Date: 02/01/2019 14:07:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[game_login_get_data_by_dual_login]
(
@userID varchar(12)
)
As
SELECT b.userID, a.encodeKey, a.gameServerID, connDate -- , a.UserIP
FROM userLoginDB a WITH(NOLOCK) INNER JOIN userMemberDB b WITH(NOLOCK) ON a.accountIDX = b.accountIDX
WHERE b.userID=@userID
+69
View File
@@ -0,0 +1,69 @@
-- LosaDev 2019: procedures the 2019 server calls (ls_query.ini ids 1, 136, 137, 139)
-- that no released DB script contains. Written for the testbed from the server code (DBClient.cpp).
-- Still missing on purpose: 197 game_item_extra_get_list_dev, 1500 SC_ERROR_LOG_ADD,
-- 2108 log_item_bonus_gold_set_add, 2207 game_block_hdd_serial_check (dev/log/anti-cheat only).
USE [LosaGame]
GO
IF OBJECT_ID(N'dbo.game_pingpong', N'P') IS NOT NULL DROP PROCEDURE dbo.game_pingpong
GO
-- id 1: DB agent keep-alive; the code says "a query that does not really exist"
CREATE PROCEDURE dbo.game_pingpong
AS
SET NOCOUNT ON
GO
IF OBJECT_ID(N'dbo.game_member_count', N'P') IS NOT NULL DROP PROCEDURE dbo.game_member_count
GO
-- id 136: OnSelectMemberConut - one LONG back, 0 = new account (the server then calls game_member_add)
CREATE PROCEDURE dbo.game_member_count
@userID varchar(12)
AS
SET NOCOUNT ON
SELECT COUNT(*) FROM dbo.userMemberDB WITH(NOLOCK) WHERE userID = @userID
GO
IF OBJECT_ID(N'dbo.game_member_add', N'P') IS NOT NULL DROP PROCEDURE dbo.game_member_add
GO
-- id 137: OnInsertMember(privateID, publicID) - first login of a publisher account creates the game account
CREATE PROCEDURE dbo.game_member_add
@userID varchar(12),
@nickName varchar(20)
AS
SET NOCOUNT ON
IF EXISTS (SELECT 1 FROM dbo.userMemberDB WITH(NOLOCK) WHERE userID = @userID) RETURN
DECLARE @ret int
EXEC dbo.web_member_add @userID, @nickName, '', '', 0, 0, 0, 0, '127.0.0.1', @ret OUTPUT
GO
IF OBJECT_ID(N'dbo.game_create_nickname', N'P') IS NOT NULL DROP PROCEDURE dbo.game_create_nickname
GO
-- id 139: OnUpdateFirstPublicID(accountIDX, newNick)
CREATE PROCEDURE dbo.game_create_nickname
@accountIDX int,
@nickName varchar(20)
AS
SET NOCOUNT ON
UPDATE dbo.userMemberDB SET nickName = @nickName WHERE accountIDX = @accountIDX
GO
-- id 11 game_game_get_data: the released script returns cpID/cpUNIQ (channeling columns), but the game server only
-- reads them when the locale uses channeling IDs (Korea). The Indonesia locale expects the same row without them.
ALTER PROCEDURE [dbo].[game_game_get_data]
(
@userID varchar(12)
)
As
SET NOCOUNT ON
DECLARE @CURRENTDATE DATETIME
DECLARE @CONNECTDATE DATETIME
SET @CURRENTDATE = GETDATE();
SET @CONNECTDATE = ( SELECT conndate FROM dbo.userGameDB WHERE accountIDX IN ( SELECT accountIDX FROM dbo.userMemberDB WHERE userID = @userID ))
IF( @CURRENTDATE < @CONNECTDATE )
SET @CONNECTDATE = @CURRENTDATE
SELECT a.accountIDX, b.userID, b.nickName, a.userState, a.gameMoney
, a.conn_count, @CONNECTDATE, a.userLevel, a.userEXP
, b.eventType, isNull(c.class,0) as 'class', b.joinType, b.regDate, a.regionType
, a.rencpoint, a.renspoint, isNull(c.region,0) as 'region', b.cpType
, b.limitType, b.limitDate, a.userFishingLevel, a.userFishingEXP
, a.refillData, a.userExcavationLevel, a.userExcavationEXP, a.userHerocEXP, a.userHerosEXP, a.practice
FROM userGameDB a WITH( NOLOCK )
JOIN userMemberDB b WITH( NOLOCK ) ON a.accountIDX = b.accountIDX
LEFT JOIN userRankingDB c WITH( NOLOCK ) ON a.accountIDX = c.accountIDX
WHERE b.userID = @userID
GO
+21
View File
@@ -0,0 +1,21 @@
-- First regular tournament (Faction War / LS Cup panel). The main server only continues a row that exists;
-- nothing creates the first one. leagueType 1 = TYPE_REGULAR, leagueState 1 = STATE_TEAM_APP, accountIDX 0 = no owner.
-- Dates are YYMMDDHHMM in a DWORD (Help::ConvertCTimeToDate). Since 2022 that is above the int range, so the
-- int columns hold the wrapped value; the server reads the same bits back as a DWORD.
-- Starts on the last Monday 03:00 and runs next_tournament_hour (336) hours, like sp2_tournament_regular.ini.
USE [LosaGame]
GO
IF NOT EXISTS (SELECT 1 FROM dbo.userLeagueListDB WHERE leagueType = 1)
BEGIN
DECLARE @s datetime, @e datetime, @a bigint, @b bigint
SET @s = DATEADD(hour, 3, DATEADD(day, -(DATEDIFF(day, 0, GETDATE()) % 7), DATEDIFF(day, 0, GETDATE())))
SET @e = DATEADD(hour, 336, @s)
SET @a = CAST(YEAR(@s) % 100 AS bigint) * 100000000 + MONTH(@s) * 1000000 + DAY(@s) * 10000 + DATEPART(hour, @s) * 100
SET @b = CAST(YEAR(@e) % 100 AS bigint) * 100000000 + MONTH(@e) * 1000000 + DAY(@e) * 10000 + DATEPART(hour, @e) * 100
IF @a > 2147483647 SET @a = @a - 4294967296
IF @b > 2147483647 SET @b = @b - 4294967296
INSERT INTO dbo.userLeagueListDB (accountIDX, startDate, endDate, leagueType, leagueState, regDate)
VALUES (0, @a, @b, 1, 1, GETDATE())
END
SELECT idx, startDate, endDate, leagueType, leagueState FROM dbo.userLeagueListDB
GO