{"id":20118449,"url":"https://github.com/magicoflolis/squadjs-knife-broadcast","last_synced_at":"2025-09-21T02:32:22.368Z","repository":{"id":235568684,"uuid":"790922159","full_name":"magicoflolis/SquadJS-Knife-Broadcast","owner":"magicoflolis","description":"Broadcast to the Squad server when a player gets a knife kill.","archived":false,"fork":false,"pushed_at":"2024-05-04T19:26:33.000Z","size":23,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-05T20:08:27.179Z","etag":null,"topics":["squadjs","squadjs-plugin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magicoflolis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-04-23T19:13:03.000Z","updated_at":"2024-12-20T21:09:44.000Z","dependencies_parsed_at":"2024-05-02T22:28:51.473Z","dependency_job_id":null,"html_url":"https://github.com/magicoflolis/SquadJS-Knife-Broadcast","commit_stats":null,"previous_names":["magicoflolis/squadjs-knife-broadcast"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicoflolis%2FSquadJS-Knife-Broadcast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicoflolis%2FSquadJS-Knife-Broadcast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicoflolis%2FSquadJS-Knife-Broadcast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicoflolis%2FSquadJS-Knife-Broadcast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magicoflolis","download_url":"https://codeload.github.com/magicoflolis/SquadJS-Knife-Broadcast/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233704853,"owners_count":18717028,"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":["squadjs","squadjs-plugin"],"created_at":"2024-11-13T19:10:54.155Z","updated_at":"2025-09-21T02:32:22.361Z","avatar_url":"https://github.com/magicoflolis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SquadJS Knife Broadcast\n\n[![GitHub License](https://img.shields.io/github/license/magicoflolis/SquadJS-Knife-Broadcast?style=flat-square)](https://github.com/magicoflolis/SquadJS-Knife-Broadcast/blob/main/LICENSE)\n[![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/magicoflolis/SquadJS-Knife-Broadcast?style=flat-square)](https://github.com/magicoflolis/SquadJS-Knife-Broadcast/issues)\n\n[[❗ New Issue](https://github.com/magicoflolis/SquadJS-Knife-Broadcast/issues/new/choose)]\n[[🔫 New Weapon ID](https://github.com/magicoflolis/SquadJS-Knife-Broadcast/issues/new?assignees=\u0026labels=new-weapon-id%F0%9F%94%AB\u0026projects=\u0026template=03_new-weapon-id.yml\u0026title=%5Bnew-id%5D%3A+)]\n[[🔫 Change a Weapon ID](https://github.com/magicoflolis/SquadJS-Knife-Broadcast/issues/new?assignees=\u0026labels=change-weapon-id%F0%9F%94%AB\u0026projects=\u0026template=04_change-weapon-id.yml\u0026title=%5Bchange-id%5D%3A+)]\n\nBroadcast to the Squad server when a player gets a certain type of kill.\n\n---\n\n|                    Demo                     |        Provider         |\n| :-----------------------------------------: | :---------------------: |\n| [Video File](./assets/How_to_make_tuli.mp4) | @p.sherman42 on Discord |\n\n---\n\n_Default plugin config:_\n\n```json\n{\n  \"plugins\": [\n    {\n      \"plugin\": \"KillBroadcast\",\n      \"enabled\": true,\n      \"useInterval\": false,\n      \"broadcasts\": [\n        {\n          \"heli\": true,\n          \"layout\": \"{{attacker}} {{verb}}\",\n          \"ids\": [\n            \"BP_MI8_VD\",\n            \"BP_UH1Y\",\n            \"BP_UH60\",\n            \"BP_UH1H_Desert\",\n            \"BP_UH1H\",\n            \"BP_CH178\",\n            \"BP_MI8\",\n            \"BP_CH146\",\n            \"BP_MI17_MEA\",\n            \"BP_Z8G\",\n            \"BP_CH146_Desert\",\n            \"BP_SA330\",\n            \"BP_UH60_AUS\",\n            \"BP_MRH90_Mag58\",\n            \"BP_Z8J\",\n            \"BP_Loach_CAS_Small\",\n            \"BP_Loach\",\n            \"BP_UH60_TLF_PKM\",\n            \"BP_CH146_Raven\"\n          ],\n          \"verbs\": [\"CRASHED LANDED\", \"MADE A FLAWLESS LANDING\", \"YOU CAN'T PARK THERE\"]\n        },\n        {\n          \"ids\": [\n            \"BP_AK74Bayonet\",\n            \"BP_AKMBayonet\",\n            \"BP_Bayonet2000\",\n            \"BP_G3Bayonet\",\n            \"BP_M9Bayonet\",\n            \"BP_OKC-3S\",\n            \"BP_QNL-95_Bayonet\",\n            \"BP_SA80Bayonet\",\n            \"BP_SKS_Bayonet\",\n            \"BP_SKS_Optic_Bayonet\",\n            \"BP_SOCP_Knife_AUS\",\n            \"BP_SOCP_Knife_ADF\",\n            \"BP_VibroBlade_Knife_GC\",\n            \"BP_MeleeUbop\",\n            \"BP_BananaClub\",\n            \"BP_Droid_Punch\",\n            \"BP_MagnaGuard_Punch\",\n            \"BP_FAMAS_Bayonet\",\n            \"BP_FAMAS_BayonetRifle\",\n            \"BP_HK416_Bayonet\"\n          ],\n          \"verbs\": [\n            \"KNIFED\",\n            \"SLICED\",\n            \"DICED\",\n            \"ICED\",\n            \"CUT\",\n            \"PAPER CUT\",\n            \"RAZORED\",\n            \"EDWARD SCISSOR HAND'D\",\n            \"FRUIT NINJA'D\"\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\n_Plugin config format:_\n\n```ts\ninterface optionsSpecification {\n  // Use setTimeout rather than broadcasting right away.\n  // It is on a 5 seconds loop.\n  useInterval: boolean;\n\n  // Array to use when announcing certain types of kills.\n  broadcasts: KillType[];\n}\n\ninterface KillType {\n  // Self explanatory, default `true`.\n  enabled: boolean;\n\n  // Only use to specify heli kills (attacker.eosID === victim.eosID), default `false`.\n  heli: boolean;\n\n  // While `false` kill type won't execute while on a seeding map.\n  // (calls `await this.server.rcon.getCurrentMap()` everytime to get layer info)\n  seeding: boolean;\n\n  // Available: `{{attacker}}`, `{{verb}}`, `{{victim}}`, `{{damage}}`, `{{weapon}}`\n  layout: string;\n  \n  // Array of weapon ids\n  ids: string[];\n  \n  // Array of verbs to use, leave blank if `{{verb}}` is not included in layout\n  verbs: string[];\n}\n```\n\n## Examples\n\nTo customize the broadcast message, edit \"layout\"\n\n_config.json\u003e\"plugins\"\u003e\"KillBroadcast\":_\n\n```json\n{\n  \"broadcasts\": [\n    {\n      \"layout\": \"Cerberus ({{attacker}} {{verb}} {{victim}})\",\n      \"verbs\": [\"KNIFED\", \"SLICED\", \"TERMINATED\"]\n    }\n  ]\n}\n```\n\n_in-game:_\n\n```txt\nCerberus (JetDave KNIFED Magic)\n```\n\nAnother broadcast message example\n\n```json\n{\n  \"broadcasts\": [\n    {\n      \"layout\": \"{{attacker}} {{verb}} {{victim}} with a {{weapon}} dealing {{damage}} damage\",\n      \"verbs\": [\"KNIFED\", \"SLICED\", \"TERMINATED\"],\n      \"ids\": [\"BP_Bayonet2000\"]\n    }\n  ]\n}\n```\n\n_in-game:_\n\n```txt\n# If info.damage is not a number then the value will be 0\nJetDave SLICED Magic with a BP_Bayonet2000 dealing 200 damage\n```\n\nIf you wish to use `\"` put a `\\` before it =\u003e `\\\"`\n\n```json\n{\n  \"broadcasts\": [\n    {\n      \"layout\": \"Cerberus ({{attacker}} {{verb}} {{victim}})\",\n      \"verbs\": [\"My \\\"example\\\" string\"]\n    }\n  ]\n}\n```\n\n_in-game:_\n\n```txt\nCerberus (JetDave My \"example\" string Magic)\n```\n\n---\n\nTo disable a kill type set \"enabled\" to false\n\n_config.json\u003e\"plugins\"\u003e\"KillBroadcast\":_\n\n```json\n{\n  \"broadcasts\": [\n    {\n      \"enabled\": true,\n      \"layout\": \"Cerberus ({{attacker}} {{verb}})\",\n      \"ids\": [\"BP_MI8_VDV\"],\n      \"verbs\": [\"CRASHED\"]\n    },\n    {\n      \"enabled\": false,\n      \"layout\": \"Cerberus ({{attacker}} {{verb}} {{victim}})\",\n      \"verbs\": [\"KNIFED\", \"SLICED\", \"TERMINATED\"]\n    }\n  ]\n}\n```\n\n---\n\nTo disable a kill type while on a seeding map set \"seeding\" to false\n\n_config.json\u003e\"plugins\"\u003e\"KillBroadcast\":_\n\n```json\n{\n  \"broadcasts\": [\n    {\n      \"seeding\": true,\n      \"layout\": \"Cerberus ({{attacker}} {{verb}})\",\n      \"ids\": [\"BP_MI8_VDV\"],\n      \"verbs\": [\"CRASHED\"]\n    },\n    {\n      \"seeding\": false,\n      \"layout\": \"Cerberus ({{attacker}} {{verb}} {{victim}})\",\n      \"verbs\": [\"KNIFED\", \"SLICED\", \"TERMINATED\"]\n    }\n  ]\n}\n```\n\n_in-game:_\n\n```txt\n# While on a seeding map\nCerberus (Magic CRASHED)\n\n# While NOT on a seeding map\nCerberus (JetDave TERMINATED Magic)\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicoflolis%2Fsquadjs-knife-broadcast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagicoflolis%2Fsquadjs-knife-broadcast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicoflolis%2Fsquadjs-knife-broadcast/lists"}