Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
实时编辑器
折叠未更改行
关闭换行
视图
拆分
统一
比对精度
智能
单词
字符
语法高亮
选择语法
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
Untitled diff
创建于
9年前
差异永不过期
清除
导出
分享
解释
2 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
142 行
全部复制
3 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
142 行
全部复制
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
复制
已复制
复制
已复制
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
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
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)
复制
已复制
复制
已复制
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
已保存差异
原始文本
打开文件
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
更改后文本
打开文件
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
查找差异