Garry's Mod Leaks
[LEAK] Blue's ATM - A Lightweight ATM/Bank System
Submitted by asazs, 28-08-2019, 04:46 AM, Thread ID: 141664
Thread Closed
gmodstore:https://www.gmodstore.com/market/view/bl...ank-system
download:
download:
This hidden content has been reported as not working 0 times this month.
1 times in total
RE: [LEAK] Blue's ATM - A Lightweight ATM/Bank System
02-09-2019, 02:13 PM
#2 Useless. Does not include CBlib, a custom library that works in turn with Blue's ATM.
RE: [LEAK] Blue's ATM - A Lightweight ATM/Bank System
02-09-2019, 06:52 PM
#3 is it still working? the link doesnt seem to work for me i cannot find the download button
RE: [LEAK] Blue's ATM - A Lightweight ATM/Bank System
03-09-2019, 11:11 PM
#4 Useless. Does not include CBlib, a custom library that works in turn with Blue's ATM.
RE: [LEAK] Blue's ATM - A Lightweight ATM/Bank System
04-09-2019, 02:37 PM
#5 This post was last modified: 04-09-2019, 02:38 PM by linderman22
If anyone wants to use this, place this code in a file called cb-lib.lua in addons/!!!cb-lib/lua/autorun:
However, this version of theaddon is also entirely in Russian, so then you'll have to go through the addon andtranslate everything into english, too..
Code:
if _G.CBLib ~= nil then return _G.CBLib end --Prevent Lua refresh.
local CBLib = {}
--[[-------------------------------------------------------------------------
Helper functions
---------------------------------------------------------------------------]]
CBLib.Helper = {}
--Formats a number as a string with commas inserted
function CBLib.Helper.CommaFormatNumber(amount)
local formatted = amount
while true do
formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
if (k==0) then
break
end
end
return formatted
end
--Credit to facepunch (Didnt see guys name)
--Retursn the text in a table for, an index for each new line
function CBLib.Helper.WrapText(Str,font,width)
if( font ) then --Dr Magnusson's much less prone to failure and more optimized version
surface.SetFont( font )
end
local tbl, len, Start, End = {}, string.len( Str ), 1, 1
while ( End < len ) do
End = End + 1
if ( surface.GetTextSize( string.sub( Str, Start, End ) ) > width ) then
local n = string.sub( Str, End, End )
local I = 0
for i = 1, 15 do
I = i
if( n != " " and n != "," and n != "." and n != "\n" ) then
End = End - 1
n = string.sub( Str, End, End )
else
break
end
end
if( I == 15 ) then
End = End + 14
end
local FnlStr = string.Trim( string.sub( Str, Start, End ) )
table.insert( tbl, FnlStr )
Start = End + 1
end
end
table.insert( tbl, string.sub( Str, Start, End ) )
return tbl
end
-----------------------------
-- MODULES --
-----------------------------
--Modules are basicly instances of a table. This handles loading and destroying modules.
--Or anouther way to look at it is like a static class in an oop language.
--A module can also contain three event functions, OnLoaded, OnUnloaded, and OnReloaded
--A Table for all modules loaded.
CBLib.Modules = {}
--loads a module script and stores a reference, if a module is loaded of the same name then
--the function will instead return the already loaded module to prevent reloading of them.
--Unless you pass true for reload the module will not be reloaded but instead return the current instance.
--Subfolder is a folder you know its located in, even if its in anouther folder. For example store you modules in lua/codebluemodules then supply lua/codebluemodules as the subfolder
function CBLib.LoadModule(modulePath, reload)
reload = reload or false
--Check if a module was found
if modulePath == nil then
CBLib.Debug.Error("Failed to load module '"..modulePath.."'. Module not found...")
return
end
--We must re-load the module
if reload then
CBLib.Modules[modulePath] = nil --Destroy the old reference
end
--This will either return the already created module, or it will create a new one
if CBLib.Modules[modulePath] == nil then
--Load the module code.
local moduleContents = file.Read(modulePath, "lsv")
local module = nil
include(modulePath)
if CBLIB_MODULE ~= nil then
module = CBLIB_MODULE
CBLIB_MODULE = nil
else
CBLib.Debug.Error("Tried to locate module @"..modulePath.." but the module returned nothing, it either does not exist or has produced an error!")
return
end
CBLib.Debug.Info("Loaded Module : "..modulePath)
--Did compile string return an error?
if isstring(module) then
CBLib.Debug.Error("Failed to load module. Error : "..module)
else
--Execute the module
CBLib.Modules[modulePath] = module
if CBLib.Modules[modulePath].OnLoaded then
CBLib.Modules[modulePath].OnLoaded()
end
if reload and CBLib.Modules[modulePath].OnReloaded then
CBLib.Modules[modulePath].OnReloaded()
end
end
end
--Return the reference.
return CBLib.Modules[modulePath]
end
--Altough it does not destroy 'copies' of the module it does remove the reference stored here.
function CBLib.UnloadModule(modulePath)
if CBLib.Modules[modulePath].OnUnloaded then
CBLib.Modules[modulePath].OnUnloaded()
end
CBLib.Modules[modulePath] = nil
end
--Scans for all modules and sends any client/shared ones to the server using AddCSLuaFile()
function CBLib.NetworkModules()
local base = ""
local function ScanForClientSideModules(first, currentDirectory, currentFiles, path)
if first then
currentFiles, currentDirectory = file.Find("*", "lsv")
path = base
first = false
else
currentFiles, currentDirectory = file.Find(path.."/*", "lsv")
end
for k ,v in pairs(currentFiles) do
--Client
if string.find( v, "bmcl_" ) then
local modulePath = path.."/"..v --Found it!
AddCSLuaFile(modulePath)
CBLib.Debug.Info("Added client side file '"..modulePath.."'")
end
--Shared
if string.find( v, "bmsh_" ) then
local modulePath = path.."/"..v --Found it!
AddCSLuaFile(modulePath)
CBLib.Debug.Info("Added client side file '"..modulePath.."'")
end
end
for k , v in pairs(currentDirectory) do
local newPath = ""
if path == "" then
newPath = v
else
newPath = path.."/"..v
end
--Scan again and append directory.
if ScanForClientSideModules(first, currentDirectory, currentFiles, newPath) then return true end --Cancle scan
end
end
ScanForClientSideModules(true)
end
-----------------------------
-- DEBUG --
-----------------------------
CBLib.Debug = {} --A table with a bunch of debug functions
function CBLib.Debug.Error(message)
MsgC(Color(255,120,120), "[CB-LIB][ERROR] ", message, "\n")
end
function CBLib.Debug.Warning(message)
MsgC(Color(255,255,0), "[CB-LIB][WARNING] ", message, "\n")
end
function CBLib.Debug.Info(message)
MsgC(Color(0,191,255), "[CB-LIB][INFO] ", message, "\n")
end
--Add global reference
_G.CBLib = CBLib
if CLIENT then
--Done!
CBLib.Debug.Info("Finished loading CB-LIB client-side")
else
--Add Clientside modules
CBLib.NetworkModules()
--Done!
CBLib.Debug.Info("Finished loading CB-LIB server-side")
end
However, this version of theaddon is also entirely in Russian, so then you'll have to go through the addon andtranslate everything into english, too..
Users browsing this thread: 1 Guest(s)