Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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 / 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 / findFiles.lua
Last active May 26, 2023 21:55
Loop through all Lua files in a single directory
if getOS():lower() == "windows" then
for path in io.popen("cd \"data\lib\" && dir *.lua /b/s"):lines() do
print(path) -- path = file name/directory
end
else
for path in io.popen("cd data/lib && find . -type f | grep .lua"):lines() do
print(path)
end
end
@Zbizu
Zbizu / preview.md
Last active June 27, 2023 12:29
protocol 12 icons test

new_icon

@Zbizu
Zbizu / fileDir.lua
Created September 19, 2021 16:56
Get current script directory
--[[
dumps file directory to a console
example output:
linedefined 0
lastlinedefined 207
source @F:\ot\data\scripts\filename.lua
what main
short_src ...ot\data\scripts\filename.lua
]]
@Zbizu
Zbizu / launcher.bat
Last active January 19, 2022 19:03
replacer test
project.exe test.txt
pause
@Zbizu
Zbizu / asyncArea.lua
Created July 28, 2021 22:37
non-blocking iteration over large areas
-- async iterate area
-- for when you want to execute a script on a large area, but dont want lags on your server
local defaultChunkSize = 16
local defaultDelay = 200
Area = setmetatable ({ },
{
__call = function (area, ...)
return area.new (...)
end
@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