Merge branch 'MihailRis:main' into main
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
</container>
|
||||
|
||||
<container id="logContainer" pos="0,60"
|
||||
size-func="unpack(vec2.add(gui.get_viewport(), {0,-100}))">
|
||||
size-func="unpack(vec2.add(gui.get_viewport(), {-350,-100}))">
|
||||
<textbox
|
||||
id='log'
|
||||
color='0'
|
||||
@@ -20,7 +20,7 @@
|
||||
margin='0'
|
||||
editable='false'
|
||||
multiline='true'
|
||||
size-func="gui.get_viewport()[1],40"
|
||||
size-func="gui.get_viewport()[1]-350,40"
|
||||
gravity="bottom-left"
|
||||
markup="md"
|
||||
></textbox>
|
||||
|
||||
@@ -97,11 +97,12 @@ end)
|
||||
function setup_variables()
|
||||
local pid = hud.get_player()
|
||||
local x,y,z = player.get_pos(pid)
|
||||
console.set("player", pid)
|
||||
console.set('pos.x', x)
|
||||
console.set('pos.y', y)
|
||||
console.set('pos.z', z)
|
||||
local pentity = player.get_entity(pid)
|
||||
if pentity ~= 0 then
|
||||
if pentity > 0 then
|
||||
console.set('entity.id', pentity)
|
||||
end
|
||||
local sentity = player.get_selected_entity(pid)
|
||||
@@ -148,8 +149,6 @@ function submit(text)
|
||||
text = text:sub(2)
|
||||
end
|
||||
end
|
||||
|
||||
setup_variables()
|
||||
|
||||
local name
|
||||
for s in text:gmatch("%S+") do
|
||||
@@ -167,12 +166,19 @@ function submit(text)
|
||||
end
|
||||
|
||||
document.log.caret = -1
|
||||
local status, result = pcall(console.execute, text)
|
||||
if result then
|
||||
console.log(result)
|
||||
end
|
||||
document.prompt.text = ""
|
||||
document.prompt.focused = true
|
||||
|
||||
setup_variables()
|
||||
|
||||
if console.submit then
|
||||
console.submit(text)
|
||||
else
|
||||
local status, result = pcall(console.execute, text)
|
||||
if result then
|
||||
console.log(result)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function set_mode(mode)
|
||||
|
||||
@@ -7,16 +7,11 @@ local initialized = false
|
||||
local max_lines = 15
|
||||
local animation_fps = 30
|
||||
|
||||
local function remove_line(line)
|
||||
document[line[1]]:destruct()
|
||||
time.post_runnable(function() document.root:reposition() end)
|
||||
end
|
||||
|
||||
local function update_line(line, uptime)
|
||||
local diff = uptime - line[2]
|
||||
if diff > timeout then
|
||||
remove_line(line)
|
||||
table.insert(dead_lines, i)
|
||||
document[line[1]]:destruct()
|
||||
table.insert(dead_lines, table.index(lines, line))
|
||||
elseif diff > timeout-fadeout then
|
||||
local opacity = (timeout - diff) / fadeout
|
||||
document[line[1]].color = {0, 0, 0, opacity * 80}
|
||||
@@ -25,16 +20,16 @@ local function update_line(line, uptime)
|
||||
end
|
||||
|
||||
events.on("core:chat", function(message)
|
||||
while #lines >= max_lines do
|
||||
document[lines[1][1]]:destruct()
|
||||
table.remove(lines, 1)
|
||||
end
|
||||
local current_time = time.uptime()
|
||||
local id = 'l'..tostring(nextid)
|
||||
document.root:add(gui.template("chat_line", {id=id}))
|
||||
document.root:reposition()
|
||||
document[id.."L"].text = message
|
||||
nextid = nextid + 1
|
||||
if #lines == max_lines then
|
||||
remove_line(lines[1])
|
||||
table.remove(lines, 1)
|
||||
end
|
||||
table.insert(lines, {id, current_time})
|
||||
end)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user