OnTheBlock SUPPORTER BUILD v3.2.744
====================================

Thank you for supporting OnTheBlock. This build unlocks Live AI Dialog:
real voice conversations with any NPC in Los Santos.

3.2.744: OPTIONAL NPC IDENTITY CARD
- Set [HUD] NPC_NAMETAG_ON = false to hide the floating NPC identity card.
  It leaves NPC memory, stranger-name privacy, and tactical target markers alone.

3.2.743: FASTER NPC REPLIES + DOOR MARKER POLISH
- NPC conversations answer noticeably faster from the second exchange on.
  The AI context is now cached smartly between turns instead of being
  re-read from scratch on every reply, so conversations actually FLOW.
- Facility door markers (like the Weed Farm entrance ring) are now small
  and subtle instead of a big bright double cylinder, and can be turned
  off entirely with [PRODUCTION] ENTRANCE_MARKERS = false. The press-E
  door prompt always shows either way.
- New optional [PERF] RECORDING_MODE = true for capture/streaming
  sessions: throttles heavy background world simulation while keeping
  dialog, the phone, and menus fully responsive. Ships off.

3.2.742: COMMUNITY BUG-FIX PASS (straight off your reports)
- WEED FARM ENTRANCE FIXED: entering the Grapeseed grow warehouse no longer
  teleports you to the docks or drops you through the map. The interior now
  streams in and is verified BEFORE you move, and if it can't load you stay
  at the door instead of falling into the void. (Thanks wyte22 + j_got_it15.)
- LAB PICKUPS ROUTE RIGHT: Hector orders for labs without a walk-in entrance
  use the classic dealer meetup again instead of pointing your waypoint at an
  unreachable underground marker. (Thanks cash662.)
- INVISIBLE MENUS FIXED: the Shift+G set/change-gang menu (and a few phone
  menus) could open invisible - you heard the selection but saw nothing.
  Fixed at the source: a missing menu banner sprite made those menus skip
  drawing every frame. (Thanks mr.skump, lilacepope23, theweedfairy.)
- YOUR HOMIES WON'T ROB YOU: the caught-slipping stickup can no longer pick
  one of your own crew or your own set as the robber, so defending yourself
  can't flip your whole hood against you. (Thanks lilacepope23.)
- STASH CAR STAYS YOUR CAR: the stash car can no longer morph into a random
  black van when you come back to it. The save records exactly which car is
  yours and only that car is ever restored. (Thanks lilacepope23 + mr.skump.)
- GIVE-TO-DEALER SEES YOUR GYM BAG: handing product to a hired dealer now
  pulls from your pockets AND your gym bag, confirms exactly what was handed
  over, and never silently zeroes the slider - big Hector orders no longer
  look like they vanished. (Thanks Bigsossa on gta5-mods.)
- FIND THE STUDIO: the recording studio, casino, arcade, and office doors now
  have named map blips so you can actually find them.
- INSTALLER FIXES: running the installer from a zip extracted straight into
  scripts\ no longer fails with "cannot overwrite the item ... with itself",
  and one-click installs now land the starter data XMLs (StashHouses etc.) a
  fresh install needs. (Thanks kayclutchh + holytitan67.)
- CLEANER LOGS: the once-per-second "Cant spawn dealer dead" / "demandBuff 0"
  debug spam is throttled so OnTheBlockDebug.log stays readable, and the
  voice-setup message now tells you exactly what to configure (typing to NPCs
  always works without a mic).

3.2.741: FULL CONTROLLER CONTROL PASS
- The OnTheBlock phone is now the controller-first hub: D-pad Left opens it,
  LB/RB switches tabs, D-pad moves through lists, A selects/pays/opens, and B
  closes or backs out.
- Money owed, warrants, hood/crew controls, More/tools, Saul/legal, drug catalog
  toggles, disguise mask, emotes, stats, reset, garage, and support tools are
  reachable without keyboard-only hotkeys.
- Custom overlay menus now own controller input while open so GTA/trainer
  controls are less likely to bleed through while you navigate OnTheBlock.

3.2.740: UNIVERSAL UI SCALER
- OnTheBlock's custom HUD, phone, toast, payment, crew, onboarding, photo, fuel,
  and active-situation panels now render on one shared safe canvas.
- Standard 1080p/1440p/4K stay visually consistent, ultrawide is centered
  cleanly, and narrower/smaller aspect ratios scale down instead of overlapping
  or drifting.
- This is a compatibility polish pass for the whole UI layer; paid AI dialog
  behavior is unchanged.

3.2.739: UI POLISH + INPUT FOCUS HOTFIX
- F9 Money Owed is now a clean right-side payment hub instead of a stacked wall
  of long warrant/case text. Rows are short; the full context lives in the
  selected row description.
- F9 now owns its controls while open, so phone/Twitter and other OnTheBlock
  menus do not react while you are navigating payments.
- The Active Situations panel no longer stays pinned forever. It pops on real
  changes and pulses every five minutes so it keeps you informed without living
  on your screen.

3.2.738: FRESH INSTALL PACKAGE REPAIR
- The supporter installer now ships the clean scripts/OnTheBlock data folder a
  brand-new install needs: vehicle/stash XMLs, weapon XMLs, dealer save, store
  blips, spawn seed, and Los Santos zone data.
- These templates are clean starter files only, with no Chris save data, money,
  cars, drugs, or personal state.

3.2.716: IFruit CRASH-FIX DEPENDENCY CORRECTION
- Rebuilt iFruitAddon2_CrashFix.dll against the same pinned SHVDN 3.7.0.167
  assembly as OnTheBlock, and removed its old Notification.PostTicker call.
- Packaging now aborts if the helper DLL drifts back to a 3.9.0.0 reference.
- Use this over 3.2.715 on Enhanced/nightly setups where the main DLL was fixed
  but iFruitAddon2_CrashFix.dll still reported ScriptHookVDotNet3 3.9.0.0.

3.2.715: STARTUP COMPATIBILITY HOTFIX
- Rebuilt the supporter installer from the current notification-safe source so
  installs that crash with MissingMethodException: GTA.UI.Notification.PostTicker
  can replace the stale DLL and start cleanly.
- Installer/readme version now matches the assembly version to stop support
  confusion between old and current zips.

3.2.714: PUBLIC/SUPPORTER BOUNDARY HARDENING
- Free/community DLLs now stay community-only even if a license key is pasted
  into a public INI. Supporter-only gameplay remains tied to the supporter DLL
  plus active Patreon entitlement.

3.2.713: DISS STUDIO INPUT FOCUS
- While the Diss Track Studio menu is open, Left Arrow / D-pad Left belongs only to that menu and can no longer open the phone or web overlay.

3.2.712: GET-BACK TARGET TRACKER
- If a hostile gang ped is set-tripping and Chris says "I'll be back", "I'll catch you", "I'll spin back", etc., that exact ped gets a persistent red map blip.
- Conversation cleanup no longer releases marked targets, so Chris can leave, come back, and find the same person again.
- NPC robbers, attackers, shooters, and hit-and-run drivers now feed the same get-back tracker when they do something to Chris.
- When the target dies, the blip clears automatically.

3.2.710: STAGED NPC STICKUPS
- NPC robbery attempts now visibly play out at gunpoint with a clear comply/resist prompt.
- Live-dialog [ROBPLAYER] no longer silently removes money; it routes into the same in-game stickup scene.

3.2.709: LIVE DIALOG LOOP FIX
- NPC conversation parser now handles nested scene JSON before speech, preventing repeated "talk to me" filler loops.
- Canned fallback lines no longer poison NPC conversation memory if the model returns malformed/empty speech.

3.2.708: JAIL MAP DETECTION FIX
- Arrests now route through visible jail intake with guards instead of the
  Mission Row holding shortcut. If Jail.xml/custom coords are available,
  OnTheBlock uses them; otherwise it falls back safely to Bolingbroke.
- Officer-witnessed shootings/kills now create warrants only when police have
  real identity or vehicle evidence, so masked/no-proof crimes do not magically
  stick to the player.

3.2.706: TRAFFIC OBSERVER FIX
- marked cops and undercover sedans now both count as real observers for
  traffic-law stops
- red-light/collision sightings are much more likely to turn into a pacing stop
- observation claims require the police/undercover unit to actually see the
  vehicle before they get behind the player

3.2.705: POLICE IDENTITY + TRAFFIC REALISM
- warrants require real identity proof before they follow the player after
  vehicle/clothing changes
- patrol units now visually pace the player before lighting up a traffic stop
- territory anchors moved off freeways and onto neighborhood centers
- female police ped models force female cop voice pools
- suppressed shots produce slower/weaker police response

3.2.704: BANK + BUSINESS PROMPT FIX
- Fleeca teller windows/counters now have multiple usable anchors.
- Open-world business prompts now cover doors, counters, and interior stand spots.

3.2.703: CREW TACTICAL ASSIST + SHOTS-FIRED POLICE RESPONSE
- Crew attack commands now run through a safer tactical assist loop: exit the
  car first, stabilize on foot, move/flank/use cover, engage recognized opps or
  active armed threats, then regroup to the player/car.
- Gunfire now creates a real precinct-response dispatch with cooldowns, so cops
  roll to the area instead of depending on pop-in behavior.

3.2.702: WORLD ECONOMY + BUSINESS PASS
- Fleeca-style bank/ATM account gameplay with deposits, withdrawals, loans,
  investments, daily paycheck/interest, weekly tax, VIP return, and F9 loan payoff.
- Usable city businesses: food, hospitals, gyms, laundromats, nightclubs, and
  small backroom stash hits at sketchier spots.
- Gang dialogue fades now pop immediately when both sides agree to fight.

3.2.701: FOUNDATION WIRING PASS

- Full Bolingbroke sentence transport is now wired to convictions instead of
  being an orphaned legacy prison system.
- World name tags and world visual cleanup now tick independently, so target /
  rapper / clique labels and spawned scene dressing do not depend on diss-track
  or detective-case ticks.
- Criminal-record convictions and specific killed-ped stats now persist in the
  master save.
- Active Hunt, Snitch Tips, Diss Tracks, Detective Cases and the rest of the
  core immersion stack are on. Living Block and Quiet Tension remain intentionally
  off for stability.

3.2.700: POLICE RESPONSE CHOREOGRAPHY

- Accident disputes now play the police-call beat visibly before dispatch:
  the other driver pulls a phone, calls it in, and then LSPD responds.
- Responding accident units approach slower and walk in if traffic blocks the
  cruiser nearby. No more snap-to-scene fallback.
- Traffic stops now keep a wider cruiser gap, use lower catch-up speeds, brake
  earlier, and then move into the existing walk-up stop flow.
- Arrest/lockup transitions now show Mission Row holding or Bolingbroke intake
  before the release fade, depending on the route.

3.2.699: WEED FARM CURSOR + MAP ICON FIX

- Weed Farm is now owned by the production system only, so the generic store
  blip can no longer leave an old duplicate map icon behind.
- The entrance cursor draws higher and wider at Chris's captured warehouse door,
  fixing the case where the green minimap icon appeared but the walk-in cursor
  was hidden under the floor/collision mesh.

3.2.698: WEED FARM ENTRANCE RETARGET

- Weed Farm entrance cursor moved to Chris's newest captured warehouse coord:
  2874.048, 4458.297, 48.530.
- The old exterior entrance point is no longer referenced. The entrance marker
  is larger and bright green so it is easy to see.

3.2.697: WEED FARM ENTRANCE CURSOR FIX

- The actual Weed Farm production entrance cursor is now owned by the production
  system and uses Chris's captured San Chianski warehouse door coordinate.
- The outside cursor enters the grow room, the inside red cursor exits back to
  the warehouse door, and the bulk pickup cursor remains inside the grow room.

3.2.696: WEED WAREHOUSE ENTRANCE

- The weed grow warehouse entrance now uses Chris's latest captured San Chianski
  warehouse door coordinate.
