1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 15:20:48 -05:00

fix issue with game interface meta/provide full example

This commit is contained in:
RaidMax
2022-09-11 11:46:13 -05:00
parent aa5b3b71d3
commit a3649124ff
4 changed files with 29 additions and 6 deletions

View File

@ -193,8 +193,6 @@ PlayerSpawnEvents()
}
self RequestClientBasicData();
// example of requesting meta from IW4MAdmin
// self RequestClientMeta( "LastServerPlayed" );
}
PlayerTrackingOnInterval()
@ -436,7 +434,6 @@ SaveTrackingMetrics()
}
IncrementClientMeta( "TotalShotsFired", change, self.persistentClientId );
}
BuildEventRequest( responseExpected, eventType, eventSubtype, entOrId, data )
@ -664,6 +661,8 @@ OnClientDataReceived( event )
metaKey = event.data[0];
clientData.meta[metaKey] = event.data[metaKey];
LogDebug( "Meta Key=" + metaKey + ", Meta Value=" + event.data[metaKey] );
return;
}

View File

@ -47,6 +47,7 @@ OnPlayerConnect()
}
player thread SetPersistentData();
player thread WaitForClientEvents();
}
}
@ -67,6 +68,28 @@ RegisterClientCommands()
scripts\_integration_base::AddClientCommand( "NoClip", false, ::NoClipImpl );
}
WaitForClientEvents()
{
self endon( "disconnect" );
// example of requesting a meta value
lastServerMetaKey = "LastServerPlayed";
// self scripts\_integration_base::RequestClientMeta( lastServerMetaKey );
for ( ;; )
{
self waittill( level.eventTypes.localClientEvent, event );
scripts\_integration_base::LogDebug( "Received client event " + event.type );
if ( event.type == level.eventTypes.clientDataReceived && event.data[0] == lastServerMetaKey )
{
clientData = self.pers[level.clientDataKey];
lastServerPlayed = clientData.meta[lastServerMetaKey];
}
}
}
GetTotalShotsFired()
{
return maps\mp\_utility::getPlayerStat( "mostshotsfired" );