Ir para conteúdo
  • 0

VIP Acaba mas players continuam acessando area


Mattchopz

Pergunta

Pessoal, 

 

Estou com um problema no meu ot que os players utilizam um item para ganhar acesso as áreas DONATE VIP (até ai tudo bem), mas quando o tempo expira eles continuam tendo acesso. 

• Não sei exatamente se minha versão do servidor é TFS 0.4 (onde olho?)

• No site aparece a contagem de VIP como -1

• Na base de dados o vip_time fica um tempo enorme, ex: 1586657498.

• Anexei também o script do item

• Se precisarem de algo mais, anexo aqui tb... é importante para mim resolver isso.

 

Obrigado desde já.

vip3dia.lua

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
9 horas atrás, Mattchopz disse:

Acredito que o movements seria esse!

epicvip.lua 600 B · 0 downloads

 

Substitui todo código do epicvip.lua por este:

local config = {
msgDenied = "Olá "..getCreatureName(cid)..". Você não é vip donate adquira agora mesmo em nósso site: realbaiak.online",

msgWelcome = "Seja Bem Vindo a Área donate "..getCreatureName(cid)..".",
}

function onStepIn(cid, item, position, fromPosition)

	if not isPlayer(cid) then
		return true
	end

	if not isPremium(cid) then
		doTeleportThing(cid, fromPosition)
		doPlayerPopupFYI(cid, config.msgDenied)
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_POFF)
	return true
	
    else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, config.msgWelcome)
	return true
    end 
end

Teste e veja se ainda da para os players que não são vip passarem.

Link para o comentário
Compartilhar em outros sites

  • 0
35 minutos atrás, Mattchopz disse:
Versão do Servidor: TFS - 0.4
Tipo de Script: creaturescript
Código:
  Mostrar conteúdo oculto


-- Account VIP System criado por Vitor Bertolucci - Killua

vip_storage = 13500

function getAccountVipTime(accid)
	local time_ = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `id` = '"..accid.."' LIMIT 1")
	if time_:getID() ~= -1 then
		local days = time_:getDataInt("vip_time")
		time_:free()
		return days
	end
	error("Account com id "..accid.." não existe.",2)
end

function setAccountVipTime(accid, time)
	local func = db.query or db.executeQuery
	local time_ = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `id` = '"..accid.."' LIMIT 1")
	if time_:getID() ~= -1 then
		func("UPDATE `accounts` SET `vip_time` = '"..time.."' WHERE `id` = '"..accid.."' LIMIT 1")
		return true
	end
	error("Account com id "..accid.." não existe.",2)
end

function isVipQuery(cid) -- Checa se o jogador é vip
	if getAccountVipTime(getPlayerAccountId(cid)) then
		return getAccountVipTime(getPlayerAccountId(cid)) >= os.time()
	end
	return false
end

function isVip(cid)
	return getPlayerStorageValue(cid,vip_storage) == 1
end

function doPlayerSetVipDays(cid, days)
	if days and tonumber(days) and tonumber(days) >= 0 then
		if tonumber(days) == 0 then
			return setAccountVipTime(getPlayerAccountId(cid), days)
		end
		return setAccountVipTime(getPlayerAccountId(cid), (os.time() + (days * 60 * 60 * 24)))
	else
		print(getCreatureName(cid), type(days), days)
		error("Aviso: Nao foi possivel executar a funcao doPlayerSetVipDays. O parametro days deve ser um numero.",2)
	end
end

function getPlayerVipDays(cid)
	if getAccountVipTime(getPlayerAccountId(cid)) then
		return getAccountVipTime(getPlayerAccountId(cid)) > 0 and math.ceil((getAccountVipTime(getPlayerAccountId(cid)) - os.time()) / 60 / 60 / 24) or tonumber(0)
	end
	return tonumber(0)
end

