Fraud ScammingTexting victims

Texting victims

The burner phone, how a conversation goes, written replies or an AI, and how to set up the AI key.

On this page

Texting is how players get card details. Everything else in Fraud Scamming runs on the cards it brings in.

The burner phone

The player uses the burner_phone from the inventory: they take it out and hold it, and the camera moves in to its screen, which they use with the mouse. Escape, or using it again, puts it away. Other players see the phone in their hand.

Its apps:

  • Messages: pick someone, read their file, pick who to text as, and text them.
  • Cards: the card details its conversations got, sent to a laptop with Nearby share.
  • Settings: wallpaper, brightness, alert volume, notifications, a screen lock PIN, About phone and Erase phone.

Each phone gets a serial of its own the first time it's used. Each new conversation uses one of its SIM's burner.texts (20); then the phone is burnt: it still opens and keeps its cards, but texts nobody new. Texts from a burner never alert the police.

How a conversation goes

Opening someone in Messages shows their file: age, work, home, bank, family, how they are, and a few things known about their life. It hints at which scam fits them and which texts will land.

The player picks who to text as (their bank's card security, a parcel firm, the hospital a relative is in, and five more) and writes first. The victim's answer comes after a moment's typing, and keeps coming with the phone in the pocket, with a notification and a buzz.

Behind every victim are four hidden values: trust, suspicion, anger and patience. Every text moves them, by the victim's personality, so a careful victim stays careful and a busy one gives up early. A conversation ends one of three ways:

  • The card. Won over, the victim texts their card number, expiry and CVV, and it lands in the Cards app.
  • A no. Too suspicious, too angry or out of patience, the victim says why and stops answering.
  • Silence. A conversation left alone for burner.wait seconds (10 minutes) ends quietly.

Only one player can text a victim at a time, and a texted victim sits out for a while after (texts.cooldown, by how it ended).

Written or AI

texts.mode in config.lua sets how the victim answers:

ModeHow it plays
'ai'The player writes their own texts and an AI writes back as the victim. Needs a key. Without one, or whenever the AI can't be used, new conversations are written ones instead
'written'The player picks one of up to four replies each turn, and the victim answers from a written conversation. Nothing to set up, and nothing leaves the server

So Messages works with no key at all. Every scam has a written conversation in dialogue/conversations/, and both kinds run on the same four values and personalities, so a victim is as hard to win either way. To change them or write your own, see Writing conversations.

An AI key

The AI is a chat API the server asks over the internet, so it needs an account with a provider and that account's key. tr_fraud is set up for DeepSeek:

Make a key

Make an account at platform.deepseek.com, add credit under Top up, and make a key under API keys.

Put it in server.cfg

On a line of its own:

server.cfg
set tr_fraud_ai_key "sk-..."

Restart the server

The console says so if the provider refuses the key.

Another provider works too, as long as its chat API is of the OpenAI kind: change texts.ai.url and texts.ai.model in config.lua, and put anything else its API wants in the request in texts.ai.extra.

What the AI decides

Only what the victim writes. With every text it also scores the player's last one (how convincing, how rude, how much it gives the scam away), and the script turns those scores into the four hidden values. The values decide when the victim stops answering and when they send their card, so the AI can't be talked into handing a card over. It is never told the card: the script writes the card out itself when the conversation is won.

The AI is told the same file the player sees. A text built on something true in it lands; a wrong bank or a wrong name counts against the player.

When the AI can't be used

New conversations are written ones without a key, while the provider can't be reached or refuses the key (the console says which, and it's tried again after texts.ai.retry minutes), and once texts.ai.dailyTokens is used up for the day.

When the AI doesn't answer in the middle of a conversation, nothing comes and the player can write again. Twice running and the victim is gone, and can be texted again at once.

Cost and privacy

At DeepSeek's prices when this was written, a whole conversation cost about a tenth of a cent. texts.ai.dailyTokens is the most the script lets the AI use in a day. The count is kept in memory, so restarting the script starts the day again: set a spending limit with the provider as well. Written conversations cost nothing.

With the AI, what players text is sent to the provider, along with the made-up victim they're texting. Nothing about the player goes with it: no name, no identifier, no IP. Say so in your server's rules if your players should know.

Settings

SettingDefaultWhat it does
burner.texts20New conversations one phone's SIM is good for
burner.wait600Seconds a conversation waits for the player's next text
texts.mode'ai''ai' or 'written', see above
texts.cooldown{ success = 60, hangup = 20, dropped = 5, lost = 0 }Minutes before a victim can be texted again, by how it ended
texts.cards20Card details a phone, and a laptop, keeps; the oldest go first
texts.ai.maxChars240Characters in one text from the player
texts.ai.turns14Texts the player gets before the victim has had enough
texts.ai.timeout12Seconds to wait for the AI before asking once more
texts.ai.dailyTokens3000000Tokens the AI may use in a day (0 for no limit). A conversation takes 4,000 to 20,000
texts.ai.retry5Minutes no new AI conversations start after the AI failed
Was this page helpful?

Still stuck? Open a ticket on Discord.Privacy