> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Writing an event to power an event-based achievement

> Sample XblEventsWriteInGameEvent code that fires a game event so XBOX Live stat rules update stats and unlock event-based achievements.

This topic shows example code of how to write an in-game event.

When the event is fired, the event-based stats on the service are updated according to the stat rules that you've defined in Partner Center.
Those stats, in turn, power event-based achievements.

#### Flat C API

```cpp theme={null}
HRESULT hr = XblEventsWriteInGameEvent(
    xboxLiveContext,
    "PuzzleSolved",
    R"({"DifficultyLevelId":100, "GameplayModeId":"Adventure"})",
    R"({"LocationX":1,"LocationY":1})"
);
```

For more information, see [XblEventsWriteInGameEvent](/reference/live/xsapi-c/events_c/functions/xbleventswriteingameevent).


## Related topics

- [Event-based achievements example code](/services/xbox-services/player-data/achievements/event-based/how-to/live-achievements-eb-howto-nav.md)
- [Overview of the XBOX Achievements Manager API](/services/xbox-services/player-data/achievements/achievements-manager/live-achievements-manager-overview.md)
- [Writing an event to power an event-based stat](/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-sending-eb-stat.md)
- [Overview of event-based Achievements](/services/xbox-services/player-data/achievements/event-based/live-achievements-eb-overview.md)
- [Portal configuration of event-based Achievements](/services/xbox-services/player-data/achievements/event-based/config/live-achievements-eb-portal.md)
