diff --git a/markdown/bitburner.ns.md b/markdown/bitburner.ns.md index a70ce5535..3a8a1f6b1 100644 --- a/markdown/bitburner.ns.md +++ b/markdown/bitburner.ns.md @@ -148,6 +148,7 @@ export async function main(ns) { | [readPort(portNumber)](./bitburner.ns.readport.md) | Read data from a port. | | [relaysmtp(host)](./bitburner.ns.relaysmtp.md) | Runs relaySMTP.exe on a server. | | [renamePurchasedServer(hostname, newName)](./bitburner.ns.renamepurchasedserver.md) | Rename a purchased server. | +| [renderTail(pid)](./bitburner.ns.rendertail.md) | Render a tail window. | | [resizeTail(width, height, pid)](./bitburner.ns.resizetail.md) | Resize a tail window. | | [rm(name, host)](./bitburner.ns.rm.md) | Delete a file. | | [run(script, threadOrOptions, args)](./bitburner.ns.run.md) | Start another script on the current server. | diff --git a/markdown/bitburner.ns.rendertail.md b/markdown/bitburner.ns.rendertail.md new file mode 100644 index 000000000..8aa9430a2 --- /dev/null +++ b/markdown/bitburner.ns.rendertail.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [bitburner](./bitburner.md) > [NS](./bitburner.ns.md) > [renderTail](./bitburner.ns.rendertail.md) + +## NS.renderTail() method + +Render a tail window. + +**Signature:** + +```typescript +renderTail(pid?: number): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| pid | number | _(Optional)_ Optional. PID of the script having its tail rendered. If omitted, the current script is used. | + +**Returns:** + +void + +## Remarks + +RAM cost: 0 GB + +Tail windows are rendered at an interval defined in game settings. This function renders the tail window of the specified script immediately. + diff --git a/src/Netscript/RamCostGenerator.ts b/src/Netscript/RamCostGenerator.ts index 0c565ac00..c661c3dd0 100644 --- a/src/Netscript/RamCostGenerator.ts +++ b/src/Netscript/RamCostGenerator.ts @@ -599,6 +599,7 @@ export const RamCosts: RamCostTree = { tail: 0, toast: 0, moveTail: 0, + renderTail: 0, resizeTail: 0, closeTail: 0, setTitle: 0, diff --git a/src/NetscriptFunctions.ts b/src/NetscriptFunctions.ts index 1c17e76d0..b606af428 100644 --- a/src/NetscriptFunctions.ts +++ b/src/NetscriptFunctions.ts @@ -566,6 +566,17 @@ export const ns: InternalAPI = { LogBoxEvents.emit(runningScriptObj); }, + renderTail: + (ctx) => + (_pid = ctx.workerScript.scriptRef.pid) => { + const pid = helpers.number(ctx, "pid", _pid); + const runningScriptObj = helpers.getRunningScript(ctx, pid); + if (runningScriptObj == null) { + helpers.log(ctx, () => helpers.getCannotFindRunningScriptErrorMessage(pid)); + return; + } + runningScriptObj.tailProps?.rerender(); + }, moveTail: (ctx) => (_x, _y, _pid = ctx.workerScript.scriptRef.pid) => { diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index db68515d3..428d46228 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -6406,6 +6406,19 @@ export interface NS { */ tail(fn?: FilenameOrPID, host?: string, ...args: ScriptArg[]): void; + /** + * Render a tail window. + * + * @remarks + * RAM cost: 0 GB + * + * Tail windows are rendered at an interval defined in game settings. This function renders the tail window of the + * specified script immediately. + * + * @param pid - Optional. PID of the script having its tail rendered. If omitted, the current script is used. + */ + renderTail(pid?: number): void; + /** * Move a tail window. * @remarks