quarta-feira, 11 de maio de 2011

[SQL] Sistema Completo "vote Por Pontos" NPC + SQL + PHP

Tópico Retirado do Cronus, Tópico criado por Staruck

Bom, antes de tudo vale ressaltar que os créditos são de seus respectivos criadores do sistema, eu estarei apenas postando aqui um tutorial e disponibilizando os códigos necessários para funcionamento do mesmo!

Vamos lá, sigam os passos e sejam felizes =D :

1º Passo: Configurando seu config.php

O sistema só funciona com Ceres CP Rev 6.0 ou mais novo!

Abra o arquivo config.php da pasta principal do Ceres CP do seu servidor;

Ache estas linhas:

Quote

extract($CONFIG, EXTR_PREFIX_ALL, "CONFIG");
extract($_GET, EXTR_PREFIX_ALL, "GET");
extract($_POST, EXTR_PREFIX_ALL, "POST");
extract($_SERVER, EXTR_PREFIX_ALL, "SERVER");

Adicione isto:

Quote

define('VOTE_TIME', 24 );
define('VOTE_LINK', serialize( array(
1 => 'http://www.sitetop1.com.br/ragnarok/votarid12345',
2 => 'http://www.sitetop2.com.br/ragnarok/votarid12345',
3 => 'http://www.sitetop3.com.br/ragnarok/votarid12345'
))
);


Note que existem 3 link's no código, e eles devem ser alterados como o exemplo abaixo:

Existe:

Quote



Mude para a url de votação do seu servidor

Feito isto, vamos ao próximo Passo!

2º Passo: Adicionando as tabelas SQL!

Abra o phpMyAdmin do seu servidor MySQL ou o painel de administração de seu servidor de banco de dados (vou utilizar o phpMyAdmin como exemplo aqui)

Abra a tabela de dados do seu servidor, geralmente a tabela "ragnarok";

Clique nesse botão: Imagem anexa: monthly_05_2010/post-33113-127488955464.png (Encontra-se no painel esquerdo)

Insira este código na caixa de texto:

Quote

CREATE TABLE `vote_point` (
`account_id` int(11) NOT NULL default '0',
`point` int(11) NOT NULL default '0',
`last_vote1` int(11) NOT NULL default '0',
`last_vote2` int(11) NOT NULL default '0',
`last_vote3` int(11) NOT NULL default '0',
`date` text NOT NULL,
PRIMARY KEY (`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Clique em executar!

Pronto, vamos ao próximo passo!

3º Passo: Adicionando o arquivo vote.php!
Abra o bloco de notas e coloque esse código:

Quote



Simples não? agora vamos ao último passo:

4º Passo: Adicionando e editando o NPC do sistema de troca de pontos!

Pois bem, após os passos anteriores, o sistema já estará funcionando. Note que ao logar no cpanel e votar nos TOP's você ganhará 1 ponto por voto, estes pontos serão adicionados na tabela "vote point" que foi criada no seu banco de dados. Aconselho que antes de seguir o tutorial, você teste o sistema, pois mesmo sem o NPC ele irá funcionar!!!

Bom, seguindo o tutorial:

Insira esse NPC no seu servidor:

Arquivo anexado pontosvoto.txt (2,04K)

Após isto, vamos personalizá-lo:

Ache esta linha:

Quote

setarray @vote_item[0], 512, 513; // ID dos Itens


Note que nela existe os itens disponíveis para troca, em ordem que será apresentada ao player, e que somente são identificados pelo ID de cada item!

Adicione os itens que deseja disponibilizar para os players à sua vontade, não tem limites para isso, pode ser quantos itens quiser, mas lembre-se que é por ID!

Agora você precisará definir a quantidade de itens que serão entregues aos players.

Ache esta llinha:

Quote

setarray @vote_item_count[0], 1 , 1; // Quantidade de item que será entregue


Lembre-se, o número de itens disponíveis para troca deverá ser igualado a quantidade de valores que você adicinar nessa linha, ou respectivamente!

Seja assim, entenda-se: Se eu colocar 20 ID's na primeira linha, nessa segunda deve ter 20 números, sendo que eles respondem respectivamente para cada item na sequência que foram apresentados!

Bom, depois de ter os itens e quantidade, você precisa definir a quantidade de pontos necessários para cada item.

Então, ache essa linha: (ela estará logo abaixo da linha que pedi anteriormente)

Quote

setarray @vote_cost[0], 1 , 2; // preço dos itens em pontos de votos


Modifique conforme os pontos que você achar necessário para cada item como no exemplo:

Então, o sistema devera ter x itens = x qtde = x pontos, ou seja, se você colocar 10 itens para troca, precisará colocar os 10 valores de quantidade e os 10 valores de custo...

Finalizando vou colocar o exemplo do script:

Quote

setarray @vote_item[0], 512, 513; // ID dos Itens
setarray @vote_item_count[0], 1 , 1; // Quantidade de item que será entregue
setarray @vote_cost[0], 1 , 2; // preço dos itens em pontos de votos


Sendo assim, os players terão 2 itens disponíveis. O item 512 será ganho 1 e custará 1 ponto; Já o item 513 ganhará 1 mas custará 2 pontos!

Para finalizar, existe essa linha:

Quote

set @min_vote, 0; // contagem mínima de pontos de votos para ver a lista de itens


Esta linha configura quantos pontos necessário o player deve ter para ver a lista. Se deixar em "0" qualquer um poderá ver, se colocar 10, só os players que votarem 10 vezes ou mais poderão ver!!!

Fim do tutorial!

Espero que todos consigam colocar esse sistema em seus servidores, pois auxilia muito na votação!

Claro que, o sistema é falho, ele não confere se o player realmente votou, porém ele tem um delay de 24 horas para cada voto, verificando apenas a conta e não o IP, então ai émais uma falha, mas mesmo assim, uso e recomendo esse sistema pois ele te dá um UP na votação diária!!!

Bom, como disse no topo do tópico, os Créditos são dos Respectivos criadores do sistema;

Um comentário: