#26 18-04-2007 09:58

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

2All:
satrainer.cleo - простенький трйнер:
http://slil.ru/24253660

Infinite Health       F5
Infinite Ammo         F6
Infinite Money        F7
Freeze Time           F8
Respect               F9

listener:
В Express  нету *.h файлов для компиляции.

Offline

#27 18-04-2007 13:11

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

2Sanchez:
Норм, только надо бы еще Unfreeze сделать wink

Кстати, ты как делал проверку нажатия? У меня событие KeyPressed получается через GetKeyState, а вот KeyUp или KeyDown никак. Т.е. мне нужна функция на апи, которая возвращает true, если кнопка была отпущена или нажимается (но не нажата). Не знаешь как сделать?

Offline

#28 20-04-2007 08:59

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

Кстати, ты как делал проверку нажатия?

SetTimer
GetAsyncKeyState

Вот здесь посмотри: http://foolroot.nm.ru/satrainer.rar

Offline

#29 20-04-2007 10:07

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

результат GetAsyncKeyState не равен 0? Вроде делал так, но это не помогает в случае KeyUp/KeyDown.

Проверка нажатия у меня

function KeyPressed(const Key: Smallint): Boolean;
begin
  Result := Hi(GetKeyState(Key))=$FF;
end;

Offline

#30 20-04-2007 10:27

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

Т.е. мне нужна функция на апи, которая возвращает true, если кнопка была отпущена или нажимается (но не нажата). Не знаешь как сделать?

Попробуй через хуки или обрабатывай сообщения, посылаемые программой.

Offline

#31 21-04-2007 15:13

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

C  	Pascal

&  	AND
|  	OR
^  	XOR
<<	 SHL
>> 	SHR
~  	NOT

знатоки си, я правильно написал соответствия операторов с++ и паскаль?

Offline

#32 21-04-2007 16:46

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Проект CLEO: новые опкоды

2Seemann:
В целом правильно, только обуял меня склероз на старости лет:
в паскале логические и битовые AND и OR отличаются?

&, | и ~ - битовые
&&, || и ! - логические.

Offline

#33 21-04-2007 17:06

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

в паскале логические и битовые AND и OR отличаются?

видимо да. Оператор один, различия проводятся по типу операндов. Если оба булевы то OR = ||. Если оба integer: OR = |

Вроде так, но я никогда этим не пользовался. Хочу в опкодах сделать, на гтафорумс просили

мне нужны только битовые

Last edited by Seemann (21-04-2007 17:08)

Offline

#34 21-04-2007 17:23

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Проект CLEO: новые опкоды

мне нужны только битовые

тогда все правильно

Offline

#35 22-04-2007 10:32

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

У меня событие KeyPressed получается через GetKeyState, а вот KeyUp или KeyDown никак.

Описание:
function GetKeyState(VirtKey: Integer): Integer;

Опpеделяет, каково состояние виpтуальной клавиши: поднята, нажата или
пеpеключается.

Паpаметpы:
VirtKey: Виpтуальная клавиша.

Возвpащаемое значение:
Клавиша нажата, если стаpший бит pавен 1, и клавиша пеpеключается, если младший
бит pавен 1.

Offline

#36 22-04-2007 10:42

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

2Sanchez:

Клавиша нажата, если стаpший бит pавен 1, и клавиша пеpеключается, если младший
бит pавен 1.

там фишка в том, что младший бит постоянно переключается. Нажал кнопку - 0, нажал еще раз 1, опять нажал 0. Т.е. по нему узнать нельзя. Можно правда запоминать какое значение было в последний раз и проверять изменилось ли оно, но как сделать это для первого раза? Короче или я туплю, или одно из двух. Мне бы рабочий код wink

С нажатой кнопкой проблем нет, функцию постил выше.

Offline

#37 23-04-2007 11:28

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Проект CLEO: новые опкоды

Вот гении скажите мне , как запустить приложение ShellExecute/WinExec/Createprocess из ДЛЛ , чтобы  ещё запущеное приложение не было активным . А то окно СА сворачивается .

Offline

#38 23-04-2007 12:18

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Проект CLEO: новые опкоды

Alexander wrote:

Вот гении скажите мне , как запустить приложение ShellExecute/WinExec/Createprocess из ДЛЛ , чтобы  ещё запущеное приложение не было активным . А то окно СА сворачивается .

Посмотреть мануал по ShellExecute на предмет параметра nShowCmd.

SW_SHOWMINNOACTIVE -- Displays the window as a minimized window. The active window remains active.
SW_SHOWNA -- Displays the window in its current state. The active window remains active.
SW_SHOWNOACTIVATE -- Displays a window in its most recent size and position. The active window remains active.

Offline

#39 23-04-2007 12:19

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

2Alexander:
Я тут подумал, а нафик тебе форма в приложении, если она невидима? пиши консольное приложение.

2listener:
я уже предлагал ему это. видимо, не помогло

Last edited by Seemann (23-04-2007 12:20)

Offline

#40 23-04-2007 19:27

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Проект CLEO: новые опкоды

2Seemann : гы , я не знаю , как в консольном приложении можно использовать компонент mediaplayer , у которого предком являеться TObject

Offline

#41 24-04-2007 13:45

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Проект CLEO: новые опкоды

2Alexander:
можно на torry.net или vclcomponents.com поискать альтернативу MediaPlayer'у.

Offline

#42 24-04-2007 17:21

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Проект CLEO: новые опкоды

Alexander wrote:

2Seemann : гы , я не знаю , как в консольном приложении можно использовать компонент mediaplayer , у которого предком являеться TObject

А зачем?

Во-первых, сильно кастрированный плеер есть в самом gta_sa.exe. Теоретически, можно подсунуть произвольный mp3/ogg/wma в очередь. (но этот кусок я еще серьезно не разбирал).

Во-вторых, собрать собственный media-graph для произвольного файла - строчек 100 кода (курить документацию и примеры к DirectShow). Искать где-то в районе описания интерфейса IGraphBuilder.

Offline

#43 28-04-2007 08:27

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

2Alexander:
Использую API: sndPlaySound, PlaySound

 uses 
 mmsystem; 
 
 // PLAY 
 sndPlaySound('C:\DELPHIWORLD.WAV', SND_ASYNC); 
 
 // Loop Mode (зацикливание) 
 sndPlaySound('C:\DELPHIWORLD.WAV', SND_ASYNC + SND_LOOP); 
 
 //STOP 
 sndPlaySound(nil, SND_ASYNC);

Offline

#44 28-04-2007 09:09

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Проект CLEO: новые опкоды

MP3 можно через mci устройство проигрывать:

uses
  mmsystem;

// play

procedure tform1.button1click;
const
  filename = 'file.mp3';
begin
  mciSendString(PChar('play ' + filename), nil, 0, 0);
end;

// stop

procedure tform1.button1click;
const
  filename = 'file.mp3';
begin
  mciSendString(PChar('stop ' + filename), nil, 0, 0);
end;

Last edited by Sanchez (28-04-2007 09:09)

Offline

#45 28-04-2007 12:05

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Проект CLEO: новые опкоды

-хы , щас тест .
-Пашет , а можно сделать проверку , закончился ли проигрываемый файл ?

(С) спс

Last edited by Alexander (28-04-2007 12:54)

Offline

#46 03-05-2007 15:03

Tector
Registered: 01-05-2007
Posts: 34

Re: Проект CLEO: новые опкоды

Не уверен, но, возможно, поможет PlaySound('recycle.wav', 0, SND_SYNC); Если правильно понимаю, то тебе нужна проверка для выполнения дальнейших действий, а эта команда вернет управление программе только после проигрывания файла

Offline

Board footer

Powered by FluxBB