Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/193: Рейтинг темы: голосов - 193, средняя оценка - 4.79
-15 / 14 / 0
Регистрация: 04.05.2016
Сообщений: 157
1

Программное движение мышки в окне игры Rust!

27.08.2016, 03:09. Показов 35707. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю программу, которая будет при нажатии на левую копку мыши программно опускать курсор в низ, проблема в том что,
при заходе в игру в меню, и в инвентаре все работает, но стоит взять в руки оружие или другой любой предмет, или же вообще пусто, но главное что не в меню и не в инвентаре, как перестает происходить это движение...
Вот код передвижения мышки -
Delphi
1
2
3
4
var x, y: integer;
x := Mouse.CursorPos.X;
y := Mouse.CursorPos.Y;
Mouse.CursorPos := Point(x, y+Pixels);
Претензий к коду нет, потому что в игре Minecraft всё работает успешно.
Мне кажется что в момент игры окно игры "RUST" не активно, и из за этого движение мышки в самой игре не происходит,
Пробовал с PostMessage и с другими не помогает, что предложите?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2016, 03:09
Ответы с готовыми решениями:

Самый бюджетный ПК для игры в RUST
Всем привет, пытаюсь собрать самый дешевый ПК конкретно под одну единственную (но очень...

Check machine exception из за Одной игры RUST!
Приветствую всех,в общем проблема такая. i7 9700k + Rtx 2070 + ddr4 16gb 2666мгц + Мать Asus ROG...

[Rust] Обсуждение возможностей и предстоящей роли языка Rust
Psilon, чем он тебя так привлек? И почему именно "убийца плюсов"? Если напишешь развернутый ответ,...

[Rust] Как привязывать WinAPI-функции к коду на Rust?
Может кто-нить дать код, КАК привязывать вин апишные функции к растовскому коду (на примере...

13
botsik
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
27.08.2016, 09:09 2
DOKERcom, а в какой процедуре исполняется код?
0
-15 / 14 / 0
Регистрация: 04.05.2016
Сообщений: 157
27.08.2016, 13:37  [ТС] 3
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, CoolTrayIcon, StdCtrls;
 
type
  TForm1 = class(TForm)
    img1: TImage;
    img2: TImage;
    img3: TImage;
    img4: TImage;
    img5: TImage;
    cltrycn1: TCoolTrayIcon;
    img6: TImage;
    img7: TImage;
    img8: TImage;
    img9: TImage;
    edt1: TEdit;
    cbb1: TComboBox;
    edt2: TEdit;
    tmr1: TTimer;
    cbb2: TComboBox;
    tmr2: TTimer;
    procedure img1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure img2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure img4MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img5MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure cltrycn1Click(Sender: TObject);
    procedure img5MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure img6MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img8MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img7MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure img9MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure cbb1Change(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
    procedure tmr2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  Pixels:Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.img1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
perform(WM_SysCommand,$F012,0);
end;
 
procedure TForm1.img2MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img2.Visible:=False;
img3.Visible:=True;
end;
 
procedure TForm1.img1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img2.Visible:=True;
img3.Visible:=False;
img4.Visible:=True;
img5.Visible:=False;
img6.Visible:=True;
img7.Visible:=False;
img9.Visible:=False;
img8.Visible:=true;
end;
 
procedure TForm1.img3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Form1.close;
end;
 
procedure TForm1.img4MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img4.Visible:=False;
img5.Visible:=True;
end;
 
procedure TForm1.img3MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img4.Visible:=True;
img5.Visible:=False;
end;
 
procedure TForm1.img5MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img2.Visible:=True;
img3.Visible:=False;
end;
 
procedure TForm1.cltrycn1Click(Sender: TObject);
begin
    cltrycn1.IconVisible:=False;
    Form1.Visible:=True;
    Application.ShowMainForm := True;
    ShowWindow(Handle,SW_SHOW); // Ïîêàçûâàåì ïðîãðàììó
    ShowWindow(Application.Handle,SW_SHOW);
end;
 
procedure TForm1.img5MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
cltrycn1.IconVisible:=True;
    Form1.Visible:=False;
    Application.ShowMainForm := False;
    ShowWindow(Handle,SW_HIDE); // ñêðûâàåì ïðîãðàììó
    ShowWindow(Application.Handle,SW_HIDE);
end;
 
procedure TForm1.img6MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img6.Visible:=False;
img7.Visible:=true;
end;
 
procedure TForm1.img8MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img8.Visible:=False;
img9.Visible:=true;
end;
 
procedure TForm1.img7MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img9.Visible:=False;
img8.Visible:=true;
end;
 
procedure TForm1.img9MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
img6.Visible:=True;
img7.Visible:=False;
end;
 
procedure TForm1.cbb1Change(Sender: TObject);
begin
if cbb1.ItemIndex=0 then
begin
edt1.Text:='130';
end;
end;
 
procedure TForm1.tmr1Timer(Sender: TObject);
begin
if edt1.Text = '' then
else
begin
tmr2.Interval:=strtoint(edt1.Text);
end;
if edt2.Text = '' then
else
begin
Pixels:=strtoint(edt2.text);
end;
if (GetKeyState(VK_LBUTTON) AND 128) = 128 then
begin
tmr2.Enabled:=True;
end
else
begin
tmr2.Enabled:=False;
end;
end;
procedure TForm1.tmr2Timer(Sender: TObject);
var
  x, y: integer;
begin
//if FindWindow(nil,'Rust')<> 0 then
//begin
//ShowMessage('Yes');
//Close;
//end;
x := Mouse.CursorPos.X;
y := Mouse.CursorPos.Y;
Mouse.CursorPos := Point(x, y+Pixels);
end;
 
end.
0
botsik
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
27.08.2016, 13:54 4
Цитата Сообщение от DOKERcom Посмотреть сообщение
if edt1.Text = '' then else
не понял что это
Цитата Сообщение от DOKERcom Посмотреть сообщение
begin tmr2.Enabled:=True; end
можно и без скобок begin end;

Не по теме:

если честно, не пойму смысла программы, если вы объясните для чего она, я думаю что я и другие пользователи смогут вам предоставить более полезную информацию и код :)

0
Заблокирован
27.08.2016, 13:56 5
Попробуйте переписать на AutoIt. Там есть почти всё для разработки автокликеров и ботов.
Очень простой язык.
0
-15 / 14 / 0
Регистрация: 04.05.2016
Сообщений: 157
27.08.2016, 15:00  [ТС] 6
ну а по делфи7 нельзя?

Добавлено через 3 минуты
Программа будет гасить отдачу оружия, при нажатии на левую кнопку мыши...
0
Заблокирован
27.08.2016, 15:52 7
Можно, просто на делфи сложнее. Я бы помог, но не на чем проверить. Нет игры под рукой.
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
27.08.2016, 15:56 8
Гуглите "хуки windows" или перехват мыши. На delphi не знаю, но на C++ должно получиться.
0
botsik
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
27.08.2016, 15:56 9
Цитата Сообщение от DOKERcom Посмотреть сообщение
Программа будет гасить отдачу оружия, при нажатии на левую кнопку мыши...

Не по теме:

программе, извините за выражение, просто пофиг что там на экране, она будет выполнять код, который вы написали. Прога не знает что такое оружие, отдача и все такое.

0
Заблокирован
27.08.2016, 15:59 10
Цитата Сообщение от DevAlone Посмотреть сообщение
Гуглите "хуки windows" или перехват мыши. На delphi не знаю, но на C++ должно получиться.
С++ вызывает какие-то другие API? Что за бред?
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
27.08.2016, 16:23 11
Цитата Сообщение от AllFree Посмотреть сообщение
С++ вызывает какие-то другие API? Что за бред?
Не кодил на дельфи, поэтому не скажу, что он вызывает, а C++ работает с WinAPI
0
-15 / 14 / 0
Регистрация: 04.05.2016
Сообщений: 157
09.07.2017, 22:32  [ТС] 12
Да ладно!
0
4 / 4 / 1
Регистрация: 11.09.2017
Сообщений: 21
18.08.2020, 18:55 13
Цитата Сообщение от DOKERcom Посмотреть сообщение
Создаю программу, которая будет при нажатии на левую копку мыши программно опускать курсор в низ, проблема в том что,
при заходе в игру в меню, и в инвентаре все работает, но стоит взять в руки оружие или другой любой предмет, или же вообще пусто, но главное что не в меню и не в инвентаре, как перестает происходить это движение...
Вот код передвижения мышки -
где написано что это касается ЯЗЫКА rust?
0
Модератор
5102 / 3329 / 535
Регистрация: 01.06.2013
Сообщений: 6,950
Записей в блоге: 9
18.08.2020, 22:19 14
Лучший ответ Сообщение было отмечено DOKERcom как решение

Решение

Цитата Сообщение от koitoTyan Посмотреть сообщение
где написано что это касается ЯЗЫКА rust?
Нигде. Кто то опять спутал игру RUST и язык rust.
0
18.08.2020, 22:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2020, 22:19
Помогаю со студенческими работами здесь

[Rust] Расскажите о своём опыте программирования на Rust
Доброе утро! Расскажите, пожалуйста, о своём опыте программирования на Rust. Можно в сравнении с...

Движение мышки
Как сделать плавное движение мышкой (так как человек ведет) а не рывками. SetCursorPos - не...

Движение мышки
Приветствую, скажите пожалуйста какую библиотеку использовать для имитации движения курсора мышки...

Движение мышки
Как такое реализовать Если мышка движется в право то форма красная если в лево то синия...вроде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru