christos-antono/NPCTalk

npc-showcase-clips

Record short clips of NPC conversations that look like real gameplay, ready to post.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/christos-antono/NPCTalk --skill npc-showcase-clips

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Gameplay-style clips of talking NPCs

What worked for 20 GTA V clips (examples/gta-v, DirectorClips.cs, tools/shoot.ps1, tools/edit.ts): a clip is one exchange, 5-10 s, that could be a moment of someone's ordinary play.

Script it

clip: Water pistol
at: grove                         a street spot, a home, or "x, y, z, heading"
time: 21                          hour of day
a: player                         who speaks first: the player, a character, or a ped model with a voice
b: LamarDavis
line: Lamar, put the gun away. It's a water pistol.
reply: insist it's still scary and he's the most feared man on Grove Street    (the LLM writes it live)
# or pin an approved take:
say: [shouting] Scared of a water pistol? This the most feared shit on Grove Street!
do: none                          the action to play (an action name, or none)

NPC-only clips (a cop and a hillbilly, a marine and a tourist) are some of the best: hide the player and let two NPCs go at it.

Look like gameplay

  • The gameplay camera, held still: every frame, set the follow camera's view mode and its heading and pitch

relative to the player, and disable look input. Fixed is fine; cinematic cameras read as a trailer.

  • Frame the partner: stand them in front and a little to the side (2 m forward, 1 m right) so the player

doesn't hide them; raycast around the spot and turn away from walls, kiosks and doorways.

  • Ground them: snap to pavement, and raycast down for the ground (awnings and roofs fool height lookups).
  • Clean screen: the game's HUD and subtitles on, nothing of the mod (no notifications, dev panels or help

text). Suppress phone calls and help text during a take.

  • Render first, then roll: write the reply, pick the action and render both voices before the clip starts,

then play them back to back. Nobody waits on camera for a GPU.

Record, sync, cut

  • shoot.ps1: brings the game to the front, reloads the mod, records the screen (ffmpeg ddagrab) and the PC's

audio (WASAPI loopback) as separate files, starts the script, and restarts capture if focus is lost (the game pauses).

  • Sync: each capture segment starts with a white flash and a 1 kHz beep logged with a timestamp; the mod

logs clip_start/clip_end and every line's audio_on/audio_off to a timeline.

  • edit.ts --clips <take>: one MP4 per clip, from 0.2 s before clip_start until the last word or action,

cropped to the game window, 1920 wide, loudness-normalised. It caps clips at 10 s and reports any line that would be cut off, instead of cutting it.

  • Re-take, don't cut words: a clip that runs long gets re-shot (new renders come out different lengths) or its

line tightened by a few words. Pin approved replies with say:/do: so a re-take keeps the joke.

  • Look before you send: a contact sheet of one frame per clip (ffmpeg -ss 5 ... tile=5x4) catches a

hidden partner or a wall in the shot in seconds.

Gotchas

  1. Nothing happens / the mod didn't come back after a reload. Windows Smart App Control refused the new

DLL (Code Integrity event 3077). Test-load a new build first; keep the last one that loaded.

  1. The take has no video start in its log. Another process held the log file open (tail -F on Windows

blocks the writer). Don't watch a file another script appends to; watch a different one.

  1. A phone call or help text lands mid-clip. Suppress them every frame while a clip rolls.
  2. Voices in clips are clones. Before posting a clip anywhere, the human decides; say it's AI.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills