REM-Client ef5450da: native rapidfire macro - every mounted weapon fires alone at its refire delay from the inis (or own ms), firing order, gap, toggle/hold key; window /rapidfire

This commit is contained in:
2026-11-10 16:57:44 +01:00
parent 9c19d1fbb6
commit 47714887d3
29 changed files with 78 additions and 4 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
REM-Client test build (64-bit)
date: 2026-11-10 16:26
commit: b4a20f12 (main)
subject: QoL: depot search, depot item by mail, loadout sharing and seller bases, bookmark folders, trade log
date: 2026-11-10 16:57
commit: ef5450da (main)
subject: Rapidfire macro, native: every mounted weapon fires alone as soon as its cooldown allows
tree: clean
build: OK
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -60,7 +60,7 @@ modern_ui = true ; the modern windows (new design, docs/rem/ui
modern_ui_scale = 1.0 ; size of the modern windows (1 = 1 dp per pixel at 1080 lines)
hud_scale = 1.0 ; size of the modern flight HUD (the parts keep their own size from the HUD editor)
hud_opacity = 1.0 ; opacity of the modern flight HUD
ui_theme = 0 ; colours of the modern windows: 0 REM, 1 neon blue, 2 red, 3 green, 4 purple, 5 high contrast
ui_theme = 0 ; colours of the modern windows: 0 standard (REM blue), 1 fire, 2 ice, 3 the theme designer's
colorblind_mode = 0 ; friend / foe colours: 0 FL red / green, 1 orange / blue (red-green), 2 red / cyan (blue-yellow)
; chat colours per channel (the chat settings, gear in the chat line): rrggbb, empty = FL's own
chat_color_universe =
Binary file not shown.
Binary file not shown.
+74
View File
@@ -0,0 +1,74 @@
<rml>
<head>
<title>Rapidfire</title>
<link type="text/rcss" href="rem.rcss"/>
<style>
body.window.small { top: 6%; height: 700dp; width: 640dp; }
.lead { line-height: 1.5; font-size: 14dp; padding: 10dp 12dp; margin-bottom: 10dp; background-color: #5cc8f008; }
.label { margin: 8dp 0 4dp 0; font-family: "Saira SemiCondensed"; letter-spacing: 1.1dp; text-transform: uppercase; color: #8197ad; }
.line { display: flex; flex-direction: row; align-items: center; margin-top: 6dp; }
.line .k { width: 150dp; color: #8197ad; }
.line input.text { width: 80dp; margin-right: 8dp; }
.state { padding: 4dp 12dp; margin-right: 10dp; border: 1dp #24405c; color: #8197ad; }
.state.on { color: #6fd08c; border-color: #6fd08c; }
.wl { height: 300dp; overflow-y: auto; background-color: #5cc8f008; }
.wr { display: flex; flex-direction: row; align-items: center; padding: 5dp 8dp; border-left: 3dp #24405c; margin-bottom: 2dp; }
.wr.on { border-left-color: #f2b13c; }
.wr .n { width: 26dp; color: #8197ad; }
.wr .nm { flex: 1; white-space: nowrap; overflow: hidden; }
.wr .nm.off { color: #8197ad; }
.wr .au { width: 70dp; color: #8197ad; font-size: 13dp; }
.wr input.text { width: 58dp; margin: 0 6dp; }
.wr .am { width: 40dp; color: #8197ad; font-size: 12dp; }
.btn.small { padding: 2dp 8dp; margin-left: 3dp; }
.hint { margin-top: 8dp; color: #8197ad; font-size: 13dp; line-height: 1.4; }
</style>
</head>
<body class="window small" data-model="rapidfire">
<div class="win-head">
<span class="title">RAPIDFIRE</span><span class="sl">\\\</span>
</div>
<div class="win-main">
<div class="content">
<div class="lead">Fires each weapon as soon as its cooldown allows - auto: the game's refire delay, or a time of your own.</div>
<div class="line">
<span class="state" data-class-on="running">{{ running ? 'RUNNING' : 'OFF' }}</span>
<div class="btn primary" data-action="toggle">{{ running ? 'Stop' : 'Start' }}</div>
</div>
<div class="label">Key</div>
<div class="line">
<span class="k">{{ capturing ? 'press a key...' : key_name }}</span>
<div class="btn small" data-action="setkey">Set key</div>
<div class="btn small" data-action="clearkey">None</div>
<div class="btn small" data-class-primary="mode == 0" data-action="mode" data-arg="0" style="margin-left: 14dp;">Toggle<span class="tip">A press starts the macro, the next stops it.</span></div>
<div class="btn small" data-class-primary="mode == 1" data-action="mode" data-arg="1">Hold<span class="tip">The macro runs while the key is held.</span></div>
</div>
<div class="label">Weapons - in firing order</div>
<div class="wl">
<div class="hint" style="padding: 8dp;" data-if="weapons.size == 0">No weapons mounted (or not in space yet).</div>
<div class="wr" data-for="w : weapons" data-class-on="w.on">
<span class="n">{{ w.num }}</span>
<span class="nm" data-class-off="!w.on">{{ w.name }}</span>
<span class="am">{{ w.ammo }}</span>
<span class="au">auto {{ w.auto }}</span>
<input class="text" type="text" data-value="w.ms" maxlength="5"/>
<span class="btn small" data-action="w_auto" data-attr-data-arg="w.hp">Auto</span>
<span class="btn small" data-action="w_up" data-attr-data-arg="w.hp">&#8593;</span>
<span class="btn small" data-action="w_down" data-attr-data-arg="w.hp">&#8595;</span>
<span class="btn small" data-class-primary="w.on" data-action="w_on" data-attr-data-arg="w.hp">{{ w.on ? 'On' : 'Off' }}</span>
</div>
</div>
<div class="line"><div class="btn small" data-action="all_on">All on</div><div class="btn small" data-action="all_off">All off</div></div>
<div class="label">Timing</div>
<div class="line"><span class="k">Network slack (ms)</span><input class="text" type="text" data-value="slack" maxlength="4"/><span class="hint" style="margin: 0;">added to every auto cooldown</span></div>
<div class="line"><span class="k">Gap between shots (ms)</span><input class="text" type="text" data-value="gap" maxlength="4"/><span class="hint" style="margin: 0;">0: what is ready fires together</span></div>
<div class="hint">An empty time is auto. The server checks every shot as always (cooldown, power).</div>
<div class="hint" data-if="msg != ''" style="color: #f2b13c;">{{ msg }}</div>
</div>
</div>
<div class="win-foot">
<div class="btn" data-action="close">Close</div>
<div class="btn primary" data-action="save">Save times</div>
</div>
</body>
</rml>
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.