{"id":20102873,"url":"https://github.com/artdevgame/shots-fired-support","last_synced_at":"2026-03-19T13:44:57.344Z","repository":{"id":45256098,"uuid":"183633237","full_name":"artdevgame/shots-fired-support","owner":"artdevgame","description":"Support for Shots Fired","archived":false,"fork":false,"pushed_at":"2023-05-14T18:02:37.000Z","size":980,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-13T04:29:58.172Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artdevgame.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-26T13:26:43.000Z","updated_at":"2023-07-11T16:16:03.000Z","dependencies_parsed_at":"2024-11-16T04:00:27.088Z","dependency_job_id":null,"html_url":"https://github.com/artdevgame/shots-fired-support","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artdevgame%2Fshots-fired-support","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artdevgame%2Fshots-fired-support/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artdevgame%2Fshots-fired-support/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artdevgame%2Fshots-fired-support/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artdevgame","download_url":"https://codeload.github.com/artdevgame/shots-fired-support/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241542230,"owners_count":19979278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T17:33:21.819Z","updated_at":"2026-03-06T02:02:18.832Z","avatar_url":"https://github.com/artdevgame.png","language":null,"readme":"# Shots Fired\r\n\r\nShots Fired is an [Overwolf app](https://www.overwolf.com/) that helps to automate and enhance your gaming streams.\r\n\r\nIt was orignially developed as part of the [PUBG Developers Challenge](https://medium.com/overwolf/introducing-the-pubg-dev-challenge-a7421f1d61a1) and later expanded to support additional games.\r\n\r\n![](./assets/overview.png)\r\n\r\n\u003e This documentation is for `v5.0.0` and later, you can find the version of the\r\n\u003e app at the bottom of the Settings page. [Documentation is still available for\r\n\u003e earlier versions](https://github.com/artdevgame/shots-fired-support/tree/v4.2.1).\r\n\r\n- [Read the changelog](./CHANGELOG.md)\r\n\r\n# Usage\r\n\r\n## Connecting to OBS\r\n\r\n1. Shots Fired requires [obs-websocket](https://github.com/obsproject/obs-websocket/releases/tag/4.9.1) to enable automation of OBS. Choose the latest **(v4.*)** Windows installer and follow the instructions. **⚠️ Please note, Shots Fired doesn't currently support (v5.*) of `obs-websocket`. ⚠️**\r\n2. After setting up a password in OBS (`Tools \u003e Websocket server settings \u003e Enable Authentication (checked) \u003e Password`), enter the same password into Shots Fired\r\n3. The address field should remain as `localhost:4444` unless you changed it in OBS\r\n4. Click `Connect` to continue.\r\n\r\n## Using Shots Fired\r\n\r\n### Games\r\n\r\nShots Fired supports an expanding list of games.\r\n\r\nFor ease of access, you can select your favourite games to pin them to the top of the list.\r\n\r\n![](./assets/favourite.png)\r\n\r\n### Sequences\r\n\r\nSince **v5.x**, a user can now create a sequence of actions that are executed when an Overwolf event has been triggered.\r\n\r\nCurrently the following action types are supported:\r\n\r\n- `obs`: A mechanism to control OBS scene and source visibility.\r\n- `webhook`: A mechanism used to forward event data to a webserver for further processing.\r\n\r\nDelays can be added between actions in a sequence.\r\n\r\nWith a [subscription](#subscription), there is an option to filter the sequence by event data and randomise the frequency of when it's shown.\r\n\r\n### OBS\r\n\r\nEach OBS scene can have one or more sources, for example:\r\n\r\n![](./assets/obs.png)\r\n\r\nWhen selecting a scene in Shots Fired, the app will list all the sources you have set up in OBS.\r\n\r\nTo have Shots Fired control a source, you must `activate` it:\r\n\r\n![](./assets/control.png)\r\n\r\nWhen a source item is `active`, Shots Fired allows you to select whether it should be visible using an on/off toggle:\r\n\r\n![](./assets/visibility.png)\r\n\r\nAt this point, you may also choose to add a delay and duration interval - both are measured in seconds.\r\n\r\n![](./assets/delay-duration.png)\r\n\r\nA `delay` will add time before the source is shown i.e. if a `jump` event has occurred and your `delay` for a source item called `jump animation` is set to `3`, there will be 3 seconds that pass before OBS shows `jump animation`.\r\n\r\nA `duration` will hide a source item after the number of seconds has passed i.e. if your `jump` event has a delay of `5`, the `jump animation` source will run for 5 seconds before hiding.\r\n\r\nIf the delay is set to `0` - the source is shown as soon as the event occurs.\r\nIf the duration is set to `0` - the source will show indefinitely.\r\n\r\nYou can preview how the configuration will look by clicking the `test` button. After saving, you can remove the configuration by clicking the `delete` button.\r\n\r\n![](./assets/preview-mapping.png)\r\n\r\n### Webhook\r\n\r\n\u003e This is an advanced feature and requires some technical knowledge\r\n\r\nA webhook allows you to forward in-game event data to a URL of your choice.\r\n\r\nThis is useful for tracking dynamic metrics, i.e. number of kills vs number of deaths, and using the data to display in OBS with a `Browser` source. [See Example](https://www.youtube.com/watch?v=IZN7lYXm5x4).\r\n\r\nAll requests are dispatched as a `POST` with the following properties:\r\n\r\n| Name   | Description                                            |\r\n| ------ | ------------------------------------------------------ |\r\n| gameId | Overwolf game id                                       |\r\n| event  | The name of the event that was dispatched, i.e. \"kill\" |\r\n| data   | The data provided by the game                          |\r\n\r\nSee [kills-death-wins](https://github.com/artdevgame/kills-death-wins) as an example of how to use this functionality in Fortnite.\r\n\r\n### Filtering by event data\r\n\r\n\u003e This is an advanced feature that requires a [subscription](#subscription) and a knowledge of JavaScript programming\r\n\r\nWrite a JavaScript _function body_ that returns a boolean.\r\n\r\nYou have access to a variable called `payload` that contains the event data.\r\n\r\n#### How to write a JavaScript function body\r\n\r\nBelow are examples of a _function_, the code that has been left uncommented is the _function body_. Returning true will cause the sequence to run, returning false will prevent the sequence from running.\r\n\r\n```js\r\n// always execute this sequence...\r\n\r\n//function run (payload) {\r\nreturn true;\r\n//}\r\n```\r\n\r\n```js\r\n// only execute this sequence when a condition in the data is met...\r\n\r\n//function run (payload) {\r\ntry {\r\n  const data = json.parse(payload)\r\n  return data.damageDealt \u003e 50;\r\n} catch (err) {\r\n  return false;\r\n}\r\n//}\r\n```\r\n\r\n### Filtering by frequency\r\n\r\n\u003e This feature requires a [subscription](#subscription)\r\n\r\nTo add more randomness to your stream, your sequences can be instructed to run at different frequencies.\r\n\r\nThis feature is useful if you want to have more than one sequence that responds to the same event but with different outcomes, or if you just want to create a less predictable reaction to a single event.\r\n\r\nChoose from `rare`, `occassional`, `common` and `always`.\r\n\r\n![](./assets/frequency.png)\r\n\r\n# \u003ca name=\"subscription\"\u003e\u003c/a\u003e Supporters Tier\r\n\r\nTo help support future development of the app, Shots Fired offers a `Supporters Tier`.\r\n\r\nA `Supporters Tier` subscription is billed monthly through the Overwolf platform. [See payment terms](https://www.overwolf.com/legal/terms).\r\n\r\n# Support\r\n\r\nIf you've found a bug or would like to suggest a feature, [please raise an issue](https://github.com/artdevgame/shots-fired-support/issues).\r\n\r\nYou're also welcome to join the [Shots Fired Discord group](https://discord.gg/eBBnNfM).\r\n\r\n# Terms and Conditions\r\n\r\nThis software is provided AS IS and AS AVAILABLE. There are no guarantees, warranties or refunds. Shots Fired and anyone affiliated does not accept any liability for damage or loss in any way to yourself or third parties as a result of using the app.\r\n\r\nShots Fired runs on Overwolf and depends on the reliability of Overwolf Events to function correctly. Sometimes those events are only partially available or not at all. Shots Fired has no control over this.\r\n\r\nShots Fired is owned and operated by, and copyright belongs to Mike Holloway. He reserves the right to amend these terms at any time.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartdevgame%2Fshots-fired-support","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartdevgame%2Fshots-fired-support","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartdevgame%2Fshots-fired-support/lists"}