Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Vou explicar como funciona o meu sistema para facilitar o entendimento.
Eu estou elaborando um servidor de jogo (SAMP - San Andreas Multiplayer / GTA San Andreas Online),
e estou fazendo o salvamento de dados em MySQL. Para tornar o servidor mais interativo, estou desenvolvendo um
painel de controle online em PHP para que o jogador possa executar alguma ação e a mesma acontecer no jogo.
Eu criei um sistema de KEY semelhante ao de compra de jogos na steam onde voce recebe uma KEY e adiciona ao aplicativo para receber a recompensa (jogo).
Meu arquivo php gera uma KEY unica com caracteres aleatorios e salva no banco de dados com uma estrutura semelhante a essa:
CREATE TABLE IF NOT EXISTS `Codes` (
`Code` text NOT NULL,
`Status` text NOT NULL,
`Player` text NOT NULL,
`Action` text NOT NULL,
`Value` int(11) NOT NULL
)
INSERT INTO `Codes` (`Code`, `Status`, `Player`, `Action`, `Value`) VALUES ('FD5RDS', 'Available', '', 'Money', '10000')
Onde se o jogador usar o código "FD5RD5" dentro do jogo, ele recebe "10000" em "Money" ou dinheiro, alterando o status do codigo para "Unavailable" para que não possa ser usado novamente, e acrescenta seu nome na field Player para mostrar quem usou a key.
Agora vem a dúvida.
Se eu abrir a pagina "minhapagina.php" que contem o gerador da key, e der refresh 5 vezes na página, eu vou gerar 5 codigos e vou poder reclamar 5 recompensas. Eu peço ajuda para alguem me ajudar a bolar um método de esse código ser gerado apenas 1 única vez pelo usuário.
Caso não conseguistes entender o objetivo da pergunta, avisa que eu tento simplificar.
Grato desde já, Brendon.
Olá amigo, creio que não seja essa a solução, pois eu teria de criar várias tabelas para cada promoção/evento e no caso da loja online que é baseada em key, o usuário não conseguiria comprar mais de um item. Mas agradeço a participação.
Oi,tudo bem ?
Cara,sa-mp foi o meu jogo de infância,joguei por 8 anos no servidor do BPF.
Boa sorte com o seu servidor !
Bom,você pode criar uma tabela para armazenar os usuários que não usaram.
Na hora que o player clicar em Gerar,você faz uma consulta na tabela e vê se a conta dele já gerou,uma query parecida com essa:
SELECT id FROM players_gerados WHERE nick = $nick
Se retornar algo,é porque o player já gerou um código usando aquele nick,se não retornar é so executar o resto do código para gerar.
Me mande o IP do servidor se já estiver online !