| kakarojeta |
23-10-2010 06:27 PM |
Colocando Site Leandro Daldegam Controlar Vips no servidor
olá galera consegui finalmente fazer com que o site do LD controla-se os Vips no jogo.
Ou seja, assim que o Novo Player se cadastrar ou você mudar o Plano Vip ou adicionar Vip pelo Site automaticamente o player já vira Vip no Game caso Vip do player acabe automaticamente o site tira o Vip e no mesmo segundo o player perde o Vip em game.
Requisitos: Site Leandro Daldegam versão 1.3.2 ou Superior
Vamos la:
1) Você Deve Unir a database do Site a "website" na Database MuOnline
Atenção
Obs: Caso Você já tenha players Vip no Site deverá Migrar as TABELAS para MuOnline caso Contrario não ira funcionar.
1.1) Restaure a database MuOnline
1.2) Rode a Query abaixo para instalar informações que o site precisa dentro da MuOnline.
Código PHP:
USE [master]
GO
sp_addextendedproc 'XP_MD5_EncodeKeyVal', 'WZ_MD5_MOD.dll'
GO
sp_addextendedproc 'XP_MD5_CheckValue', 'WZ_MD5_MOD.dll'
GO
USE [MuOnline]
GO
ALTER TABLE dbo.MEMB_INFO ADD data datetime NULL
GO
ALTER TABLE dbo.MEMB_INFO ADD aniversario nvarchar(50) NULL
GO
ALTER TABLE dbo.Character ADD resetsWeek int NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.Character ADD resetsMonth int NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.Character ADD PkCountWeb int NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.Character ADD Resets int NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.Character ADD MResets int NOT NULL DEFAULT 0
GO
ALTER TABLE dbo.[Character] ADD image varchar(50) NULL
GO
CREATE DATABASE [webSite]
GO
USE [MuOnline]
GO
CREATE TABLE [dbo].[webBanneds](
[name] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[datebegin] [varchar](10) COLLATE Latin1_General_CI_AS NOT NULL,
[dateend] [varchar](10) COLLATE Latin1_General_CI_AS NOT NULL,
[type] [smallint] NOT NULL,
[description] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[bannedBy] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[webCash] (
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[amount] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webComplaints] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[image] [varchar] (255) COLLATE Latin1_General_CI_AS NOT NULL ,
[description] [text] COLLATE Latin1_General_CI_AS NOT NULL ,
[date] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
[ip] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
[status] [smallint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[webLogBuyCash] (
[id] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[username] [varchar] (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[cash] [int] NULL ,
[banco] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[nterminal] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ntransferencia] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[agencia_acolhedora] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[nsequencia] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ctr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[caixa_eletronico] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[nenvelope] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ndocumento] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ncontrole] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[noperador] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[data] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[hora] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[pago_em] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[anexo] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[comentario] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[valor] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[status] [int] NOT NULL ,
[comentario_adm] [text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[webLogBuyVips] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[type] [smallint] NOT NULL ,
[cashAmount] [int] NOT NULL ,
[days] [smallint] NOT NULL ,
[date] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webNotices] (
[id] [smallint] IDENTITY (1, 1) NOT NULL ,
[subject] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
[content] [text] COLLATE Latin1_General_CI_AS NOT NULL ,
[date] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[webPrevilegy] (
[id] [smallint] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[previlegy] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRecord] (
[record] [smallint] NOT NULL ,
[date] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[webRecord] ([record],[date]) VALUES (0,0)
GO
CREATE TABLE [dbo].[webTickets] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[character] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[sector] [varchar] (20) COLLATE Latin1_General_CI_AS NOT NULL ,
[subject] [varchar] (30) COLLATE Latin1_General_CI_AS NOT NULL ,
[description] [text] COLLATE Latin1_General_CI_AS NOT NULL ,
[date] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL ,
[ip] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL ,
[status] [smallint] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[webTicketsAnswers] (
[id] [int] NOT NULL ,
[description] [text] COLLATE Latin1_General_CI_AS NOT NULL ,
[answerBy] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[date] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[webVips] (
[username] [varchar] (12) COLLATE Latin1_General_CI_AS NOT NULL ,
[type] [smallint] NOT NULL ,
[datebegin] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL ,
[dateend] [varchar] (10) COLLATE Latin1_General_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webSendEmailLimit] (
[username] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[dateRequest] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[webSendEmailLimit] WITH NOCHECK ADD
CONSTRAINT [PK_webSendEmailLimit] PRIMARY KEY CLUSTERED
(
[username]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webPollQuestions](
[id] [int] IDENTITY(1,1) NOT NULL,
[question] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[active] [bit] NOT NULL CONSTRAINT [DF_webPollQuestions_active] DEFAULT ((0))
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webPollAnswers](
[idAnswer] [int] IDENTITY(1,1) NOT NULL,
[idPoll] [int] NOT NULL,
[answer] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[votes] [int] NOT NULL CONSTRAINT [DF_webPollAnswers_votes] DEFAULT ((0))
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webPollIps] (
[ip] [varchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[requestTime] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[webPollIps] WITH NOCHECK ADD
CONSTRAINT [PK_webSendEmailLimit] PRIMARY KEY CLUSTERED
(
[ip]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webCronjobConfig](
[execute] [bit] NOT NULL,
[lastExecution] [bigint] NOT NULL CONSTRAINT [DF_webCronjobConfig_lastExecution] DEFAULT ((0))
) ON [PRIMARY]
GO
INSERT INTO [dbo].[webCronjobConfig] ([execute]) VALUES (0);
GO
CREATE TABLE [dbo].[webRankingCharactersLevel](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRankingCharactersMasterReset](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRankingCharactersPk](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRankingCharactersResets](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRankingCharactersResetsMonth](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webRankingCharactersResetsWeek](
[id] [int] IDENTITY(1,1) NOT NULL,
[account] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[character] [varchar](12) COLLATE Latin1_General_CI_AS NOT NULL,
[clevel] [smallint] NOT NULL,
[pkcount] [int] NOT NULL,
[resets] [int] NOT NULL,
[mresets] [int] NOT NULL,
[resetsweek] [int] NOT NULL,
[resetsmonth] [int] NOT NULL,
[class] [smallint] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[webNoticesComments](
[id] [tinyint] IDENTITY(1,1) NOT NULL,
[idNotice] [smallint] NOT NULL,
[username] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[comment] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[datePost] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[remoteAddr] [varchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE PROCEDURE [dbo].[webPwdHashWrite]
@login VARCHAR(10),
@senha VARCHAR(10)
AS
BEGIN
DECLARE @Hash BINARY(16);
EXEC master..XP_MD5_EncodeKeyVal @senha, @login, @Hash OUT;
UPDATE MuOnline.dbo.MEMB_INFO SET memb__pwd = @Hash WHERE memb___id = @login;
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[webVerifyLogin]
@login VARCHAR(10),
@senha VARCHAR(10),
@md5 int
AS
BEGIN
DECLARE @Valid int;
SET @Valid = 0;
IF @md5 = 1
BEGIN
DECLARE @Hash BINARY(16);
EXEC master..XP_MD5_EncodeKeyVal @senha, @login, @Hash OUT;
SELECT @Valid = 1 FROM MuOnline.dbo.MEMB_INFO WHERE memb___id = @login AND memb__pwd = @Hash;
END
IF @md5 = 0
BEGIN
SELECT @Valid = 1 FROM MuOnline.dbo.MEMB_INFO WHERE memb___id = @login AND memb__pwd = @Senha;
END
SELECT @Valid;
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
2) Vamos agora Configurar o Site
2.1) Abra o arquivo settings.php Com Bloco de Notas
2.2) Deixe essas Linhas dessa Maneira (você encontra logo no começo)
Código PHP:
define('DATABASE', 'MuOnline');
define('DATABASE_ACCOUNTS', 'MuOnline');
define('DATABASE_CHARACTERS', 'MuOnline');
Código PHP:
define('COLUMN_RESETS','Resets'); //Coluna onde ficam armarzenados os Resets na character
define('COLUMN_MASTER_RESETS','MResets'); //Coluna onde ficam armarzenados os Master Resets na character
define('COLUMN_RESETS_WEEK','resetsWeek'); //Coluna onde ficam armarzenados os Resets semanais na character
define('COLUMN_RESETS_MONTH','resetsMonth'); //Coluna onde ficam armarzenados os Resets mensais na character
2.3) Mais abaixo Procure essas Linhas e Deixe assim
Código PHP:
$TABLES_CONFIGS['WEBVIPS'] = array("table" => "MEMB_INFO", //webVips || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnType" => "vip", //type || vip
"columnDateBegin" => "DateBegin",
"columnDateEnd" => "DateEnd");
3) Volte a Database Procure pela Table MEMB_INFO
3.1)
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
3.2) Crie as 2 Colunas Selecionadas de preto Veja na foto
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Fim Do Tutorial
Atenção
Obs: Faça BKP te toda a database antes de iniciar esses Procedimentos acima
Obs:2 Fiz esse Tutorial sem ter nenhum Vip ou qualquer coisa adicionada na database não tive problemas com erros no Site ou no Jogo.
|