@@ -1136,6 +1136,12 @@ bool CGame::ProcessPacket ( CPacket& Packet )
11361136 return true ;
11371137 }
11381138
1139+ case PACKET_ID_PLAYER_NETWORK_STATUS:
1140+ {
1141+ Packet_PlayerNetworkStatus ( static_cast < CPlayerNetworkStatusPacket& > ( Packet ) );
1142+ return true ;
1143+ }
1144+
11391145 default :
11401146 break ;
11411147 }
@@ -1449,6 +1455,7 @@ void CGame::AddBuiltInEvents ( void )
14491455 m_Events.AddEvent ( " onPlayerUnmute" , " " , NULL , false );
14501456 m_Events.AddEvent ( " onPlayerCommand" , " command" , NULL , false );
14511457 m_Events.AddEvent ( " onPlayerModInfo" , " type, ids, names" , NULL , false );
1458+ m_Events.AddEvent ( " onPlayerNetworkStatus" , " type, ticks" , NULL , false );
14521459 m_Events.AddEvent ( " onPlayerScreenShot" , " resource, status, file_data, timestamp, tag" , NULL , false );
14531460
14541461 // Ped events
@@ -3713,6 +3720,19 @@ void CGame::Packet_PlayerNoSocket ( CPlayerNoSocketPacket & Packet )
37133720}
37143721
37153722
3723+ void CGame::Packet_PlayerNetworkStatus ( CPlayerNetworkStatusPacket & Packet )
3724+ {
3725+ CPlayer* pPlayer = Packet.GetSourcePlayer ();
3726+ if ( pPlayer )
3727+ {
3728+ CLuaArguments Arguments;
3729+ Arguments.PushNumber ( Packet.m_ucType ); // 0-interruption began 1-interruption end
3730+ Arguments.PushNumber ( Packet.m_uiTicks ); // Ticks since interruption start
3731+ pPlayer->CallEvent ( " onPlayerNetworkStatus" , Arguments, NULL );
3732+ }
3733+ }
3734+
3735+
37163736void CGame::Packet_PlayerModInfo ( CPlayerModInfoPacket & Packet )
37173737{
37183738 CPlayer* pPlayer = Packet.GetSourcePlayer ();
0 commit comments