Differences: Onetap v3 vs Onetap v3 Re:Run

The Onetap v3 Remastered Runtime is a project to make the onetap runtime better, remove code, simplify code and make it more intuitive.

If you ever need the original runtime for any reason, you can use the __reality module. (e.g. __reality.Entity.GetName(index))

Re:Run removes the Global module

The usage of the Global module was discouraged in our documentation and has been removed in Re:Run to simplify the runtime.

Re:Run adds proper Classes

Re:Run adds classes because Entity, Ragebot, or UI always need annoying arguments.

  • Reference()

    An instance of a Reference() class is a reference to an element in the Onetap UI and greatly removes unneeded code.

    // Normal runtime
    UI.AddCheckbox("Hello World");
    UI.GetValue("Misc", "JAVASCRIPT", "Script Items", "Hello World");  // -> true
    
    // Re:Run
    reference = UI.AddCheckbox("Hello World");
    reference.GetValue(); // -> true
    
    // reference to existing element
    reference = new Reference("Anti-Aim", "Fake-Lag", "Enabled");
    
  • Entity()

    An instance of an Entity() class is a reference to an entityindex.

    // Normal runtime
    players = Entity.GetPlayers();
    for (i = 0, len = players.length; i < len; i++) {
        player = players[i];
        Cheat.Print(Entity.GetName(player) + "\n");
    }
    
    // Re:Run
    players = Entities.GetPlayers();
    for (i = 0, len = players.length; i < len; i++) {
        player = players[i];
        Cheat.Print(player.GetName() + "\n");
    }
    
    // from entityindex
    player = new Entity(index);
    Cheat.Print(player.GetName() + "\n");
    

    Note

    The original Entity module has been renamed to Entities

  • Material()

    An instance of a Material() class is a reference to a material.

    // Normal runtime
    Material.Create("test");
    index = Material.Get("test");
    Material.SetKeyValue(index, "test", "test");
    Material.Refresh(index);
    Material.Destroy("test");
    
    // Re:Run
    material = Materials.Create("test")
    material.SetKeyValue("test", "test");
    material.Refresh();
    material.Destroy();
    
    // without Create()
    // both are equivalent
    material = new Material("test");
    material = Materials.Get("test");
    
  • Vector2(), Vector3(), Angles(), RGBA()

    All functions will return the appropiate instance of either Vector2(), Vector3(), Angles() or RGBA() if it makes sense.

Re:Run simplifies Callbacks

Instead of having to create your callback function as a global variable, why not give it directly to Cheat.RegisterCallback ?

// Normal runtime
function onCreateMove() {
    // called every tick
};
Cheat.RegisterCallback("CreateMove", "onCreateMove");

// Re:Run
Cheat.RegisterCallback("CreateMove", function() {
    // called every tick
})

Re:Run also includes an exception handler for callbacks, because Onetap silently eats all errors in callbacks.

// Normal runtime
function onCreateMove() {
    throw new Error("Hello World");  // throw an error
};
Cheat.RegisterCallback("CreateMove", "onCreateMove");
// silently eats all errors

// Re:Run
Cheat.RegisterCallback("CreateMove", function() {
    throw new Error("Hello World");  // throw an error
})
// in console: [Onetap Re:Run] Error occured in CreateMove callback: Hello World