Drawaria Movement Free - Open for Custom Mods

Adds movement only this is a Simplified version of Drawaria Mario Mod so you can make your custom mods

  1. // ==UserScript==
  2. // @name Drawaria Movement Free - Open for Custom Mods
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Adds movement only this is a Simplified version of Drawaria Mario Mod so you can make your custom mods
  6. // @author YouTubeDrawaria
  7. // @match https://drawaria.online/*
  8. // @grant none
  9. // @license MIT
  10. // @icon https://drawaria.online/avatar/cache/86e33830-86ea-11ec-8553-bff27824cf71.jpg
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. // Game Constants
  17. const GRAVITY = 0.5; // Simulates gravity (adjust as needed)
  18. const MAX_SPEED = 10; // Units/second
  19. const MIN_SPEED = 2; // Units/second
  20. const JUMP_HEIGHT = 15; // Units
  21.  
  22. // Avatar Properties
  23. let avatarX = 50;
  24. let avatarY = 50;
  25. let avatarVX = 0; // Horizontal velocity
  26. let avatarVY = 0; // Vertical velocity
  27. let isJumping = false;
  28.  
  29. // Keyboard State
  30. const keys = {};
  31.  
  32. // Function to handle movement
  33. function updateAvatar() {
  34. // 1. Apply Gravity
  35. avatarVY += GRAVITY;
  36.  
  37. // 2. Handle horizontal movement (keyboard input)
  38. if (keys['ArrowRight']) {
  39. avatarVX = Math.min(avatarVX + 0.5, MAX_SPEED);
  40. } else if (keys['ArrowLeft']) {
  41. avatarVX = Math.max(avatarVX - 0.5, -MAX_SPEED);
  42. } else {
  43. avatarVX *= 0.9; // Friction
  44. }
  45.  
  46. // 3. Handle jumping
  47. if (keys['ArrowUp'] && !isJumping) {
  48. avatarVY = -JUMP_HEIGHT;
  49. isJumping = true;
  50. }
  51.  
  52. // 4. Update Avatar Position
  53. avatarX += avatarVX;
  54. avatarY += avatarVY;
  55.  
  56. // 5. Collision Detection (simplified)
  57. if (avatarY > 768 - 50) { // Assuming ground level is at 768 - 50
  58. avatarY = 768 - 50;
  59. avatarVY = 0;
  60. isJumping = false;
  61. }
  62.  
  63. // 6. Boundary Check
  64. avatarX = Math.max(-900, Math.min(avatarX, 1024 + 100)); // Keep within bounds
  65. avatarY = Math.max(-350, Math.min(avatarY, 768 + 50));
  66.  
  67. // 7. Update visual representation (Draw the avatar)
  68. drawAvatar(avatarX, avatarY);
  69.  
  70. // Request next frame
  71. requestAnimationFrame(updateAvatar);
  72. }
  73.  
  74. // Function to handle keyboard input
  75. function handleKeyDown(event) {
  76. keys[event.key] = true;
  77. }
  78.  
  79. function handleKeyUp(event) {
  80. keys[event.key] = false;
  81. }
  82.  
  83. // Function to draw the avatar
  84. function drawAvatar(x, y) {
  85. const avatar = document.querySelector('#selfavatarimage');
  86. if (avatar) {
  87. avatar.style.transform = `translate(${x}px, ${y}px)`;
  88. avatar.style.border = 'none'; // Make border transparent
  89. avatar.style.boxShadow = 'none'; // Make box-shadow transparent
  90. }
  91. }
  92.  
  93. // Event listeners for keyboard input
  94. document.addEventListener('keydown', handleKeyDown);
  95. document.addEventListener('keyup', handleKeyUp);
  96.  
  97. // Start the game loop
  98. updateAvatar();
  99.  
  100. })();