Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2017, 16:49   #1
AniGeek
Пользователь
 
Регистрация: 23.02.2017
Сообщений: 33
Восклицание Нужно обмозговать - сделать SlowAim (замедление указателя мыши при наведении на цель) для CS:GO

Доброго времени суток!

Вот участок кода, работающий Trigger для CS:GO

Код:
while (GetAsyncKeyState(18))
	{

	// Read the information about the player
	myPlayer.ReadInfo();

	// If our player is dead, do not continue
	if (!myPlayer.isAlive)
		return;

	int id = myPlayer.CrossHairID - 1;

	// If incorrect, the opponent does not continue
	if (id <= 0 || id > 64)
		return;

	// Read information about the purpose
	otherPlayer[id].ReadInfo(id);

	// If the target is a Ghost or dead, do not continue
	if (otherPlayer[id].dormant || !otherPlayer[id].isAlive)
		return;

	//If we do not shoot at allies, do not continue
	if (myPlayer.team == otherPlayer[id].team)
		return;

	mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
	Sleep(20);
	mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
	}
Коротко! Если зажата кнопка Alt то при наведении прицела на противника, происходит выстрел!

А вот моя попытка, сделать SlowAim по примеру кода приведённого выше
Код:
float CsSense = csgo.Read<float>(dwClient + sensitivity);

	//  Read the information about the player
	myPlayer.ReadInfo();

	//  If our player is dead, do not continue
	if (!myPlayer.isAlive)
		return;

	int id = myPlayer.CrossHairID - 1;

	// If incorrect, the opponent does not continue
	if (id <= 0 || id > 64)
		return;

	// Read information about the purpose
	otherPlayer[id].ReadInfo(id);

	// If the target is a Ghost or dead, do not continue
	if (otherPlayer[id].dormant || !otherPlayer[id].isAlive)
		return;

	//If we do not shoot at allies, do not continue
	if (myPlayer.team == otherPlayer[id].team)
		return;
	{
		csgo.Write<float>(dwClient + sensitivity, 10 + .0f);
		Sleep(10);
		csgo.Write<float>(dwClient + sensitivity, CsSense + .0f);
	}
Вот ссылка на .gif изображение. Тут прекрасно видно как должен работать код.

А конкретно! При наведение на противника, скорость мыши (в игре) опускается до минимума! А когда противника перед прицелом нет, скорость мыши обычная!

Сохраняем нормальную скорость мыши
Код:
float CsSense = csgo.Read<float>(dwClient + sensitivity);
Замедляем скорость мыши
Код:
csgo.Write<float>(dwClient + sensitivity, 10 + .0f);
Восстанавливаем нормальную скорость
Код:
csgo.Write<float>(dwClient + sensitivity, CsSense + .0f);
У МЕНЯ ВСЁ РАБОТАЕТ !!!!!!
ПЕРЕПРОБОВАЛ 9999999 КОМБИНАЦИЙ IF, WHILE ВСЕ !!!! У МЕНЯ ВСЁ РАБОТАЕТ!!!!!

НО! Стоит скинуть чит людям и у них эта функция работает не корректно!

Скорость не замедляется! А увеличивается !!!!!!!
Уже третий день бодаюсь с этой проблемой

ВОТ! Я даже скрины сделал!
Противник перед прицелом / Нет противника перед прицелом




Почему это не работает у других людей??????????

Последний раз редактировалось AniGeek; 23.06.2017 в 17:19. Причина: Дополнение
AniGeek вне форума Ответить с цитированием
Старый 23.06.2017, 17:32   #2
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Если запись и чтения параллельны в программе (потоки), то такое может быть да...нужна синхронизация тогда (ну или слип побольше, что все же не решит проблему - при каком-то числе процессоров будут сбои) + чтение рядом с записью:

Код:
{
float CsSense = csgo.Read<float>(dwClient + sensitivity);		
   csgo.Write<float>(dwClient + sensitivity, 10f);
		Sleep(20);
		csgo.Write<float>(dwClient + sensitivity, CsSense);
	}
Идеально, нужно после кажой записи/чтения ждать подвтерждение ее окончания (синхронизация), кроме последней наверно. Но как это там у вас делается я хз.

Последний раз редактировалось alexzk; 23.06.2017 в 17:38.
alexzk вне форума Ответить с цитированием
Старый 23.06.2017, 17:49   #3
AniGeek
Пользователь
 
Регистрация: 23.02.2017
Сообщений: 33
По умолчанию

Если поставить Sleep(20+) то играть не удобно!
Противник убежал из прицела, а ваша скорость мыши осталась маленькой!

Я пытался сделать так!
Цитата:
float CsSense = csgo.Read<float>(dwClient + sensitivity);

// Read the information about the player
myPlayer.ReadInfo();

// If our player is dead, do not continue
if (!myPlayer.isAlive)
return;

int id = myPlayer.CrossHairID - 1;

// If incorrect, the opponent does not continue
if (id <= 0 || id > 64)
return;

// Read information about the purpose
otherPlayer[id].ReadInfo(id);

// If the target is a Ghost or dead, do not continue
if (otherPlayer[id].dormant || !otherPlayer[id].isAlive)
return;

//If we do not shoot at allies, do not continue
if (myPlayer.team == otherPlayer[id].team)
{
csgo.Write<float>(dwClient + sensitivity, 10 + .0f);
}
else if (myPlayer.team != otherPlayer[id].team)
{
csgo.Write<float>(dwClient + sensitivity, CsSense + .0f);
}
Но так! Даже у меня не работает =(
AniGeek вне форума Ответить с цитированием
Старый 23.06.2017, 18:04   #4
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

попробуйте просто соединить чтение и запись, как у меня, пусть слип 10 пока...
alexzk вне форума Ответить с цитированием
Старый 23.06.2017, 18:38   #5
AniGeek
Пользователь
 
Регистрация: 23.02.2017
Сообщений: 33
По умолчанию

ОГРОМНОЕ СПАСИБО !!!!!
Заработало, НЕ ТОЛЬКО У МЕНЯ !!!

Код:
	// Читаем информацию об игроке
	myPlayer.ReadInfo();

	// Если наш игрок мёртв, не продолжать
	if (!myPlayer.isAlive)
		return;

	int id = myPlayer.CrossHairID - 1;

	// If incorrect, the opponent does not continue
	if (id <= 0 || id > 64)
		return;

	// Read information about the purpose
	otherPlayer[id].ReadInfo(id);

	// If the target is a Ghost or dead, do not continue
	if (otherPlayer[id].dormant || !otherPlayer[id].isAlive)
		return;

	//If we do not shoot at allies, do not continue
	if (myPlayer.team == otherPlayer[id].team)
		return;
	{
		float CsSense = csgo.Read<float>(dwClient + sensitivity);
		csgo.Write<float>(dwClient + sensitivity, 1 + .0f);
		Sleep(10);
		csgo.Write<float>(dwClient + sensitivity, CsSense + .0f);
	}
Где буду публиковать чит, буду писать "Спасибо alexzk за помощь с SlowAim"
AniGeek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замедление флеш-ролика при наведении мыши Nikirinka JavaScript, Ajax 10 25.01.2012 10:00
мигание TLabel при наведении указателя skalt12 Общие вопросы Delphi 16 22.08.2010 12:12
Увеличение изображения при наведении указателя Savato HTML и CSS 2 07.10.2009 22:39
Изменение вида Image при наведении указателя Сергей А Помощь студентам 3 05.08.2007 15:26
Как сделать чтоб грузилась 2-ая картинка при наведении указателя? Roof Помощь студентам 5 02.08.2007 12:08