Zipter, seu código não deu certo, mas me deu uma luz para eu conseguir ajeitar para funcionar.
Segue aqui o código final com o pokémon passando de level sozinho.
Obs: Percebi outro problema, o pokémon só passa de level quando o treinador passar... Vou futucar aqui para tentar deixar o avanço de level independente. Se já tiver uma luz, ajuda aí. Abraços!
function addLevelAllpokes(cid, levelup)
local pokes = "Parabéns, seu pokémon avançou de nível."
local msg = ""
x = false
local t = getPlayerSlotItem(cid, 8)
for i=1, #t do
pokemons = getItemAttribute(t[i], "poke")
local level = getItemAttribute(t[i], "level") and getItemAttribute(t[i], "level") or 1
local up = level+levelup
doItemSetAttribute(t[i], "level", up)
msg = msg..pokemons.." Subiu para o level "..up.."\n"
x = true
end