Ir para conteúdo
  • 0

Dar Premdays Ao Logar


lucas502

Pergunta

Fala ae galera blza?

 

Então, preciso de um script (provavelmente onLogin), que quando o char da conta logar, a conta irá ganhar 5 dias de premium (premdays, que no caso uso como VIP no meu server)

 

 

só que com um porém, somente vai ganhar os days apenas uma vez, ou seja, no primeiro login do primeiro personagem criado. Pro pessoal não ficar bugando e fazendo varios chars só pra ganhar premday.

 

 

PS: Já tentei pelo config.php do site, mas o meu não funciona. Então, acho que minha solução seria um script que colocasse os premdays ao logar.

 

 

Talvez um execute.query com "alter table premdays = premdays + 5" ou "doPlayerAddPremiumDays" algo do tipo...

 

 

Vlw galera, aguardo!

Editado por Lucas502
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Certo, abra o seu banco de dados e execute a seguinte query.

 

ALTER TABLE `accounts` ADD prem_gift INT NOT NULL DEFAULT 0

 


function onLogin(cid)
local gift = db.getResult("SELECT `prem_gift` FROM `accounts` WHERE `id` = ".. getPlayerAccountId(cid) ..";")
if gift:getID() ~= -1 then
	local status = gift:getDataInt("prem_gift")
	if status == 0 then
		doPlayerAddPremiumDays(cid, 5)
		db.executeQuery("UPDATE `accounts` SET `prem_gift` = 1 WHERE `id` = ".. getPlayerAccountId(cid) ..";")
	end
end
return true
end

 

A coluna prem_gift funcionará como um storage para a conta toda.

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

sakei, vou tentar :), ja respondo topico

 

ta, tem um probleminha basico.

 

 

O player loga e receba os premdays, só que, pra poder ativar a premday ele é obrigado a relogar (e como nos sabemos, tem uma grande maioria dos players que é tosco e não sabe q é preciso relogar após logar a primeira vez, pra ativar a premday)

 

 

tem como colocar algo pra q ele seja kickado logo após logar a primeira vez? sei la, removecreature ou outra coisa...

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, claro.

 



function onLogin(cid)
   local gift = db.getResult("SELECT `prem_gift` FROM `accounts` WHERE `id` = ".. getPlayerAccountId(cid) ..";")
   if gift:getID() ~= -1 then
       local status = gift:getDataInt("prem_gift")
       if status == 0 then
           doPlayerAddPremiumDays(cid, 5)
           addEvent(function()
               if isCreature(cid) then
                   doRemoveCreature(cid)
               end
           end, 2 * 1000)
           db.executeQuery("UPDATE `accounts` SET `prem_gift` = 1 WHERE `id` = ".. getPlayerAccountId(cid) ..";")
       end
   end
   return true
end

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...