- Weed Farm production and Hector weed pickup route/blips now point to the
  exterior warehouse entrance, while the actual pickup cursor stays inside the
  grow room.

3.2.695: HECTOR LAB PICKUP ROUTE

- Hector drug orders now route to the real production/lab pickup cursor instead
  of forcing the old dealer-car meetup or warping the player into place.
- Place the order, follow the Hector Lab Pickup waypoint, pay at the room cursor,
  then pick up the product from the scene you physically traveled to.
- Oversized stash-vehicle pickups no longer fade the screen or put Chris inside
  the vehicle. If the stash vehicle is parked within range, it loads in place.

3.2.694: PRODUCTION CURSOR HARD LOCK

- All production pickup locations are now hard cursor/menu only. The production
  prop spawn path is forced off even if an INI value drifts.
- The cleanup sweep now covers a wider area and more coke/meth/weed table/shelf
  model variants so old props left by previous reloads get removed.
- Chris's local tester build can unlock all four lab cursors without depending
  on save ownership, so weed/meth/coke/other can be tested immediately.

3.2.693: CURSOR-ONLY PRODUCTION PROP SWEEP

- Cursor-only production pickup points now actively remove old spawned drug
  table/shelf props left behind by prior script reloads.
- If MethLab_SPAWN_PROPS, WeedFarm_SPAWN_PROPS, CokeCutRoom_SPAWN_PROPS, or
  OtherDrugLab_SPAWN_PROPS is false, that location stays marker/menu only.

3.2.692: PRODUCTION CURSOR VISIBILITY FIX

- Production cursors can now be verified cleanly even before a facility is owned,
  while real pickup remains tied to ownership.
- Owned facilities still control actual production, blips, stock, raids, and bulk
  pickup. Test cursors do not generate free product.
- Public packages now strip local testing flags before shipping so Chris's local
  test setup never leaks into supporter installs.

3.2.691: CHRIS-PICKED LAB PICKUP CURSORS, NO PROPS

- Meth Lab, Weed Farm, Cocaine Cut Room, and Other Drug Lab now use the exact
  in-game cursor/menu positions Chris captured with J.
- Production pickups are cursor/menu only by default: no spawned lab props at
  the interaction point, so the vanilla interiors stay clean.
- Added per-facility [PRODUCTION] toggles:
  MethLab_SPAWN_PROPS, WeedFarm_SPAWN_PROPS, CokeCutRoom_SPAWN_PROPS,
  OtherDrugLab_SPAWN_PROPS.

3.2.690: CLEANER COCAINE + OTHER-DRUG LAB LOCATIONS

- Cocaine Cut Room now defaults to a cleaner vanilla cocaine lockup center.
- Other Drug Lab now defaults to a separate factory-style interior instead of
  sitting on top of the coke room.
- Live OnTheBlock.ini includes active CokeCutRoom_LOC_* and OtherDrugLab_LOC_*
  overrides so Chris can keep tuning these spots without another code change.

3.2.689: REALISTIC DRUG CARRY, GYM BAG OVERFLOW, AND STASH FLOW POLISH

- Pockets are now the sellable layer: customers only ask for what you can
  actually carry and sell from your person.
- Overflow goes into a visible gym bag on your back. Stash it in a car or
  safehouse before pulling more sellable packets.
- Lab pickups, Hector-style orders, car trunk stash, safehouse stash, personal
  vehicle stash, and production pickups all respect the same carry rules.
- Inventory HUD shows Pocket vs Gym Bag totals with caps so you can test it clean.

3.2.688: PERFORMANCE CLEANUP, LAB COORDINATE CAPTURE, AND CURRENT SUPPORTER BUILD

Hit Shift+F3 and check "Gang relationships and beefs" (or run Master Reset) and the whole
city actually forgives you now. Before, the wipe only cleared the grudge numbers in the
background while the gangs kept coming: opps still slid on sight and you still read as -100.
This release also drops every set back to neutral at the game level and stands down any
hunt squad, revenge squad, or beef that was already rolling, so the streets go quiet the
moment you reset. Fresh start finally means fresh start.

3.2.618: ENTERABLE INTERIORS. Walk into the recording studio plus a set of DLC interiors.

3.2.617: HOTFIX - a corrupted dealer save no longer stops the mod from loading. If your
dealer file got into a bad state you used to have to delete it every launch, or it stuck you
in extra safe mode. Now the mod backs the bad file up and resets it so it always loads.

3.2.616: BIG VOICE + NPC AI UPDATE (everything since 603)

VOICE, faster and smarter:
- Speech recognition runs on Groq Whisper by default when you set a GROQ_API_KEY (free): far
  more accurate and much faster, so you stop having to repeat yourself.
- Barge-in: talk OVER an NPC and it listens right away (opt-in, headphones; set
  [LIVE_DIALOG] BARGE_IN = true).
- Conversations no longer go silent on you. If the mic stalled mid-talk you used to tap N twice;
  it now self-heals and the conversation keeps going.

NPCs are sharper:
- They SEE the area AND you: your weapon, the car you rolled up in, blood or wanted level, a body
  or fight nearby, your rep on the block, and they react to it.
- Their gestures match the tone of what they say (angry jab, chill wave, shrug, etc).
- A name an NPC tells you now matches everywhere (the ticker and the name tag).

New things you can tell an NPC to do mid-conversation:
- call a friend for a ride, drive you somewhere, be your getaway, call for armed backup
- hands up, get on the ground, drop the weapon, back off, run off, lead the way, pose, pay
  respects, stand guard, rough someone up, cause a distraction, mug a bystander, be your bodyguard

World:
- Crime scenes get taped and coned off when a body goes to the coroner.

Fixes:
- No more instant wanted stars the second you accept a deal. The cop reacts to the actual hand-off,
  close range, and not every single time.
- Complying with police works and tells you how: hold H to surrender (holster first if armed).

