1. Domixz

    Domixz New Member

    Domixz
    VIP
    Messages:
    3
    the feather item should break when you're out of double jumps. it would be easier to tell when you're out instead of running with the feather of hope, realizing that you're out only when it's too late. it isn't that game changing but it would make it easier to tell when you have to play more carefully.
     
    #1
    • Useful Useful x 3
    • Like Like x 2
    • Agree Agree x 1
  2. I actually believe that would be a great addition to the game! I can relate to thinking I have more double jumps, but I don't. I usually just keep an eye on the top right, where it shows how many double jumps you have left. Although, there are perks you can purchase with coins that boost the maximum amount of double jumps you get per game. :p
     
    #2
    • Useful Useful x 1
  3. Hysea

    Hysea Well-Known Member

    Hysea
    MVP+
    ProfoundMinds PFM
    Member
    Messages:
    1,145
    #3
    • Funny Funny x 1
    • Useful Useful x 1
  4. Lol
     
    #4
    • Useful Useful x 1
  5. easier to just use your spacebar, the feather the most useless feature added to the gamemode
     
    #5
    • Agree Agree x 6
    • Useful Useful x 1
  6. Wolf

    Wolf Well-Known Member

    Messages:
    14,792
    Good idea, but you probably shouldn't use the feather anyways.
     
    #6
    • Agree Agree x 1
    • Useful Useful x 1
  7. I usually use the spacebar as well. :p Although, there is nothing wrong with using the feather :p
     
    #7
    • Useful Useful x 1
  8. The feather is probably the worst addition to the game as it’s extremely unreliable in bad conditions and can cause you to dramatically lose.
     
    #8
    • Useful Useful x 1
  9. Hysea

    Hysea Well-Known Member

    Hysea
    MVP+
    ProfoundMinds PFM
    Member
    Messages:
    1,145
    There is something wrong with using it. Using the space bar, you will already be one block+ above the ground before activating your space bar a second time. That means you lose one block of efficiency by using the feather.

    You could jump before using the feather, but that ruins its main point: reducing the amount of entries you need to dj.

    However, the feather is kind of a game changer if you use it while you're already in the air (because you can't jump in the air). Being able to spam the feather reduces the amount of time between djs - due to our inability to match the imprecise and ping dependant cool down - and as a result, I can save 1 dj between layers on some bow spleef maps.

    The feather isn't a bad addition. You just have to use it properly.
     
    #9
    Last edited: Oct 30, 2019
    • Agree Agree x 1
    • Useful Useful x 1
  10. I totally agree! :p
     
    #10
    • Like Like x 1
    • Useful Useful x 1
  11. This is not exactly what you're looking for but that may interest you: http://chattriggers.com/modules/LowDoubleJumpWarning

    (I can't log in the website and update the module with the new scoreboard layout, rip)
    Code:
    var xPosOfDJwarning = Number(FileLib.read("LowDoubleJumpWarning", "savedXPosOfDJwarning.txt")) /* Default value: 670 */
    var yPosOfDJwarning = Number(FileLib.read("LowDoubleJumpWarning", "savedYPosOfDJwarning.txt")) /* Default value: 157 */
    
    var redWarningSign = new Text("\u26A0", 670, 157).setColor(Renderer.RED).setScale(2.5).setShadow(true);
                                    /* "\u26A0" is the unicode for the warning sign symbol */
    var whiteWarningSign = new Text("\u26A0", 670, 157).setColor(Renderer.WHITE).setScale(2.5).setShadow(true);
    
    var warningSymbolShown = true;
    
    register("renderOverlay", function showWarningSignWhenInGUI() {
        if (djWarningGUI.isOpen() && warningSymbolShown) {
            redWarningSign.draw();
        }
    });
    
    register("renderOverlay", "BowSpleefWarningSign");
    function BowSpleefWarningSign() {
        /* Check that the module is toggled on */
        if (warningSymbolShown) {
            /* Check that the user is in a Bow Spleef server */
            if (ChatLib.removeFormatting(Scoreboard.getTitle()) === "BOW SPLEEF") {
                /* Check that the user is currently in the playing area of Bow Spleef
                in multiple languages (EN, NL & GE) */
                if (Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Triple Shot:") ||
                    Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Dreifach-Schuss:") ||
                    Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Driedubbel Schot")) {
                    /* Check that the user has 3 or less double jumps left */   
                    if ((ChatLib.removeFormatting(Scoreboard.getLineByIndex(10))).toString().contains("Double Jump: 3") ||
                        (ChatLib.removeFormatting(Scoreboard.getLineByIndex(10))).toString().contains("Double Jump: 2") ||
                        (Scoreboard.getLineByIndex(10)).toString().contains("Double Jump: \u00A7e1") ) {
                            
                            redWarningSign.draw();
                    }
    
                }
            }
        }
    }
    
    register("renderOverlay", "TNTRunWarningSign");
    function TNTRunWarningSign() {
        /* Check that the module is toggled on */
        if (warningSymbolShown) {
            /* Check that the user is in a TNT Run server */
            if (ChatLib.removeFormatting(Scoreboard.getTitle()) === "TNT RUN") {
                /* Check that the user is currently playing TNT Run */
                if (Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Duration:")) {
                    /* Check that the user has 3 or less double jumps left */   
                    if ((ChatLib.removeFormatting(Scoreboard.getLineByIndex(7))).toString().contains("Double Jump: 3") ||
                        (ChatLib.removeFormatting(Scoreboard.getLineByIndex(7))).toString().contains("Double Jump: 2") ||
                        (Scoreboard.getLineByIndex(7)).toString().contains("Double Jump: \u00A7e1") ) {
                            
                            redWarningSign.draw();
                    }
    
                }
            }
        }
    }
     
    register("renderOverlay", "BowSpleefAnimatedWarningSign");
    function BowSpleefAnimatedWarningSign() {
        /* Check that the module is toggled on */
        if (warningSymbolShown) {
            /* Check that the user is in a Bow Spleef server */
            if (ChatLib.removeFormatting(Scoreboard.getTitle()) === "BOW SPLEEF") {
                /* Check that the user is currently in the playing area of Bow Spleef */
                if (Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Triple Shot:") ||
                    Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Dreifach-Schuss:") ||
                    Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Driedubbel Schot")) {
                    /* Check that the user has 0 double jumps left */   
                    if ((ChatLib.removeFormatting(Scoreboard.getLineByIndex(10))).toString().contains("Double Jump: 0")) {
                        /* Use a Random Number Generator to "animate" the warning symbol by randomly changing its color between white and red
                        (where white appears much less frequently than red) */
                        if (Math.floor(Math.random() * 256) < 250) {
                            redWarningSign.draw();
                        }
                        else {
                            whiteWarningSign.draw();
                        }
                    }
                }
            }
        }
     }
     
    register("renderOverlay", "TNTRunAnimatedWarningSign");
    function TNTRunAnimatedWarningSign() {
        /* Check that the module is toggled on */
        if (warningSymbolShown) {
            /* Check that the user is in a TNT Run server */
            if (ChatLib.removeFormatting(Scoreboard.getTitle()) === "TNT RUN") {
                /* Check that the user is currently playing TNT Run */
                if (Scoreboard.getLines().size() > 10 && Scoreboard.getLineByIndex(10).toString().contains("Duration:")) {
                    /* Check that the user has 0 double jumps left */   
                    if ((ChatLib.removeFormatting(Scoreboard.getLineByIndex(7))).toString().contains("Double Jump: 0")) {
                        /* Use a Random Number Generator to "animate" the warning symbol by randomly changing its color between white and red
                        (where white appears much less frequently than red) */
                        if (Math.floor(Math.random() * 256) < 250) {
                            redWarningSign.draw();
                        }
                        else {
                            whiteWarningSign.draw();
                        }
                    }
                }
            }
        }
     }
    
    register("clicked", function lowDJwarningClick(mouseX, mouseY, mouseButton) {
        if (djWarningGUI.isOpen()) {
            if (mouseButton === 0) { /* left click */
                if (xPosOfDJwarning <= mouseX && mouseX < xPosOfDJwarning + 22 && yPosOfDJwarning <= mouseY && mouseY < yPosOfDJwarning + 22) { /* check that the text is clicked */
                    clickedOnTheWarningSymbol = true;
                }
                else {
                    clickedOnTheWarningSymbol = false;
                }
            }
        }
    });
     
    register("dragged", function lowDJwarningDrag(dx, dy) {
        if (djWarningGUI.isOpen()) {
            if (clickedOnTheWarningSymbol) {
                xPosOfDJwarning += dx
                yPosOfDJwarning += dy
                redWarningSign.setX(xPosOfDJwarning).setY(yPosOfDJwarning);
                whiteWarningSign.setX(xPosOfDJwarning).setY(yPosOfDJwarning);
            }
        }
    });
    
    register("gameUnload", function saveCoordsOfLowDJwarning() {
        FileLib.write("LowDoubleJumpWarning", "savedXPosOfDJwarning.txt", xPosOfDJwarning);
        FileLib.write("LowDoubleJumpWarning", "savedYPosOfDJwarning.txt", yPosOfDJwarning);
    });
    
    
    var djWarningGUI = new Gui();
    djWarningGUI.registerDraw("renderingTheDJwarningGUI");
    djWarningGUI.registerClicked("ClickedOnTheDJwarningGUI");
    
    var djWarningGUIStringSettingToBeRendered = new Text("Warning Symbol when Low on Double Jumps: " + warningSymbolShown.toString().replace("true", "ON").replace("false", "OFF"),
        (Renderer.screen.getWidth()/2-120)+120, (Renderer.screen.getHeight()/2 - 10)+5).setAlign("center").setShadow(true);
    
    function ClickedOnTheDJwarningGUI(MouseX, MouseY, MouseButton) {
        /* Detect if the user clicked on the button of the djWarningGUI
        by checking the position of the click to the coords of the button */
        if (Renderer.screen.getWidth()/2-120 <= MouseX
        && MouseX <= (Renderer.screen.getWidth()/2 - 120) + 240
        && Renderer.screen.getHeight()/2 - 10 <= MouseY
        && MouseY <=  (Renderer.screen.getHeight()/2 - 10) + 20) {
            warningSymbolShown = !warningSymbolShown;
            World.playSound("gui.button.press", 1, 1);
            
            /* Updating the button text with the new toggle setting */
            djWarningGUIStringSettingToBeRendered.setString("Warning Symbol when Low on Double Jumps: " + warningSymbolShown.toString().replace("true", "ON").replace("false", "OFF"));
        }
    }
    
    function renderingTheDJwarningGUI(MouseX, MouseY, MouseButton) {
            /* Detect if the user hovered on the button of the djWarningGUI
        by checking the position of the mouse to the coords of the button */
        if (Renderer.screen.getWidth()/2-120 <= MouseX
        && MouseX <= (Renderer.screen.getWidth()/2 - 120) + 240
        && Renderer.screen.getHeight()/2 - 10 <= MouseY
        && MouseY <=  (Renderer.screen.getHeight()/2 - 10) + 20) {
            Renderer.drawRect(
                Renderer.color(25,25,60,200),
                Renderer.screen.getWidth()/2-120, Renderer.screen.getHeight()/2 - 10,
                240, 20
            );
            djWarningGUIStringSettingToBeRendered.setColor(Renderer.color(255,255,160));
        }
        else {
            Renderer.drawRect(
                Renderer.color(25,25,25,200),
                Renderer.screen.getWidth()/2-120, Renderer.screen.getHeight()/2 - 10,
                240, 20
            );
            djWarningGUIStringSettingToBeRendered.setColor(Renderer.color(224,224,224));
        }
        djWarningGUIStringSettingToBeRendered.draw();
    }
    
    register("command", function OpenGui() {
        djWarningGUI.open()
    }).setName("djwarning");
     
    #11
    Last edited: Oct 30, 2019
    • Like Like x 1
    • Useful Useful x 1
  12. i wish that spacebar wouldnt cause so much lag that you take 4 double jumps to get up a layer and not 2 :(

    i agree with @Vershul tho
     
    #12
  13. rurty

    rurty Active Member

    rurty
    MVP+
    Allied ALLIED
    Member
    Messages:
    339
    That’s actually a great idea
     
    #13
  14. noice idea i support
     
    #14

Share This Page