Estive pensando em uma forma de utilizar o sistema de gens em versões que não possuiam isso.
Pois bem, cheguei a seguinte forma..
Primeiro passo:
Crie as seguintes colunas:
Código:
ALTER TABLE CHARACTER
ADD Familia int not null default 0
GO
ALTER TABLE MEMB_INFO
ADD Familia int not null default 0
GO
Segundo passo:
No cadastro de seu servidor, você deverá acrescentar um campo para a escolha da família (DUPRIAN OU VANERT), definindo um valor (1 ou 2) para cada uma das familias..
Exemplo:
Código PHP:
<?php if(SISTEMA_GENS == TRUE) { ?>
<tr>
<td><span class='top_ul2' >Familia:</td>
<td><select name="fam" type="text" id="familia" class="texto"/>
<option value="1">VANERT</option>
<option value="2">DUPRIAN</option>
</td>
<td> </td>
</tr>
<?php } ?>
Certo, mas como o ranking será atualizado, já que nessas versões não tem o NPC?
Bom, eu pensei em fazer isso através dos resets dos chars, ou seja, cada vez que o char da um reset, é somado +1 nos "pontos" da familia do referido char.
vamos lá...
Primeiro vamos "selecionar" a familia do char, pois no cadastro nós apenas definimos a familia que a CONTA pertence, então devemos fazer com que o char também pertença a referida familia...
A trigger a seguir dá um select na familia que a conta do char a ser criado pertence e insere os dados da respectiva familia nas informações do char
Código:
-- TRIGGER PARA SISTEMA DE GENS EM VERSÕES INFERIORES A SEASON 6.
-- BY RENATO VALER
-- 02/12/2011 - 19:59
USE MuOnline
GO
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'GENS_SYSTEM' AND type = 'TR')
DROP TRIGGER GENS_SYSTEM
GO
CREATE TRIGGER GENS_SYSTEM ON dbo.Character FOR INSERT
AS
BEGIN
DECLARE
@Familia INT,
@Acc varchar(10),
@Char varchar(10)
SELECT @Char = Name FROM INSERTED
SET @Acc = (Select AccountID from character where name=@Char)
SET @Familia = (SELECT Familia FROM MEMB_INFO WHERE memb___id=@Acc)
UPDATE dbo.Character SET Familia = @Familia WHERE Name = @Char
END
GO
Certo, e agora como vamos atualizar esses dados?
É bom simples, como já foi dito, o ranking é atualizado por meio dos resets, sendo assim, toda vez que o char resetar ele atualizará o ranking.
Observação importante:
Não se esqueça de configurar em seu site as colunas usadas no ranking de gens.
Exemplo:
Código PHP:
/*RANKING GENS*/
define('SISTEMA_GENS',TRUE); // DEFINE RANKING DE GENS TRUE OU FALSE
define('COLUNA_NOME_SISTEMA_GENS','Name'); // NOME DO CHAR DA COLUNA NOME DO GENS
define('TABELA_SISTEMA_GENS','Character'); // TABELA DA GENS
define('CONTRIBUIRION_SISTEMA_GENS','Resets'); // CONTRIBUICAO DO GENS
define('TABELA_FAMILIA_GENS','Familia'); // COLUNA DA FAMILIA DE GENS
define('NUMER_FAMILIA_VANERT',1); // NUMERO PRA FAMILIA VANERT
define('NUMERO_FAMILIA_DUPRIAN',2); // NUMERO PRA FAMILIA DUPRIAN
define('TABELA_GRADUATION_GENS','cLevel'); // COLUNA QUE DEFINE A GRADUAÇÃO DO PLAYER NA FAMÍLIA
Webs criptografadas como a do Daldegam e a do Erick-Master não permitem o implemento desse tiipo de ranking, a menos que eles coloquem, pois é impossível acrescentar o campo de escolha da familia ao cadastro.
Perguntas frequentes:
Porque tem que ter a coluna familia na memb_info e na character?
Na memb_info você define a familia da conta, possibilitanto a definição da familia do char através da trigger.
Creditos: 100% meus.
(: