Seu servidor não tem essas função de getDamageMapPercent
- Fórum
- OTServ
- Suporte
- Resolvidos
- [Resolvido] Erro getDamageMapPercent
6
2.1k
info
Grupo: Conde
Registrado: 21/04/16
Posts: 831
Reputação: +271
Gênero: Masculino

16 de agosto de 2019 às 18:43
16 de agosto de 2019 às 19:37
53 minutos atrás, Marshmello disse:Seu servidor não tem essas função de getDamageMapPercent
Pois é, pesquisei em tudo q é canto e não achei.
16 de agosto de 2019 às 22:15
Melhor resposta
É só tirar a parte do getDamageMapPercent, ficando assim:
function onKill(cid, target) local continue = true if ehMonstro(target) then if isPlayerInDaily(cid) and not isDailyDone(cid) then if getDailyPokemon(cid) == getCreatureName(target) then doCountDaily(cid, getDailyPokemon(cid)) end end for i = 91001, (91000+maxTasks) do local sto = getPlayerStorageValue(cid, i) if type(sto) == "string" then local array = getArrayFromStorage(cid, i) if arrayHasContent(array) then for e, f in pairs(array) do for a = 1, #f do if tostring(f[a][1]) == getCreatureNameWithProtect(target) and tonumber(f[a][2]) >= 1 then if (pokes[getPlayerStorageValue(cid, 854787)] and getCreatureNameWithProtect(getCreatureSummons(cid)[1]) ~= getPlayerStorageValue(cid, 854787)) then if npcsTask[tostring(e).."_1"] then continue = false --task clan end elseif e == "Agatha" and getCreatureNameWithProtect(target) == "Shiny Abra" and not isInRange(getThingPos(target), Agatha.fromPos, Agatha.toPos) then continue = false --alterado v1.9 agatha quest end if continue then f[a][2] = f[a][2]-1 if f[a][2] == 0 then sendMsgToPlayer(cid, 20, tostring(e)..": Quest Done!") else sendMsgToPlayer(cid, 20, tostring(e)..": You need to kill more "..f[a][2].." "..f[a][1]..(f[a][2] == 1 and "." or "s.")) end setStorageArray(cid, i, array) end continue = true end end end end end end end return true end
17 de agosto de 2019 às 08:18
10 horas atrás, SirDubstep disse:É só tirar a parte do getDamageMapPercent, ficando assim:
function onKill(cid, target) local continue = true if ehMonstro(target) then if isPlayerInDaily(cid) and not isDailyDone(cid) then if getDailyPokemon(cid) == getCreatureName(target) then doCountDaily(cid, getDailyPokemon(cid)) end end for i = 91001, (91000+maxTasks) do local sto = getPlayerStorageValue(cid, i) if type(sto) == "string" then local array = getArrayFromStorage(cid, i) if arrayHasContent(array) then for e, f in pairs(array) do for a = 1, #f do if tostring(f[a][1]) == getCreatureNameWithProtect(target) and tonumber(f[a][2]) >= 1 then if (pokes[getPlayerStorageValue(cid, 854787)] and getCreatureNameWithProtect(getCreatureSummons(cid)[1]) ~= getPlayerStorageValue(cid, 854787)) then if npcsTask[tostring(e).."_1"] then continue = false --task clan end elseif e == "Agatha" and getCreatureNameWithProtect(target) == "Shiny Abra" and not isInRange(getThingPos(target), Agatha.fromPos, Agatha.toPos) then continue = false --alterado v1.9 agatha quest end if continue then f[a][2] = f[a][2]-1 if f[a][2] == 0 then sendMsgToPlayer(cid, 20, tostring(e)..": Quest Done!") else sendMsgToPlayer(cid, 20, tostring(e)..": You need to kill more "..f[a][2].." "..f[a][1]..(f[a][2] == 1 and "." or "s.")) end setStorageArray(cid, i, array) end continue = true end end end end end end end return true end
Funcionou, obrigado mesmo.
17 de agosto de 2019 às 08:19
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.


info
Grupo: Marquês
Registrado: 02/07/07
Posts: 1.1k
Reputação: +287
Gênero: Masculino
Bom dia caros colegas.
Estou trabalhando em meu projeto PDA com sources e me deparei com este erro no sistema de task kill, aqueles npcs que pedem para matar uma certa quantidade de pokemons.
Este erro acontece quando o player mata os pokemons da task.
Código do script onde da o erro:
function onKill(cid, target)
local continue = true
if ehMonstro(target) then
if isPlayerInDaily(cid) and not isDailyDone(cid) then
if getDailyPokemon(cid) == getCreatureName(target) then
doCountDaily(cid, getDailyPokemon(cid))
end
end
for i = 91001, (91000+maxTasks) do
local sto = getPlayerStorageValue(cid, i)
if type(sto) == "string" then
local array = getArrayFromStorage(cid, i)
if arrayHasContent(array) then
for e, f in pairs(array) do
for a = 1, #f do
if tostring(f[a][1]) == getCreatureNameWithProtect(target) and tonumber(f[a][2]) >= 1 then
if getDamageMapPercent(cid, target) < 0.5 then
continue = false
elseif (pokes[getPlayerStorageValue(cid, 854787)] and getCreatureNameWithProtect(getCreatureSummons(cid)[1]) ~= getPlayerStorageValue(cid, 854787)) then
if npcsTask[tostring(e).."_1"] then
continue = false --task clan
end
elseif e == "Agatha" and getCreatureNameWithProtect(target) == "Shiny Abra" and not isInRange(getThingPos(target), Agatha.fromPos, Agatha.toPos) then
continue = false --alterado v1.9 agatha quest
end
if continue then
f[a][2] = f[a][2]-1
if f[a][2] == 0 then
sendMsgToPlayer(cid, 20, tostring(e)..": Quest Done!")
else
sendMsgToPlayer(cid, 20, tostring(e)..": You need to kill more "..f[a][2].." "..f[a][1]..(f[a][2] == 1 and "." or "s."))
end
setStorageArray(cid, i, array)
end
continue = true
end
end
end
end
end
end
end
return true
end
Editado Agosto 16 por Taiger