OsuRTDataProvider is an OsuSync plugin.
it's support OSU! and OSU!Tourney.
OsuRTDataProvider can be obtained from OSU!(Stable Only):
- Beatmap
- Game Status
- Accuracy
- Health Point
- Combo
- 300 Count
- 100 Count
- 50 Count
- Miss Count
- Katu Count
- Geki Count
- Mods
- Play Time
- Score
- Game Mode
OSU! Clinet Version Requirements: b20190816 After
- Download OsuSync
- Download OsuRTDataProvider.
- Copy OsuRTDataProvider to {OsuSync Path}/Plugins.
- Run OsuSync.
[OsuRTDataProvider.SettingIni]
| Setting Name | Default Value | Description |
|---|---|---|
| ListenInterval | 100 | Listen data interval(ms). PS: If it is too small may lag |
| EnableTourneyMode | False | Is tourney client?(Experimental) |
| TeamSize | 1 | Tourney client team size |
| ForceOsuSongsDirectory | Force search for Beatmap from this path | |
| GameMode | Auto | If ModeFinder initialization fails. Please manually select the current Mode. |
| DisableProcessNotFoundInformation | False | Hide "Not found osu!.exe process" |
| EnableModsChangedAtListening | False | Try to monitor Mods changes in non-Play status |
publicOsuListenerManagerListenerManager;//If EnableTourneyMode = false in config.ini, return null.publicOsuListenerManager[]TourneyListenerManagers;publicintTourneyListenerManagersCount;publicdelegatevoidOnBeatmapChangedEvt(Beatmapmap);publicdelegatevoidOnHealthPointChangedEvt(doublehp);publicdelegatevoidOnAccuracyChangedEvt(doubleacc);publicdelegatevoidOnComboChangedEvt(intcombo);publicdelegatevoidOnModsChangedEvt(ModsInfomods);publicdelegatevoidOnPlayingTimeChangedEvt(intms);publicdelegatevoidOnHitCountChangedEvt(inthit);publicdelegatevoidOnStatusChangedEvt(OsuStatuslast_status,OsuStatusstatus);publicdelegatevoidOnErrorStatisticsChangedEvt(ErrorStatisticsResultresult);publicdelegatevoidOnPlayerChangedEvt(stringplayer);publicdelegatevoidOnHitEventsChangedEvt(PlayTypeplayType,List<HitEvent>hitEvents);/// <summary>/// Available at Playing and Linsten./// If too old beatmap, map.ID = -1./// </summary>publiceventOnBeatmapChangedEvt OnBeatmapChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnHealthPointChangedEvt OnHealthPointChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnAccuracyChangedEvt OnAccuracyChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnComboChangedEvt OnComboChanged;/// <summary>/// Available at Playing./// if OsuStatus turns Listen , mods = ModsInfo.Empty/// </summary>publiceventOnModsChangedEvt OnModsChanged;/// <summary>/// Available at Playing and Listen./// </summary>publiceventOnPlayingTimeChangedEvt OnPlayingTimeChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnHitCountChangedEvt On300HitChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnHitCountChangedEvt On100HitChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnHitCountChangedEvt On50HitChanged;/// <summary>/// Available at Playing./// </summary>publiceventOnHitCountChangedEvt OnMissHitChanged;/// <summary>/// Available at Any./// </summary>publiceventOnStatusChangedEvt OnStatusChanged;/// <summary>/// Get ErrorStatistics(UnstableRate and Error Hit)./// </summary>publiceventOnErrorStatisticsChangedEvt OnErrorStatisticsChanged;/// <summary>/// Get player name in playing./// </summary>publiceventOnPlayerChangedEvt OnPlayerChanged;/// <summary>/// Get play type and hit events in playing. (https://osu.ppy.sh/help/wiki/osu!_File_Formats/Osr_(file_format))/// </summary>publiceventOnHitEventsChangedEvt OnHitEventsChanged;publicenumOsuStatus{NoFoundProcess,Unkonwn,Listening,Playing,Editing,Rank}varortdp=getHoster().EnumPluings().FirstOrDefault(p =>p.Name=="OsuRTDataProvider")asOsuRTDataProviderPlugin;ortdp.ListenerManager.OnBeatmapChanged+=(b)=>{/*...*/};