3.2.606: NPCs CAN CALL A FRIEND FOR A RIDE
- Tell an NPC to call a friend / call a ride / get someone to come pick them up (or they decide
  to bounce by ride on their own) and they actually do it: they make a phone-call gesture, a
  friend pulls up in a car down the street, the NPC walks over, gets in the passenger seat, and
  they drive off together. Built on the same proven spawn-drive-cleanup system as the coroner
  unit. Toggle [RIDE_PICKUP] ENABLED in OnTheBlock.ini.

3.2.605: NPC BODY LANGUAGE MATCHES THE DIALOG + CRIME-SCENE CORDON
- Talking gestures now match the TONE of what the NPC is saying, not a generic hand-wave.
  The gesture inferer reads the line's emotion (laughing, angry, dismissive, boasting,
  greeting, questioning, agreeing, calming you down, somber) and fires the matching body
  language while they speak, on top of the existing lip-sync. So an angry NPC jabs a finger,
  a chill one waves you easy, a confused one shrugs, etc.
- Crime-scene cordon: when a homicide goes to the coroner (detective has worked the scene),
  LSPD now tapes/blocks it off with a cone + barrier cordon around the body while the coroner
  collects it. Self-cleans when you leave or after a few minutes. Toggle [CRIME_SCENE] ENABLED.
  (The coroner body-collection unit itself already shipped earlier; this adds the blocked-off
  scene around it.)

3.2.604: NPCs NOW SEE THE AREA AROUND THEM
- NPCs you talk to now perceive their surroundings: the street, the neighborhood and which set
  runs it, the vibe (rough hood vs upscale vs out-in-the-county), the graffiti/tags on a gang
  block, and the time of day + weather. So you can ask "what do you think of this area?" or
  "look around" or "read that sign" and they answer from what's actually around them, in
  character, instead of acting blind. They already saw the player, nearby people and cars, and
  whatever you point the camera at; this adds the AREA itself.

3.2.603: RUNS ON BOTH GTA V EDITIONS (Legacy AND Enhanced)
- OnTheBlock is pure ScriptHookVDotNet with no edition-specific code, so the SAME build runs on
  both GTA V Legacy and Enhanced. The ONLY thing that differs is ScriptHookV: use the build that
  matches your edition (classic ScriptHookV for Legacy, ScriptHookV for GTA V Enhanced for
  Enhanced). The wrong-edition ScriptHookV crashing on load is the #1 install failure, so the
  one-click installer now detects your edition and tells you exactly which ScriptHookV you need.
  The mod also logs your GTA edition/build at boot (in the OnTheBlock log) so any load issue is
  easy to diagnose. See the INSTALL section below.

3.2.602: HOOD RECOGNITION FIX, PART 2 (the rest of the city)
- 601 fixed the gang faction map; 602 finishes the same zone-code fix across the rest of the
  systems that read your hood: cop street-harassment odds, the "where you from?" gang hit-up
  chances, the gang clique names NPCs use, hood-aware street talk, the snitch/no-snitch witness
  culture per area, the per-hood shop pricing, which agency responds out in the county (Sheriff
  vs CHP), and the gangs' ambush boost on their own turf. All of these were matching hood
  display names against the game's internal zone codes, so they only worked in a couple of
  hoods. They now work citywide. Also fixed Grapeseed never being recognized as Lost MC turf.

3.2.601: HOOD RECOGNITION FIX
- Gangs now correctly know whose block you're on. The zone->faction tables were matching
  display names ("Chamberlain Hills") against the game's internal zone codes ("CHAMH"), so
  most hoods read as neutral: opps in Chamberlain, La Mesa, El Burro, Sandy Shores and more
  weren't clocking you as on their turf, and NPCs there couldn't tell the AI who runs the
  block. Fixed to match zone codes, and the faction map is now consistent with the territory
  map (Strawberry is Families turf, El Burro is Vagos, etc). The "where you from?" hit-ups and
  the NPC hood-knowledge now fire across every tracked hood, not just Davis/Forum/Rancho.

3.2.600: BLOCK TAKEOVER (community idea by lilacepope23)
- You can finally CAPTURE an opp's block. Rep a set (Shift+G), roll on a rival hood, and
  put their members down on their own turf. After about 10 kills on their block it FLIPS to
  you: it flies YOUR set's color on the map (brighter, marked "YOUR BLOCK") and the opps stop
  endlessly swarming it. Hold it by staying around; the gang you took it from runs throttled
  retake probes, and if you neglect the block they take it back. Tune it all under
  [BLOCK_TAKEOVER] in OnTheBlock.ini (CAPTURE_PER_KILL, grip decay/refresh, OWNED_TURF_FIND_CHANCE,
  PLAYER_BLIP_COLOR), or ENABLED=false to turn it off. Ships in the free build too (world-sim).
- Also fixed the 3.2.599 area drug market: it was matching hood names instead of GTA zone
  codes, so the per-hood pricing barely fired. It now correctly pays more for the local product.

3.2.599: AREA DRUG MARKET (community idea by bren_lav)
- Every hood wants different product now. A dealer working an area earns MORE selling the
  local hot drug and LESS pushing the wrong one, so it pays to match your product to the block:
    Weed   - Davis, Chamberlain, Strawberry, Vespucci, Grove
    Crack  - Rancho, El Burro, Cypress, La Mesa, Jamestown
    Coke   - Vinewood, Rockford, Richman, Del Perro, Morningwood
    Meth   - Sandy Shores, Grapeseed, Harmony, Paleto, Raton
    Heroin / Fentanyl - Mission Row, Textile, Legion, Pillbox
  Tune or turn it off under [DRUG_MARKET] in OnTheBlock.ini (HOT_MULTIPLIER / COLD_MULTIPLIER,
  ENABLED=false for flat citywide pricing). Applies to your hired dealers, whether you're
  there watching the sale or away while it simulates.

3.2.598: BRING-YOUR-OWN-LLM URL FIX
- If you use your own LLM (Groq, OpenAI, OpenRouter, Ollama, etc.) via LLM_BASE_URL and got
  a "the format of the URL could not be determined" error when talking to NPCs, that was a
  malformed LLM_BASE_URL. Because SHVDN can truncate INI values at the colon, write the
  value WITHOUT https:// and the mod adds it internally. Example: LLM_BASE_URL=api.groq.com/openai/v1.

