Once I got my raw mats criteria running, I noticed some other issue: voice messages for the next scanned body start to play before all messages for the previous body are finished.
::Oblate Gas Giant::
scan.PlanetClass and string.find(string.lower(scan.PlanetClass), 'gas giant') and (((6.28/scan.RotationPeriod)^2 * scan.Radius^3) / (3985760580000 * scan.MassEM) > 5)
::Detail::
'Rotational Period: ' .. math.floor(scan.RotationPeriod/864)/100 .. ' days, Radius: ' .. math.floor(scan.Radius/1000) .. ' km, Earth Masses: ' .. math.floor(scan.MassEM*100)/100
::Criteria::
--Hot Jupiters
if scan.ParentType == 'Star' then
if scan.PlanetClass and string.find(string.lower(scan.PlanetClass), 'gas giant') and (scan.OrbitalPeriod <= 864000) then
return true,
'Hot Jupiter',
'Orbital Period: ' .. math.floor(scan.OrbitalPeriod/864)/100 .. ' days'
end
end
::End:
::Criteria::
---Wide rings
if scan.Rings then
for ring in rings(scan.Rings) do
if (ring.name and (not string.find(string.lower(ring.name),' belt')) and (ring.outerrad - ring.innerrad) / scan.Radius >= 10) then
return
true,
'Wide Ring',
'Ring width: ' .. math.floor((ring.outerrad - ring.innerrad) / 1000) .. ' km, Radius: ' .. math.floor(scan.Radius/1000) .. ' km'
end
end
end
::End::
:Criteria::
--Narrow rings
if scan.Rings then
for ring in rings(scan.Rings) do
if (ring.name and (not string.find(string.lower(ring.name),' belt')) and (ring.outerrad - ring.innerrad) / scan.Radius <= 0.1) then
return
true,
'Narrow Ring',
'Ring width: ' .. math.floor((ring.outerrad - ring.innerrad) / 1000) .. ' km, Radius: ' .. math.floor(scan.Radius/1000) .. ' km'
end
end
end
::End::
::Criteria::
--Undiscovered Ammonia Worlds
if scan.PlanetClass == 'Ammonia world' and scan.WasDiscovered == false then
if scan.DistanceFromArrivalLS < 700 then
return true,
'Commander visit this nearby Undiscovered Ammonia World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS >= 700 and scan.DistanceFromArrivalLS <= 10000 then
return true,
'Undiscovered Ammonia World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS > 10000 then
return true,
'Distant Undiscovered Ammonia World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
end
end
::End::
::Criteria::
--Undiscovered Water Worlds
if scan.PlanetClass == 'Water world' and scan.WasDiscovered == false then
if scan.DistanceFromArrivalLS < 700 then
return true,
'Commander visit this nearby Undiscovered Water World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS >= 700 and scan.DistanceFromArrivalLS <= 10000 then
return true,
'Undiscovered Water World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS > 10000 then
return true,
'Distant Undiscovered Water World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
end
end
::End::
::Criteria::
--Undiscovered Earthlike Worlds
if scan.PlanetClass == 'Earthlike body' and scan.WasDiscovered == false then
if scan.DistanceFromArrivalLS < 700 then
return true,
'Commander visit this nearby Undiscovered Earthlike World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS >= 700 and scan.DistanceFromArrivalLS <= 10000 then
return true,
'Undiscovered Earthlike World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.DistanceFromArrivalLS > 10000 then
return true,
'Distant Undiscovered Earthlike World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
end
end
::End::
You'll take your stacked notifications and you'll like it!Thanks for the new build!
Having said that...
View attachment 262347
These three were played at the same time after honking the new system.![]()
::Criteria::
--Worlds Very Close to Arrival Point
if scan.PlanetClass and scan.DistanceFromArrivalLS < 10 then
if scan.Landable and scan.WasDiscovered == false then
return true,
'Commander visit this very close ' .. math.floor(scan.SurfaceTemperature) .. ' Kelvin undiscovered landable World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. 'K'
elseif scan.Landable and scan.WasDiscovered == true then
return true,
'Very close ' .. math.floor(scan.SurfaceTemperature) .. ' Kelvin landable World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
elseif scan.Landable == false and scan.WasDiscovered == true then
return true,
'Very close ' .. math.floor(scan.SurfaceTemperature) .. ' Kelvin World',
'Temperature: ' .. math.floor(scan.SurfaceTemperature) .. ' K'
end
end
::End::
Please, please, pretty please...?{ "timestamp":"2021-10-03T21:47:44Z", "event":"SAASignalsFound", "BodyName":"Eotchopt KX-U e2-1661 A 2 A Ring", "SystemAddress":7135352138076, "BodyID":10, "Signals":[ { "Type":"Monazite", "Count":1 } ] }
I assume you're requesting a plugin that notifies of the content of a DSS ring scan so you know all the signal types without having to check your left hand panel?A hopefully small request:
Please, please, pretty please...?![]()
Oh, as in making it available to custom criteria? Explorer's custom criteria operates on the information available at the time of the FSS scan. You wouldn't have this until long after.Well... Not sure about the whole plugin. Not an advanced miner. If I could get a "signals" collection with ability to iterate through Type attribute, I'd be more than happy. And if I could also read Count value, I'd be more than more than happy.![]()