Ir para conteúdo
  • 0

Donate doTeleportThing


Fiapera

Pergunta

Adicionei o sistema VIP System by Mock 100% no meu servidor, porem o movements quando o player passa da erro.

Citar

[17:3:03.542] [Error - MoveEvents Interface]
[17:3:03.543] data/movements/scripts/Donate.lua:onStepIn
[17:3:03.544] Description:
[17:3:03.545] attempt to index a nil value
[17:3:03.546] stack traceback:
[17:3:03.547]   [C]: in function 'doTeleportThing'
[17:3:03.548]   data/movements/scripts/Donate.lua:13: in function <data/movements/scripts/Donate.lua:2>

 

Alguém pode ajudar. AH, uma duvida no próprio sistema do Mock, no arquivo Creaturescript, tem a getPlayerStorageValue(cid,55555), Essa storage e do meu servidor que eu uso para quem for vip, ou não, posso deixar essa padrão mesmo, pq ali ele vai checar a storage certo, se ele não tiver ele vai joga para o templo, mais se aquela storage n for a minha e ai kkkkk.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
function onStepIn(cid, item, position, fromPosition)
	
	local tileConfig = {
		kickMsg = "Voce nao e Donate para acessar essa area.",
		kickEffect = CONST_ME_POFF,
    	kickPos = {x = , y = , z = },
		enterMsg = "Bem vindo a area Donate",
		enterEffect = CONST_ME_MAGIC_RED,
	}
	
	if isPlayer(cid) then
		if vip.hasVip(cid) == FALSE then
			doTeleportThing(cid, tileConfig.kickPos)
			doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
			doPlayerSendCancel(cid, tileConfig.kickMsg)
		end
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
		doSendMagicEffect(position, tileConfig.enterEffect)
		return true
	end
end


Tenta assim, altera a posição ali no kickPos!
E outra coisa, tu não precisa chamar:

if isPlayer(cid) == true then

Já que o servidor vai entender algo +/- assim: true = true, basta utilizar desta maneira abaixo!

if isPlayer(cid) then 

Outra coisa, você postou o código faltando o kickPos, não estou dizendo que o erro é isso.

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Rookie disse:
function onStepIn(cid, item, position, fromPosition)
	
	local tileConfig = {
		kickMsg = "Voce nao e Donate para acessar essa area.",
		kickEffect = CONST_ME_POFF,
    	kickPos = {x = , y = , z = },
		enterMsg = "Bem vindo a area Donate",
		enterEffect = CONST_ME_MAGIC_RED,
	}
	
	if isPlayer(cid) then
		if vip.hasVip(cid) == FALSE then
			doTeleportThing(cid, tileConfig.kickPos)
			doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
			doPlayerSendCancel(cid, tileConfig.kickMsg)
		end
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
		doSendMagicEffect(position, tileConfig.enterEffect)
		return true
	end
end


Tenta assim, altera a posição ali no kickPos!
E outra coisa, tu não precisa chamar:

if isPlayer(cid) == true then

Já que o servidor vai entender algo +/- assim: true = true, basta utilizar desta maneira abaixo!

if isPlayer(cid) then 

Outra coisa, você postou o código faltando o kickPos, não estou dizendo que o erro é isso.

 

Amigo, Obrigado por tirar seu tempo em me ajudar.  Eu ja editei umas 10x essa msg kkk, e pq eu to fuçando geral aqui, fiz ele acessar a area vip quando eu dou use no item, porem a partir do momento que eu dou use no item, tipo ele funciona 1 ou 2 minuto, dps vc tenta passar de novo, ele te joga para o templo dizendo que você não e vip, mais no site ainda fica registrado que e VIP.

 

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

  • 0

Tu não atribuiu um valor para a função doTeleportThing, então:

local config = {
    -- Sem VIP
    kickMsg = "Voce nao e Donate para acessar essa area.",
    kickPos = { x = 100, y = 200, z = 7 },
    kickEffect = CONST_ME_POFF,

    -- Com VIP
    enterMsg = "Bem vindo a area Donate",
    enterEffect = CONST_ME_MAGIC_RED,
}

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
        return false
    end
    if not vip.hasVip(cid) then
        doTeleportThing(cid, config.kickPos)
        doSendMagicEffect(config.kickPos, config.kickEffect)
        doPlayerSendCancel(cid, config.kickMsg)
    end
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.enterMsg)
    doSendMagicEffect(position, config.enterEffect)

    return true
end

 

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...