Pnkj01 commited on
Commit
92021fb
·
verified ·
1 Parent(s): 0e6456b

Create a Free Fire enhancement web panel with these elements: weapon-class tabs (AR/SMG/Shotgun/Pistol) showing real-time recoil compensation strength (visual percentage bars), aimlock precision indicators (headshot/center-mass icons), connection status to local bridge (🟢/🔴), live battle metrics (distance/hit probability), canvas-based recoil pattern visualizer, weapon-specific settings (sliders for sensitivity/humanization), performance dashboard (system latency/FPS), safety toggles (auto-disable/cooldown), local bridge installer button ("INSTALL FF_ENHANCER_SUITE"), real-time combat log ("Target locked: 87m"), threat-level color coding (green<50m/yellow>100m/red>100m), dark tactical UI (#0a0a12 background with weapon-class accents: AR-red/SMG-blue/Shotgun-orange/Pistol-purple), and neural decision display showing targeting logic; implement WebSocket controls sending JSON commands: {"weapon":"AK47","mode":"aimlock+recoil","params":{"vertical":0.85}}; include prominent disclaimer: "⚠️ REQUIRES LOCAL COMPONENTS - EXPERIMENTAL USE ONLY". - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +699 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Edu
3
- emoji: 🔥
4
- colorFrom: indigo
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: edu
3
+ emoji: 🐳
4
+ colorFrom: gray
5
+ colorTo: red
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,699 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>FF ENHANCER SUITE | Tactical Combat Enhancement Panel</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js"></script>
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&family=Roboto+Mono:wght@300;400;600&display=swap');
11
+
12
+ body {
13
+ font-family: 'Roboto Mono', monospace;
14
+ background-color: #0a0a12;
15
+ color: #e0e0e0;
16
+ overflow-x: hidden;
17
+ }
18
+
19
+ .header-font {
20
+ font-family: 'Orbitron', sans-serif;
21
+ }
22
+
23
+ .weapon-tab.active {
24
+ border-bottom-width: 3px;
25
+ }
26
+
27
+ .recoil-bar {
28
+ height: 12px;
29
+ border-radius: 6px;
30
+ background: linear-gradient(90deg, #4ade80, #f59e0b, #ef4444);
31
+ }
32
+
33
+ .recoil-fill {
34
+ height: 100%;
35
+ border-radius: 6px;
36
+ background-color: #3b82f6;
37
+ transition: width 0.3s ease;
38
+ }
39
+
40
+ .canvas-container {
41
+ position: relative;
42
+ }
43
+
44
+ .recoil-canvas {
45
+ background-color: #1a1a2e;
46
+ border-radius: 8px;
47
+ }
48
+
49
+ .combat-log-entry {
50
+ animation: fadeIn 0.3s ease;
51
+ }
52
+
53
+ @keyframes fadeIn {
54
+ from { opacity: 0; transform: translateY(5px); }
55
+ to { opacity: 1; transform: translateY(0); }
56
+ }
57
+
58
+ .neural-node {
59
+ width: 8px;
60
+ height: 8px;
61
+ border-radius: 50%;
62
+ background-color: #10b981;
63
+ position: absolute;
64
+ }
65
+
66
+ .neural-connection {
67
+ position: absolute;
68
+ height: 2px;
69
+ background-color: rgba(16, 185, 129, 0.3);
70
+ transform-origin: 0 0;
71
+ }
72
+
73
+ .threat-green { color: #10b981; }
74
+ .threat-yellow { color: #f59e0b; }
75
+ .threat-red { color: #ef4444; }
76
+ </style>
77
+ </head>
78
+ <body class="min-h-screen">
79
+ <div class="container mx-auto px-4 py-6">
80
+ <!-- Header -->
81
+ <div class="flex flex-col md:flex-row justify-between items-center mb-8">
82
+ <div class="flex items-center mb-4 md:mb-0">
83
+ <div class="w-12 h-12 bg-red-600 rounded-lg flex items-center justify-center mr-3">
84
+ <i class="fas fa-crosshairs text-white text-2xl"></i>
85
+ </div>
86
+ <h1 class="header-font text-2xl md:text-3xl font-bold text-white">FF ENHANCER SUITE</h1>
87
+ </div>
88
+ <div class="flex items-center space-x-4">
89
+ <div class="flex items-center">
90
+ <span class="text-sm mr-2">BRIDGE:</span>
91
+ <span id="bridgeStatus" class="text-xl">🔴</span>
92
+ </div>
93
+ <button id="installBridge" class="bg-gradient-to-r from-purple-600 to-blue-500 hover:from-purple-700 hover:to-blue-600 text-white px-4 py-2 rounded-md font-semibold text-sm transition-all duration-300">
94
+ INSTALL FF_ENHANCER_SUITE
95
+ </button>
96
+ </div>
97
+ </div>
98
+
99
+ <!-- Disclaimer -->
100
+ <div class="bg-yellow-900/30 border border-yellow-700 rounded-lg p-4 mb-6 flex items-start">
101
+ <div class="text-yellow-400 mr-3 text-xl">⚠️</div>
102
+ <div class="text-yellow-200 text-sm">
103
+ <strong>REQUIRES LOCAL COMPONENTS - EXPERIMENTAL USE ONLY</strong><br>
104
+ This panel requires the FF Enhancer Bridge to be installed and running locally. All features are experimental and provided for educational purposes only.
105
+ </div>
106
+ </div>
107
+
108
+ <!-- Main Content -->
109
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
110
+ <!-- Left Column -->
111
+ <div class="lg:col-span-2 space-y-6">
112
+ <!-- Weapon Tabs -->
113
+ <div class="bg-gray-900 rounded-xl p-1">
114
+ <div class="flex overflow-x-auto">
115
+ <button class="weapon-tab active px-6 py-3 font-medium text-sm flex-shrink-0 border-b-2 border-red-500 text-white bg-gray-800/50" data-weapon="AR">
116
+ <i class="fas fa-gun mr-2"></i> Assault Rifles
117
+ </button>
118
+ <button class="weapon-tab px-6 py-3 font-medium text-sm flex-shrink-0 border-b-2 border-transparent text-gray-400 hover:text-white" data-weapon="SMG">
119
+ <i class="fas fa-gun mr-2"></i> SMGs
120
+ </button>
121
+ <button class="weapon-tab px-6 py-3 font-medium text-sm flex-shrink-0 border-b-2 border-transparent text-gray-400 hover:text-white" data-weapon="Shotgun">
122
+ <i class="fas fa-gun mr-2"></i> Shotguns
123
+ </button>
124
+ <button class="weapon-tab px-6 py-3 font-medium text-sm flex-shrink-0 border-b-2 border-transparent text-gray-400 hover:text-white" data-weapon="Pistol">
125
+ <i class="fas fa-gun mr-2"></i> Pistols
126
+ </button>
127
+ </div>
128
+
129
+ <!-- Weapon Content -->
130
+ <div class="p-4">
131
+ <!-- Weapon Selector -->
132
+ <div class="mb-6">
133
+ <label class="block text-sm font-medium mb-2">Select Weapon</label>
134
+ <select id="weaponSelect" class="w-full bg-gray-800 border border-gray-700 rounded-md py-2 px-3 text-white focus:outline-none focus:ring-2 focus:ring-blue-500">
135
+ <option value="AK47">AK47</option>
136
+ <option value="M4A1">M4A1</option>
137
+ <option value="SCAR">SCAR</option>
138
+ <option value="XM8">XM8</option>
139
+ <option value="FAMAS">FAMAS</option>
140
+ </select>
141
+ </div>
142
+
143
+ <!-- Recoil Compensation -->
144
+ <div class="mb-6">
145
+ <div class="flex justify-between items-center mb-2">
146
+ <label class="text-sm font-medium">Recoil Compensation</label>
147
+ <span id="recoilValue" class="text-sm font-mono">85%</span>
148
+ </div>
149
+ <div class="recoil-bar mb-2">
150
+ <div id="recoilFill" class="recoil-fill" style="width: 85%"></div>
151
+ </div>
152
+ <div class="flex justify-between text-xs text-gray-400">
153
+ <span>Light</span>
154
+ <span>Moderate</span>
155
+ <span>Heavy</span>
156
+ </div>
157
+ </div>
158
+
159
+ <!-- Aimlock Precision -->
160
+ <div class="mb-6">
161
+ <label class="block text-sm font-medium mb-3">Aimlock Precision</label>
162
+ <div class="flex space-x-4">
163
+ <div class="flex-1 bg-gray-800 rounded-lg p-3 flex flex-col items-center cursor-pointer border-2 border-transparent hover:border-blue-500 aimlock-precision" data-precision="headshot">
164
+ <i class="fas fa-skull text-xl mb-2 text-red-400"></i>
165
+ <span class="text-xs">Headshot</span>
166
+ </div>
167
+ <div class="flex-1 bg-gray-800 rounded-lg p-3 flex flex-col items-center cursor-pointer border-2 border-blue-500 aimlock-precision" data-precision="center-mass">
168
+ <i class="fas fa-bullseye text-xl mb-2 text-blue-400"></i>
169
+ <span class="text-xs">Center Mass</span>
170
+ </div>
171
+ <div class="flex-1 bg-gray-800 rounded-lg p-3 flex flex-col items-center cursor-pointer border-2 border-transparent hover:border-purple-500 aimlock-precision" data-precision="dynamic">
172
+ <i class="fas fa-brain text-xl mb-2 text-purple-400"></i>
173
+ <span class="text-xs">Dynamic</span>
174
+ </div>
175
+ </div>
176
+ </div>
177
+
178
+ <!-- Recoil Pattern Visualizer -->
179
+ <div class="mb-6">
180
+ <label class="block text-sm font-medium mb-2">Recoil Pattern</label>
181
+ <div class="canvas-container bg-gray-900 rounded-lg p-4">
182
+ <canvas id="recoilCanvas" class="recoil-canvas w-full h-64"></canvas>
183
+ </div>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+ <!-- Weapon Settings -->
189
+ <div class="bg-gray-900 rounded-xl p-6">
190
+ <h3 class="text-lg font-semibold mb-4">Weapon Configuration</h3>
191
+
192
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
193
+ <!-- Sensitivity Settings -->
194
+ <div>
195
+ <label class="block text-sm font-medium mb-2">Vertical Sensitivity</label>
196
+ <input type="range" min="0" max="100" value="75" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer" id="verticalSensitivity">
197
+ <div class="flex justify-between text-xs text-gray-400 mt-1">
198
+ <span>0%</span>
199
+ <span>50%</span>
200
+ <span>100%</span>
201
+ </div>
202
+ </div>
203
+
204
+ <div>
205
+ <label class="block text-sm font-medium mb-2">Horizontal Sensitivity</label>
206
+ <input type="range" min="0" max="100" value="65" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer" id="horizontalSensitivity">
207
+ <div class="flex justify-between text-xs text-gray-400 mt-1">
208
+ <span>0%</span>
209
+ <span>50%</span>
210
+ <span>100%</span>
211
+ </div>
212
+ </div>
213
+
214
+ <div>
215
+ <label class="block text-sm font-medium mb-2">Humanization Jitter</label>
216
+ <input type="range" min="0" max="100" value="30" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer" id="humanizationJitter">
217
+ <div class="flex justify-between text-xs text-gray-400 mt-1">
218
+ <span>None</span>
219
+ <span>Moderate</span>
220
+ <span>High</span>
221
+ </div>
222
+ </div>
223
+
224
+ <div>
225
+ <label class="block text-sm font-medium mb-2">Trigger Delay (ms)</label>
226
+ <input type="range" min="0" max="500" value="150" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer" id="triggerDelay">
227
+ <div class="flex justify-between text-xs text-gray-400 mt-1">
228
+ <span>0ms</span>
229
+ <span>250ms</span>
230
+ <span>500ms</span>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ </div>
236
+
237
+ <!-- Right Column -->
238
+ <div class="space-y-6">
239
+ <!-- Performance Dashboard -->
240
+ <div class="bg-gray-900 rounded-xl p-6">
241
+ <h3 class="text-lg font-semibold mb-4">Performance Dashboard</h3>
242
+
243
+ <div class="space-y-4">
244
+ <div>
245
+ <div class="flex justify-between text-sm mb-1">
246
+ <span>System Latency</span>
247
+ <span id="latencyValue" class="font-mono">18ms</span>
248
+ </div>
249
+ <div class="w-full bg-gray-700 rounded-full h-2">
250
+ <div class="bg-green-500 h-2 rounded-full" style="width: 92%"></div>
251
+ </div>
252
+ </div>
253
+
254
+ <div>
255
+ <div class="flex justify-between text-sm mb-1">
256
+ <span>Game FPS</span>
257
+ <span id="fpsValue" class="font-mono">59 FPS</span>
258
+ </div>
259
+ <div class="w-full bg-gray-700 rounded-full h-2">
260
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 98%"></div>
261
+ </div>
262
+ </div>
263
+
264
+ <div>
265
+ <div class="flex justify-between text-sm mb-1">
266
+ <span>Processing Load</span>
267
+ <span id="loadValue" class="font-mono">24%</span>
268
+ </div>
269
+ <div class="w-full bg-gray-700 rounded-full h-2">
270
+ <div class="bg-purple-500 h-2 rounded-full" style="width: 24%"></div>
271
+ </div>
272
+ </div>
273
+ </div>
274
+
275
+ <div class="mt-6 pt-4 border-t border-gray-800">
276
+ <h4 class="text-sm font-medium mb-3">Battle Metrics</h4>
277
+ <div class="grid grid-cols-2 gap-4">
278
+ <div class="bg-gray-800 rounded-lg p-3">
279
+ <div class="text-xs text-gray-400 mb-1">Current Distance</div>
280
+ <div class="text-xl font-mono" id="currentDistance">87m</div>
281
+ </div>
282
+ <div class="bg-gray-800 rounded-lg p-3">
283
+ <div class="text-xs text-gray-400 mb-1">Hit Probability</div>
284
+ <div class="text-xl font-mono" id="hitProbability">92%</div>
285
+ </div>
286
+ </div>
287
+ </div>
288
+ </div>
289
+
290
+ <!-- Safety Controls -->
291
+ <div class="bg-gray-900 rounded-xl p-6">
292
+ <h3 class="text-lg font-semibold mb-4">Safety Controls</h3>
293
+
294
+ <div class="space-y-4">
295
+ <div class="flex items-center justify-between">
296
+ <div>
297
+ <label class="text-sm font-medium">Auto-Disable</label>
298
+ <p class="text-xs text-gray-400">Disable after 5 kills</p>
299
+ </div>
300
+ <label class="relative inline-flex items-center cursor-pointer">
301
+ <input type="checkbox" class="sr-only peer" checked>
302
+ <div class="w-11 h-6 bg-gray-700 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-green-600"></div>
303
+ </label>
304
+ </div>
305
+
306
+ <div class="flex items-center justify-between">
307
+ <div>
308
+ <label class="text-sm font-medium">Cooldown Timer</label>
309
+ <p class="text-xs text-gray-400">Random pauses</p>
310
+ </div>
311
+ <label class="relative inline-flex items-center cursor-pointer">
312
+ <input type="checkbox" class="sr-only peer" checked>
313
+ <div class="w-11 h-6 bg-gray-700 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-blue-600"></div>
314
+ </label>
315
+ </div>
316
+
317
+ <div class="flex items-center justify-between">
318
+ <div>
319
+ <label class="text-sm font-medium">Spectator Mode</label>
320
+ <p class="text-xs text-gray-400">Disable when spectated</p>
321
+ </div>
322
+ <label class="relative inline-flex items-center cursor-pointer">
323
+ <input type="checkbox" class="sr-only peer" checked>
324
+ <div class="w-11 h-6 bg-gray-700 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-purple-600"></div>
325
+ </label>
326
+ </div>
327
+ </div>
328
+
329
+ <button id="applySettings" class="mt-6 w-full bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700 text-white py-2 px-4 rounded-md font-medium text-sm transition-all duration-300">
330
+ APPLY SETTINGS
331
+ </button>
332
+ </div>
333
+
334
+ <!-- Neural Decision Display -->
335
+ <div class="bg-gray-900 rounded-xl p-6">
336
+ <h3 class="text-lg font-semibold mb-4">Neural Targeting</h3>
337
+
338
+ <div class="relative h-40 mb-4" id="neuralNetwork">
339
+ <!-- Neural network visualization will be generated here -->
340
+ </div>
341
+
342
+ <div class="text-xs font-mono bg-gray-800 p-3 rounded-lg h-20 overflow-y-auto" id="neuralDecisionText">
343
+ Analyzing target at 87m...<br>
344
+ Calculating bullet drop...<br>
345
+ Adjusting for movement...<br>
346
+ Optimal aim point: upper chest (92% HS chance)
347
+ </div>
348
+ </div>
349
+ </div>
350
+ </div>
351
+
352
+ <!-- Combat Log -->
353
+ <div class="mt-6 bg-gray-900 rounded-xl p-6">
354
+ <h3 class="text-lg font-semibold mb-4">Combat Log</h3>
355
+
356
+ <div class="bg-gray-800 rounded-lg p-3 h-48 overflow-y-auto space-y-2" id="combatLog">
357
+ <div class="combat-log-entry text-sm font-mono">
358
+ <span class="text-green-400">[12:45:23]</span> Target locked: <span class="threat-green">87m</span> | HS probability: 92%
359
+ </div>
360
+ <div class="combat-log-entry text-sm font-mono">
361
+ <span class="text-green-400">[12:45:24]</span> Recoil compensation active (vertical: 0.85)
362
+ </div>
363
+ <div class="combat-log-entry text-sm font-mono">
364
+ <span class="text-green-400">[12:45:25]</span> Firing sequence initiated (3-round burst)
365
+ </div>
366
+ <div class="combat-log-entry text-sm font-mono">
367
+ <span class="text-yellow-400">[12:45:26]</span> New threat detected: <span class="threat-yellow">112m</span> | Switching priority
368
+ </div>
369
+ <div class="combat-log-entry text-sm font-mono">
370
+ <span class="text-green-400">[12:45:27]</span> Target eliminated: <span class="threat-green">87m</span> | 2 headshots
371
+ </div>
372
+ <div class="combat-log-entry text-sm font-mono">
373
+ <span class="text-red-400">[12:45:28]</span> Warning: High threat detected: <span class="threat-red">153m</span> | Sniper
374
+ </div>
375
+ </div>
376
+ </div>
377
+ </div>
378
+
379
+ <script>
380
+ // Initialize canvas
381
+ const canvas = document.getElementById('recoilCanvas');
382
+ const ctx = canvas.getContext('2d');
383
+
384
+ // Set canvas dimensions
385
+ function resizeCanvas() {
386
+ const container = canvas.parentElement;
387
+ canvas.width = container.clientWidth;
388
+ canvas.height = container.clientHeight;
389
+ drawRecoilPattern();
390
+ }
391
+
392
+ // Draw recoil pattern
393
+ function drawRecoilPattern() {
394
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
395
+
396
+ // Draw crosshair
397
+ ctx.strokeStyle = 'rgba(255, 255, 255, 0.2)';
398
+ ctx.lineWidth = 1;
399
+ ctx.beginPath();
400
+ ctx.moveTo(canvas.width / 2, 0);
401
+ ctx.lineTo(canvas.width / 2, canvas.height);
402
+ ctx.moveTo(0, canvas.height / 2);
403
+ ctx.lineTo(canvas.width, canvas.height / 2);
404
+ ctx.stroke();
405
+
406
+ // Draw recoil pattern (AK47 example)
407
+ const centerX = canvas.width / 2;
408
+ const centerY = canvas.height / 2;
409
+ const scale = canvas.height / 30;
410
+
411
+ ctx.strokeStyle = '#3b82f6';
412
+ ctx.lineWidth = 2;
413
+ ctx.beginPath();
414
+ ctx.moveTo(centerX, centerY);
415
+
416
+ // AK47 recoil pattern (simplified)
417
+ const pattern = [
418
+ {x: 0, y: 1}, {x: 0.2, y: 2}, {x: 0.5, y: 3},
419
+ {x: 0.8, y: 4}, {x: 1.2, y: 5}, {x: 1.5, y: 6},
420
+ {x: 1.2, y: 7}, {x: 0.8, y: 8}, {x: 0.5, y: 9},
421
+ {x: 0.2, y: 10}, {x: -0.2, y: 11}, {x: -0.5, y: 12}
422
+ ];
423
+
424
+ pattern.forEach((point, i) => {
425
+ ctx.lineTo(centerX + point.x * scale, centerY + point.y * scale);
426
+ });
427
+
428
+ ctx.stroke();
429
+
430
+ // Draw dots at each bullet point
431
+ ctx.fillStyle = '#ef4444';
432
+ pattern.forEach((point, i) => {
433
+ ctx.beginPath();
434
+ ctx.arc(centerX + point.x * scale, centerY + point.y * scale, 3, 0, Math.PI * 2);
435
+ ctx.fill();
436
+ });
437
+ }
438
+
439
+ // Generate neural network visualization
440
+ function generateNeuralNetwork() {
441
+ const container = document.getElementById('neuralNetwork');
442
+ container.innerHTML = '';
443
+
444
+ const width = container.clientWidth;
445
+ const height = container.clientHeight;
446
+
447
+ // Create layers
448
+ const layers = 5;
449
+ const nodesPerLayer = [3, 4, 5, 4, 2];
450
+
451
+ // Draw connections
452
+ for (let l = 0; l < layers - 1; l++) {
453
+ for (let n1 = 0; n1 < nodesPerLayer[l]; n1++) {
454
+ const x1 = (width / (layers - 1)) * l;
455
+ const y1 = (height / (nodesPerLayer[l] + 1)) * (n1 + 1);
456
+
457
+ for (let n2 = 0; n2 < nodesPerLayer[l + 1]; n2++) {
458
+ const x2 = (width / (layers - 1)) * (l + 1);
459
+ const y2 = (height / (nodesPerLayer[l + 1] + 1)) * (n2 + 1);
460
+
461
+ const line = document.createElement('div');
462
+ line.className = 'neural-connection';
463
+
464
+ // Calculate line position and length
465
+ const length = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
466
+ const angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
467
+
468
+ line.style.width = `${length}px`;
469
+ line.style.left = `${x1}px`;
470
+ line.style.top = `${y1}px`;
471
+ line.style.transform = `rotate(${angle}deg)`;
472
+
473
+ container.appendChild(line);
474
+ }
475
+ }
476
+ }
477
+
478
+ // Draw nodes
479
+ for (let l = 0; l < layers; l++) {
480
+ for (let n = 0; n < nodesPerLayer[l]; n++) {
481
+ const x = (width / (layers - 1)) * l;
482
+ const y = (height / (nodesPerLayer[l] + 1)) * (n + 1);
483
+
484
+ const node = document.createElement('div');
485
+ node.className = 'neural-node';
486
+ node.style.left = `${x - 4}px`;
487
+ node.style.top = `${y - 4}px`;
488
+
489
+ // Animate nodes
490
+ node.style.animation = `pulse ${1 + Math.random()}s infinite alternate`;
491
+
492
+ container.appendChild(node);
493
+ }
494
+ }
495
+ }
496
+
497
+ // Update combat log with random entries
498
+ function updateCombatLog() {
499
+ const log = document.getElementById('combatLog');
500
+ const now = new Date();
501
+ const timeStr = `[${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}]`;
502
+
503
+ const actions = [
504
+ {text: `Target locked: ${Math.floor(Math.random() * 150)}m`, class: 'green'},
505
+ {text: `Recoil compensation adjusted`, class: 'green'},
506
+ {text: `Firing sequence initiated (${Math.floor(Math.random() * 5) + 1}-round burst)`, class: 'green'},
507
+ {text: `New threat detected: ${Math.floor(Math.random() * 150)}m | Switching priority`, class: 'yellow'},
508
+ {text: `Target eliminated: ${Math.floor(Math.random() * 100)}m | ${Math.floor(Math.random() * 3) + 1} headshots`, class: 'green'},
509
+ {text: `Warning: High threat detected: ${Math.floor(Math.random() * 200)}m | Sniper`, class: 'red'}
510
+ ];
511
+
512
+ const action = actions[Math.floor(Math.random() * actions.length)];
513
+ const distance = action.text.match(/\d+m/);
514
+ let distanceClass = 'threat-green';
515
+
516
+ if (distance) {
517
+ const dist = parseInt(distance[0]);
518
+ if (dist > 100) distanceClass = 'threat-red';
519
+ else if (dist > 50) distanceClass = 'threat-yellow';
520
+ }
521
+
522
+ const entry = document.createElement('div');
523
+ entry.className = 'combat-log-entry text-sm font-mono';
524
+ entry.innerHTML = `
525
+ <span class="text-${action.class}-400">${timeStr}</span> ${action.text.replace(/\d+m/, `<span class="${distanceClass}">$&</span>`)}
526
+ `;
527
+
528
+ log.insertBefore(entry, log.firstChild);
529
+
530
+ if (log.children.length > 20) {
531
+ log.removeChild(log.lastChild);
532
+ }
533
+ }
534
+
535
+ // Update performance metrics randomly
536
+ function updatePerformanceMetrics() {
537
+ document.getElementById('latencyValue').textContent = `${Math.floor(Math.random() * 10) + 15}ms`;
538
+ document.getElementById('fpsValue').textContent = `${Math.floor(Math.random() * 5) + 55} FPS`;
539
+ document.getElementById('loadValue').textContent = `${Math.floor(Math.random() * 15) + 20}%`;
540
+
541
+ const distance = Math.floor(Math.random() * 200);
542
+ document.getElementById('currentDistance').textContent = `${distance}m`;
543
+
544
+ // Update threat color
545
+ let threatClass = 'threat-green';
546
+ if (distance > 100) threatClass = 'threat-red';
547
+ else if (distance > 50) threatClass = 'threat-yellow';
548
+
549
+ document.getElementById('currentDistance').className = `text-xl font-mono ${threatClass}`;
550
+
551
+ // Update hit probability based on distance
552
+ const hitProb = Math.max(10, 100 - distance / 3 + (Math.random() * 20 - 10));
553
+ document.getElementById('hitProbability').textContent = `${Math.round(hitProb)}%`;
554
+ }
555
+
556
+ // Handle weapon tab switching
557
+ document.querySelectorAll('.weapon-tab').forEach(tab => {
558
+ tab.addEventListener('click', function() {
559
+ document.querySelectorAll('.weapon-tab').forEach(t => t.classList.remove('active'));
560
+ this.classList.add('active');
561
+
562
+ // Change border color based on weapon class
563
+ const weaponClass = this.dataset.weapon;
564
+ let borderColor = 'border-red-500';
565
+
566
+ if (weaponClass === 'SMG') borderColor = 'border-blue-500';
567
+ else if (weaponClass === 'Shotgun') borderColor = 'border-orange-500';
568
+ else if (weaponClass === 'Pistol') borderColor = 'border-purple-500';
569
+
570
+ this.classList.add(borderColor);
571
+
572
+ // Update weapon select options
573
+ const weaponSelect = document.getElementById('weaponSelect');
574
+ weaponSelect.innerHTML = '';
575
+
576
+ let weapons = [];
577
+ if (weaponClass === 'AR') {
578
+ weapons = ['AK47', 'M4A1', 'SCAR', 'XM8', 'FAMAS'];
579
+ } else if (weaponClass === 'SMG') {
580
+ weapons = ['MP5', 'P90', 'UMP', 'Vector', 'Thompson'];
581
+ } else if (weaponClass === 'Shotgun') {
582
+ weapons = ['M1014', 'SPAS12', 'KSG', 'AA12', 'M870'];
583
+ } else if (weaponClass === 'Pistol') {
584
+ weapons = ['Desert Eagle', 'Glock', 'USP', 'P250', 'Five-Seven'];
585
+ }
586
+
587
+ weapons.forEach(weapon => {
588
+ const option = document.createElement('option');
589
+ option.value = weapon;
590
+ option.textContent = weapon;
591
+ weaponSelect.appendChild(option);
592
+ });
593
+
594
+ // Redraw recoil pattern for new weapon class
595
+ drawRecoilPattern();
596
+ });
597
+ });
598
+
599
+ // Handle aimlock precision selection
600
+ document.querySelectorAll('.aimlock-precision').forEach(btn => {
601
+ btn.addEventListener('click', function() {
602
+ document.querySelectorAll('.aimlock-precision').forEach(b => {
603
+ b.classList.remove('border-blue-500');
604
+ b.classList.add('border-transparent');
605
+ });
606
+ this.classList.add('border-blue-500');
607
+ this.classList.remove('border-transparent');
608
+ });
609
+ });
610
+
611
+ // Handle sliders
612
+ document.querySelectorAll('input[type="range"]').forEach(slider => {
613
+ slider.addEventListener('input', function() {
614
+ if (this.id === 'verticalSensitivity' || this.id === 'horizontalSensitivity') {
615
+ document.getElementById('recoilValue').textContent = `${this.value}%`;
616
+ document.getElementById('recoilFill').style.width = `${this.value}%`;
617
+ }
618
+ });
619
+ });
620
+
621
+ // Handle apply settings button
622
+ document.getElementById('applySettings').addEventListener('click', function() {
623
+ const weapon = document.getElementById('weaponSelect').value;
624
+ const verticalSens = document.getElementById('verticalSensitivity').value;
625
+ const horizontalSens = document.getElementById('horizontalSensitivity').value;
626
+ const jitter = document.getElementById('humanizationJitter').value;
627
+ const delay = document.getElementById('triggerDelay').value;
628
+
629
+ const precision = document.querySelector('.aimlock-precision.border-blue-500').dataset.precision;
630
+
631
+ // Create JSON command
632
+ const command = {
633
+ weapon: weapon,
634
+ mode: "aimlock+recoil",
635
+ params: {
636
+ vertical: parseFloat(verticalSens / 100).toFixed(2),
637
+ horizontal: parseFloat(horizontalSens / 100).toFixed(2),
638
+ jitter: parseFloat(jitter / 100).toFixed(2),
639
+ delay: parseInt(delay),
640
+ precision: precision
641
+ }
642
+ };
643
+
644
+ // In a real app, this would send via WebSocket
645
+ console.log("Sending command:", JSON.stringify(command, null, 2));
646
+
647
+ // Show success message
648
+ const log = document.getElementById('combatLog');
649
+ const now = new Date();
650
+ const timeStr = `[${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}]`;
651
+
652
+ const entry = document.createElement('div');
653
+ entry.className = 'combat-log-entry text-sm font-mono';
654
+ entry.innerHTML = `
655
+ <span class="text-green-400">${timeStr}</span> Settings applied for ${weapon} | ${precision} precision
656
+ `;
657
+
658
+ log.insertBefore(entry, log.firstChild);
659
+ });
660
+
661
+ // Handle bridge install button
662
+ document.getElementById('installBridge').addEventListener('click', function() {
663
+ // Simulate bridge connection
664
+ document.getElementById('bridgeStatus').textContent = "��";
665
+ this.textContent = "BRIDGE CONNECTED";
666
+ this.classList.remove('from-purple-600', 'to-blue-500', 'hover:from-purple-700', 'hover:to-blue-600');
667
+ this.classList.add('from-green-600', 'to-green-500', 'hover:from-green-700', 'hover:to-green-600');
668
+
669
+ // Add to combat log
670
+ const log = document.getElementById('combatLog');
671
+ const now = new Date();
672
+ const timeStr = `[${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')}:${now.getSeconds().toString().padStart(2, '0')}]`;
673
+
674
+ const entry = document.createElement('div');
675
+ entry.className = 'combat-log-entry text-sm font-mono';
676
+ entry.innerHTML = `
677
+ <span class="text-green-400">${timeStr}</span> Bridge connected successfully
678
+ `;
679
+
680
+ log.insertBefore(entry, log.firstChild);
681
+ });
682
+
683
+ // Initialize
684
+ window.addEventListener('load', function() {
685
+ resizeCanvas();
686
+ generateNeuralNetwork();
687
+
688
+ // Update metrics periodically
689
+ setInterval(updatePerformanceMetrics, 3000);
690
+ setInterval(updateCombatLog, 5000);
691
+ });
692
+
693
+ window.addEventListener('resize', function() {
694
+ resizeCanvas();
695
+ generateNeuralNetwork();
696
+ });
697
+ </script>
698
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Pnkj01/edu" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
699
+ </html>