3.2.597: PHONE OS FIX (the "OnTheBlock OS not loaded" error)
- Fresh installs were getting an "OnTheBlock OS not loaded" notification (top right) and a
  flickering UI because the phone OS web files weren't being shipped with the build. They
  are now bundled and the installer drops them into scripts/OnTheBlock/web/ for you. If you
  saw that error or flashing, this build fixes it. (The Left Arrow phone always worked
  regardless; this was the web overlay layer.)

3.2.596: FREE NPC VOICE + ONE-CLICK GRAPHICS
- NO paid voice account needed anymore. New installs default to TTS_ENGINE=sapi, your
  computer's own built-in Windows voice, so NPCs talk out loud for FREE with no Cartesia
  or ElevenLabs key. It's robotic, but it works instantly. Want realistic voices? Cartesia
  and ElevenLabs are both still there: set TTS_ENGINE + your key (see the voice setup below).
- The installer now sets up the "Real Life" graphics layer (ReShade preset) in one click,
  tick the box in Install-OnTheBlock and it drops the preset + shaders for you. Single
  player only, never use it on GTA Online.

3.2.595: CONVERSATION CAMERA (opt-in)
- While you talk to an NPC the camera can frame them over your shoulder so you see their
  face. It ships OFF while it's being tested; turn it on with [LIVE_DIALOG] CONVERSATION_CAM_ON = true.

3.2.594: REVENGE SQUADS ARE BACK (StreetJustice crash fixed for real)
- The 593 freeze-then-close crash was the revenge-squad SPAWN, not the AI. When a hit
  squad spawned, each member blocked the game while its character model streamed in, and
  a multi-person squad stacked those waits into a ~1.8 second freeze that could crash,
  worse with a lot of other mods loaded. 594 makes the spawn non-blocking: the squad
  streams in over a second or two and lands once it is ready, with no freeze. Revenge
  squads are ON by default again. If you ever want them off, set
  [LIVE_DIALOG] STREET_JUSTICE_ON = false.

NEW IN 3.2.592: COOK YOUR OWN PRODUCT, BECOME THE PLUG (top LS Life community request)
- Ring Hector and there is a new "Cook Product (become the plug)" option. Instead of only
  BUYING from the plug, you can now MAKE your own. Pick a product (Weed, Crack, Meth,
  Cocaine, Heroin, Fentanyl) and a batch size, pay for materials (about half what Hector
  charges per gram), and a real cook timer runs. When it is done the finished grams land in
  your pocket ready to sell, with overflow going to your safehouse stash. One batch at a
  time, and there is a small chance a batch goes bad. Tune it all under [COOK] in
  OnTheBlock.ini (cook time, material cost, yield, bust chance). Cooking is free dealing,
  not a paywall.
- Also: NPC names now stay "Stranger" until they actually tell you their name or you swap
  numbers, instead of revealing the second you start talking. (Thanks khezo.)

NEW IN 3.2.591: GANG TERRITORY MAP OVERLAY (community idea by khezo)
- Open your map and every gang hood now shows a colored circle plus a labeled
  blip naming the set that reps it (Davis Neighborhood Crips, Florencia 13,
  Mongols MC, and the rest). Crips green, Ballas purple, Vagos yellow,
  MS-13 red, and so on. Blips are short-range, so your minimap only shows the
  turf you are standing in while the full pause map lays out the whole city.
  Toggle it off with [TERRITORY] MAP_BLIPS_ON = false.

NEW IN 3.2.590: COMMUNITY IDEAS BATCH (straight off your requests)
- STRANGERS STAY STRANGERS: NPC names now show as "Stranger" until you actually meet
  them (talk, swap numbers, or recruit them). Your crew and contacts still show their
  names. Toggle with [OTB_CORE] HIDE_UNDISCLOSED_NAMES = false to go back to always-show.
- CONTROL TOGGLES: tired of the Shift+D dance firing while you sprint? set [CONTROLS]
  DANCE_ON_RUN_ENABLED = false. And [CONTROLS] PHONE_OPEN_ENABLED = false fully disables
  the Left / D-pad Left phone open if it clashes with your weapon select.
- GANG MENU: the phone no longer draws over the Shift+G set-gang menu.
- WANTED FLICKER AFTER A BUST: cut the half where the cop-search system kept re-decaying
  and re-applying your stars after a drug bust. (More of this fix coming after a test pass.)

NEW IN 3.2.589: NO MORE HALF NAKED DEALERS AND CREW (community report)
- Spawned gang peds, your crew, and hired dealers could roll out shirtless or in
  underwear (the infamous "G string and balaclava"). The outfit randomizer was picking
  random component pieces with no regard for valid clothed combos, so it kept landing
  on the bare and novelty drawables. It now uses the engine's own coherent outfit roll,
  which only ever puts a ped in a real, fully clothed look. Existing saved dealers that
  are already nude: fire and re-hire one and the new one comes dressed.

NEW IN 3.2.588: NOTIFICATION POPUPS LINE UP AT HIGH RES (community report)
- On 1440p, 4K, and ultrawide, the encounter and feed notification popups were drifting
  out of place while the text stayed put, so the box and the words did not line up. They
  now use the same reference scaling the phone uses, so they sit correctly at any
  resolution. (Thanks to the supporter who flagged it at 2560x1440.)

NEW IN 3.2.587: CALL HECTOR BACK WITH THE DEAL KEY (community request)
- Tap your deal key (L by default) while you're NOT dealing and Hector comes right
  back up so you can change what you're pushing and start a fresh run. Before it just
  told you "not in progress" and dead-ended. Same menu as ringing him on the phone,
  one keypress away. (Idea from a supporter in feature-ideas.)

NEW IN 3.2.586: NO MORE PHANTOM SCUBA TANK AT LOAD (community report)
- A few of you (and me) saw Franklin spawn in with a scuba tank on his back when the
  game loaded, then drop it the moment you moved. That was the engine slapping a stray
  diving rig on the accessory slot when the world streamed in near water. Fixed: the
  mod now clears it during the spawn window so it never shows, and your earned chain
  is left untouched.

