Ir para conteúdo
  • Cadastre-se

(Resolvido)Erro LuadoPlayerAddOutfit Player Not Found


Ir para solução Resolvido por Storm,

Posts Recomendados

Gostaria que alguém pudesse me ajudar, estou tendo esse erro na hora que o player passa por um plano(tile).

E queria pedir, se tiver como, quando o player voltar por esse tile, ele voltasse com a OUTFIT que estava antes.

outfitvoc.lua

ANI-BLC-02a__62338.1315536048.200.200.png

Link para o post
Compartilhar em outros sites

@TheFrost 

--[vocation]{outfit, efeito}
local config = {
    [20] = { {look = 10, efeito = 11} },
    [2] = { {look = 510, efeito = 11} },
    [3] = { {look = 510, efeito = 11} },
    [4] = { {look = 510, efeito = 11} },
    [5] = { {look = 510, efeito = 11} },
    [6] = { {look = 510, efeito = 11} },
    [7] = { {look = 510, efeito = 11} },
    [8] = { {look = 510, efeito = 11} },
    [9] = { {look = 510, efeito = 11} },
}

local storage = 53345

function onStepIn(cid, item, pos)
    
    if not isPlayer(cid) then return true end
    
    local vocation = config[getPlayerVocation(cid)]
    for i = 1, #vocation do
        if vocation then
            local outfit = {lookType = vocation.look}
            
            if getCreatureStorage(cid, storage)== -1 then
                doCreatureChangeOutfit(cid, outfit)
                doCreatureSetStorage(cid, storage, getCreatureOutfit(cid).lookType)
            else
                doCreatureChangeOutfit(cid, {lookType = getCreatureStorage(cid, storage)})
                doCreatureSetStorage(cid, storage, -1)
            end
            doSendMagicEffect(getCreaturePosition(cid), vocation.efeito)
        else
            doSendMagicEffect(getCreaturePosition(cid), 11)
        end
    end
    return true
end

 

Link para o post
Compartilhar em outros sites

Não esta dando erro, mas na hora que vou passar pelo tile, o player ficar invisível.

Não ta pegando a OUTFIT que eu quero.

 

Link para o post
Compartilhar em outros sites

@TheFrost 

--[vocation]{outfit, efeito}

local config = {
    [20] = { look = 10, efeito = 11 },
    [2] = { look = 510, efeito = 11 },
    [3] = { look = 510, efeito = 11 },
    [4] = { look = 510, efeito = 11 },
    [5] = { look = 510, efeito = 11 },
    [6] = { look = 510, efeito = 11 },
    [7] = { look = 510, efeito = 11 },
    [8] = { look = 510, efeito = 11 },
    [9] = { look = 510, efeito = 11 },
}

local storage = 53345

function onStepIn(cid, item, pos)
    
    if not isPlayer(cid) then return true end
    
    local vocation = config[getPlayerVocation(cid)]
    
    if vocation then
        
        local outfit = {lookType = vocation.look}
        
        if getCreatureStorage(cid, storage) == -1 or getCreatureStorage(cid, storage) == 0 then
            doCreatureChangeOutfit(cid, outfit)
            doCreatureSetStorage(cid, storage, getCreatureOutfit(cid).lookType)
        else
            doCreatureChangeOutfit(cid, {lookType = getCreatureStorage(cid, storage)})
            doCreatureSetStorage(cid, storage, -1)
        end
        doSendMagicEffect(getCreaturePosition(cid), vocation.efeito)
    else
        doSendMagicEffect(getCreaturePosition(cid), 11)
    end
    return true
end

 

Link para o post
Compartilhar em outros sites

Deu Certo, Obrigado!!

Só mais uma pergunta, caso eu queira colocar para o player ao voltar pela tile, retornar a OUTFIT de antes, teria que criar outro script?

Link para o post
Compartilhar em outros sites
  • Solução

@TheFrost 

--[vocation]{outfit, efeito}

local config = {
    [20] = { look = 10, efeito = 11 },
    [2] = { look = 510, efeito = 11 },
    [3] = { look = 510, efeito = 11 },
    [4] = { look = 510, efeito = 11 },
    [5] = { look = 510, efeito = 11 },
    [6] = { look = 510, efeito = 11 },
    [7] = { look = 510, efeito = 11 },
    [8] = { look = 510, efeito = 11 },
    [9] = { look = 510, efeito = 11 },
}

local storage = 53345

function onStepIn(cid, item, pos)
    
    if not isPlayer(cid) then return true end
    
    local vocation = config[getPlayerVocation(cid)]
    
    if vocation then
        
        local outfit = {lookType = vocation.look}
        
        if getCreatureStorage(cid, storage) == -1 or getCreatureStorage(cid, storage) == 0 then
            doCreatureSetStorage(cid, storage, getCreatureOutfit(cid).lookType)            
			doCreatureChangeOutfit(cid, outfit)
        else
            doCreatureChangeOutfit(cid, {lookType = getCreatureStorage(cid, storage)})
            doCreatureSetStorage(cid, storage, -1)
        end
        doSendMagicEffect(getCreaturePosition(cid), vocation.efeito)
    else
        doSendMagicEffect(getCreaturePosition(cid), 11)
    end
    return true
end

 

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

@Storm Teria como você implementar a parte de mudar a outfit no meu código, quebrei a cabeça o dia todo mas fica dando o mesmo erro que o do mano estava dando ai.

O meu sistema no caso é um que quando o cara pega TOP level, ele assume a posição de KING. No meu caso quando ele pegasse TOP LEVEL eu gostaria que a outfit do outro player seja retirada e colocada nele. (Não sei se tem como fazer isso UHASUHAHUS)

 

O monstro que quero pegar o TYPE é esse

 

image.thumb.png.2017fea1b65a816330509d58e1b984b9.png

 

O Script é esse:

function onStepIn(cid, item, position, fromPosition)
	if item.actionid == 13800 and getGlobalStorageValue(121221) ~= getPlayerID(cid) then
		doTeleportThing(cid, fromPosition, true)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"APENAS [KING] PODE SENTAR NO TRONO !")
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
		return true
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"SENTE-SE MEU [KING].")
		return true
	end
end

function getPlayerNameById(id)
    local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id))
    if query:getID() ~= -1 then
        return query:getDataString("name")
    end
    return 0
end

function getPlayerIdByName(name)
    local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
    if query:getID() ~= -1 then
        return tonumber(query:getDataString("id"))
    end
    return 0
end

function getPlayerID(cid)
    return getPlayerIdByName(getPlayerName(cid))
end

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo