Skip to content

PHPInSimMod (PRISM) 0.6.0

Compare
Choose a tag to compare
@T3chArmy T3chArmy released this 13 Apr 01:11
· 29 commits to master since this release

Increased version to 0.6.0 due to the following plugin breaking changes:

  • Translation engine changes potentially breaking plugins for certain users
  • AddClickEventToBtn from BetterButtonManager caused the incorrect params to be sent in some situations(See below)

Updates

  • Add handling for buttons created using UCID 255 ( #63 )
    • correctly handle buttons events even when button is created with UCID 255
  • ClearButtonsForConn when a client disconnects ( #28 )
  • Update Translation Engine ( #64 )
    • Moved Translations to own class which is now inherited by plugins [UserPlugin extends Plugins extends Translations extends Timers]
    • Converted TranslateEngine to a class
      • See how to use Translations in your plugin here
      • Translations are now stored to a static variable for caching
      • To clear cache for your plugin call $this->clearTranslationCache();
      • if you ever called directly called the TranslateEngine function in your plugin(which was not how it was originally intended, but could have been used that way, you'll need to update your code to use translateEngine::translate)
  • Add param to betterButtonManager initButton function that prevents the text from looping
    • This could be really useful in situations such as coundowns so you could do something like:
    • In this situation, it would count down from 5 to 1 and then say go for 3 seconds
#InitButton(ButtonName, Group, Top, Left, Width, Height, ButtonStyle, Text, SecondsToShow, Repeat);
$this->BTNMan[$UName]->InitButton('testButton', 'testGroup', 25, 25, 50, 25, ISB_DARK, array('5', '4', '3', '2', '1', 'GO!'), 8, false);
  • For help setting up betterButtonManager, there is a readme available here (though it currently doesn't list all of the functions that are available in the betterButtonManager.)
    • Fix situations when using betterButtonManager and addClickEventToBtn and no param array is specified(so it defaulted to null as a result as seen below)
public function AddClickEventToBtn($Name, $Class, $Function, $Params=null)

PRISM was treating the null as the parameter intended to send to the function. When there is no params the following is expected:

function ClickEvent ($BTC, $BTN) {
    #BTC has the structure of the BTC packet PRISM receives from the host
    #BTN is the original button that caused the click
}