Jamlegend C++ Bot





  • Hatte gerade lust sowas zu basteln.

    Anpassen und zum laufen bekommen musste es aber selber, ist für die beatjam version. Hat noch ein paar kleine bugs (ka ob das am programm oder flash liegt) aber läuft generell schon recht gut. Ist eher ne kalibrierungssache. Habs unter 1280x1024 gebaut (opera).

    viel spass.

    // JamBot is a bot especially for http://www.jamlegend.com
    // it uses simple color detection for actions
    
    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    #include <utility>
    
    #define VK_1 0x31
    #define VK_2 0x32
    #define VK_3 0x33
    #define VK_4 0x34
    #define VK_5 0x35
    
    struct Vector2D
    {
    	Vector2D() {}
    	Vector2D(float x, float y)
    	{
    		this->x = x;
    		this->y = y;
    	}
    	float x, y;
    };
    
    struct Vector3D
    {
    	Vector3D() {}
    	Vector3D(float x, float y, float z)
    	{
    		this->x = x;
    		this->y = y;
    		this->z = z;
    	}
    	float x, y, z;
    };
    
    struct Button
    {
    	Button(COLORREF c, COLORREF hc, Vector2D p, Vector2D hp, int k)
    	{
    		color = c;
    		holdColor = hc;
    		pos = p;
    		holdPos = hp;
    		locktime = 0;
    		down = false;
    		key = k;
    	}
    
    	COLORREF color;
    	COLORREF holdColor;
    
    	Vector2D pos;
    	Vector2D holdPos;
    	unsigned long locktime;
    	bool down;
    	int key;
    };
    
    class Window
    {
    public:
    	Window()
    	{
    		hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
    		hWnd = FindWindow("OperaWindowClass", NULL);
    		Init();
    		Run();
    	}
    
    	~Window()
    	{
    		DeleteDC(hDC);
    	}
    private:
    	COLORREF GetColor(Vector2D pos, int rows , int cols)
    	{
    		Vector3D rgb;
    		int counter = 0;
    
    		if (rows == 0 || cols == 0)
    		{
    			return GetPixel(hDC, (int)pos.x, (int)pos.y);
    		}
    
    		// row oder col == 1 -> -1, 0, 1, == 2 -> -2, -1, 0, 1, 2
    		for (int y = -cols; y <= cols; y++)
    		{
    			for (int x = -rows; x <= rows; x++)
    			{
    				COLORREF color = GetPixel(hDC, (int)pos.x + x, (int)pos.y + y);
    
    				rgb.x += GetRValue(color);
    				rgb.y += GetGValue(color);
    				rgb.z += GetBValue(color);
    
    				counter++;
    			}
    		}
    
    		rgb.x /= counter;
    		rgb.y /= counter;
    		rgb.z /= counter;
    
    		return RGB(rgb.x, rgb.y, rgb.z);
    	}
    
    	void Init()
    	{
    		buttons.push_back(Button(RGB(255, 236, 136), RGB(255, 247, 51),  Vector2D(549, 480), Vector2D(552, 465), VK_1)); // gelb
    		buttons.push_back(Button(RGB(236, 148, 255), RGB(246, 96, 254),  Vector2D(589, 480), Vector2D(592, 465), VK_2)); // lila
    		buttons.push_back(Button(RGB(198, 255, 130), RGB(201, 255, 50),  Vector2D(629, 480), Vector2D(632, 465), VK_3)); // grün
    		buttons.push_back(Button(RGB(255, 146, 134), RGB(255, 97, 100),  Vector2D(669, 480), Vector2D(672, 465), VK_4)); // rot
    		buttons.push_back(Button(RGB(151, 211, 247), RGB(146, 246, 255), Vector2D(711, 480), Vector2D(712, 465), VK_5)); // blau
    	}
    
    	bool IsColorSimilar(COLORREF c1, COLORREF c2, int maxDistance)
    	{
    		byte r1 = GetRValue(c1);
    		byte r2 = GetRValue(c2);
    
    		byte g1 = GetGValue(c1);
    		byte g2 = GetGValue(c2);
    
    		byte b1 = GetBValue(c1);
    		byte b2 = GetBValue(c2);
    
    		// größer dem kleineren und kleiner dem größeren
    		if (r1 <= Clamp(r2 + maxDistance, 0, 255) && 
    			r1 >= Clamp(r2 - maxDistance, 0, 255) &&
    
    			g1 <= Clamp(g2 + maxDistance, 0, 255) &&
    			g1 >= Clamp(g2 - maxDistance, 0, 255) &&
    
    			b1 <= Clamp(b2 + maxDistance, 0, 255) &&
    			b1 >= Clamp(b2 - maxDistance, 0, 255))
    		{
    			return true;
    		}
    		return false;
    	}
    
    	bool HasToHold(Button &b)
    	{
    		COLORREF lineColor = GetColor(b.holdPos, 0, 0);
    
    		if (IsColorSimilar(lineColor, b.holdColor, 60))
    		{
    			return true;
    		}
    
    		return false;
    	}
    
    	void Run()
    	{
    		// better sleep
    		timeBeginPeriod(1);
    
    		while (true)
    		{
    			for(size_t i = 0; i < buttons.size(); i++)
    			{
    				Button &b = buttons[i];
    
    				COLORREF targetColor = GetColor(b.pos, 2, 1);
    
    				bool isSimilar = IsColorSimilar(targetColor, b.color, 30);
    
    				if (isSimilar && !b.down/* && (b.locktime + 90) < timeGetTime() */)
    				{
    					keybd_event(b.key, 0, 0, 0);
    					// press enter at the same time
    					//keybd_event(0xD, 0, 0, 0);
    					b.down = true;
    					b.locktime = timeGetTime();
    				}
    				else if(!isSimilar && b.down && /*(b.locktime + 50) < timeGetTime() && */!HasToHold(b))
    				{
    					//keybd_event(0xD, 0, KEYEVENTF_KEYUP, 0);
    					keybd_event(b.key, 0, KEYEVENTF_KEYUP, 0);					
    					b.down = false;
    				}
    			}
    
    			Sleep(10);
    		}
    	}
    
    	int Clamp(int val, int min, int max)
    	{
    		return max(min, min(val, max));
    	}
    
    	HDC hDC;
    	HWND hWnd;
    	std::vector<Button> buttons;
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Window wnd;
    	return 0;
    }
    


  • also wenn ich den code compilieren will kommen 37 errors ... ich benutze dev-c++
    hier ma der log

    Compiler: Default compiler
    Executing g++.exe...
    g++.exe "C:\Users\Philipp\Desktop\Untitled1.cpp" -o "C:\Users\Philipp\Desktop\Untitled1.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Users\Philipp\Desktop\Untitled1.cpp:4:21: stdafx.h: No such file or directory
    C:\Users\Philipp\Desktop\Untitled1.cpp:40: error: expected `)' before "c"

    C:\Users\Philipp\Desktop\Untitled1.cpp:51: error: COLORREF' does not name a type C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:52: error:COLORREF' does not name a type
    C:\Users\Philipp\Desktop\Untitled1.cpp:77: error: COLORREF' does not name a type C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:118: error: expected;' before '(' token
    C:\Users\Philipp\Desktop\Untitled1.cpp:144: error: expected ;' before "bool" C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:196: error:HDC' does not name a type
    C:\Users\Philipp\Desktop\Untitled1.cpp:197: error: HWND' does not name a type C:\\Users\\Philipp\\Desktop\\Untitled1.cpp: In constructorWindow::Window()':
    C:\Users\Philipp\Desktop\Untitled1.cpp:66: error: hDC' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:66: error: (Each undeclared identifier is reported only once for each function it appears in.) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:66: error:CreateDC' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:67: error: hWnd' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:67: error:FindWindow' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp: In destructor Window::~Window()': C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:74: error:hDC' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:74: error: DeleteDC' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp: In member functionvoid Window::Init()':
    C:\Users\Philipp\Desktop\Untitled1.cpp:111: error: `RGB' undeclared (first use this function)

    C:\Users\Philipp\Desktop\Untitled1.cpp: In member function bool Window::HasToHold(Button&)': C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:146: error:COLORREF' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:146: error: expected ;' before "lineColor" C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:148: error:lineColor' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:148: error: 'struct Button' has no member named 'holdColor'

    C:\Users\Philipp\Desktop\Untitled1.cpp:148: error: IsColorSimilar' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp: In member functionvoid Window::Run()':
    C:\Users\Philipp\Desktop\Untitled1.cpp:159: error: timeBeginPeriod' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:167: error:COLORREF' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:167: error: expected ;' before "targetColor" C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:169: error:targetColor' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:169: error: 'struct Button' has no member named 'color'
    C:\Users\Philipp\Desktop\Untitled1.cpp:169: error: IsColorSimilar' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:173: error:keybd_event' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp:177: error: `timeGetTime' undeclared (first use this function)

    C:\Users\Philipp\Desktop\Untitled1.cpp:182: error: KEYEVENTF_KEYUP' undeclared (first use this function) C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:187: error:Sleep' undeclared (first use this function)
    C:\Users\Philipp\Desktop\Untitled1.cpp: In member function int Window::Clamp(int, int, int)': C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:193: error:min' cannot be used as a function
    C:\Users\Philipp\Desktop\Untitled1.cpp:193: error: max' cannot be used as a function C:\\Users\\Philipp\\Desktop\\Untitled1.cpp: At global scope: C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:202: error:_TCHAR' has not been declared
    C:\Users\Philipp\Desktop\Untitled1.cpp:203: error: ISO C++ forbids declaration of `argv' with no type

    Execution terminated

    ich benutze dev-c++ erst seit kurzem .
    liegt es vielleicht am programm kennt ihr ein besseres??



  • Ja, z.B. Eclipse mit C++ plugin oder VisualStudio EE



  • Du brauchst die windows.h. Solltest du als erstes includen um Fehler zu vermeiden. Und musst gegebenenfalls auch noch die libs user32.lib und gdi32.lib linken.

    edit:
    Und die winmm.lib.



  • so hab jetzt windows.h included
    doch jetzt sind noch zwei errors da ..
    hier der log

    Compiler: Default compiler
    Executing g++.exe...
    g++.exe "C:\Users\Philipp\Desktop\Untitled1.cpp" -o "C:\Users\Philipp\Desktop\Untitled1.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Users\Philipp\Desktop\Untitled1.cpp: In member function `int Window::Clamp(int, int, int)':

    C:\Users\Philipp\Desktop\Untitled1.cpp:194: error: min' cannot be used as a function C:\\Users\\Philipp\\Desktop\\Untitled1.cpp:194: error:max' cannot be used as a function

    Execution terminated

    muss stdafx.h unbedingt included werden??



  • Dann fehlt dir noch ein Makro für min/max:

    #define max(a,b)	(((a) > (b)) ? (a) : (b))
    #define min(a,b)	(((a) < (b)) ? (a) : (b))
    


  • ok klappt aber jetzt neue fehler meldungen 😃 🙂

    LOG:

    (edit) jetzt siehts nur noch so aus :

    Compiler: Default compiler
    Building Makefile: "C:\Dev-Cpp\Makefile.win"
    Executing make...
    make.exe -f "C:\Dev-Cpp\Makefile.win" all
    g++.exe -c ../Users/Philipp/Desktop/main.cpp -o ../Users/Philipp/Desktop/main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"

    g++.exe ../Users/Philipp/Desktop/main.o -o "Project1.exe" -L"C:/Dev-Cpp/lib" -mwindows

    ../Users/Philipp/Desktop/main.o:main.cpp:(.text_ZN6Window3RunEv[Window::Run()]+0xf): undefined reference to `timeBeginPeriod@4' ../Users/Philipp/Desktop/main.o:main.cpp:(.text_ZN6Window3RunEv[Window::Run()]+0xe9): undefined reference to `timeGetTime@0'
    collect2: ld returned 1 exit status

    make.exe: *** [Project1.exe] Error 1

    Execution terminated



  • Sicher das du die "winmm.lib" gelinkt hast, kuck doch mal in den Projekt Einstellungen.

    In VisualStudio kann man es auch ganz einfach mit

    #pragma comment(lib, "winmm.lib")
    

    weißt nicht ob das bei anderen Compilern auch geht.



  • so habs geschafft ..
    es läuft

    👍 😃 😃 😃

    nur ma ne frage is der bot nicht vielleicht schneller wenn der nicht nach einer bestimmten farbe sucht sonder einfach wartet bis sich die grundfarbe verändert??
    weil die richtig harten songs bekommt der nicht hin
    aber der ist 1000 mal so gut wie der autoit bot 😃



  • Poste mal bitte ein paar links welche nicht gehen 🙂

    Weil sowas wie Airborne oder Flight of the Bumblebees hab ich zu 100% Hit.
    [edit]
    Auf Legendary



  • was 😮
    also bei mir schafft der bot bei flight of the bumblebee nur das intro dann kackt der ab 😃
    und an meinen laptop kanns nicht liegen da der eigentlich ganz gut ist 🙄
    und 100% kriegt der so gut wie nie da er manchmal auch bei total leichten noten nicht die taste sendet

    vielleicht hab ich den quelltext verändert hier ist er nochma :

    // JamBot is a bot especially for http://www.jamlegend.com 
    // it uses simple color detection for actions 
    
    #include "stdafx.h"
    #include <windows.h>
    #include <iostream> 
    #include <vector> 
    #include <utility>
    #pragma comment(lib, "winmm.lib")
    
    #define VK_1 0x31 
    #define VK_2 0x32 
    #define VK_3 0x33 
    #define VK_4 0x34 
    #define VK_5 0x35 
    
    struct Vector2D 
    { 
        Vector2D() {} 
        Vector2D(float x, float y) 
        { 
            this->x = x; 
            this->y = y; 
        } 
        float x, y; 
    }; 
    
    struct Vector3D 
    { 
        Vector3D() {} 
        Vector3D(float x, float y, float z) 
        { 
            this->x = x; 
            this->y = y; 
            this->z = z; 
        } 
        float x, y, z; 
    }; 
    
    struct Button 
    { 
        Button(COLORREF c, COLORREF hc, Vector2D p, Vector2D hp, int k) 
        { 
            color = c; 
            holdColor = hc; 
            pos = p; 
            holdPos = hp; 
            locktime = 0; 
            down = false; 
            key = k; 
        } 
    
        COLORREF color; 
        COLORREF holdColor; 
    
        Vector2D pos; 
        Vector2D holdPos; 
        unsigned long locktime; 
        bool down; 
        int key; 
    }; 
    
    class Window 
    { 
    public: 
        Window() 
        { 
            hDC = CreateDC(_T("DISPLAY"), NULL, NULL, NULL); 
            hWnd = FindWindow(_T("OperaWindowClass"), NULL); 
            Init(); 
            Run(); 
        } 
    
        ~Window() 
        { 
            DeleteDC(hDC); 
        } 
    private: 
        COLORREF GetColor(Vector2D pos, int rows , int cols) 
        { 
            Vector3D rgb; 
            int counter = 0; 
    
            if (rows == 0 || cols == 0) 
            { 
                return GetPixel(hDC, (int)pos.x, (int)pos.y); 
            } 
    
            // row oder col == 1 -> -1, 0, 1, == 2 -> -2, -1, 0, 1, 2 
            for (int y = -cols; y <= cols; y++) 
            { 
                for (int x = -rows; x <= rows; x++) 
                { 
                    COLORREF color = GetPixel(hDC, (int)pos.x + x, (int)pos.y + y); 
    
                    rgb.x += GetRValue(color); 
                    rgb.y += GetGValue(color); 
                    rgb.z += GetBValue(color); 
    
                    counter++; 
                } 
            } 
    
            rgb.x /= counter; 
            rgb.y /= counter; 
            rgb.z /= counter; 
    
            return RGB(rgb.x, rgb.y, rgb.z); 
        } 
    
        void Init() 
        { 
            buttons.push_back(Button(RGB(255, 236, 136), RGB(255, 247, 51),  Vector2D(549, 480), Vector2D(552, 465), VK_1)); // gelb 
            buttons.push_back(Button(RGB(236, 148, 255), RGB(246, 96, 254),  Vector2D(589, 480), Vector2D(592, 465), VK_2)); // lila 
            buttons.push_back(Button(RGB(198, 255, 130), RGB(201, 255, 50),  Vector2D(629, 480), Vector2D(632, 465), VK_3)); // grün 
            buttons.push_back(Button(RGB(255, 146, 134), RGB(255, 97, 100),  Vector2D(669, 480), Vector2D(672, 465), VK_4)); // rot 
            buttons.push_back(Button(RGB(151, 211, 247), RGB(146, 246, 255), Vector2D(711, 480), Vector2D(712, 465), VK_5)); // blau 
        } 
    
        bool IsColorSimilar(COLORREF c1, COLORREF c2, int maxDistance) 
        { 
            byte r1 = GetRValue(c1); 
            byte r2 = GetRValue(c2); 
    
            byte g1 = GetGValue(c1); 
            byte g2 = GetGValue(c2); 
    
            byte b1 = GetBValue(c1); 
            byte b2 = GetBValue(c2); 
    
            // größer dem kleineren und kleiner dem größeren 
            if (r1 <= Clamp(r2 + maxDistance, 0, 255) && 
                r1 >= Clamp(r2 - maxDistance, 0, 255) && 
    
                g1 <= Clamp(g2 + maxDistance, 0, 255) && 
                g1 >= Clamp(g2 - maxDistance, 0, 255) && 
    
                b1 <= Clamp(b2 + maxDistance, 0, 255) && 
                b1 >= Clamp(b2 - maxDistance, 0, 255)) 
            { 
                return true; 
            } 
            return false; 
        } 
    
        bool HasToHold(Button &b) 
        { 
            COLORREF lineColor = GetColor(b.holdPos, 0, 0); 
    
            if (IsColorSimilar(lineColor, b.holdColor, 60)) 
            { 
                return true; 
            } 
    
            return false; 
        } 
    
        void Run() 
        { 
            // better sleep 
            timeBeginPeriod(1); 
    
            while (true) 
            { 
                for(size_t i = 0; i < buttons.size(); i++) 
                { 
                    Button &b = buttons[i]; 
    
                    COLORREF targetColor = GetColor(b.pos, 2, 1); 
    
                    bool isSimilar = IsColorSimilar(targetColor, b.color, 30); 
    
                    if (isSimilar && !b.down/* && (b.locktime + 90) < timeGetTime() */) 
                    { 
                        keybd_event(b.key, 0, 0, 0); 
                        // press enter at the same time 
                        //keybd_event(0xD, 0, 0, 0); 
                        b.down = true; 
                        b.locktime = timeGetTime(); 
                    } 
                    else if(!isSimilar && b.down && /*(b.locktime + 50) < timeGetTime() && */!HasToHold(b)) 
                    { 
                        //keybd_event(0xD, 0, KEYEVENTF_KEYUP, 0); 
                        keybd_event(b.key, 0, KEYEVENTF_KEYUP, 0);                    
                        b.down = false; 
                    } 
                } 
              sleep (10);
    
            } 
        } 
    
        int Clamp(int val, int min, int max)
    


  • Meiner tut fast perfekt.

    Das einzige was Probleme macht sind die "Effekte", wenn die Taste getroffen wurde(Die sprüchen manchmal bis zu nächsten Taste und der Bot löst aus) und bei höher als Normal das die Bahn heller wird wenn man besser wird (und somit die Farbe anders ist und der Bot auslöst).
    edit: Nach 10 Streaks scheint es auch heller zu werden, zumindest der Bot löst aus. 😞

    Download:
    http://www.file-upload.net/download-1681432/JamLegend-Bot.exe.html

    Download Source:
    http://www.file-upload.net/download-1681439/JamLegend-Bot.rar.html

    Anleitung:
    -> Bot starten
    -> JamBot öffnen
    -> Song starten
    -> nach 3..2..1.. Pausieren (Mit Leertaste)
    -> Über Key 1 fahren Numblock 1 drücken, wenn die Taste kurtz aufleuchtet müsste alles tuen
    -> Selbes für andere Keys machen
    -> Keys die benötigt werden im Bot aktivieren
    -> Pause beenden und spielen (lassen)
    -> Am Ende "Ende" auf der Tastatur drücken um alle Keys zu deaktivieren

    Wie's funktioniert:
    Beim drücken der Numblock Taste wird die Position des Keys und dessen "Grund Farbe" bestimmt. Danach wird kurtz die Taste gedrückt um die Farbe beim gedrückt halten zu bestimmen.

    Ein Timer(100ms) prüft ob der Key weder die "Grund Farbe" noch die "Gedrückt Farbe" hat, wenn dies der Fall ist drückt er die Taste andern Falls, wenn sie noch gedrückt ist aber die Note vorbei ist("Gedrückt Farbe") lässt er die Taste wieder los.

    ScreenShot (Bot):
    http://www3.pic-upload.de/04.06.09/cmpbxe.png
    ScreenShot (JamLegend):
    http://www3.pic-upload.de/04.06.09/6oa87z.png



  • Hab mal versucht raus zu finden, wann der "out of sync" läuft. Das passiert nur sobald flash ausgelastet ist. Die Buttons werden noch immer zur richtigen zeit gedrückt (der hintergrund des zielfeldes wird farbig und der bubble ist direkt auf dem feld), aber flash sagt, das der druck nicht gezählt hat. Als falsch wird der aber auch nicht gewertet, ganz merkwürdig.



  • @SWW13 dein bot läuft anfangs ganz ok aber nach einigen minuten dreht er durch und drückt die key wild umsich obwohl keine noten kommen...

    aber die oberfläche ist sehr gut 😃





  • ahh also du bist der cheat0r
    wieso funzt der bei dir so gut und bei mir niocht
    hier ma nen video gucks dir ma an hatte kb es bei utube hochzujladen
    http://rapidshare.com/files/240778158/clip0026.avi.html



  • Wenn das in echt auch so ruckelt wie in dem video kannst du dir ja vorstellen wieso.



  • also das ist nur im video so könntest du vielleicht deine exe hochladen ich benutze auch opera aber hab vista 64 bit aber denke ma das geht auch ...
    wäre nett wenns hochlädst



  • das problem war dass ich vista 64 bit benutzt habe jetzt hab ich das ma auf xp 32 bit gemacht und schon viel besser aber die noten die ganz nah aneinander sind bei flight of the bumblebee trifft der nicht
    aber sonst so gut wie 100%
    👍

    [edit]

    ok 99% geht doch!!!
    in einem song bin ich schon besser als du 😃
    und nochma DANKE !!! für den code

    (sorry doppelpost)


Anmelden zum Antworten