dygear / prism Goto Github PK
View Code? Open in Web Editor NEWPHPInSimMod
Home Page: http://www.lfsforum.net/forumdisplay.php?f=312
License: MIT License
PHPInSimMod
Home Page: http://www.lfsforum.net/forumdisplay.php?f=312
License: MIT License
@Dave-LB brought a good point to my attention.
When a translation file is loaded for the first time, it should be loaded into memory so that we are able to optimize hard disk read/write operations and translation performance.
Allow for plugins to make a socket, and have it added onto the read or write stack of the core socket_select call. Registration for this should allow for the programmer to select a callback to one of the plugins own methods.
Adding support for OutGauge within PRISM. This includes using SMALL_SSG to start sending OutGauge.
I found out that the buttons stored by the ButtonManager aren't deleted from the $buttons array in prism_buttonmanager.php. This means that if a user connects, buttons are displayed, user disconnects and then reconnects again, buttons aren't shown anymore.
Solution to this is that a plugin developer must manually delete all buttons in the IS_CNL packet event.
It would be nice if it could be done automatically by PRISM! :)
As reported by T3 and Morpha, the Msg property of the MTC packet was renamed to Text. This needs to be fixed in the plugins that use it.
The flags setting in hosts.ini is not honored by PRISM so it's impossible to avoid receiving MCI / NLP packets.
public function onPlayerPits(IS_PLP $PLP)
{
$this->players[$PLP->PLID]->onPitGarage($PLP);
onPitGarage does not exist.
If I set my car's plate to "d" in LFS, and I leave the pits, in the NPL packet, the following is outputted:
"d 00000" - d + [space] + [space] + 0 + 0 + 0 + 0 (8 chars as supposed, but the spaces and zeros should be not parsed)
If I set my car's plate to "dd" in LFS, I get this:
"dd 00000" - d + d + [space] + 0 + 0 + 0 + 0 (also 8 chars as supposed, but spaces and zeros shouldn't be parsed)
But if I set my car's plate to "dddddddd" (full 8 chars used), I get:
"dddddddd" as I'm supposed to.
The same results happen in the IS_CPR and IS_NPL packet :(
Apparently back in 2013 I made a request to have the ability to send a message from a plugin to all PRISM connected hosts. Should this be allowed to send to ALL hosts or only host that are running the same plugin that called it?
Full support for newest Live For Speed version 0.6U. Update Insim version to 8.
// New value PMO_POSITION for IS_AXM packet to report a blank position
// New packet IS_CIM reports a connection's interface mode
// New values TTC_SEL_START and TTC_SEL_STOP for IS_TTC
// New value PMO_GET_Z for IS_AXM packet to report Z values
// New values PMO_SELECTION_REAL, PMO_MOVE_MODIFY, PMO_AVOID_CHECK
I couldn't reopen the old issue so here it goes...
Following the change from a8plate to A8plate, the same issue still happens.
static function getLength($unit, $type = Time::UNIT_SECONDS);
the ; shouldn't be there
I noticed that line 331 in /modules/prism_statehandler.php calls to an undefined function whenever a player presses Shift+I in-game, causing PRISM to restart.
There are several classes that have abbreviations like TSTextArea or TSTextInput TSVline, etc...
And I can't figure out if they mean Telnet Screen, or Telnet Server, and it's making it hard for me to change stuff reasonably. Can anybody help?
Buttons created with UserID 255 using the ButtonManager aren't correctly handled for all users.
If UserID == 255 we'll need to do a foreach of all users on the server and init the button for each user so that they are created with an actually unused ClickID.
Some modules fail to autoload on case-sensative linux or mac servers. Change the __autoload function to include a string to lower function, and move all files to a lowercase format.
The pack/unpack is written wrong, works with the following
const PACK = 'CCCxCxxxV';
const UNPACK = 'CSize/CType/CReqI/CZero/CUCID/CSp1/CSp2/CSp3/VCars';
Not sure why this exactly happened, only have this log:
^7{S^J^1¤^7} Pilot ^4X^8 pitted
IS_PLP Packet from gtr.
PHP NOTICE:
Undefined offset: 31 in F:\php\PRISM033\modules\prism_statehandler.php on line 287
1 :: onPlayerPits in F:\php\PRISM033\modules\prism_statehandler.php:48
2 :: dispatchPacket in F:\php\PRISM033\modules\prism_hosts.php:504
3 :: inspectPacket in F:\php\PRISM033\modules\prism_hosts.php:437
4 :: handlePacket in F:\php\PRISM033\modules\prism_hosts.php:308
5 :: checkTraffic in F:\php\PRISM033\PHPInSimMod.php:225
PHP Fatal error: Call to a member function onPitGarage() on a non-object in F:\php\PRISM033\modules\prism_statehandler.php on line 287
Fatal error: Call to a member function onPitGarage() on a non-object in F:\php\PRISM033\modules\prism_statehandler.php on line 287
As per Victor, http://www.lfsforum.net/showthread.php?p=1547328#post1547328, UNames and PNames are to be handled as case-insensitive.
When registerPacket('onPLLpacket', ISP_PLL) in plugins, the returned PLLpacket->PLID is unset, because of the processed order within the packet handler. Already mentioned here.
In prism_statehandler.php line 255, $this->State to be assigned a CPP state interferes with $this->State in line 224, to be assigned LFS state. Though they are both ISS state flags, they should be kept separate. Currently this is causing a bug where StateHandler::$State is always 0 after startup if LFS is not in shift-u mode (when there is no user-camera).
Propesed fix : rename the CPP $this->State to $this->CamState
will push a fix later when done working on this messaging feature.
public static function extensionLookup($extension, $fallback = 'application/octet-stream') {
return (isset(SELF::EXTENSIONS[$extension])) ? SELF::EXTENSIONS[$extension] : $fallback;
}
expected (
public function __construct()
{
$this->registerSayCommand('prism thetime', 'cmdTime', 'Displays the time.');
$this->registerSayCommand('prism time', 'cmdTime', 'Displays the time.');
}
instead of;
public function __construct()
{
$this->registerSayCommand('thetime', 'cmdTime', 'Displays the time.');
$this->registerSayCommand('time', 'cmdTime', 'Displays the time.');
}
?
After sending long messages, the colour breaks and reverts to default.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.