Hola, buenas noches.
Vale, para analizar, estás añadiendo estos eventos de onMarkerHit, a todos los markers (root)
-- Asignar la función tomarMarker al evento onMarkerHit
addEventHandler("onMarkerHit", root, function(hitElement, matchingDimension)
if isElement(marker) and source == marker and getElementType(hitElement) == "player" then
tomarMarker(hitElement)
end
end)
-- Asignar la función avisarPolicial al evento onMarkerHit
addEventHandler("onMarkerHit", root, function(hitElement, matchingDimension)
if isElement(marker) and source == marker and getElementType(hitElement) == "player" then
avisarPolicial()
end
end)
Esto es una mala practica, ya que sería más óptimo sólo 'atachar' ese evento sólamente al elemento que haga falta y que nos sea necesario, un cierto marker por ejemplo. Pero dejemos de lado esto. Estás verificando bien, que el source, sea el marker en cuestión, sin embargo, acá está la falla, en ningun momento se crea el marker ese del que hablamos.
Podes hacer que el marker se cree al inicio del script (funcion que se ejecuta con el onResourceStart) y ahí mismo, añadir los addEventHandlers de tomarMarker() y avisarPolicial(), 'atachado' a ese marker recién creado.