Physics cursor: Difference between revisions
Jump to navigation
Jump to search
Guest-1052 (talk | contribs) (Created page with "<p> →Physics cursor script by fp, used for most physics parkour worlds. Often edited and also mixed with the improved Guest cursors script, Also often mixed with a ratelimit of 0 chars per second: keyConfig.cursorUp = ""; keyConfig.cursorDown = ""; keyConfig.cursorLeft = ""; keyConfig.cursorRight = ""; var backpressureX = 0; var backpressureY = 0; var velocityX = 0; var velocityY = 0; var keyLeft = false; var keyRight = false; var keyUp = false; document.addEventList...") |
Dat Hack3r (talk | contribs) m (IDK why that was there.) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
< | <syntaxhighlight lang="javascript" line> | ||
/* Physics cursor script by fp, used for most physics parkour worlds. Often | /* Physics cursor script by fp, used for most physics parkour worlds. Often combined with the improved Guest cursors script and used with a ratelimit of 0 chars per second. */ | ||
keyConfig.cursorUp = ""; | keyConfig.cursorUp = ""; | ||
keyConfig.cursorDown = ""; | keyConfig.cursorDown = ""; | ||
Line 13: | Line 13: | ||
var keyUp = false; | var keyUp = false; | ||
document.addEventListener("keydown", function(e) { | document.addEventListener("keydown", function(e) { | ||
if(checkKeyPress(e, "UP")) { | if (checkKeyPress(e, "UP")) { | ||
keyUp = true; | keyUp = true; | ||
} | } | ||
if(checkKeyPress(e, "LEFT")) { | if (checkKeyPress(e, "LEFT")) { | ||
keyLeft = true; | keyLeft = true; | ||
} | } | ||
if(checkKeyPress(e, "RIGHT")) { | if (checkKeyPress(e, "RIGHT")) { | ||
keyRight = true; | keyRight = true; | ||
} | } | ||
}); | }); | ||
document.addEventListener("keyup", function(e) { | document.addEventListener("keyup", function(e) { | ||
if(checkKeyPress(e, "UP")) { | if (checkKeyPress(e, "UP")) { | ||
keyUp = false; | keyUp = false; | ||
} | } | ||
if(checkKeyPress(e, "LEFT")) { | if (checkKeyPress(e, "LEFT")) { | ||
keyLeft = false; | keyLeft = false; | ||
} | } | ||
if(checkKeyPress(e, "RIGHT")) { | if (checkKeyPress(e, "RIGHT")) { | ||
keyRight = false; | keyRight = false; | ||
} | } | ||
}); | }); | ||
function tick() { | function tick() { | ||
backpressureY += velocityY + 0.7; | backpressureY += velocityY + 0.7; | ||
Line 39: | Line 40: | ||
backpressureX += velocityX; | backpressureX += velocityX; | ||
velocityX /= 1.2; | velocityX /= 1.2; | ||
if(keyLeft) velocityX -= 2; | if (keyLeft) velocityX -= 2; | ||
if(keyRight) velocityX += 2; | if (keyRight) velocityX += 2; | ||
if(keyUp) { | if (keyUp) { | ||
moveCursor("down"); | moveCursor("down"); | ||
var char = getChar(); | var char = getChar(); | ||
moveCursor("up"); | moveCursor("up"); | ||
if(char != " ") { | if (char != " ") { | ||
velocityY -= 3; | velocityY -= 3; | ||
} | } | ||
} | } | ||
if(!keyLeft && !keyRight && Math.abs(velocityX) > 0.5) velocityX = 0; | if (!keyLeft && !keyRight && Math.abs(velocityX) > 0.5) velocityX = 0; | ||
if (backpressureY >= 1) { | |||
if(backpressureY >= 1) { | |||
backpressureY %= 1; | backpressureY %= 1; | ||
moveCursor("down"); | moveCursor("down"); | ||
if(getChar() != " ") { | if (getChar() != " ") { | ||
moveCursor("up"); | moveCursor("up"); | ||
velocityY = 0; | velocityY = 0; | ||
} | } | ||
} else if(backpressureY <= -1) { | } else if (backpressureY <= -1) { | ||
backpressureY %= 1; | backpressureY %= 1; | ||
moveCursor("up"); | moveCursor("up"); | ||
if(getChar() != " ") { | if (getChar() != " ") { | ||
moveCursor("down"); | moveCursor("down"); | ||
velocityY = 0; | velocityY = 0; | ||
} | } | ||
} | } | ||
if(backpressureX >= 1) { | if (backpressureX >= 1) { | ||
backpressureX %= 1; | backpressureX %= 1; | ||
moveCursor("right"); | moveCursor("right"); | ||
if(getChar() != " ") { | if (getChar() != " ") { | ||
velocityX = 0; | velocityX = 0; | ||
moveCursor("left"); | moveCursor("left"); | ||
} | } | ||
} else if(backpressureX <= -1) { | } else if (backpressureX <= -1) { | ||
backpressureX %= 1; | backpressureX %= 1; | ||
moveCursor("left"); | moveCursor("left"); | ||
if(getChar() != " ") { | if (getChar() != " ") { | ||
velocityX = 0; | velocityX = 0; | ||
moveCursor("right"); | moveCursor("right"); | ||
} | } | ||
} | } | ||
} | }; | ||
setInterval(tick, 1000 / 30); | setInterval(tick, 1000 / 30); | ||
</ | </syntaxhighlight> | ||
[[Category:Scripts]] | [[Category:Scripts]] |
Latest revision as of 12:12, 20 November 2024
/* Physics cursor script by fp, used for most physics parkour worlds. Often combined with the improved Guest cursors script and used with a ratelimit of 0 chars per second. */
keyConfig.cursorUp = "";
keyConfig.cursorDown = "";
keyConfig.cursorLeft = "";
keyConfig.cursorRight = "";
var backpressureX = 0;
var backpressureY = 0;
var velocityX = 0;
var velocityY = 0;
var keyLeft = false;
var keyRight = false;
var keyUp = false;
document.addEventListener("keydown", function(e) {
if (checkKeyPress(e, "UP")) {
keyUp = true;
}
if (checkKeyPress(e, "LEFT")) {
keyLeft = true;
}
if (checkKeyPress(e, "RIGHT")) {
keyRight = true;
}
});
document.addEventListener("keyup", function(e) {
if (checkKeyPress(e, "UP")) {
keyUp = false;
}
if (checkKeyPress(e, "LEFT")) {
keyLeft = false;
}
if (checkKeyPress(e, "RIGHT")) {
keyRight = false;
}
});
function tick() {
backpressureY += velocityY + 0.7;
velocityY /= 1.2;
backpressureX += velocityX;
velocityX /= 1.2;
if (keyLeft) velocityX -= 2;
if (keyRight) velocityX += 2;
if (keyUp) {
moveCursor("down");
var char = getChar();
moveCursor("up");
if (char != " ") {
velocityY -= 3;
}
}
if (!keyLeft && !keyRight && Math.abs(velocityX) > 0.5) velocityX = 0;
if (backpressureY >= 1) {
backpressureY %= 1;
moveCursor("down");
if (getChar() != " ") {
moveCursor("up");
velocityY = 0;
}
} else if (backpressureY <= -1) {
backpressureY %= 1;
moveCursor("up");
if (getChar() != " ") {
moveCursor("down");
velocityY = 0;
}
}
if (backpressureX >= 1) {
backpressureX %= 1;
moveCursor("right");
if (getChar() != " ") {
velocityX = 0;
moveCursor("left");
}
} else if (backpressureX <= -1) {
backpressureX %= 1;
moveCursor("left");
if (getChar() != " ") {
velocityX = 0;
moveCursor("right");
}
}
};
setInterval(tick, 1000 / 30);