Skip to content

Repository files navigation

中文

What is OsuRTDataProvider?

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

How to use?

  1. Download OsuSync
  2. Download OsuRTDataProvider.
  3. Copy OsuRTDataProvider to {OsuSync Path}/Plugins.
  4. Run OsuSync.

Config.ini

[OsuRTDataProvider.SettingIni]

Setting NameDefault ValueDescription
ListenInterval100Listen data interval(ms). PS: If it is too small may lag
EnableTourneyModeFalseIs tourney client?(Experimental)
TeamSize1Tourney client team size
ForceOsuSongsDirectoryForce search for Beatmap from this path
GameModeAutoIf ModeFinder initialization fails. Please manually select the current Mode.
DisableProcessNotFoundInformationFalseHide "Not found osu!.exe process"
EnableModsChangedAtListeningFalseTry to monitor Mods changes in non-Play status

API

OsuRTDataProviderPlugin class

Property
publicOsuListenerManagerListenerManager;//If EnableTourneyMode = false in config.ini, return null.publicOsuListenerManager[]TourneyListenerManagers;publicintTourneyListenerManagersCount;

OsuListenerManager class

Event
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;
OsuStatus enum
publicenumOsuStatus{NoFoundProcess,Unkonwn,Listening,Playing,Editing,Rank}

How to use?(Dev)

varortdp=getHoster().EnumPluings().FirstOrDefault(p =>p.Name=="OsuRTDataProvider")asOsuRTDataProviderPlugin;ortdp.ListenerManager.OnBeatmapChanged+=(b)=>{/*...*/};

About

A sync plugin, get OSU! game data from memory.

Topics

Resources

Stars

69 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages