Skip to content
  • Categories
  • Tags
  • Recent
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Free Rider Community

Black Hat

Private

Posts


  • track editor 1.1 rev. L: Layers!
    Pie42P Pie42

    @pawflix thank you for the bug report / feature request! layer render order is now fully guaranteed, with the current layer being rendered on top, and there are buttons in the layer settings to move layers up and down. the changes are currently only on gh pages, but should be added to the main site soon!

    *note: there might be a bit of weirdness when moving layers with deleted layers. the easiest way to fix this is to export and re-import

    About Free Rider

  • parity with frhd, and a suggestion
    Pie42P Pie42

    the thing with stacked portals is that their behavior depends entirely on the order they're in within the track, which is why i mostly only generate tracks with them. this also means that a variety of features have the potential to mess with their function, including the select tool, layers, and possibly even erasing and undoing, but it isn't guaranteed. if you can remember exactly what you were doing when they stopped working, i'll look into fixing it, but it's a pretty difficult problem to solve. in the meantime, here's a script i made when looking at computer by seasnails, but that doesn't work quite as well for stacked portals:

    // ==UserScript==
    // @name         double-click portals
    // @version      0.1
    // @description  ​
    // @author       Pie42
    // @match        https://www.freeriderhd.com/t/*
    // @match        https://www.freeriderhd.com/create
    // @match        https://freerider.app/*
    // @grant        none
    // ==/UserScript==
    
    
    function main() {
        let canvas = GameManager.game.canvas;
        console.log('double click active ', canvas);
        canvas.addEventListener('dblclick', (e) => {
            let position = GameManager.game.currentScene.mouse.touch.real,
                sectors = GameManager.game.currentScene.track.sectors.physicsSectors,
                sectorPos = position.factor(1 / GameSettings.physicsSectorSize || 300),
                found = false;
            sectorPos.x = Math.floor(sectorPos.x - 0.5);
            sectorPos.y = Math.floor(sectorPos.y - 0.5);
            //console.log(sectorPos, 'sectorPos');
            for (let xOffset = 0; xOffset < 2; xOffset++) {
                if (!sectors[sectorPos.x + xOffset]) continue;
                for (let yOffset = 0; yOffset < 2; yOffset++) {
                    let currentSector = sectors[sectorPos.x + xOffset][sectorPos.y + yOffset];
                    if (!currentSector) continue;
                    let teleporters = currentSector.powerups?.teleports,
                        teleporter;
                    if (!teleporters) continue;
                    for (let i of teleporters) {
                        //console.log(i, position, Math.hypot((i.x - position.x) ** 2, (i.y - position.y) ** 2) ** 2);
                        if (Math.hypot(i.x - position.x, i.y - position.y) ** 2 < 1000) {
                            teleporter = i;
                            break;
                        }
                    }
                    if (!teleporter) continue;
                    let camera = GameManager.game.currentScene.camera;
                    let dCamera = camera.position.sub(teleporter).add(teleporter.otherPortal);
                    console.log(dCamera);
                    camera.position = dCamera;
                    camera.playerFocus = false;
                    found = true;
                    break;
                }
                if (found) break;
            }
            console.log('double clicked!');
        });
    }
    
    let track = undefined;
    window.setInterval(function () {
        if (window?.$ && $("#track-data")?.data?.("t_id") != track || +location.href.match(/\/(\d+)/)?.[1] != track) {
            track = window?.$?.("#track-data")?.data?.("t_id") || +location.href.match(/\/(\d+)/)?.[1];
            console.log(track);
            function rInterval() {
                window.clearInterval(v)
            }
            var v = window.setInterval(function() {
                if (GameManager != undefined && GameManager.game != undefined) {
                    rInterval();
                    main();
                }
            }, 250)
        }
    }, 500)
    
    About Free Rider

  • parity with frhd, and a suggestion
    NessN Ness

    I haven't had any luck getting the track to break on freerider.app, it is possible that it is a mod that is causing it?

    as for anything teleports, @Pie42 is the authority on that, so possibly he'll whip something up. but feel free to use this userscript in the meantime:

    // ==UserScript==
    // @name         Teleport Matcher
    // @version      0.1
    // @description  Connects teleports in FRHD.
    // @author       1s3k3b
    // @match        https://freerider.app/*
    // @grant        none
    // ==/UserScript==
    
    let lastHref;
    setInterval(() => {
        if (window.location.href !== lastHref) {
            lastHref = window.location.href;
            const i = setInterval(() => {
                if (!GameManager.game) return;
                clearInterval(i);
                const { canvas, currentScene: scene } = GameManager.game;
                const ctx = canvas.getContext('2d');
                const toScreen = x => scene.track.physicsLines[0].p1.__proto__.toScreen.apply(x, [scene]);
                createjs.Ticker.on('tick', () => scene.track.powerups.map(x => {
                    if (!x.otherPortal) return;
                    const pos = toScreen(x);
                    const other = toScreen(x.otherPortal);
                    ctx.beginPath();
                    ctx.strokeStyle = '#e56af0';
                    ctx.lineWidth = scene.camera.zoom * 2;
                    ctx.moveTo(pos.x, pos.y);
                    ctx.lineTo(other.x, other.y);
                    ctx.stroke();
                }));
            });
        }
    });
    
    About Free Rider

  • An idea to get around the TAS ghost issue
    NessN Ness

    there’s a few different versions of TAS, using any tool outside of the game as it was meant to be played is considered TAS (tool-assisted speedrun).

    there’s a little bit of gray-area. using the spacebar to slow your movement for better reaction time is generally accepted as not cheating, slowing your game down with lag is more frowned upon, something like an auto-spacebar mod would be considered TAS. I imagine those are some of the most common forms. a wheelie section would not stop them in any physical sense, just in more of an honor system sense.

    as long as there’s a leaderboard, players will try to find a way to hack it. but pie and I have a few ideas for ghosting on fr.app that would shake things up a bit. the biggest priority would be making it fun and as fair as possible, so hopefully we can succeed at that

    Ghosts

  • track editor 1.1 rev. L: Layers!
    Pie42P Pie42

    @pawflix Thank you for the helpful bug reports! These should be fixed on https://pie42.github.io/frhd-editor/ now and will be fixed on fr.app once Ness wakes up and can update it.

    About Free Rider

  • track editor 1.1 rev. L: Layers!
    NessN Ness

    @HtH we want to fix your bug, but you'd have to give a more in-depth explanation of what is happening. if we can't replicate a bug, we can't fix it. could you could share the track code you are trying to import, or try to describe more about the situation?

    About Free Rider

  • track editor 1.1 rev. L: Layers!
    Pie42P Pie42

    Hello! I'm super excited to announce a new feature on fr.app: Layers!

    Much like the layers that you may be used to from almost any drawing program, these allow you separate out parts of your track to draw, erase, move, and do anything else to without interfering with the rest of your track. This revision also adds a new type of track code that allows for layer settings to be kept when exporting and importing tracks - although you can still get a version that's compatible with the base game using the 'Flatten' button in the export menu. Finally, the layers also support different colors! This is not their main intent, but I'm sure some people will be able to make really cool tracks with this feature.

    The main features can be accessed from a menu in the bottom right corner, next to the object menu:
    48899b3e-4dfe-4f74-83b9-cfcb98815572-image.png
    From this menu, you can change the current layer you're working on, change settings for the current name (including changing its name, changing line colors, and hiding it), add new layers, merge the current layer into another layer, and delete the current layer. Every track starts with a base layer (called 'Default') that can't be deleted, but can be renamed / recolored as you please.

    The update also adds more options to the eraser and select tools:
    4708c95f-ab1a-4bc6-830b-e0feebd91655-image.png
    These options allow you to chose which layers the current tool is working on, between the current layer, all visible layers, and all layers in the track. You can hover over each of these buttons to get a reminder of what they do.

    Finally, this update adds a button to the settings in the bottom left of the select tool that lets you move the current selection to a layer.

    Thank you very much to @mbcool for making all of the icons used in this update!

    As always, we would love to hear your feedback and suggestions on what to add! I'm sure that layers will keep changing rapidly in the coming months as I get Ness to do all of the hard coding work for me, so this is the perfect time to get a say in how the final feature turns out. Thank you as always for using the 1.1 track editor, and happy drawing!

    *note: layers are currently in a beta state, and may have undesired effects on tracks like autos that require specific physics interactions. please make sure to save often / create plenty of backups for any track you're creating, with or without layers.

    About Free Rider

  • Grok Rider HD
    NessN Ness

    @Pete are you there?

    About Free Rider

  • ZYCERAK THREAD
    NessN Ness

    @Pete octo wants you to write a scathing review of this post in the style of a movie critic: https://forum.freerider.app/topic/25/zycerak-thread/30?_=1766807710084

    Off-Topic

  • ZYCERAK THREAD
    Pie42P Pie42

    @Zycerak zycy i'm sorry i love your life updates but when i see a post this long i just ctrl+f the word 'pedo' and count the results

    Off-Topic

Member List

NessN Ness
E eryp
CoagerC Coager
Pie42P Pie42
  • Login

  • Don't have an account? Register

  • Login or register to search.
Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Tags
  • Recent
  • Popular
  • Users
  • Groups