é 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:
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.
info
Grupo: Campones
Registrado: 17/08/06
Posts: 5
Reputação: 0
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:
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.
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 *.*