Ir para conteúdo
  • Cadastre-se

(Resolvido)erro no script ao relogar


Ir para solução Resolvido por L3K0T,

Posts Recomendados

to usando esse script, porem quanto reloga da esse error no console, alguem poderia ajudar a solucionar esse problema pf

TFS 0.4 8.60

Error: 

Citar

[2:59:08.439] [Error - CreatureScript Interface]
[2:59:08.439] In a timer event called from:
[2:59:08.439] data/creaturescripts/scripts/effect_vocation.lua:onLogin
[2:59:08.439] Description:
[2:59:08.439] (internalGetPlayerInfo) Player not found when requesting player info #6



Script:
 

Citar

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    if tab[getPlayerVocation(cid)] then
        ariseText(cid)
    end
    
    return true
end

 

esse.png

Link para o post
Compartilhar em outros sites
  • Sub-Admin
8 horas atrás, Doidodepeda disse:

to usando esse script, porem quanto reloga da esse error no console, alguem poderia ajudar a solucionar esse problema pf

TFS 0.4 8.60

Error: 



Script:
 

 

esse.png

 

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    local player = Player(cid) -- Use a função Player() para obter o objeto do jogador
    
    if player then
        if tab[player:getVocation():getId()] then -- Use player:getVocation():getId() para obter o ID da vocação
            ariseText(cid)
        end
    end
    
    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
3 horas atrás, L3K0T disse:

 

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    local player = Player(cid) -- Use a função Player() para obter o objeto do jogador
    
    if player then
        if tab[player:getVocation():getId()] then -- Use player:getVocation():getId() para obter o ID da vocação
            ariseText(cid)
        end
    end
    
    return true
end
 


o script nao deixa o char logar e da esse error

Citar

[14:51:19.986] [Error - CreatureScript Interface]
[14:51:19.987] data/creaturescripts/scripts/effect_vocation.lua:onLogin
[14:51:19.988] Description:
[14:51:19.989] data/creaturescripts/scripts/effect_vocation.lua:19: attempt to call global 'Player' (a nil value)
[14:51:19.990] stack traceback:
[14:51:19.991]  data/creaturescripts/scripts/effect_vocation.lua:19: in function <data/creaturescripts/scripts/effect_vocation.lua:18>

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
26 minutos atrás, Doidodepeda disse:


o script nao deixa o char logar e da esse error

 

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
18 minutos atrás, L3K0T disse:

 

Perdão é tfs 0.4 não tinha visto

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

Nenhum error, porem nao sai o ''efeito''

Link para o post
Compartilhar em outros sites
  • Sub-Admin
4 minutos atrás, Doidodepeda disse:

Nenhum error, porem nao sai o ''efeito''

Troca o efeito

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW)
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function getPlayerByGUID(guid)
    for _, pid in ipairs(getPlayersOnline()) do
        if getPlayerGUID(pid) == guid then
            return pid
        end
    end
    return nil
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
14 minutos atrás, L3K0T disse:

Troca o efeito

 

 

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW)
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function getPlayerByGUID(guid)
    for _, pid in ipairs(getPlayersOnline()) do
        if getPlayerGUID(pid) == guid then
            return pid
        end
    end
    return nil
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

O efeito continua sem sair ! =[

Link para o post
Compartilhar em outros sites
  • Sub-Admin

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_YELLOW)
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function getPlayerByGUID(guid)
    for _, pid in ipairs(getPlayers()) do
        if getPlayerGUID(pid) == guid then
            return pid
        end
    end
    return nil
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
4 minutos atrás, L3K0T disse:

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)])
    if isPlayer(cid) then
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_YELLOW)
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function getPlayerByGUID(guid)
    for _, pid in ipairs(getPlayers()) do
        if getPlayerGUID(pid) == guid then
            return pid
        end
    end
    return nil
end

function onLogin(cid)
    local player = getPlayerByGUID(cid)
    
    if player then
        if tab[player:getVocation():getId()] then
            ariseText(cid)
        end
    end
    
    return true
end
 

Agora nao deixa o char logar de novo ! =[

 

Citar

[15:55:48.579] [Error - CreatureScript Interface]
[15:55:48.580] data/creaturescripts/scripts/effect_vocation.lua:onLogin
[15:55:48.581] Description:
[15:55:48.582] data/creaturescripts/scripts/effect_vocation.lua:20: attempt to call global 'getPlayers' (a nil value)
[15:55:48.583] stack traceback:
[15:55:48.585]  data/creaturescripts/scripts/effect_vocation.lua:20: in function 'getPlayerByGUID'
[15:55:48.586]  data/creaturescripts/scripts/effect_vocation.lua:29: in function <data/creaturescripts/scripts/effect_vocation.lua:28>

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    local playerVocation = getPlayerVocation(cid)
    if playerVocation and tab[playerVocation] then
        doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[playerVocation])
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) -- Efeito mágico adicionado
    end
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    if tab[getPlayerVocation(cid)] then
        ariseText(cid)
    end
    
    return true
end
 

Editado por L3K0T (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
3 horas atrás, L3K0T disse:

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    local playerVocation = getPlayerVocation(cid)
    if playerVocation and tab[playerVocation] then
        doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[playerVocation])
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) -- Efeito mágico adicionado
    end
    if isPlayer(cid) then
        addEvent(ariseText, 1000, cid)
    end
    
    return true
end

function onLogin(cid)
    if tab[getPlayerVocation(cid)] then
        ariseText(cid)
    end
    
    return true
end
 

Error ao relogar 
 

Citar

[19:52:32.993] [Error - CreatureScript Interface]
[19:52:32.995] In a timer event called from:
[19:52:32.995] data/creaturescripts/scripts/effect_vocation.lua:onLogin
[19:52:32.996] Description:
[19:52:32.997] (internalGetPlayerInfo) Player not found when requesting player info #6

 

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

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    if not isPlayer(cid) then -- Verifica se o jogador ainda é válido
        return true
    end
    
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    local playerVocation = getPlayerVocation(cid)
    
    if playerVocation and tab[playerVocation] then
        doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[playerVocation])
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) -- Efeito mágico adicionado
    end
    
    addEvent(ariseText, 1000, cid)
    
    return true
end

function onLogin(cid)
    if tab[getPlayerVocation(cid)] then
        ariseText(cid)
    end
    
    return true
end
 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
33 minutos atrás, L3K0T disse:

local tab = {
    [4] = 10, -- [vocationID] = número da cor do texto animado
    [5] = 30,
    [6] = 50,
    [7] = 70
}

function ariseText(cid)
    if not isPlayer(cid) then -- Verifica se o jogador ainda é válido
        return true
    end
    
    local texts = {"' .    ,", ".    ' ,", "'  .  ,", ",    ' ."}
    local playerVocation = getPlayerVocation(cid)
    
    if playerVocation and tab[playerVocation] then
        doSendAnimatedText(getCreaturePosition(cid), texts[math.random(1, #texts)], tab[playerVocation])
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) -- Efeito mágico adicionado
    end
    
    addEvent(ariseText, 1000, cid)
    
    return true
end

function onLogin(cid)
    if tab[getPlayerVocation(cid)] then
        ariseText(cid)
    end
    
    return true
end
 

Muito obrigado amigo, funciou direitinho agora ! 

Deus te abençoe !

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