Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,256 @@
|
||||
|
||||
/***************************************************
|
||||
*
|
||||
* 2004.10.27
|
||||
* You should make the database named 'CharDelHostory' before you execute this script
|
||||
***************************************************/
|
||||
GO
|
||||
|
||||
USE CharDelHostory
|
||||
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo_1] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Name] [varchar] (16) NULL ,
|
||||
[Sex] [tinyint] NULL ,
|
||||
[Hair] [tinyint] NULL ,
|
||||
[Face] [tinyint] NULL ,
|
||||
[Nationality] [tinyint] NULL ,
|
||||
[Class] [smallint] NULL ,
|
||||
[Fame] [int] NULL ,
|
||||
[Mileage] [int] NULL ,
|
||||
[Guild] [int] NULL ,
|
||||
[Party] [int] NULL ,
|
||||
[Level] [tinyint] NULL ,
|
||||
[Equip] [binary] (30) NULL ,
|
||||
[Gold] [int] NULL ,
|
||||
[IP] [smallint] NULL ,
|
||||
[STR] [smallint] NULL ,
|
||||
[DEX] [smallint] NULL ,
|
||||
[CON] [smallint] NULL ,
|
||||
[Intell] [smallint] NULL ,
|
||||
[WIS] [smallint] NULL ,
|
||||
[HP] [smallint] NULL ,
|
||||
[MP] [smallint] NULL ,
|
||||
[Exp] [bigint] NULL ,
|
||||
[Chance] [tinyint] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo_2] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Name] [varchar] (16) NULL ,
|
||||
[Sex] [tinyint] NULL ,
|
||||
[Hair] [tinyint] NULL ,
|
||||
[Face] [tinyint] NULL ,
|
||||
[Nationality] [tinyint] NULL ,
|
||||
[Class] [smallint] NULL ,
|
||||
[Fame] [int] NULL ,
|
||||
[Mileage] [int] NULL ,
|
||||
[Guild] [int] NULL ,
|
||||
[Party] [int] NULL ,
|
||||
[Level] [tinyint] NULL ,
|
||||
[Equip] [binary] (30) NULL ,
|
||||
[Gold] [int] NULL ,
|
||||
[IP] [smallint] NULL ,
|
||||
[STR] [smallint] NULL ,
|
||||
[DEX] [smallint] NULL ,
|
||||
[CON] [smallint] NULL ,
|
||||
[Intell] [smallint] NULL ,
|
||||
[WIS] [smallint] NULL ,
|
||||
[HP] [smallint] NULL ,
|
||||
[MP] [smallint] NULL ,
|
||||
[Exp] [bigint] NULL ,
|
||||
[Chance] [tinyint] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo_3] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Name] [varchar] (16) NULL ,
|
||||
[Sex] [tinyint] NULL ,
|
||||
[Hair] [tinyint] NULL ,
|
||||
[Face] [tinyint] NULL ,
|
||||
[Nationality] [tinyint] NULL ,
|
||||
[Class] [smallint] NULL ,
|
||||
[Fame] [int] NULL ,
|
||||
[Mileage] [int] NULL ,
|
||||
[Guild] [int] NULL ,
|
||||
[Party] [int] NULL ,
|
||||
[Level] [tinyint] NULL ,
|
||||
[Equip] [binary] (30) NULL ,
|
||||
[Gold] [int] NULL ,
|
||||
[IP] [smallint] NULL ,
|
||||
[STR] [smallint] NULL ,
|
||||
[DEX] [smallint] NULL ,
|
||||
[CON] [smallint] NULL ,
|
||||
[Intell] [smallint] NULL ,
|
||||
[WIS] [smallint] NULL ,
|
||||
[HP] [smallint] NULL ,
|
||||
[MP] [smallint] NULL ,
|
||||
[Exp] [bigint] NULL ,
|
||||
[Chance] [tinyint] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo_4] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Name] [varchar] (16) NULL ,
|
||||
[Sex] [tinyint] NULL ,
|
||||
[Hair] [tinyint] NULL ,
|
||||
[Face] [tinyint] NULL ,
|
||||
[Nationality] [tinyint] NULL ,
|
||||
[Class] [smallint] NULL ,
|
||||
[Fame] [int] NULL ,
|
||||
[Mileage] [int] NULL ,
|
||||
[Guild] [int] NULL ,
|
||||
[Party] [int] NULL ,
|
||||
[Level] [tinyint] NULL ,
|
||||
[Equip] [binary] (30) NULL ,
|
||||
[Gold] [int] NULL ,
|
||||
[IP] [smallint] NULL ,
|
||||
[STR] [smallint] NULL ,
|
||||
[DEX] [smallint] NULL ,
|
||||
[CON] [smallint] NULL ,
|
||||
[Intell] [smallint] NULL ,
|
||||
[WIS] [smallint] NULL ,
|
||||
[HP] [smallint] NULL ,
|
||||
[MP] [smallint] NULL ,
|
||||
[Exp] [bigint] NULL ,
|
||||
[Chance] [tinyint] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo_Time] (
|
||||
[CID] [int] NOT NULL ,
|
||||
[CreateTime] [smalldatetime] NULL ,
|
||||
[UpdateTime] [smalldatetime] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharItem] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Quick] [binary] (100) NULL ,
|
||||
[Equip] [binary] (1440) NULL ,
|
||||
[Inventory] [binary] (5120) NULL ,
|
||||
[Extra] [binary] (512) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharItemEx] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Exchange] [binary] (1284) NULL ,
|
||||
[TempInven] [binary] (1440) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharSkill_1] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Skill] [binary] (84) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharSkill_2] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Skill] [binary] (84) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharSkill_3] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Skill] [binary] (84) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharSkill_4] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Skill] [binary] (84) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TblCharDelHistory_LOG] (
|
||||
[intCID] [int] NULL ,
|
||||
[intUID] [int] NULL ,
|
||||
[dateInsertTime] [smalldatetime] NULL ,
|
||||
[dateDeleteTime] [smalldatetime] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_1_UID] ON [dbo].[DelCharInfo_1]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_2_UID] ON [dbo].[DelCharInfo_2]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_3_UID] ON [dbo].[DelCharInfo_3]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_4_UID] ON [dbo].[DelCharInfo_4]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_Time_UID] ON [dbo].[DelCharInfo_Time]([CID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharItem_UID] ON [dbo].[DelCharItem]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharItemEx_UID] ON [dbo].[DelCharItemEx]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharSkill_1_UID] ON [dbo].[DelCharSkill_1]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharSkill_2_UID] ON [dbo].[DelCharSkill_2]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharSkill_3_UID] ON [dbo].[DelCharSkill_3]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharSkill_4_UID] ON [dbo].[DelCharSkill_4]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
create view DelCharInfo
|
||||
AS
|
||||
|
||||
SELECT * FROM dbo.DelCharInfo_1
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharInfo_2
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharInfo_3
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharInfo_4
|
||||
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER OFF
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
create view DelCharSkill
|
||||
AS
|
||||
|
||||
SELECT * FROM dbo.DelCharSkill_1
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharSkill_2
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharSkill_3
|
||||
UNION ALL
|
||||
SELECT * FROM dbo.DelCharSkill_4
|
||||
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER OFF
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
/***************************************************
|
||||
*
|
||||
* 2004.11.01
|
||||
* You should make the database named 'CharDelHostory' before you execute this script
|
||||
***************************************************/
|
||||
GO
|
||||
|
||||
USE CharDelHostory
|
||||
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharInfo] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Name] [varchar] (16) NULL ,
|
||||
[Sex] [tinyint] NULL ,
|
||||
[Hair] [tinyint] NULL ,
|
||||
[Face] [tinyint] NULL ,
|
||||
[Nationality] [tinyint] NULL ,
|
||||
[Class] [smallint] NULL ,
|
||||
[Fame] [int] NULL ,
|
||||
[Mileage] [int] NULL ,
|
||||
[Guild] [int] NULL ,
|
||||
[Party] [int] NULL ,
|
||||
[Level] [tinyint] NULL ,
|
||||
[Equip] [binary] (30) NULL ,
|
||||
[Gold] [int] NULL ,
|
||||
[IP] [smallint] NULL ,
|
||||
[STR] [smallint] NULL ,
|
||||
[DEX] [smallint] NULL ,
|
||||
[CON] [smallint] NULL ,
|
||||
[Intell] [smallint] NULL ,
|
||||
[WIS] [smallint] NULL ,
|
||||
[HP] [smallint] NULL ,
|
||||
[MP] [smallint] NULL ,
|
||||
[Exp] [bigint] NULL ,
|
||||
[Chance] [tinyint] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
CREATE TABLE [dbo].[DelCharInfo_Time] (
|
||||
[CID] [int] NOT NULL ,
|
||||
[CreateTime] [smalldatetime] NULL ,
|
||||
[UpdateTime] [smalldatetime] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharItem] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Quick] [binary] (100) NULL ,
|
||||
[Equip] [binary] (1440) NULL ,
|
||||
[Inventory] [binary] (5120) NULL ,
|
||||
[Extra] [binary] (512) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharItemEx] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Exchange] [binary] (1284) NULL ,
|
||||
[TempInven] [binary] (1440) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DelCharSkill] (
|
||||
[UID] [int] NOT NULL ,
|
||||
[Skill] [binary] (84) NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[TblCharDelHistory_LOG] (
|
||||
[intCID] [int] NULL ,
|
||||
[intUID] [int] NULL ,
|
||||
[dateInsertTime] [smalldatetime] NULL ,
|
||||
[dateDeleteTime] [smalldatetime] NULL
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_UID] ON [dbo].[DelCharInfo]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharInfo_Time_UID] ON [dbo].[DelCharInfo_Time]([CID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharItem_UID] ON [dbo].[DelCharItem]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharItemEx_UID] ON [dbo].[DelCharItemEx]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
CREATE INDEX [IDX_DelCharSkill_UID] ON [dbo].[DelCharSkill]([UID]) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,231 @@
|
||||
|
||||
|
||||
/****************************************************
|
||||
*
|
||||
* 2004.10.27
|
||||
*
|
||||
****************************************************/
|
||||
|
||||
GO
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
-- DeleteCharInfo.sql
|
||||
---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ALTER PROCEDURE dbo.DeleteCharInfo
|
||||
@char_uid AS INT
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @Div INT
|
||||
|
||||
|
||||
SET @Div = @char_uid % 4
|
||||
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
DELETE FROM CharInfo_1 WHERE UID = @char_uid
|
||||
DELETE FROM CharPos_1 WHERE UID = @char_uid
|
||||
DELETE FROM CharSkill_1 WHERE UID = @char_uid
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
DELETE FROM CharInfo_2 WHERE UID = @char_uid
|
||||
DELETE FROM CharPos_2 WHERE UID = @char_uid
|
||||
DELETE FROM CharSkill_2 WHERE UID = @char_uid
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
DELETE FROM CharInfo_3 WHERE UID = @char_uid
|
||||
DELETE FROM CharPos_3 WHERE UID = @char_uid
|
||||
DELETE FROM CharSkill_3 WHERE UID = @char_uid
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
DELETE FROM CharInfo_4 WHERE UID = @char_uid
|
||||
DELETE FROM CharPos_4 WHERE UID = @char_uid
|
||||
DELETE FROM CharSkill_4 WHERE UID = @char_uid
|
||||
END
|
||||
|
||||
DELETE FROM CharInfoEx WHERE UID = @char_uid
|
||||
|
||||
DELETE FROM CharItem WHERE UID = @char_uid
|
||||
DELETE FROM CharItemEx WHERE UID = @char_uid
|
||||
|
||||
DELETE FROM Friend WHERE UID = @char_uid
|
||||
DELETE FROM Quest WHERE UID = @char_uid
|
||||
|
||||
|
||||
GO
|
||||
|
||||
|
||||
ALTER PROC DeleteChar @user_uid INT,@user_pos INT,@CID INT
|
||||
AS
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
UPDATE CharInfo SET Guild = 0 WHERE UID = @CID
|
||||
|
||||
EXEC DeleteCharInfo @CID
|
||||
|
||||
DECLARE @Div INT
|
||||
/* 유저 정보 테이블 업데이트 */
|
||||
SET @Div = @user_uid % 4
|
||||
|
||||
IF @user_pos = 0
|
||||
BEGIN
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
UPDATE UserInfo_1 SET Char1 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_2 SET Char1 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
UPDATE UserInfo_3 SET Char1 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_4 SET Char1 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
ELSE IF @user_pos = 1
|
||||
BEGIN
|
||||
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
UPDATE UserInfo_1 SET Char2 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
UPDATE UserInfo_2 SET Char2 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_3 SET Char2 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
UPDATE UserInfo_4 SET Char2 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
ELSE IF @user_pos = 2
|
||||
BEGIN
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_1 SET Char3 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_2 SET Char3 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_3 SET Char3 = 0 WHERE UID = @user_uid
|
||||
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_4 SET Char3 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
ELSE IF @user_pos = 3
|
||||
BEGIN
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_1 SET Char4 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_2 SET Char4 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_3 SET Char4 = 0 WHERE UID = @user_uid
|
||||
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_4 SET Char4 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
ELSE IF @user_pos = 4
|
||||
BEGIN
|
||||
IF @Div = 0
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_1 SET Char5 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 1
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_2 SET Char5 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 2
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_3 SET Char5 = 0 WHERE UID = @user_uid
|
||||
|
||||
|
||||
RETURN
|
||||
END
|
||||
ELSE IF @Div = 3
|
||||
BEGIN
|
||||
|
||||
UPDATE UserInfo_4 SET Char5 = 0 WHERE UID = @user_uid
|
||||
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user