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

ivan96222

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

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

  • Посещение

  • Победитель дней

    1

Весь контент ivan96222

  1. Тогда еще от меня вопрос, я C# тренеры делал тут приходится делать бесконечность через таймер, А штатным средством CE замораживает значение не так?
  2. На какую кнопку можно заморозить выделенные адреса? Выделено 100 штук... Оказалось надо жать на пробел.
  3. protected override void WndProc(ref Message m) { const int WM_NCLBUTTONDOWN = 0x00A1; //Из прошлой статьи я показывал как делать форму прозрачной при перемешение const int WM_MOUSEMOW = 0x00A0; // Тут объединённый код, так как второй раз WndProc использовать нельзя, if (m.Msg == WM_NCLBUTTONDOWN) //Но можно объединить. { this.Opacity = 0.5; } if (m.Msg == WM_MOUSEMOW) { this.Opacity = 1.0; } if (m.Msg == 0x0312) { if (m.WParam.ToInt32() == 0) if (timer2.Enabled) timer2.Stop(); else timer2.Start(); } base.WndProc(ref m); }
  4. Всем привет сегодня расскажу как делать хуки на C#. Комментировал код из-за всех сил вроде понятно всё получилось. На что следующую статью написать уже не знаю. using System;using System.Windows.Forms;//Подключим пространство имён.using System.Runtime.InteropServices;namespace WindowsFormsApplication2{ public partial class Form1 : Form { //Тут объявим WinApi [DllImport("user32.dll")] private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk); [DllImport("user32.dll")] private static extern bool UnregisterHotKey(IntPtr hWnd, int id); public Form1() { InitializeComponent(); //В инициализации компонентов объявим наши горячие клавиши и их айдишники. //Где 0, 0 это то есть ID=0 //Где 2,0 это то есть ID= 2 RegisterHotKey(this.Handle, 0, 0, (int)Keys.D1); //Если надо две горячих клавиши можно сделать так и ID Клавиши будет конечно равен 1 тут легко догадаться. RegisterHotKey(this.Handle, 1, (int)ModiferKeys.Control, (int)Keys.D2); RegisterHotKey(this.Handle, 2, 0, (int)Keys.D3); } //Теперь сделаем обработку наших нажатых клавиш protected override void WndProc(ref Message m) { if (m.Msg == 0x0312) { //if (m.WParam.ToInt32() == 0) это значит что функция обрабатывается при нажатие клавиши 1 и id который равен 0 if (m.WParam.ToInt32() == 0) MessageBox.Show("Click 1"); //if (m.WParam.ToInt32() == 1) это значит что функция обрабатывается при нажатие клавишей ctrl + 2 иid который равен 1 if (m.WParam.ToInt32() == 1) MessageBox.Show("Click 2"); if (m.WParam.ToInt32() == 2) //if (m.WParam.ToInt32() == 2) это значит что функция обрабатывается при нажатие клавиши 3 2 id который равен 2 MessageBox.Show("Click 3"); } base.WndProc(ref m); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //Здесь мы пишем снятие регистрации клавиш, вдруг они заняты другой программой. UnregisterHotKey(this.Handle, 0); UnregisterHotKey(this.Handle, 1); UnregisterHotKey(this.Handle, 2); } //[Flags] public enum ModiferKeys : uint нужен только когда вы используете две и более горячих клавиш. //Для хоткеея равным нажатием одной клавиши это можно не прописывать. [Flags] public enum ModiferKeys : uint { Alt = 1, Control = 2, Shift = 4, Win = 8 } }}
  5. Можно ли в Delphi изменять оригинальную инструкцию? // NullAlex: исправил в заголовке и в этом сообщение на правильное название IDE - Delphi
  6. Можно в события написать не которые куски кода и будет короче код.
  7. Всем привет сегодня я расскажу как сделать форму прозрачной когда вы её перемещаете, так же как сделать что бы форму можно было перетаскивать за любой её участок. 1== чтобы сделать форму прозрачной при перемешение надо вставить следующей код где хотите. 2== Для того чтобы перетаскивать форму, за любой её участок кроме компонентов формы надо использовать WinAPI, но не пугайтесь ничего сложного нету Вставляем после следующий код Ну и в событие Form1_MouseDown пишем 3== Теперь делаем картинку на плавный запуск запуск Вы не поверите, но в Form1 мы ничего даже писать не будем для этого Создаём Form2, это будет наша картинка. В FormBolderStyle - Ставим None. Далее заходим в Program.cs и убираем это: Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());и вставляем это: Теперь наступило время сделать нашу картинку, сделали? Теперь загружаем её на форму: BackGroundImage, затем на импорт и окей и BackGroundImageLayot ставим Stretch это что бы картинка автоматически применяла размер формы так сказать без возни . Выставляем Прозрачность Form2 на 0: Opacity - 0. Теперь добавляем на форму Form2 Таймер, ставим интервал 10. Теперь в событии таймера пишем: Спасибо за прочтение
  8. keng А как проше привязать 4 функции что бы выполнялись по одному клику. А то писать всё в куче не то как то.
  9. Да азот найти не проблема я пытался турбо найти, а его мало дают.
  10. Нашел адрес нужный он красным цветом и при смене значения, значение сразу становится прежним. Адрес тот это точно отсеивал не известным значением до 1 адреса. И если заморозить и поставить 1 то значение колеблется и в игре иногда становится полная полоса и сразу на прежнюю меняет.
  11. Хах искал от 0 до 1 float, а оказалось от 0 до 100 надо было нашел значение.
  12. Указатель вроде тот. Когда азот полный значение 1, а когда пустой почти 0. В игре так же чуть чуть остается и не тратится.
  13. Видел на ютубе видео инъекция кода игры, завтра гляну как скачается пока я сплю, потом если всё получится на форум напишу код исходный. И еще вопрос я нашел значение азота в Nfs hot pursuit 2010, но его изменяю как float 1 и ничего не выходит, даже заморозить. Как быть в таком случае?
  14. Читал, но не понял сути. Спасибо огромное получилось!)
  15. Поэтому я хочу найти вручную адрес что бы указатель был с адресом не типа nfs +. Но вручную найти не могу дальше 2 или 3-го указателя.
  16. int myGame_Address = Addr.ToDec("\"\nfsc.exe\"+0077F210"); вот это бьёт исключение а если использовать только "0077F210" то адрес не найдется это я уже понял. И везде где смотрел видео по трейнерам везде пишут указатели типа 0077F210.
  17. ааа вы не так поняли я указал, 0077F210 и мне ошибку дает... Это не правильный адрес как я понял. А трйнер я написал, азот даже бесконечный тестил на динамическом адресе.
  18. Вот он найденный уже. всё бы ничего, указываю так int myGame_Address = Addr.ToDec("0077F210"); // Статичный адрес указателяint[] myGame_Offsets = { 0xF0, 0x4, 0x0, 0xD4, 0x80 }; // Офсеты, смещение пишем в виде 0х--Я не знаю где найти адрес нужный в этих свойствах.
  19. ххм в принципе красивый скрипт, Ты на каком яп кодишь? Знаешь как в с# использовать инструкции игр? А указатели нужны что бы указывать на адрес. Я уже написал трейнер всё работает с динамическими адресами, но после запуска адреса меняются, поэтому интересно как найти указатели. Я дохожу до 3-го смешения и тупик, дальше не могу ничего, хотя и 5 вроде как. Может всё таки снимешь видео? Буду благодарен
  20. код такой int myGame_Address = Addr.ToDec("0077F210"); // Статичный адрес указателяint[] myGame_Offsets = { 0xF0, 0x4, 0x0, 0xD4, 0x80 }; // Офсеты, смещение пишем в виде 0х--вот сохранение таблицы при перезапуске игры всё работает.<Address>"nfsc.exe"+0077F210</Address> <Offsets> <Offset>80</Offset> <Offset>D4</Offset> <Offset>0</Offset> <Offset>4</Offset> <Offset>F0</Offset> </Offsets> Да указатель не тот. Я не понял откуда его взять. Ведь как написал не работает. Вот ссылка таблица сохраненная игра NFS Carbon, но можно открыть текстовым редактором и смотреть смешение и адрес. А про видео у меня интернет тихий... + Мало кто кодит читы на C#
  21. Да так и сделал, но указатель статический 5-уровневый со смешениями указал и не работает. Что может быть? Ведь когда я указывал адрес динамический и то работало.
×
×
  • Создать...

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

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