O problema é o seguinte, ao ter copiado o script de algum lugar, ele veio com um caractere inválido. E por conta disso da esse ERRO. Sempre que for assim, tente procurar ele e apague. O problema está na linha um como mencionado no erro:
Veja o maldito causador de erros de perto:
Ao apagar a linha você podera ver ele, e assim removendo ele poderá solucionar o problema.
Sobre o
Duplicate registered item uid: 19602
Tem mais de uma script utilizando o uid 19602, para concertar isso basta localizar o que está utilizando a mesma uid e trocar para outra.
Sua script correta:
function onAdvance(cid, skill, oldLevel, newLevel)
local config = {
[50] = {item = 11639, count = 1},
[100] = {item = 11640, count = 1},
[150] = {item = 2160, count = 30},
[200] = {item = 12618, count = 5},
[250] = {item = 14188, count = 1},
[300] = {item = 14261, count = 50},
[350] = {item = 12227, count = 1},
[400] = {item = 12832, count = 1},
}
if skill == 8 then
for level, info in pairs(config) do
if newLevel >= level and (getPlayerStorageValue(cid, 30700) == -1 or not (string.find(getPlayerStorageValue(cid, 30700), "'" .. level .. "'"))) then
doPlayerAddItem(cid, info.item, info.count)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Parabéns, você atingiu o level "..newLevel.." e ganhou "..info.count.." "..getItemNameById(info.item)..".")
local sat = getPlayerStorageValue(cid, 30700) == -1 and "Values: '" .. level .. "'" or getPlayerStorageValue(cid, 30700) .. ",'" .. level .. "'"
setPlayerStorageValue(cid, 30700, sat)
end
end
end
return TRUE
end