NEW IN 3.2.585: YOUR CREW ACTUALLY GETS IN THE CAR NOW (community report)
- When you called your crew to ride (Shift+C then C, the phone Hood tab, or hold Alt
  then R), they were slow to board or just never made it. Fixed. Anyone scattered or
  far off now hops straight in, anyone close runs over and gets in, and they pick a
  real open seat (and won't try to cram into a full car). So calling your crew to
  ride actually loads them up now.

NEW IN 3.2.584: RECRUITING ACTUALLY WORKS IN YOUR HOOD NOW (community report)
- "Recruit nearest homie" kept saying "no homies around" because it only counted
  actual gang members of your set standing within range, and those are sparse even
  in your own turf. Two fixes: the search range is wider now, so real set members
  get found more often, and if none are around, one of your OWN set pulls up and
  joins on the spot. So recruiting reliably works when you're repping a set. You
  still can't recruit rival sets, and the crew still caps at 4.
- Get crew: found your clique (Shift+C then N), then Shift+C then R, or the phone
  Hood tab "Recruit nearest homie." Command them by holding Alt.

NEW IN 3.2.583: BLANK FEED IMAGES NOW RETRY AND LOAD (community report)
- Some of you saw photo attachments on the feed show blank or "image file
  unavailable." The feed was trying to draw the image the instant a post went up,
  before the picture file had finished saving, then giving up on it forever. Now it
  keeps retrying for a bit, so the image loads in once the file is ready. If an image
  is still blank after this, the build writes the exact reason to
  scripts/OnTheBlock/OnTheBlockDebug.log, so grab that and post it and we'll nail it.
- Reminder: you never need to create or move any image folders, the mod handles
  scripts/OnTheBlock/photos/ itself.

NEW IN 3.2.582: SHIFT+END FRESH START NOW CLEARS YOUR GANG BEEF (community report)
- A few of you found that after a Shift+End nuclear wipe and a full restart, gangs
  still had beef with you and came at you on sight. The wipe was clearing your NPC
  memory but it was NOT dropping your gang membership, so you stayed repping your set
  and rival gangs stayed hostile. Fixed. Shift+End now also drops your set and gang
  initiation, so it is a true clean slate: no set, no automatic rival beef. Your
  money, weapons, vehicles, and progression are kept as always.

NEW IN 3.2.581: ULTRAWIDE / HIGH RES MENU FIX (community report)
- On ultrawide setups (21:9, 32:9) the right side menus, like the F9 Money Owed hub,
  the Hector plug menu, weapons, stash, and auto insurance, could sit half off the
  right edge of the screen. Fixed. They now anchor correctly on ultrawide. No change
  on standard 16:9 displays (1080p, 1440p, 4K). Thanks to the ultrawide crew for the
  report.

NEW IN 3.2.580: NPCs NOW CARRY UNFINISHED BUSINESS WITH YOU (Open Loops)
- The people you deal with now remember the threads left open between you: a debt
  you owe, a favor they asked, a promise you made, a grudge they're holding, or a
  solid you did them. Next time you talk, they bring it up with intent instead of
  acting like strangers. Every thread is tied to something that actually happened
  in YOUR save, so your Los Santos remembers you in a way no two players share.
- This rides on the AI conversations, so the more you live in the world the more
  unfinished business stacks up waiting for you when you log back in. You can dial
  how often they bring things up in OnTheBlock.ini under [OTB_LOOPS].

NEW IN 3.2.579: PHONE NOW SCALES ON HIGH RES DISPLAYS (community bug report)
- If you run above 1920x1080 (1440p, 4K, or ultrawide) the in game phone could
  render wrong, with panels and text drifting apart or the layout looking off.
  Fixed. The whole phone now scales cleanly at any resolution. Thank you to the
  supporters who flagged it.

NEW IN 3.2.578: DIRECT CONTROL OF YOUR HOMIES (community request)
- You can finally command your crew directly. Hold ALT (when you have homies out)
  to bring up the crew command panel, then tap:
    R  follow and regroup on you
    V  attack whoever you are aiming at
    X  hold position (they post up and still defend themselves)
    Z  stand down and come back to you
- The same commands (except attack) are also on your phone: Left Arrow, then the
  Hood tab. It all runs on your real homies, no menu to dig through, no clique required.
- New to the crew system? Press Shift+C then N to start and name your clique. A
  day one homie joins right away. Walk up to other members of your set and press R
  to recruit them (up to 4), or use the phone Hood tab "Recruit nearest homie".

NEW IN 3.2.577 - the phone is now Bleeter + Lifeinvader (GTA-lore social skin)
- Your in-game phone got a Los Santos makeover: the social FEED is now BLEETER
  (warm amber, sheep wordmark) and your MESSAGES are LIFEINVADER (Facebook-style
  blue). Posts are "Bleets", reposts are "Rebleets". Pure flavor - every feature
  works exactly the same. (Community idea by Zazerim55 - thank you.)
- Want the old look back? In OnTheBlock.ini add a [SOCIAL] section with
  SKIN = classic to restore the original News Feed / Tweet / Retweet wording.
  Leave it out (or SKIN = bleeter) for the new default.

NEW IN 3.2.576
- ONE-CLICK INSTALLER (no more manual setup!): just double-click
  Install-OnTheBlock.bat. It finds your GTA V folder automatically, copies
  every file into your scripts folder for you, and a little window lets you
  paste your license key + Discord ID (and optional AI keys) - it writes them
  into OnTheBlock.ini so you never have to edit the file by hand. If you'd
  rather install manually, the old steps below still work.

NEW IN 3.2.575
- DELETE MESSAGES FROM YOUR PHONE (community request - thank you):
  * Tweets: on the Feed, scroll to a post and press Delete (keyboard), or open
    its More menu (Y / D-pad Right) and choose "Delete tweet".
  * DMs: open a chat (or scroll to it in the inbox) and press Delete to remove
    the whole conversation - no more read messages piling up with no way to clear
    them.
  Anything you delete stays gone after you save.

NEW IN 3.2.573
- BRING YOUR OWN LLM: the NPC brain now works with ANY OpenAI-compatible AI, not just
  Anthropic. In OnTheBlock.ini under [LIVE_DIALOG] set LLM_BASE_URL + LLM_API_KEY + LLM_MODEL
  to use OpenAI, Groq (free tier), Gemini, OpenRouter, or a local model (Ollama / LM Studio).
  Leave them blank to keep using Anthropic (default). NOTE: NPC behavior is tuned for Claude,
  so smaller/free models follow the format less reliably and can be rougher.

NEW IN 3.2.572
- CONTROLLER PHONE BIND IS NOW OPTIONAL: if the D-pad Left phone shortcut clashes with
  weapon switching, set [CONTROLS] PHONE_OPEN_DPAD = false in OnTheBlock.ini to turn it off
  (keyboard Left Arrow still opens the phone). You can also remap the keyboard key with
  [CONTROLS] PHONE_OPEN_KEY = <key name> (default Left).

NEW IN 3.2.571
- iFRUITADDON2 CRASH FIXED AT THE SOURCE: some setups hit "iFruitAddon2 unhandled
  exception / IndexOutOfRangeException at GetTempFilePath" on load - a bug inside the
  iFruitAddon2 phone library itself. This zip now bundles a tiny crash-fix
  (iFruitAddon2_CrashFix.dll + 0Harmony.dll) that patches that method safely at runtime,
  plus the exact iFruitAddon2 2.1.1.0 + NativeUI 1.9.0.0 the mod is built against. Drop
  EVERYTHING from this zip into /scripts.

NEW IN 3.2.568
- LOAD-CRASH FIX (iFruitAddon2): if iFruitAddon2 fails to init, OnTheBlock now catches
  it and keeps loading instead of aborting the whole mod.

NEW IN 3.2.567
- OPP WAVES TUNED: holding ground in rival turf no longer buries you in a pile of
  bodies. Tighter on-screen hunter cap + dead opps are cleared out instead of
  stacking up where you stood. (Community bug report - thank you.)

NEW IN 3.2.566
- FUEL TOGGLE: the fuel system is now optional. Set [FUEL] FUEL_ON = false in
  OnTheBlock.ini to turn fuel off entirely, or FUEL_HUD = false to keep fuel but
  hide the bottom-right fuel bar.

NEW IN 3.2.565
- NPCs now start as STRANGERS: nobody knows you until you actually walk up
  and talk to them - and then they remember you. (One-time memory reset on
  this update so the world starts fresh.)
- Opp detection is now zone- and chance-based: stay in turf and they find
  you fast; leave the area and it cools off. Your own set reciprocates -
  they clock opps and beef on sight.
- Gang call-outs: opps who spot you call you out by voice ("where you from?")
  with on-screen subtitles.
- Stash overhaul: your persistent vehicle IS your stash (rear-trunk cursor);
  one-tap Stash All Drugs / Stash All Guns; stash-menu crash fixes; bigger
  caps (up to 100M).
- Dealer meets fixed end-to-end: the pay/pickup prompt works and dealers
  hold at the car instead of walking off.
- All menus consolidated into the in-game phone (Rampage trainer + the
  OnTheBlock STATS panel relocated to the right - no more overlap).
- Fixed: animals could start a "conversation"; plus assorted crash fixes.

NEW IN 3.2.528 (huge thanks to a supporter's detailed bug report)
- MENU FLICKER FIXED: menus no longer strobe or eat inputs above ~60 FPS.
  Uncap your framerate - the 45 FPS workaround is not needed anymore.
- INPUT FOCUS: GTA's phone + its nav controls are disabled while any mod
  menu is open. No more arrows driving two menus at once.
- Crash fix: missing menu banner sprite no longer throws (GTA.UI.DrawTexture).
- Crash fix: vehicle stash no longer crashes on fresh installs (vehicles XML
  is now created on first save instead of being required).
- Shipped INI now uses MAP_PROFILE = VanillaLS (the old value pointed at a
  custom map most players don't have, causing an invalid waypoint).

NEW IN 3.2.527
- CRASH FIX: crash-to-desktop while driving fast. Revenge-squad bookkeeping
  was touching ped handles mid-recycle during high-speed world streaming.
  Hit squads now stand down entirely while you're driving fast and use
  engine-safe cleanup for far-away peds.

NEW IN 3.2.526
- Hector's menu (and its Dealing / Order Drugs / Weapons submenus) moved to
  the RIGHT side of the screen - nothing overlaps it anymore.
- Shift+M (disguise mask) no longer pops GTA's vanilla Interaction Menu.

NEW IN 3.2.525
- HUD cards (POLICE PRESSURE etc.) now NEVER draw while any menu or phone
  call is open. No more banner overlapping Hector's menu.
- The pressure toast only fires on wanted-level changes or an investigation
  starting; warrant updates use their own notifications.

NEW IN 3.2.524 (dealing flow, straight off player feedback)
- Hector pickups now park at the CURB, not in the middle of the lane. The
  meet spot snaps to the side of the road like Zee's people used to.
- Hand pickups come ALREADY BAGGED: buy from the plug and start dealing
  immediately. No more stash round-trip to break ounces down.
  (Stash-vehicle bulk orders still arrive as ounces.)
- Customer flow is now rep-gated per AREA: nobody knows you = a trickle
  (max 2 buyers around); as the block learns your name the corner picks
  up to full flow around rep level 4. Rush events still spike demand.

NEW IN 3.2.523
- Police pressure banner is now a 6-second toast when your situation CHANGES,
  instead of a permanent flickering card. Full details stay in F9.
- CORONER UNIT: after homicide detectives finish a scene, a county coroner
  van rolls in, techs bag the bodies and take them away.
- Cops at 1-2 stars now EXIT the cruiser, walk up, and talk when you stop.
- Mouthing off to a cop = detain attempt (1 star, cuffs), not instant guns.
- Real surrender: your character turns around, hands behind his back.
- Warrant arrests now CLEAR the warrants and collect the fines from cash;
  short on cash = extra time served in county.
- Opp squads that post up now patrol, advance on you with a taunt at 55m,
  and the whole squad engages the moment any of them takes a hit.
- Ambient NPCs no longer wander into traffic (all mod walk targets snap to
  sidewalks).

NEW IN 3.2.521
- FPS HOTFIX: all mod logging now writes on a background thread instead of
  the game thread. Fixes the sticking/jittering some players saw on 3.2.520.

NEW IN 3.2.520
- CAR INSURANCE + DRIVING RECORD: 3 carriers, 3 tiers each, weekly premiums,
  deductibles, claims. Tickets put points on your license; 12+ = suspended.
  Open it from F9 -> "Auto Insurance + Driving Record".
- POLICE ACCIDENT INVESTIGATIONS: crash disputes that go to police now bring
  an officer to the scene. He takes the other driver's statement, then yours
  (1 = truth, 2 = blame them, 3 = stay silent) and tickets whoever is at
  fault. No more instant wanted star for a fender bender.
- NPC crash memory is now truly per-NPC. A stranger will never again claim
  you hit THEIR car "last time" when you never met.

INSTALL
   (GTA V Legacy AND Enhanced both work - just match ScriptHookV to your edition below.)
1. Install the ScriptHookV that MATCHES your GTA edition: classic ScriptHookV (dev-c.com)
   for Legacy, or ScriptHookV for GTA V Enhanced (dev-c.com, separate download) for Enhanced.
   The wrong-edition ScriptHookV crashes the game on load (the #1 install failure).
2. Install the official ScriptHookVDotNet 3 NIGHTLY v3.7.0-nightly.167 package.
   Do not mix in unofficial/Enhanced-fork ScriptHookVDotNet3.dll files for this build.
3. Drop EVERYTHING from this zip into your GTA V scripts folder - OnTheBlock.dll,
   OnTheBlock.ini, NAudio.dll, iFruitAddon2.dll, NativeUI.dll, iFruitAddon2_CrashFix.dll
   and 0Harmony.dll are all bundled here at the exact versions the mod needs (back up
   your old OnTheBlock.ini first if you customized it). Overwrite any older
   iFruitAddon2/NativeUI you have - a mismatched version, plus the iFruitAddon2
   GetTempFilePath crash the fix dll patches, are the top causes of load crashes.
4. Full game restart. SHVDN loads scripts at game launch only.

YOUR LICENSE
Open OnTheBlock.ini and fill in under [PREMIUM]:
  LICENSE_KEY=  (the key the license bot or Chris sent you on Discord)
  DISCORD_ID=   (your Discord user ID number)
Type /license in the OnTheBlock Discord server any time to see your key.

TALKING TO NPCs - FULL SETUP (this is the supporter feature)
Getting this build does NOT make NPCs talk on its own - you plug in your own
API keys ONCE. Everything below goes in OnTheBlock.ini under [LIVE_DIALOG]
(open it in Notepad, paste each key after the = sign, save). Fill in the
license above first.

STEP 1 - THE NPC BRAIN  *** REQUIRED - this is WHAT they say ***
  Without this, NPCs have nothing to reply with.
  1. Go to console.anthropic.com, sign up, add a little credit under Billing
     (pennies - the default model is a fraction of a cent per conversation).
  2. Paste your key:   ANTHROPIC_API_KEY=your_key_here
     (Leave MODEL on its default.)

STEP 2 - HEAR THEM OUT LOUD (the spoken voice)
  Out of the box this build uses TTS_ENGINE=sapi: your computer's own built-in
  Windows voice reads the NPC lines out loud, FREE, no key. It is robotic, but it
  works instantly so you hear them from the very first conversation.
  Want realistic voices instead? Pick one (both far better than sapi):
  1. Cartesia:   set CARTESIA_API_KEY=your_key_here  and  TTS_ENGINE=cartesia   (cartesia.ai)
  2. ElevenLabs: set ELEVENLABS_API_KEY=your_key_here and  TTS_ENGINE=elevenlabs (elevenlabs.io)
  Switch any time by editing the TTS_ENGINE line. Or set TTS_ENGINE=native for no
  spoken voice at all, just on-screen subtitles.
  Spanish / non-English Cartesia voices: set CARTESIA_LANGUAGE=es (or the matching
  Cartesia language code) so the TTS request does not force English pronunciation.

STEP 3 - TALK BACK WITH YOUR MIC (optional - or just type)
  Easiest + FREE:  STT_ENGINE=groq  + a free key from console.groq.com/keys:
                   GROQ_API_KEY=your_key_here
  No mic?  Just TYPE to NPCs from the in-game phone (Left Arrow -> messenger).
           No mic key needed.

STEP 4 - SAVE + RESTART
  Save OnTheBlock.ini, fully close GTA V to desktop, relaunch. Walk up to any
  NPC and press N (or open the phone to text). With only Step 1, they reply in
  text/subtitles; add Step 2 to hear them out loud.

TROUBLESHOOTING
  - "all speech engines failed to init / GROQ_API_KEY" = the MIC side. Set
    STT_ENGINE=groq + a free GROQ_API_KEY, or install the Windows en-US speech
    pack, or just ignore it and TYPE to NPCs instead.
  - NPCs reply in TEXT but no spoken VOICE = TTS_ENGINE is set to native (silent
    by design). Set TTS_ENGINE=sapi for the free Windows voice, or TTS_ENGINE=cartesia
    + CARTESIA_API_KEY (or elevenlabs) for a realistic one. If cartesia is set but
    silent, the key may be out of quota.
  - "no API key" when you press N = Step 1 ANTHROPIC_API_KEY missing or has a
    typo / stray space.

CONTROLS
N or D-pad Right near an NPC to start a conversation. Hold your push to
talk key and speak. RB plus D-pad Left toggles autodrive while driving.

SINGLE PLAYER ONLY. Never use in GTA Online. Not for FiveM.

Questions: DM chris22622 on Discord or comment on Patreon.
patreon.com/cw/Chris22622