Skip to content

Instantly share code, notes, and snippets.

@Zbizu
Zbizu / animatedText.lua
Last active July 30, 2021 21:23
[TFS 1.3][8.6 downgrade only] doSendAnimatedText
-- just place this in libs
function doSendAnimatedText(pos, text, color, player)
local p = Player(player)
if not p then
return false
end
local msg = NetworkMessage()
msg:addByte(0x84)
msg:addPosition(pos)
@Zbizu
Zbizu / wild_growth_rune.lua
Created July 22, 2021 21:32
timer, wild growth version
local combat = Combat()
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat:setParameter(COMBAT_PARAM_CREATEITEM, ITEM_WILDGROWTH)
local function tile_timer(id, pos, delay, color)
if not Tile(pos):getItemById(id) then
return true
end
if delay ~= 1 then
@Zbizu
Zbizu / #__vscode_functions.lua
Last active August 18, 2021 23:36
Visual Studio Code globals for Lua scripting in TFS 1.3
-- what is it:
-- this is a file designed to make vs code's Lua extension intellisense working properly
-- it contains placeholders for Lua content defined by C++ files
-- how to use:
-- download vs code
-- install sumneko's lua extension
-- drop this file to your data/scripts folder
-- make sure it starts with # so it won't get loaded by the tfs
-- open folder in vs code
@Zbizu
Zbizu / msg.lua
Created October 20, 2021 19:46
Blue message version 12
-- example replacement for lack of MESSAGE_STATUS_CONSOLE_BLUE:
player:sendPrivateMessage(nil, "Players online: Name [1], Other Name [41], Placeholder [10]")
-- output: 21:41 [0]: Players online: Name [1], Other Name [41], Placeholder [10]
-- hypothetically the function could be adjusted (source edit) to send "Players online" as player name and "level" as players online
@Zbizu
Zbizu / clientid.lua
Created October 23, 2021 03:10
client id tester
-- client id tester
-- /lex clientId
-- installation: drop into data/scripts folder
local talk = TalkAction("/lex", "/looktypeex")
function talk.onSay(player, words, param)
if not player:getGroup():getAccess() then
return true
end
@Zbizu
Zbizu / singleton.lua
Last active November 5, 2021 19:12
Lua singleton model
function CreateSingletonClass(self, obj)
obj.__index = obj
setmetatable(obj, self)
function obj.new(...)
if obj._instance then
return obj._instance
end
local instance = setmetatable({}, obj)
@Zbizu
Zbizu / screenshotLib.lua
Created November 22, 2021 02:17
Version 12 save screenshot
SCREENSHOT_TYPE_ACHIEVEMENT = 1
SCREENSHOT_TYPE_BESTIARYENTRYCOMPLETED = 2
SCREENSHOT_TYPE_BESTIARYENTRYUNLOCKED = 3
SCREENSHOT_TYPE_BOSSDEFEATED = 4
SCREENSHOT_TYPE_DEATHPVE = 5
SCREENSHOT_TYPE_DEATHPVP = 6
SCREENSHOT_TYPE_LEVELUP = 7
SCREENSHOT_TYPE_PLAYERKILLASSIST = 8
SCREENSHOT_TYPE_PLAYERKILL = 9
SCREENSHOT_TYPE_PLAYERATTACKING = 10
@Zbizu
Zbizu / secretMenu.lua
Last active November 25, 2021 18:56
Special outfit window
-- works without adding anything to outfits.xml
local outfits = {
{12, "Archdemon"},
{75, "Gamemaster"},
{159, "Elf"},
{160, "Dwarf"},
{194, "Cultist"},
{226, "Frog"},
{253, "Headsplitter"},
{254, "Skullhunter"},
@Zbizu
Zbizu / chatchannels.xml
Last active November 27, 2021 15:17
Lua interpreter in chat channel
<channel id="32" name="Lua" script="luachannel.lua" />
@Zbizu
Zbizu / moduleManager.lua
Last active November 30, 2021 04:21
Lua module system concept
-- module system
if not Game.modules then
-- load
Game.modules = {
moduleList = {},
unLoadedModuleList = {}
}
else
-- reload
local newModuleList = {}