function doPlayerAddVipDays(cid,days)
	local current = getPlayerVipDays(cid)
	return doPlayerSetVipDays(cid, tonumber(current) > 0 and tonumber(current) + days or days)
end

Pessoal, 

 

Estou com um problema no meu ot que os players utilizam um item para ganhar acesso as áreas DONATE VIP (até ai tudo bem), mas quando o tempo expira eles continuam tendo acesso. 

• Não sei exatamente se minha versão do servidor é TFS 0.4 (onde olho?)

• No site aparece a contagem de VIP como -1

• Na base de dados o vip_time fica um tempo enorme, ex: 1586657498.

• Anexei também o script do item

• Se precisarem de algo mais, anexo aqui tb... é importante para mim resolver isso.

 

Obrigado desde já.

vip3dia.lua 422 B · 0 downloads

tão simples só colocar pra quando acabar o tempo teleporta eles para o templo.... só procurar aqui no fórum que tem scripts pré prontos pra isso

 

Link para o comentário
Compartilhar em outros sites

  • 0
19 minutos atrás, LeoTK disse:

tão simples só colocar pra quando acabar o tempo teleporta eles para o templo.... só procurar aqui no fórum que tem scripts pré prontos pra isso

Acho que me expressei mal... eles podem entrar e sair da área vip sem problemas. 

Link para o comentário
Compartilhar em outros sites

  • 0

Sobre ter acesso a área é na pasta movements e não em creaturescripts, e ele estar conseguindo acessar a área mesmo sem vip pode ser alguma storage, mas pelo que falou do valor do vip_time, como fica maior que 0, pode ser isso que está permitindo. Precisa postar todos os scripts relacionado a esse sistema para analisar direitinho o que pode ser o problema.

Link para o comentário
Compartilhar em outros sites

  • 0
6 horas atrás, Yan18 disse:

Sobre ter acesso a área é na pasta movements e não em creaturescripts, e ele estar conseguindo acessar a área mesmo sem vip pode ser alguma storage, mas pelo que falou do valor do vip_time, como fica maior que 0, pode ser isso que está permitindo. Precisa postar todos os scripts relacionado a esse sistema para analisar direitinho o que pode ser o problema.

Acredito que o movements seria esse!

epicvip.lua

Link para o comentário
Compartilhar em outros sites

  • 0
55 minutos atrás, Yan18 disse:

Teste e veja se ainda da para os players que não são vip passarem

Cara acabei mudando o sistema completamente... Estou usando agora um por VIP by Mock, mas vou te dar a REP.

 

Agora estou com outro problema: 

data/talkactions/scripts/VIP/addvip.lua:9: attempt to call global 'getPlayerByName' (a nil value)
stack traceback:
	data/talkactions/scripts/VIP/addvip.lua:9: in function

Saberia me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, Mattchopz disse:

Cara acabei mudando o sistema completamente... Estou usando agora um por VIP by Mock, mas vou te dar a REP.

 

Agora estou com outro problema: 


data/talkactions/scripts/VIP/addvip.lua:9: attempt to call global 'getPlayerByName' (a nil value)
stack traceback:
	data/talkactions/scripts/VIP/addvip.lua:9: in function

Saberia me ajudar?

Sim, posta o script addvip.lua

Link para o comentário
Compartilhar em outros sites

  • 0
28 minutos atrás, Mattchopz disse:

Sempre que eu uso

Você seguiu todos os passos certinhos na instalação desse sistema? Pois vi aqui que ele é bem chatinho e fácil de dar problema, e várias pessoas que usam TFS 0.4 deram problema, que no caso pelo que vi no tópico é a mesma versão do seu.

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Yan18 disse:

Você seguiu todos os passos certinhos na instalação desse sistema? Pois vi aqui que ele é bem chatinho e fácil de dar problema, e várias pessoas que usam TFS 0.4 deram problema, que no caso pelo que vi no tópico é a mesma versão do seu.

Creio que sim. De um modo ou outro, vou revisar os passos! Obrigado ?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...