Results 1 to 2 of 2
  1. #1
    Cherry-'s Avatar
    Join Date
    May 2018
    Gender
    male
    Posts
    233
    Reputation
    10
    Thanks
    5,149
    My Mood
    Angelic

    Post How to add simple relax to osuAuto

    REQ:
    osu!
    Visual Studio
    osuAutoBot(Coderoffka) or smth without relax
    not have a 2 iq


    Tutorial:
    At first u should open a osuAuto project:

    time to tutorial!
    we need add only 2 lines to slider move, spinner and cursor move.

    Code:
    // WARNING: this function has been superseded. u can use SendInput but it simpler :)
    mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); // left mouse down,
     mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0); // left mouse up
    //or
    mouse_event(MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0); // right mouse down
    mouse_event(MOUSEEVENTF_RIGHTUP, x, y, 0, 0); // right mouse up
    At first u should add after includes:
    int x;
    int y;

    at second add click to spinner:
    Find SpinerCircleMove and just copy it or add manually..
    Code:
    void SpinerCircleMove(const HitObject* spiner)
    {
    	vec2f center{ 
    		spiner->getStartPosition().x * XMultiplier + OsuWindowX, 
    		spiner->getStartPosition().y * YMultiplier + OsuWindowY 
    	};
    	auto angle = static_cast<float>((M_PI));
    	float R = 70.0f;
    	while (SongTime <= spiner->getEndTime() && songStarted)
    	{
    		//angle = normalize_angle(angle);
    		float r = R * (sqrt2 / GetDelta(angle));
    		int x = static_cast<int>(r * cos(angle) + center.x);
    		int y = static_cast<int>(r * sin(angle) + center.y);
    		mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
    		SetCursorPos(x, y);
    		angle -= 0.056f;
    		this_thread::sleep_for(chrono::milliseconds(1));
    		mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    	}
    }

    Find SpiralMove and again just copy it or add manually.
    Code:
    void SpiralMove(HitObject* spiner)
    {
    	vec2f center = vec2f(spiner->getStartPosition().x * XMultiplier + OsuWindowX, spiner->getStartPosition().y * YMultiplier + OsuWindowY);
    	float angle = static_cast<float>((M_PI));
    	float R = 0.0f;
    	while (SongTime <= spiner->getEndTime() && songStarted)
    	{
    		int x = static_cast<int>(R * cos(angle) + center.x);
    		int y = static_cast<int>(R * sin(angle) + center.y);
    		mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
    		SetCursorPos(x, y);
    		angle -= 0.056f;
    		R += 0.2f;
    		this_thread::sleep_for(chrono::milliseconds(1));
    		mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    	}
    }

    At second add a click to slider:
    Find a SliderMove and just copy it or add manually.
    Code:
    void SliderMove(HitObject* slider)
    {
    	SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
    	while (SongTime <= slider->getEndTime() && songStarted)
    	{
    		mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
    		auto t = static_cast<float>(SongTime - slider->getStartTime()) / static_cast<float>(slider->getSliderTime());
    		auto pos = slider->getPointByT(t);
    		SetCursorPos(static_cast<int>((pos.x - slider->getStack() * StackOffset)* XMultiplier) + OsuWindowX, static_cast<int>((pos.y - slider->getStack() * StackOffset) * YMultiplier) + OsuWindowY);
    		this_thread::sleep_for(chrono::milliseconds(1));
    		mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    	}
    }

    And final add click to circle:
    Just copy or add manually.
    Code:
    void DancingMoveTo(const HitObject* object)
    {
    	POINT p;
    	GetCursorPos(&p);
    	auto p0 = vec2f(static_cast<float>(p.x), static_cast<float>(p.y));
    	auto p1 = vec2f((object->getStartPosition().x - StackOffset * object->getStack()) * XMultiplier + OsuWindowX, (object->getStartPosition().y - StackOffset * object->getStack())  * YMultiplier + OsuWindowY);
    	ang = -ang;
    	auto p2 = rotate(vec2f(p1 - p0) / 2.0f, ang + vectorAngle(p0, p1)) + p0;
    	//auto p3 = rotate(vec2f(p1 - p0) / 2.0f, ang - vectorAngle(p0, p1)) + p1;
    	auto dt = static_cast<float>(object->getStartTime() - SongTime);
    	while (SongTime < object->getStartTime() && songStarted)
    	{
    		auto t = (dt - static_cast<float>(object->getStartTime() - SongTime)) / dt;
    		auto B = bezier(vector<vec2f>{
    			p0, p2, /*p3,*/ p1
    		}, t);
    		SetCursorPos(static_cast<int>(B.x), static_cast<int>(B.y));
    		this_thread::sleep_for(chrono::milliseconds(1));
    	}
    	SetCursorPos(static_cast<int>(p1.x), static_cast<int>(p1.y));
    	mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
    	mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
    }

    Thanks for read.
    Last edited by Cherry-; 01-11-2019 at 12:05 PM. Reason: mistake

  2. The Following 2 Users Say Thank You to Cherry- For This Useful Post:

    JerryKazama (01-16-2019),Natsue (01-11-2019)

  3. #2
    Natsue's Avatar
    Join Date
    May 2017
    Gender
    male
    Location
    Somewhere in Thailand
    Posts
    54
    Reputation
    10
    Thanks
    39
    My Mood
    Relaxed
    Thank you, Cherry! Very cool!

  4. The Following 2 Users Say Thank You to Natsue For This Useful Post:

    Cherry- (01-11-2019),JerryKazama (01-16-2019)

Similar Threads

  1. How to add Winchester hack to my hack ?? (VB6)
    By floris12345! in forum Visual Basic Programming
    Replies: 7
    Last Post: 01-04-2008, 06:19 AM
  2. How to add a password?
    By str1k3r21 in forum Visual Basic Programming
    Replies: 1
    Last Post: 10-20-2007, 04:16 PM
  3. how to add picture in vb6 trainer problem!!
    By 123456789987654321 in forum WarRock - International Hacks
    Replies: 1
    Last Post: 06-09-2007, 11:47 AM
  4. [TUT] How to add Oriental/Korean Fonts
    By W$t$5TA34TYTHSETH5Y5 in forum WarRock Korea Hacks
    Replies: 2
    Last Post: 05-06-2007, 11:08 AM
  5. how to add pointers
    By ragman1234 in forum WarRock - International Hacks
    Replies: 1
    Last Post: 04-15-2007, 09:51 AM

Tags for this Thread