Forums » Community Projects

ToasterCrush Plugin Suite

Jun 29, 2008 Scuba Steve 9.0 link

Based off the old Pirate's Toolkit, TCS a modular plugin framework with a number of combat-related modules. In the old Pirate's Toolkit, each of these modules was a standalone plugin, but dealing with configuration of each plugin was a pain all in its own. TCS was written to provide access to configuration for all PTK plugins via the VO options menu, as well as add configuration abilities to those PTK plugins that could use it.

Modules included:
AlertMachine - Displays text alerts when players enter or leave your current sector.

AutoNav - Sets your next waypoint that of your target if they jump out of sector while in range.
Useable through /autonav as well

CentralInfo - (Disabled by default) Hijacks 3km distance meter to be something more useful in combat when you target another player

ChainFire - Writes chainfire aliases for defined weapons groups

MakeFriends - Customizes how friends and enemies are displayed on your radar

VOClock - Adds a clock to your PDA and HUD

Did you know TCS was on github? If you want to help bugtest the latest version as I update it, check out

GitHub version is "mostly stable". I try not to push major showstopping bugs into my repo, but it can happen sometimes.
Jun 29, 2008 Scuba Steve 9.0 link
v1.0.0 -> v1.0.1
     - Added missing AlertMachine config interfaces, wrote README file.
