Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 9 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
2 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
142 lignes
Copier tout
3 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
142 lignes
Copier tout
package.path = package.path .. ";data/scripts/systems/?.lua"
package.path = package.path .. ";data/scripts/systems/?.lua"
package.path = package.path .. ";data/scripts/lib/?.lua"
package.path = package.path .. ";data/scripts/lib/?.lua"
require ("basesystem")
require ("basesystem")
require ("utility")
require ("utility")
require ("randomext")
require ("randomext")
materialLevel = 0
materialLevel = 0
range = 0
range = 0
amount = 0
amount = 0
function getBonuses(seed, rarity)
function getBonuses(seed, rarity)
math.randomseed(seed)
math.randomseed(seed)
local range = 200 -- base value
local range = 200 -- base value
-- add flat range based on rarity
-- add flat range based on rarity
Copier
Copié
Copier
Copié
range = range + (rarity.value + 1) * 40
-- add 0 (worst rarity) to +240 (best rarity)
range = range + (rarity.value + 1) * 40
0
-- add 0 (worst rarity) to +240 (best rarity)
-- add randomized range, span is based on rarity
-- add randomized range, span is based on rarity
range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity)
range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity)
local material = rarity.value + 1
local material = rarity.value + 1
if math.random() < 0.25 then
if math.random() < 0.25 then
material = material + 1
material = material + 1
end
end
local amount = 3
local amount = 3
-- add flat amount based on rarity
-- add flat amount based on rarity
amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity)
amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity)
-- add randomized amount, span is based on rarity
-- add randomized amount, span is based on rarity
amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity)
amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity)
return material, range, amount
return material, range, amount
end
end
function onInstalled(seed, rarity)
function onInstalled(seed, rarity)
if onClient() then
if onClient() then
Player():registerCallback("onPreRenderHud", "onPreRenderHud")
Player():registerCallback("onPreRenderHud", "onPreRenderHud")
end
end
materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel, range, amount = getBonuses(seed, rarity)
end
end
function onUninstalled(seed, rarity)
function onUninstalled(seed, rarity)
end
end
function sort(a, b)
function sort(a, b)
return a.distance < b.distance
return a.distance < b.distance
end
end
function onPreRenderHud()
function onPreRenderHud()
local ship = Entity()
local ship = Entity()
local shipPos = ship.translationf
local shipPos = ship.translationf
Copier
Copié
Copier
Copié
local sphere = Sphere(shipPos,
500
)
local sphere = Sphere(shipPos,
2600
)
local nearby = {Sector():getEntitiesByLocation(sphere)}
local nearby = {Sector():getEntitiesByLocation(sphere)}
local displayed = {}
local displayed = {}
-- detect all asteroids in range
-- detect all asteroids in range
for _, entity in pairs(nearby) do
for _, entity in pairs(nearby) do
if entity.type == EntityType.Asteroid then
if entity.type == EntityType.Asteroid then
local resources = entity:getMineableResources()
local resources = entity:getMineableResources()
if resources ~= nil and resources > 0 then
if resources ~= nil and resources > 0 then
local material = entity:getMineableMaterial()
local material = entity:getMineableMaterial()
if material.value <= materialLevel then
if material.value <= materialLevel then
local d = distance2(entity.translationf, shipPos)
local d = distance2(entity.translationf, shipPos)
table.insert(displayed, {material = material, asteroid = entity, distance = d})
table.insert(displayed, {material = material, asteroid = entity, distance = d})
end
end
end
end
end
end
end
end
-- sort by distance
-- sort by distance
table.sort(displayed, sort)
table.sort(displayed, sort)
-- display nearest x
-- display nearest x
local renderer = UIRenderer()
local renderer = UIRenderer()
for i = 1, math.min(#displayed, amount) do
for i = 1, math.min(#displayed, amount) do
local tuple = displayed[i]
local tuple = displayed[i]
renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color);
renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color);
renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0);
renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0);
end
end
renderer:display()
renderer:display()
end
end
function getName(seed, rarity)
function getName(seed, rarity)
return "Mining System"%_t
return "Mining System"%_t
end
end
function getIcon(seed, rarity)
function getIcon(seed, rarity)
return "data/textures/icons/mining.png"
return "data/textures/icons/mining.png"
end
end
function getEnergy(seed, rarity)
function getEnergy(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
Copier
Copié
Copier
Copié
return (range * 0.
0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000)
return (range * 0.
0
0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000)
end
end
function getPrice(seed, rarity)
function getPrice(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
Copier
Copié
Copier
Copié
local price = materialLevel * 5000 + amount * 750 + range *
1
.5;
local price = materialLevel * 5000 + amount * 750 + range *
.5;
return price * 2.5 ^ rarity.value
return price * 2.5 ^ rarity.value
end
end
function getTooltipLines(seed, rarity)
function getTooltipLines(seed, rarity)
local texts = {}
local texts = {}
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
local material = Material(materialLevel)
local material = Material(materialLevel)
table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"})
table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"})
table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"})
table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"})
table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"})
table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"})
return texts
return texts
end
end
function getDescriptionLines(seed, rarity)
function getDescriptionLines(seed, rarity)
local texts = {}
local texts = {}
local materialLevel, range, amount = getBonuses(seed, rarity)
local materialLevel, range, amount = getBonuses(seed, rarity)
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1))
local material = Material(materialLevel)
local material = Material(materialLevel)
table.insert(texts, {ltext = "Highlights nearby asteroids"%_t})
table.insert(texts, {ltext = "Highlights nearby asteroids"%_t})
return texts
return texts
end
end
Différences enregistrées
Texte d'origine
Ouvrir un fichier
package.path = package.path .. ";data/scripts/systems/?.lua" package.path = package.path .. ";data/scripts/lib/?.lua" require ("basesystem") require ("utility") require ("randomext") materialLevel = 0 range = 0 amount = 0 function getBonuses(seed, rarity) math.randomseed(seed) local range = 200 -- base value -- add flat range based on rarity range = range + (rarity.value + 1) * 40 -- add 0 (worst rarity) to +240 (best rarity) -- add randomized range, span is based on rarity range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity) local material = rarity.value + 1 if math.random() < 0.25 then material = material + 1 end local amount = 3 -- add flat amount based on rarity amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity) -- add randomized amount, span is based on rarity amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity) return material, range, amount end function onInstalled(seed, rarity) if onClient() then Player():registerCallback("onPreRenderHud", "onPreRenderHud") end materialLevel, range, amount = getBonuses(seed, rarity) end function onUninstalled(seed, rarity) end function sort(a, b) return a.distance < b.distance end function onPreRenderHud() local ship = Entity() local shipPos = ship.translationf local sphere = Sphere(shipPos, 500) local nearby = {Sector():getEntitiesByLocation(sphere)} local displayed = {} -- detect all asteroids in range for _, entity in pairs(nearby) do if entity.type == EntityType.Asteroid then local resources = entity:getMineableResources() if resources ~= nil and resources > 0 then local material = entity:getMineableMaterial() if material.value <= materialLevel then local d = distance2(entity.translationf, shipPos) table.insert(displayed, {material = material, asteroid = entity, distance = d}) end end end end -- sort by distance table.sort(displayed, sort) -- display nearest x local renderer = UIRenderer() for i = 1, math.min(#displayed, amount) do local tuple = displayed[i] renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color); renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0); end renderer:display() end function getName(seed, rarity) return "Mining System"%_t end function getIcon(seed, rarity) return "data/textures/icons/mining.png" end function getEnergy(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) return (range * 0.0005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000) end function getPrice(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) local price = materialLevel * 5000 + amount * 750 + range * 1.5; return price * 2.5 ^ rarity.value end function getTooltipLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"}) table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"}) table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"}) return texts end function getDescriptionLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Highlights nearby asteroids"%_t}) return texts end
Texte modifié
Ouvrir un fichier
package.path = package.path .. ";data/scripts/systems/?.lua" package.path = package.path .. ";data/scripts/lib/?.lua" require ("basesystem") require ("utility") require ("randomext") materialLevel = 0 range = 0 amount = 0 function getBonuses(seed, rarity) math.randomseed(seed) local range = 200 -- base value -- add flat range based on rarity range = range + (rarity.value + 1) * 400 -- add 0 (worst rarity) to +240 (best rarity) -- add randomized range, span is based on rarity range = range + math.random() * ((rarity.value + 1) * 20) -- add random value between 0 (worst rarity) and 120 (best rarity) local material = rarity.value + 1 if math.random() < 0.25 then material = material + 1 end local amount = 3 -- add flat amount based on rarity amount = amount + (rarity.value + 1) * 2 -- add 0 (worst rarity) to +120 (best rarity) -- add randomized amount, span is based on rarity amount = amount + math.random() * ((rarity.value + 1) * 5) -- add random value between 0 (worst rarity) and 60 (best rarity) return material, range, amount end function onInstalled(seed, rarity) if onClient() then Player():registerCallback("onPreRenderHud", "onPreRenderHud") end materialLevel, range, amount = getBonuses(seed, rarity) end function onUninstalled(seed, rarity) end function sort(a, b) return a.distance < b.distance end function onPreRenderHud() local ship = Entity() local shipPos = ship.translationf local sphere = Sphere(shipPos, 2600) local nearby = {Sector():getEntitiesByLocation(sphere)} local displayed = {} -- detect all asteroids in range for _, entity in pairs(nearby) do if entity.type == EntityType.Asteroid then local resources = entity:getMineableResources() if resources ~= nil and resources > 0 then local material = entity:getMineableMaterial() if material.value <= materialLevel then local d = distance2(entity.translationf, shipPos) table.insert(displayed, {material = material, asteroid = entity, distance = d}) end end end end -- sort by distance table.sort(displayed, sort) -- display nearest x local renderer = UIRenderer() for i = 1, math.min(#displayed, amount) do local tuple = displayed[i] renderer:renderEntityTargeter(tuple.asteroid, tuple.material.color); renderer:renderEntityArrow(tuple.asteroid, 30, 10, 250, tuple.material.color, 0); end renderer:display() end function getName(seed, rarity) return "Mining System"%_t end function getIcon(seed, rarity) return "data/textures/icons/mining.png" end function getEnergy(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) return (range * 0.00005 * materialLevel * 1000 * 1000 * 1000) + (amount * 5 * 1000 * 1000) end function getPrice(seed, rarity) local materialLevel, range, amount = getBonuses(seed, rarity) local price = materialLevel * 5000 + amount * 750 + range * .5; return price * 2.5 ^ rarity.value end function getTooltipLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Material"%_t, rtext = material.name%_t, rcolor = material.color, icon = "data/textures/icons/metal-bar.png"}) table.insert(texts, {ltext = "Range"%_t, rtext = string.format("%g", round(range / 100, 2)), icon = "data/textures/icons/rss.png"}) table.insert(texts, {ltext = "Asteroids"%_t, rtext = string.format("%i", amount), icon = "data/textures/icons/rock.png"}) return texts end function getDescriptionLines(seed, rarity) local texts = {} local materialLevel, range, amount = getBonuses(seed, rarity) materialLevel = math.max(0, math.min(materialLevel, NumMaterials() - 1)) local material = Material(materialLevel) table.insert(texts, {ltext = "Highlights nearby asteroids"%_t}) return texts end
Trouver la différence