# osu-repy osu! replay helper in python ## Sample ```python from osuRepy.frame import ReplayFrame # ReplayFrame from osuRepy.replay import Replay # Replay instance from osuRepy.helpers import osuButtons, osuMods # Enum helpers replay = Replay(beatmap_hash = "9e66c0a0eadced7d07f06b3968a74cc0") # Create replay instance replay.write( ReplayFrame(2, 256, 192, osuButtons.M1) ) # Add replay frame (time, x, y, buttons) replay.set_score(score = 29284624, s300 = 416, s50 = 2, miss = 1, combo = 358) # Set score info replay.set_mods(osuMods.HIDDEN | osuMods.DOUBLETIME) # Enable HDDT mods replay.set_timestamp(1552466941) # Set unix timestamp replay.save("myReplay.osr") # Export replay to file ``` # Enums (from helpers) ### osuButtons |Name|Value| |-|-| |NONE|0| |LEFTMOUSE|1| |RIGHTMOUSE|2| |LEFTKEY|4| |RIGHTKEY|8| |SMOKE|16| |M1|1| |M2|2| |K1|5| |K2|10| ### osuModes |Name|Value| |-|-| |STANDARD|0| |TAIKO|1| |CATCH_THE_BEAT|2| |MANIA|3| ### osuMods |Name|Value| |-|-| |NOMOD|0| |NOFAIL|1| |EASY|2| |TOUCHSCREEN|4| |HIDDEN|8| |HARDROCK|16| |SUDDENDEATH|32| |DOUBLETIME|64| |RELAX|128| |HALFTIME|256| |NIGHTCORE|512| |FLASHLIGHT|1024| |AUTOPLAY|2048| |SPUNOUT|4096| |AUTOPILOT|8192| |PERFECT|16384| |KEY4|32768| |KEY5|65536| |KEY6|131072| |KEY7|262144| |KEY8|524288| |KEYMOD|1048576| |FADEIN|2097152| |RANDOM|4194304| |LASTMOD|8388608| |KEY9|16777216| |KEY10|33554432| |KEY1|67108864| |KEY3|134217728| |KEY2|268435456| |SCOREV2|536870912| ### osuRanks |Name|Value| |-|-| |SSH|0| |SH|1| |SS|2| |S|3| |A|4| |B|5| |C|6| |D|7| |F|8| |N|9| (We dont speak of typeSerializer) # Tips ```python if you.style is 'passing arrays of information': ``` ```python frames = [ ReplayFrame(0, 256, 192, osuButtons.NONE), ReplayFrame(8, 258, 191, osuButtons.NONE), ReplayFrame(13, 257, 198, osuButtons.M1 | osuButtons.SMOKE) ] replay = Replay() replay.write( frames ) ```