v1.0.1 -> v1.0.2
     - AlertMachine bugfixes(Guild tag doesn't raise lua error)
v1.0.2 -> v1.1.0
     - Fixed a bug in AlertMachine where "(reading transponder blah) has left the sector" would display when a player entered a highly-active sector.
     - Added central_info, disabled by default. Hijacks the 3km distance readout to be something more useful in combat when you have a target.
v1.1.0 -> v1.1.1
     - Fixed a bug in CentralInfo where it would try to access an undeclared variable in production interface code.
v1.1.1 -> v1.1.2
     - Fixed a few AlertMachine display bugs.
     - Added a percentage hull readout to CentralInfo. There is no shield readout at this time.
v1.1.2 -> v1.1.3
     - Fixed lua errors in vo_clock. Using string.sub was a horrible idea, replaced with math.fmod
v1.1.3 -> v1.2.1
     - Added %mf% tag to AlertMachine config. This tag will produce a small asterisk indicating if MF decides that player is hostile or not. Falls back to default radar when MF is disabled.
     - Added hull HP color and distance colors to ALM config. Both toggleable via the options menu.
          * Hull color depends on player HP percentage, distance color fades from white to dark gray(#444444) based on max radar distance.
     - If Alertmachine has quite a bit of results to print out(Say, if you enter a sector), it will sort them via distance before printing. Farthest printed first, closest last.
     - MakeFriends now saves your current preset on a per-character basis.
     - Fixed miscellaneous bugs.

I wanted to add MultiAim into this release, but unfortunately it didn't make it for technical reasons. It'll be implemented as soon as I can implement it properly.
Jul 06, 2008 blacknet link
lovely and complete crash of VO client.

sent plugins/tcs-plugins/central_info/main.lua:90: attempt to read from undeclared variable FlashIntensity
stack traceback:
[C]: in function 'error'
vo/vo.lua:366: in function <vo/vo.lua:361>
plugins/tcs-plugins/central_info/main.lua:90: in function <plugins/tcs-plugins/central_info/main.lua:9>
sent plugins/tcs-plugins/central_info/main.lua:90: attempt to read from undeclared variable FlashIntensity
stack traceback:
[C]: in function 'error'
vo/vo.lua:366: in function <vo/vo.lua:361>
plugins/tcs-plugins/central_info/main.lua:90: in function <plugins/tcs-plugins/central_info/main.lua:9>
plugins/tcs-plugins/central_info/main.lua:90: attempt to read from undeclared variable FlashIntensity
stack traceback:
[C]: in function 'error'
vo/vo.lua:366: in function <vo/vo.lua:361>
plugins/tcs-plugins/central_info/main.lua:90: in function <plugins/tcs-plugins/central_info/main.lua:9>
plugins/tcs-plugins/central_info/main.lua:90: attempt to read from undeclared variable FlashIntensity
stack traceback:
[C]: in function 'error'
vo/vo.lua:366: in function <vo/vo.lua:361>
plugins/tcs-plugins/central_info/main.lua:90: in function <plugins/tcs-plugins/central_info/main.lua:9>

question is why is it getting called FOUR times per hit.
Jul 06, 2008 Scuba Steve 9.0 link
Version 1.1.1 fixes this problem. Updating helps.

Edit: Most of the code in CentralInfo is based entirely off of the basic HUD:Show() function. Why it's called so many times, I have no idea.
Jul 06, 2008 Lawn Dart link
I tried the chainfire alias writer, and it placed this code in my wgaf.cfg file:

alias -cfire1 "+Shoot2 0 ; alias cfireloop1 none; alias cfirelstart1 'cfireloop1; alias cfirelstart1 none'"
alias cfiremakeloop1 "alias cfireloop1 'cfireswitch1; wait 0.07 cfireloop1'"
alias cfireloop1 "none"
alias cfirelstart1 "cfireloop1; alias cfirelstart1 none"
alias +cfire1 "+Shoot2; cfiremakeloop1; cfirelstart1"
alias cfiregrunt2_1 "Weapon2; alias cfireswitch1 cfiregrunt1_1"
alias cfiregrunt1_1 "Weapon1; alias cfireswitch1 cfiregrunt2_1"
alias cfireswitch1 "cfiregrunt1_1"

The help file said it would print out what command I need to bind to my trigger, but I don't see it. Is it "+cfire1" that I need to bind, or something else?
Jul 06, 2008 Scuba Steve 9.0 link
Yea, +cfire1/2/3 is what you need to bind. It prints its output to your main chat window, so if you have to close the options menu first to see it. Cfire is going to get a rewrite soonish to be a bit more clear and have some requested functionality.
Jul 06, 2008 Lawn Dart link
Ok, I got it sorted and it's working great. Thanks. :)
Jul 07, 2008 Snax_28 link
The clock is throwing up errors today:

plugins/tcs/vo_clock/main.lua:72: in function 'func'
vo/vo_event.lua:27: in function <vo/vo_event.lua:25>
[C]: in function 'xpcall'
vo/vo_event.lua:86: in function '_do_event'
vo/vo_event.lua:107: in function 'ProcessEvent'
vo/vo_gameevent.lua:817: in function 'func'
vo/vo_gameevent.lua:1145: in function <vo/vo_gameevent.lua:1138>
Jul 07, 2008 blacknet link
We have a fix for that, until the 'official' fix edit that file and remove

- tonumber(string.sub(os.time(), 8))

the entire line should read this:

tcs.clock.UpdateTimer:SetTimeout(1001, function ()
Jul 10, 2008 Scuba Steve 9.0 link
vo_clock was updated, by the way.
Sep 07, 2008 Scuba Steve 9.0 link
Updated, as always post any questions/comments/bugs to this thread.
Sep 08, 2008 ntli link
The problem I brought up ingame about TCS and movecentralinfo has been fixed with the latest update, so you fixed it before I was even asking about it :D
Sep 08, 2008 Scuba Steve 9.0 link
Strange, I didn't touch any of that code. Heh.
Oct 15, 2008 IcabarCrane link
link doesn't work anymore... Where can I get a working pack?
Oct 22, 2008 Infinitis link
Some people have reported VO client slowdowns when using TCS. I am experiencing this too. VO always being laggy after a hour or so of playing. Reloading plugins helps. I personally did not tried to remove other plugins but some other people on 100 said they are having this exact problem with TCS.

Thanks for your work!
Oct 22, 2008 Scuba Steve 9.0 link
TCS makes some fairly significant changes to how your radar works via the MakeFriends module. The code TCS uses is vastly more processor intensive than VO's default code in order to provide useful functions and whatnot. Generally, this code is also called extremely often on top of that.

I haven't gotten around to doing some actual profiling and optimizing of the code since it runs fine on my machine and I haven't heard reports of this before, but I might end up doing it later on. I'm not really surprised that it's dropping framerate for some people though. If you don't need the functionality that MakeFriends provides, it would probably help if you disabled it in the TCS main menu you can access from the VO options menu.

To give you a sort of idea of the increase on complexity, VO's original algorithm is three lines of simple comparisons with five or so function calls, while TCS uses those(if marked) on top of checking several tables, doing a number of string matches, calling a number of recursive functions, etc.

Another way you can lower the processor usage of MakeFriends is to use less of the extra options available.

Edit: In fact, after quickly looking at the code there's quite a lot of things I do...less than optimally. MakeFriends was my first major plugin and second project using Lua at all, so I'm not all that surprised that the code isn't of the best quality.

Edit2: If it takes an hour or so to build up, there's something else going on. If you can get me more data on this I'll see what I can do about it. I've been meaning to rewrite a lot of the TCS modules to use a more consistent codebase(as it is, most of them are quick and dirty ports to the TCS framework from the old Pirate's Toolkit) for a while now.
Oct 23, 2008 Infinitis link
In my opinion, it is not a behavior but some kind of bug.

Besides the fact that I have pretty high end PC (4 CPU, 4GB DDR3 RAM, EN 8600 GTS, linux ...) and I do not have MakeFriends turned on ... the most important thing is that the problem rises up after some time (the mentioned hour is just a guess) and reloading lua scripts helps immediately.

Fanty & Mingo were having serious problems yesterday. I asked if they run TCS and recommended reload then. Problem solved in a second. Yodaofborg also mentioned the same problem on 100 and he was linking it to TCS. Maybe he had done some research on this. Try to ask him, please. As far as I know he was trying to disable/remove individual parts of TCS to figure out which one causes the problem.
Oct 23, 2008 Scuba Steve 9.0 link
I'll look into it, that definitely should not be happening. Overall, I'm mostly decided on scrapping TCS 1.3 in favor of rewriting all/most the addons for TCS 2.0, so we'll see if I inadvertently solve the problem while doing so.

Edit: On that note, I've never noticed that problem myself. Which is strange, but it sounds like it's widespread.
Oct 25, 2008 ntli link
Yeah, I have to do a /lua ReloadInterface() every 3 hours or so to keep my framerate up, I thought it could be a plugin conflict with some of the other plugins I use, but after hearing that others are having issues, I disabled all plugins, and my client ran fine, after re-enabling just TCS, bad frame rates occured after a few hours.
Oct 26, 2008 yodaofborg link
A simple fix: Disable makefriends in TCS, download MakeFriends and install it, tada, no laggies, and a fully working TCS.


I still notice the odd dropped frame with makefriends v1.4.4.1 but nowhere near as bad as TCS 1.3

[edit 2]

I fail, see next page.