Guard

SPGG Bot Docs

Give me your ID if you want to cross this world!

#FC24 Memory Reference

File: FC24Memory.py · Class: FC24Memory · Game Process: FC24.exe

#Constructor

FC24Memory(addresses_path: str)

Initializes pymem connection to FC24.exe and reads memory addresses from file.

#Required Address Keys

Key Purpose Read Method
hmScore Home team score read_int
awScore Away team score read_int
ptrMatchTime Pointer to match time read_pointer → offset 0x50read_int
ptrBallArray Pointer to ball data array read_pointer → offset 0xA0/0x98read_float
stats5 through stats22 Match statistics read_int
ptrReds2 Pointer to red cards read_pointer → offset 0x48
ptrPenalty Pointer to penalty data read_pointer
ballIndex Ball tracking index write_int

#Statistics Keys Mapping

Key Stat
stats5 Home Shots
stats6 Home Possessions
stats7 Home Fouls
stats8 Home Offside
stats9 Home Corners
stats10 Home Yellow Cards
stats11 Home Completed Passing
stats16 Away Shots
stats17 Away Possessions
stats18 Away Fouls
stats19 Away Offside
stats20 Away Corners
stats21 Away Yellow Cards
stats22 Away Completed Passing

#Methods

#read_goals() → (int, int) ACTIVE

Returns (home_goal, away_goal).

#read_match_time() → int ACTIVE

Read match time from pointer chain: ptrMatchTime → offset 0x50 → int value.

Note: FC24 uses read_int for time (integer), FC25 uses read_float.

#read_statistics() → dict ACTIVE

Returns dictionary with all stats keys.

#read_ball_position() → (float, float) ACTIVE

Same pointer offsets as FC25.

#read_red_cards() → (int, int) ACTIVE

Read red cards through pointer chain: ptrReds2 → offset 0x48 (home) and 0x4C (away).

#reset_ball_address() ACTIVE

Reset ball index to 0.

#read_penalty(is_pointer_home) → (int, int) ACTIVE

Read penalty data from pointer chain. Handles home/away differentiation with offset 0x23BA8.

#reset_penalty_address() ACTIVE

Reset registered penalty addresses and clear pointer.

#validate_all_memory(progress_callback) → list ACTIVE

Same validation logic as FC25 version.