External functions

Last edit 26 Jul 2026, 21:21History

These are Ink external functions. You call them with a tilde line:

ink
~ SetStoryFlag("met_alex")
~ InstallApp("thegram")

You do not need to declare EXTERNAL … at the top of the file. Sexter strips old platform declarations and injects the real list at compile time. Harmless if you leave an old header in; fine if you omit it.

Apps

ink
~ InstallApp("thegram")
~ UninstallApp("thegram")

Valid ids: injector, mictap, thegram, skipr, swiper, fansonly, contacts, sidedoor.

Modules also need to be enabled in Studio. If Show from start is off, InstallApp is what reveals the icon (or Side Door UI). mictap has no home icon; it only gates MIC TAP tags. See InstallApp and modules.

UninstallApp undoes an InstallApp. It does not hide a module that is set to show from start.

Profile and contacts

ink
~ ChangeProfilePic("alex", "alex-new-avatar")
~ SetContactDescription("alex", "Contact blocked")
~ SetContactPersonality("alex", "Cold today")
~ SetContactHistory("alex", "Met at the party")

These override this player's view. They do not edit the character row for everyone else. Avatars update chat header, contact list, typing indicator, group bubbles.

Old fake tags like <profilepic-whapp-…> do nothing at runtime. Use ChangeProfilePic. Studio warns and the importer rewrites what it can.

Group chats

ink
~ RenameGroupchat("Disaster Squad")

Only works in the current group conversation. Empty string clears back to the default "Alice, Bob, …" style title.

Flags and numbers

ink
~ SetStoryFlag("ntr_route")
~ RemoveStoryFlag("ntr_route")

~ SetStoryNumber("cash", 50)
~ AddStoryNumber("cash", -10)

Reading them in Ink conditionals:

ink
{
    - GetStoryFlag("ntr_route"):
        You went there.
        -> ntr_branch
    - else:
        You kept it clean.
        -> soft_branch
}
ink
{ GetStoryNumber("cash") >= 20:
    * Tip her
        ~ AddStoryNumber("cash", -20)
        -> tipped
}

Flags and numbers persist across chapters and across Whapp / side conv / module DMs. More: Flags and numbers.

Social counters

ink
~ AddTheGramFollowers("alex", 150)
~ AddFansOnlyFollowers("maya", 20)

Bump the displayed count for this player. Call alone on a ~ line (not inside a tricky lookahead). Match TheGram by username; FansOnly by username or uniqueId.

Transitions

ink
~ ShowCustomTransition("Chapter 2", "The morning after")

Fullscreen title card before the next chat beats play.

Time helpers (read-only)

These return real-world clock values on the server (useful for flavor), not the fictional phone clock:

  • RealHour(), RealMinute(), RealDayOfWeek()
  • IsWeekend(), IsNight(), TimeOfDay()

For story time jumps in the chat UI, use <pass-time-N> instead.

Dead / legacy

CallReality on Sexter
~ RunCommand("…")No-op, except old install-injector which Studio wants rewritten to InstallApp("injector")
~ GetPongResult("…")Stub, always declined. Unity leftover

If Studio complains about an unknown RunCommand, delete it or replace it with a real Sexter call.

Official Sexter creator documentation. Older Unity / SmGF folder-mod docs remain at docs.unzipped.games. Creator Corner is for community models and production workflows.