SCriPt or "SCP script"
A Lua (Moonsharp) -> LabAPI (SCP:SL) framework providing server administrators more detailed control of their games. No more requesting custom plugins; add your own commands, event handling, coroutines, admin toys, NPCs, run commands, and even write your own plugins in any text editor.
GitHub: https://github.com/tayjay/SCriPt
Latest Release (v0.5.3, LabAPI 1.1.1): https://github.com/tayjay/SCriPt/releases/latest
Documentation (WIP): https://github.com/tayjay/SCriPt/wiki
--
This plugin has been in development for over a year, but recently made a swap from EXILED to LabAPI. The EXILED plugin is not currently being developed; With the addition of LabAPI most functionality should work the same, and removes the need for additional libraries. Please try to read both docs before asking questions. The script format is more similar to actual plugins than approaches I've seen elsewhere.
This plugin is feature-complete, just need to learn how to use it. It has been an invaluable tool for me and I hope someone else will find it useful.
Installation instructions:
- Download the files SCriPt.LabAPI.dll and dependencies.zip
- Place the contents of dependencies.zip in your
/LabAPI/dependencies/global/directory - Place SCriPt.LabAPI.dll in your LabAPI plugins folder
- Run the game and check there were no errors in the console
- Begin writing Lua scripts in the
/LabAPI/SCriPt/Scripts/directory
Example script (welcome.lua):
welcome = SCriPt.Module("Welcome")
function welcome:load()
Events.Player.Joined.add(welcome.onPlayerJoined)
print('The Script has loaded!')
end
function welcome:unload()
Events.Player.Joined.remove(welcome.onPlayerJoined)
end
function welcome:onPlayerJoined(args)
Server.SendBroadcast('Welcome ' .. args.Player.DisplayName .. ' to the server!')
print('Welcome ' .. args.Player.DisplayName)
end
Also see Setup.lua
I've heard rumor of similar functionality being added to the base game.
