This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function() { | |
| const text = document.body.textContent; /* define text properly */ | |
| try { | |
| JSON.parse(text); | |
| alert("✅ JSON is valid!"); | |
| } catch (error) { | |
| console.error("❌ Invalid JSON: " + error.message); | |
| /* Extract position from error message */ | |
| const match = error.message.match(/position (\d+)/); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #Requires AutoHotkey v2.0 | |
| #SingleInstance Force | |
| filePath := "C:\Users\thc282\AppData\Roaming\Cognosphere\HYP\1_1\fedata\Cache\Cache_Data\data_1" | |
| try { | |
| fileContent := FileRead(filePath) | |
| } catch Error as e { | |
| MsgBox "❌ 無法讀取:" e.Message | |
| ExitApp | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // constants | |
| var N_0 = 819069.80; // northing of projection origin | |
| var E_0 = 836694.05; // easting of projection origin | |
| var m_0 = 1; // scale factor | |
| var lat_0 = (22 + 18 / 60 + 43.68 / 3600) * Math.PI / 180; // DMS to radian, lat of projection origin | |
| var lng_0 = (114 + 10 / 60 + 42.80 / 3600) * Math.PI / 180; // DMS to decimal, lng of projection origin | |
| var M_0 = 0; // meridian distance measured from equator to origin | |
| var a = 0; | |
| var f = 0; |
⚠⚠⚠⚠⚠this must be set when new a renderer object⚠⚠⚠⚠⚠
{preserveDrawingBuffer: true}
//⚠⚠⚠⚠⚠this must be set when new a renderer object⚠⚠⚠⚠⚠
//{preserveDrawingBuffer: true}
const renderer = new THREE.WebGLRenderer({preserveDrawingBuffer: true});
//set a id for getting the canvas
renderer.domElement.id = 'screenshot';speed = (currentTime - startTime) / (endTime - startTime)
frame = Date.now()
const speed = (frame - positions[0].frame) / (positions[0 + delay].frame - positions[1 + delay].frame);
- The interpolation factor
speedrepresents the position between the two most recent positions in the positions array. frameis the current frame of the game.positions[0].frameis the frame of the most recent position in the positions array.positions[0 + delay].frameandpositions[1 + delay].frameare the frames of the two most recent positions, with a delay offset.
NewerOlder







