To fix Mail System:
Fix Mail PostRegistry
Fix Mail PostStorage
Creation of GM Account
Hexing Launcher Port Value
Hope this will help. Credit Goes to Lanzweirdo
Originally Posted by lanzweirdo
Since a lot has been waiting for this.. this will be my contribution to the community.. cheers!
First DELETE your PostRegistry table on your RF_World DB, then run this script;
Quote:USE [RF_World]
GO
/****** Object: Table [dbo].[tbl_PostRegistry] Script Date: 03/21/2008 05:37:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tbl_PostRegistry](
[serial] [int] IDENTITY(0,1) NOT NULL,
[dck] [bit] NULL CONSTRAINT [DF_tbl_PostRegistry_dck] DEFAULT ((0)),
[sendserial] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_sendserial] DEFAULT ((0)),
[sendname] [varchar](17) NULL,
[recvname] [varchar](17) NULL,
[title] [varchar](21) NULL,
[content] [varchar](201) NULL,
[k] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_k] DEFAULT (0xFFFFFFFF),
[d] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_d] DEFAULT ((0)),
[int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_u] DEFAULT (0x0FFFFFFF),
[gold] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_gold] DEFAULT ((0)),
[sendrace] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_sendrace] DEFAULT ((0)),
[userdgr] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_userdgr] DEFAULT ((0)),
[uid] [bigint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_uid] DEFAULT ((0)),
CONSTRAINT [PK__tbl_PostRegistry__40657506] PRIMARY KEY CLUSTERED
(
[serial] 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
SET ANSI_PADDING OFF
Second, DELETE your PostStorage table on the same DB (RF_World), and run this one too;
Quote:USE [RF_World]
GO
/****** Object: Table [dbo].[tbl_PostStorage] Script Date: 03/21/2008 05:37:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tbl_PostStorage](
[serial] [int] IDENTITY(1,1) NOT NULL,
[postinx] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_postinx] DEFAULT (0xFF),
[owner] [int] NOT NULL,
[dck] [bit] NOT NULL CONSTRAINT [DF_tbl_PostStorage_dck] DEFAULT ((1)),
[poststate] [tinyint] NOT NULL,
[sendname] [varchar](17) NULL,
[recvname] [varchar](17) NULL,
[title] [varchar](21) NULL,
[content] [varchar](201) NULL,
[k] [int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_k] DEFAULT (0xFFFFFFFF),
[d] [int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_d] DEFAULT ((0)),
[int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_u] DEFAULT (0x0FFFFFFF),
[gold] [int] NOT NULL,
[err] [tinyint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_err] DEFAULT ((0)),
[sindex] [smallint] NOT NULL CONSTRAINT [DF__tbl_PostS__sinde__0798A2AC] DEFAULT (0xFF),
[uid] [bigint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_uid] DEFAULT ((0)),
CONSTRAINT [PK__tbl_PostStorage__7FB6BE6B] PRIMARY KEY CLUSTERED
(
[serial] 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
SET ANSI_PADDING OFF
3rd, we have to change something inside ZONEserver, remove the "_" underscore from _SQLExecDirect and change that to "." by using a HexEditor or replace it with 00
How to.. use a hexeditor, look for PostStorage/PostRegistry. Its a QUERY so you wont miss it.. there's only 2 of them to change.... or 3.. i cant remember.
On INITIALIZE Folder... open WorldSystem.ini, change:
MESSENGER = TRUE (default is FALSE)
4th part is the easiest.. we'll add data on both tables... if there's no data.. PostSystemManager will not write to it... thus, sending mail is possible but the recipient wont receive anything
now here's a neat trick.. whatever number of data you create on PostStorage.. that will be your mail limit.
On PostStorage.. this will be hefty.. once you run your ZONE, it will create 5000 empty data.. dont worry, its normal.. this will be used for messages saved on your mail menu in-game. Also this will be a table for whether the message has been opened or not. Still you have to create a data on at least 10 of them before running the zone..
Thus in turn will have your number of data from 10 + 5000
Now that its done.. you can run ZONE and wait for it to create the data.. at least give it some time from 5 minutes or so...
NOTE:
On the first run, you might encounter some problems/error message running the 3 server.. its ok. Just re-run them all and it will be fine.
I guess this is due for the PostSystemManager to prepare the appropriate tables to be use.
Hope i did help to contribute in this community. There's still more to fix... so lets GET IT ON!
LIMITATIONS:
Gold = 50k max
Item = All "TRADEABLE"
Fix Mail PostRegistry
USE [RF_World]
GO
/****** Object: Table [dbo].[tbl_PostRegistry] Script Date: 03/21/2008 05:37:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tbl_PostRegistry](
[serial] [int] IDENTITY(0,1) NOT NULL,
[dck] [bit] NULL CONSTRAINT [DF_tbl_PostRegistry_dck] DEFAULT ((1)),
[sendserial] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_sendserial] DEFAULT ((0)),
[sendname] [varchar](17) NULL,
[recvname] [varchar](17) NULL,
[title] [varchar](21) NULL,
[content] [varchar](201) NULL,
[k] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_k] DEFAULT (0xFFFFFFFF),
[d] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_d] DEFAULT ((0)),
[int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_u] DEFAULT (0x0FFFFFFF),
[gold] [int] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_gold] DEFAULT ((0)),
[sendrace] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_sendrace] DEFAULT ((0)),
[userdgr] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_userdgr] DEFAULT ((0)),
[uid] [bigint] NOT NULL CONSTRAINT [DF_tbl_PostRegistry_uid] DEFAULT ((0)),
CONSTRAINT [PK__tbl_PostRegistry__40657506] PRIMARY KEY CLUSTERED
(
[serial] 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
SET ANSI_PADDING OFF
Fix Mail PostStorage
USE [RF_World]
GO
/****** Object: Table [dbo].[tbl_PostStorage] Script Date: 03/21/2008 05:37:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tbl_PostStorage](
[serial] [int] IDENTITY(1,1) NOT NULL,
[postinx] [smallint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_postinx] DEFAULT (0xFF),
[owner] [int] NOT NULL,
[dck] [bit] NOT NULL CONSTRAINT [DF_tbl_PostStorage_dck] DEFAULT ((1)),
[poststate] [tinyint] NOT NULL,
[sendname] [varchar](17) NULL,
[recvname] [varchar](17) NULL,
[title] [varchar](21) NULL,
[content] [varchar](201) NULL,
[k] [int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_k] DEFAULT (0xFFFFFFFF),
[d] [int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_d] DEFAULT ((0)),
[int] NOT NULL CONSTRAINT [DF_tbl_PostStorage_u] DEFAULT (0x0FFFFFFF),
[gold] [int] NOT NULL,
[err] [tinyint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_err] DEFAULT ((0)),
[sindex] [smallint] NOT NULL CONSTRAINT [DF__tbl_PostS__sinde__0798A2AC] DEFAULT (0xFF),
[uid] [bigint] NOT NULL CONSTRAINT [DF_tbl_PostStorage_uid] DEFAULT ((0)),
CONSTRAINT [PK__tbl_PostStorage__7FB6BE6B] PRIMARY KEY CLUSTERED
(
[serial] 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
SET ANSI_PADDING OFF
Creation of GM Account
DECLARE @RC int
DECLARE @id varchar(13)
DECLARE @pw varchar(13)
DECLARE @depart varchar(32)
DECLARE @class varchar(12)
DECLARE @name varchar(12)
DECLARE @birthday varchar(10)
DECLARE @grade int
DECLARE @subgrade int
SELECT @id = '!Your Account Name'
SELECT @pw = 'Your Password'
SELECT @depart = 'none'
SELECT @class = 'GM'
SELECT @name = 'name'
SELECT @birthday = 'None'
SELECT @grade = 2
SELECT @subgrade = 4
EXEC @RC = [rf_user].[dbo].[pInsert_Staff] @id, @pw, @depart, @class, @name, @birthday, @grade, @subgrade
Hexing Launcher Port Value
27780 - 84 6C
10001 - 11 27
10110 - 7E 27
Hope this will help. Credit Goes to Lanzweirdo