Guard

SPGG Bot Docs

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

#FC25 Memory Reference

File: FC25Memory.py · Class: FC25Memory · Game Process: FC25.exe

#Constructor

FC25Memory(addresses_path: str)
Parameter Type Description
addresses_path str Path to addresses file (e.g., C:\FIFA25_MEMORY\addresses.txt)

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

#Required Address Keys

Key Purpose Read Method
homeGoal1 Home team score read_int
awayGoal1 Away team score read_int
ptrMatchTime Pointer to match time read_pointer → offset 0x24read_float
ptrBallArray Pointer to ball data array read_pointer → offset 0xA0/0x98read_float
homeShot3 Home shots on target read_int
awayShot1 Away shots on target read_int
homeFoul1 Home fouls read_int
awayFoul1 Away fouls read_int
homeYellowC1 Home yellow cards read_int
awayYellowCard2 Away yellow cards read_int
homeRedA Home red cards read_int
awayRedA Away red cards read_int
ptrHomeTeamScore Pointer to Aranaktu home score read_pointerread_float
ptrAwayTeamScore Pointer to Aranaktu away score read_pointerread_float
ballIndex Ball tracking index write_int (reset to 0)

#Methods

#read_goals() → (int, int) ACTIVE

Returns (home_goal, away_goal) tuple. Returns None for either value on read failure.


#read_match_time() → float ACTIVE

Read match time from pointer chain: ptrMatchTime → offset 0x24 → float value.


#read_statistics() → dict ACTIVE

Returns dictionary with keys: homeShot3, awayShot1, homeFoul1, awayFoul1, homeYellowC1, awayYellowCard2.


#read_ball_position() → (float, float) ACTIVE

Read ball X/Y from pointer chain: ptrBallArray → offset 0xA0 (X) and 0x98 (Y).


#read_red_cards() → (int, int) ACTIVE

Read red card counts from direct addresses homeRedA and awayRedA.


#read_aranaktu_goal_home() → float ACTIVE

Read home score from Aranaktu pointer (float-based, alternative to homeGoal1).


#read_aranaktu_goal_away() → float ACTIVE

Read away score from Aranaktu pointer (float-based, alternative to awayGoal1).


#reset_ball_address() ACTIVE

Write 0 to ballIndex to reset ball position tracking.


#validate_all_memory(progress_callback) → list ACTIVE

Validates all memory addresses. Returns list of failed keys.

Parameter Type Description
progress_callback callable(current, total, key) Optional progress callback

Validation checks:

  1. Key exists in address dict
  2. Address value is not 0
  3. For non-pointer keys: attempts read_int to verify RAM access