Перейти к содержанию

ШАРИК

Пользователи
  • Постов

    220
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные ШАРИК

  1. 1 час назад, MasterGH сказал:

     

    Давай переформулируем вопрос.

    Кто хочет принять участие в решении вопроса?

    Кто хочет узнать как плавно перемещать объекты за курсом мышки?

    Кто  хотел бы увидеть решение?

    да тут хоть обпереформулируйся !11

  2. 34 минуты назад, MasterGH сказал:

     

    На плавность влияет расчет дельты между кадрами рисования.

    Позиция круга = (Позиция круга, Позиция курсора, Time.dtltaTime * speed)

     

    gameObject.position = MoveTowards(gameObject.position, mouse.Position, Time.dtltaTime * speed)

     

      Скрыть содержимое
    
    
    public static Vector2 MoveTowards(Vector2 current, Vector2 target, float maxDistanceDelta)
    {
    	Vector2 a = target - current;
    	float magnitude = a.magnitude;
    	Vector2 result;
    	if (magnitude <= maxDistanceDelta || magnitude == 0f)
    	{
    		result = target;
    	}
    	else
    	{
    		result = current + a / magnitude * maxDistanceDelta;
    	}
    	return result;
    }
    public float magnitude
    {
    	get
    	{
    		return Mathf.Sqrt(this.x * this.x + this.y * this.y);
    	}
    }                                   
                                        

     

     

    Спасибо )Пришлось чуточку переписать . Но почему-то объект просто телепортируется , хотя я sleep для теста поставил
    Так вот переделал:
     

    Скрытый текст
    
    
    float magnitudee(int x, int y)
    {
    
    
    	return sqrt(x * x + y * y);
    
    }
     int MoveTowards(int current, int target, float maxDistanceDelta)
    {
    	 int a = target - current;
    	int magnitude = magnitudee(current, target);
    	int result;
    	if (magnitude <= maxDistanceDelta || magnitude == 0)
    	{
    		result = target;
    	}
    	else
    	{
    		result = current + a / magnitude * maxDistanceDelta;
    	}
    	return result;
    }

     

    Так вызываю:

    Скрытый текст
    
    
    				x = MoveTowards(foo.x - (size / 2), x,1);
    				y = MoveTowards(foo.y - (size / 2), y ,1);

     

     

  3. 24 минуты назад, what228 сказал:

    Полное название игры напиши и если это пиратка то имя репакера и версию.
    А так тебе могут лишь сказать ищи изменилось\не изменилось или уменьшилось\не изменилось.

    Игра wormix в соц сетях

  4. 19 минуту назад, 2zolo2 сказал:

    Так через CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, TH32CS_SNAPMODULE(MODULEENTRY32>szModule, MODULEENTRY32>th32ProcessID)) перебираешь все процессы и находишь dll webplayer_win, и выводишь их, если их несколько.

    Не .Всё равно не то...Тут наверно надо перехватить функцию девайса , в которой есть hwnd .То есть present .
    Перебор окон тут не зарешает крч.

  5. Как жаль , что никто меня даже не хочет понимать ...dll может быть загружена в разные процессы .У которых окна с разными названиями и количество их может быть больше 10...Будь всё так просто ,как вы думаете, стал бы я спрашивать ?:blink:

  6. 15 минуту назад, partoftheworlD сказал:

    Упакуй это на нажатие клавиши, после инжекта перейдешь к игре, нажмешь кнопку и получишь hwnd который тебе нужен. Да-да костыли, но первое что пришло в голову. Можешь еще перебрать окна через EnumWindows.

    Проще уже будет найти D3DPRESENT_PARAMETERS в памяти процесса .Он где-то рядом с LPDIRECT3DDEVICE9(по моему мнению...). Найдя его можно получить hwnd окна с девайсом ...

  7. 17 час назад, keng сказал:

    Еще можно психануть и в dll unload код закрытия формочки и потока поместить.

    Ладно .С этим потом .Как мне в dll впихнуть  ImGui_ImplDX9_Init(hwnd, g_pd3dDevice);  Проблема в том , что я не знаю hwnd окна процесса, в который будет загружена dll.
    Как можно получить этот Hwnd ?

  8. 4 минуты назад, Taiwan сказал:

    Конечно не закроется, если нет никаких условий:-D Она сама по себе не закроется - так как форма создается в отдельном потоке. юзай - "Close()" или "Terminate()" или отправляй сообщение форме о её закрытии. тут вариантов хоть одним местом жуй.

    ето и ежу понятно .Как сделать так , чтобы окно принадлежало самому процессу и закрывалось вместе с ним?

  9. 38 минуты назад, 2zolo2 сказал:

    ШАРИК, а ты закрываешь окно, когда закрываешь dll?

     

    DLL_PROCESS_DETACH ,  DLL_THREAD_DETACH

     

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspx

    я закрываю процесс с dll , которая создаёт окно .Но после этого созданное окно остаётся .

  10. Здравствуйте .Я решил сделать такую штуку , типа dll с формой.Когда загружаешь dll в процесс , то создаётся форма , которую я заранее слепил в конструкторе форм.
    Это я сделал , но когда процесс с dll завершён , то форма всё равно остаётся (((
    Как сделать так , чтобы форма закрывалась тогда , когда процесс завершён?
    Код:

    Скрытый текст
    
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
      try
    	{
    		Application->Initialize();
    		Application->MainFormOnTaskBar = true;
    		Application->CreateForm(__classid(TForm1), &Form1);
    		Application->Run();
    	}
    	catch (Exception &exception)
    	{
    		Application->ShowException(&exception);
    	}
    	catch (...)
    	{
    		try
    		{
    			throw Exception("");
    		}
    		catch (Exception &exception)
    		{
    			Application->ShowException(&exception);
    		}
    	}
    	return 0;
    }

     

    Скрытый текст

    uBG0WCk27gU.jpg9NeJGTd23Pk.jpg

     

     

  11. 5 минут назад, lizzmack сказал:

    Или я под вечер не соображаю, адрес шарика, и адреса с UC - тоже работают, но программа все еще ни в какую. не туда может тыкаю этими адресами?
    адрес тыкаю в 

      Показать содержимое

    private void SetupEnemyVars()
            {
                PlayerData En1 = new PlayerData();
                En1.baseAddress = MyProcess[0].MainModule.BaseAddress.ToInt32() + 0x00110D90;
                En1.multiLevel = enOneMultiLvl;
                En1.offsets = MainPlayer.offsets;
                EnemyAddresses.Add(En1);

            }

    и что-то мне подсказывает, что я делаю не так.

    скорее всего цепочку указателей читаешь неправильно .Для начала просто выведи в консоль координаты игроков.

  12. Скрытый текст

    hp
    adress = 0050F4F4
    offset = F8

    coords
    z = 0050F4F4 offset = 3C
    x = 0050F4F4 offset = 34
    y = 0050F4F4 offset = 38

    player
    hp

    base = "ac_client.exe"+00110D90
    OFFSET1 = F8
    OFFSET2 = 0

    coords
    z = 00510D90 offset = 38 -> 0
    x = 00510D90 offset = 34 -> 0
    y = 00510D90 offset = 3C -> 0

    кол-во игроков -> 0050F500
    оффсет между игроками = 4

    оффсеты , которые юзал я .Батюшки !!!


    У тебяж си шурп . плин...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.