Ir para conteúdo

Posts Recomendados

Fala galera,

eu estou com um probleminha aqui, em um VIP System que estou criando (na verdade, adaptando),

Eu utilizei como BASE este tutorial: Perfect Vip System

 

Bem, vamos la,

é o seguinte, eu segui o tutorial, más o script deu alguns erros, então fui adaptando até que deixei ele "QUASE 100% FUNCIONAL".

Como assim ?

Primeiro que o Script, checava o Vocation dentro do addvip.lua, eu fiz direto pelo talkactions.xml más até ai tudo bem,

adaptei também mais 2 novos comandos, que são eles:

/remvip - Remove TODOS os dias de VIP de um determinado player.

/checvip - Mostra a você, quantos dias de VIP, o player em questão possui.

 

Porém, estou tento um problema com o /addvip.

O comando é basiado nisto:

/addvip NOME, DIAS

 

Exemplo: /addvip João, 30

no caso eu adicionei 30 dias de VIP para o João, más estou tendo um erro, que é ele:

Quando eu adiciono VIP à um player pela PRIMEIRA VEZ, ou DEPOIS DE TER REMOVIDO A VIP DELE COM O /remvip, A VIP SIMPLISMENTE NÃO FUNCIONA.

Ou seja,

você acaba de criar um Character de nome "João", você nunca teve vip, digamos que vou lhe dar 30 dias de vip, eu escrevo:

/addvip João, 30

Ele dá a menssagem de que os dias foram adicionados com sucesso, tanto para o João, quando para o ADMIN que executou o comando, funciona tudo certinho, porém, quando você da /checvip João, ele fala que tem 0 VIP DAYS.

E caso eu execute o comando novamente, ai sim, desta vez funciona. Ou seja, se eu utilizar 2x o comando de adicionar, na segunda vez o João recebe os dias de VIP.

É como se fosse um BUG na variavel que armazena o tempo de VIP, como se ela tivesse que receber um valor para desbugar, e só então, valores depois do primeiro, fazem efeito.

 

Ja resolvi dar um /checvip antes de adicionar nenhuma vip no Player, e o player aparece com o numero -14784 na variavel de DIAS de VIP,

ou seja, como se todos characters criados, ja começacem com "-14784 dias de vip", fazendo com que isso, bugue o primeiro comando de /addvip, e não impota o quanto você coloque de vip, no primeiro comando, que não funciona, e o vip reseta pra zero, ai sim, depois ele funciona.

Estou utilizando isto, para Alterar e Pegar o valor da VIP:

getPlayerStorageValue(player, 14540)
setPlayerStorageValue(player, 14540, time)

 

Vou postar o script do /addvip, para vocês que conhecem melhor do assunto, possam localizar o possivel erro, que esta bugando a variavel em seu primeiro valor.

function onSay(cid, words, param)

-- explodindo parametros
local t = string.explode(param, ",")
-- final parametro

-- Você colocou os Parâmetros corretos ?
if t[1] == '' or t[2] == '' or param == '' then
--Não ? Então receba esta menssagem:
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Utilize: /addvip Nome, Dias")
return true
-- Sim ? Então execute o comando:
else
player = getPlayerByName(t[1])
if (not isPlayer(player)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip GOLD: Player não encontrado!")
return true
else

daysvalue = tonumber(t[2])*24*60*60
storageplayer = getPlayerStorageValue(player, 14540)
timenow = os.time()
if storageplayer <= 0 then

time = timenow+daysvalue
else
time = storageplayer+daysvalue
end


doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. tonumber(t[2]) .." dia(s) de VIP GOLD no seu character.")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip GOLD: Voce adicionou ".. tonumber(t[2]) .." dia(s) de VIP GOLD para ".. t[1])
setPlayerStorageValue(player, 14540, time)
local quantity = math.floor((getPlayerStorageValue(player,14540) - os.time())/(24*60*60))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Digite !vip para saber quanto tempo de VIP GOLD voce possui.")
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dia(s) de VIP restantes.")
return true
end
end
return TRUE
end

 

E o erro não esta localizado no /checvip, nem no /remvip, porque ja retirei os 2 do servior, e testei só com o addvip, e sempre que adiciono pela primeira vez a vip para um jogador, ele buga, e só então na segunda vez, funciona.

 

Obrigado pela atenção de todos,

Esperando ancioso *.*

Link para o comentário
https://xtibia.com/forum/topic/145466-bug-sistema-de-vip-yursot-857/
Compartilhar em outros sites

×
×
  • Criar Novo...