Imported from trollstream "ContentDB"
commit
44ce6b18dc
|
@ -0,0 +1,43 @@
|
|||
Title mod
|
||||
|
||||
This is a mod inspired by the Minecraft /title command
|
||||
|
||||
Install it from the source or from content.minetest.net
|
||||
|
||||
---
|
||||
|
||||
# Commands
|
||||
|
||||
- [/title {playername} set {title/subtitle} {text}](#set command)
|
||||
- [/title {playername} clear](#clear command)
|
||||
- [/title {playername} times {time}](#times command)
|
||||
|
||||
---
|
||||
|
||||
## set command
|
||||
|
||||
> params = {playername} set {title/subtitle} {text}
|
||||
|
||||
- playername = name of online player you want to show it
|
||||
- title/subtitle = or title (middle screen) or subtitle (above inv)
|
||||
- text = the text you want to show
|
||||
|
||||
---
|
||||
|
||||
## clear command
|
||||
|
||||
> params = {playername} clear
|
||||
|
||||
- playername = name of online player you want to show it
|
||||
- clear = remove all
|
||||
|
||||
---
|
||||
|
||||
## times command
|
||||
|
||||
> params = {playername} times {time}
|
||||
|
||||
- playername = name of online player you want to show it
|
||||
- time = the time it needs to stay in miliseconds
|
||||
|
||||
---
|
|
@ -0,0 +1 @@
|
|||
Miniontoby
|
|
@ -0,0 +1,5 @@
|
|||
Version 1.1
|
||||
|
||||
I created this.
|
||||
|
||||
all cmds included
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1 @@
|
|||
A mod that shows an HUD Title. Made by "Miniontoby". More info check README.md
|
|
@ -0,0 +1,66 @@
|
|||
local idx = {}
|
||||
title.clear_hud = function(playername)
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
if idx[playername] then
|
||||
player:hud_remove(idx[playername])
|
||||
idx[playername] = nil
|
||||
end
|
||||
end
|
||||
|
||||
title.set_title = function(playername, method, text)
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
if not idx[playername] then
|
||||
if method == "title" then
|
||||
idx[playername] = player:hud_add({
|
||||
hud_elem_type = "text",
|
||||
position = {x = 0.5, y = 0.53},
|
||||
offset = {x = 0, y = 0},
|
||||
text = text,
|
||||
alignment = {x = 0, y = 0},
|
||||
scale = {x = 100, y = 100},
|
||||
number = 0x00FF00,
|
||||
})
|
||||
elseif method == "subtitle" then
|
||||
idx[playername] = player:hud_add({
|
||||
hud_elem_type = "text",
|
||||
position = {x = 0.5, y = 0.7},
|
||||
offset = {x = 0, y = 0},
|
||||
text = text,
|
||||
alignment = {x = 0, y = 0},
|
||||
number = 0xFF0000,
|
||||
})
|
||||
else
|
||||
minetest.chat_send_player(playername, "param does not match")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
title.set_times = function(playername, stay)
|
||||
minetest.after(stay, function()
|
||||
local player = minetest.get_player_by_name(playername)
|
||||
if idx[playername] then
|
||||
player:hud_remove(idx[playername])
|
||||
idx[playername] = nil
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
title.decode = function(var)
|
||||
local t = {}
|
||||
local test = " "
|
||||
for i in string.gmatch(var, "%S+") do
|
||||
test = test .. " " .. i
|
||||
end
|
||||
for str in string.gmatch(test, "%S+") do
|
||||
table.insert(t, str)
|
||||
end
|
||||
local username = t[1]
|
||||
local command = t[2]
|
||||
local text = " "
|
||||
local a = 3
|
||||
while a < #t or a == #t do
|
||||
text = text .. " " .. t[a]
|
||||
a = a + 1
|
||||
end
|
||||
return username, command, text
|
||||
end
|
|
@ -0,0 +1,22 @@
|
|||
--title mod
|
||||
title = {}
|
||||
dofile(minetest.get_modpath("title").."/functions.lua")
|
||||
|
||||
minetest.register_chatcommand("title", {
|
||||
params = "<player> <command> | <player> <method> <text> | <player> <command> <stay>", -- clear | <title¦subtitle> <titleText> | times <fadeIn> <stay> <fadeOut>
|
||||
description = "shows a title in a players HUD",
|
||||
func = function(name, param)
|
||||
local wordsinparam = {}
|
||||
for word in string.gmatch(param, "[^%s]+") do
|
||||
table.insert(wordsinparam, word)
|
||||
end
|
||||
if wordsinparam[2] == "clear" then
|
||||
title.clear_hud(wordsinparam[1])
|
||||
elseif wordsinparam[2] == "times" then
|
||||
title.set_times(wordsinparam[1], wordsinparam[3])
|
||||
else
|
||||
local playername, method, text = title.decode(param)
|
||||
title.set_title(playername, method, text)
|
||||
end
|
||||
end,
|
||||
})
|
Loading…
Reference in New Issue