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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2010, 17:50   #51
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
var
  NadoLechitsa: Boolean;
  HotKey: Byte;

...

procedure TForm1.Timer1Timer(Sender: TObject);
var
  HitPoints: Integer;
begin
  HitPoints := GetZdorovye;
  if HitPoints < _KritikMin then NadoLechitsa := True;
  if NadoLechitsa and (HitPoints > _NormalZdorovye) then NadoLechitsa := Flase;
  if NadoLechitsa then PostKeyEx32(HotKey, [ssAlt], False);
  Inc (HotKey);
end;
Sibedir вне форума Ответить с цитированием
Старый 27.09.2010, 08:18   #52
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Delphi ругается на следующие операторы:
GetZdorovye;
_KritikMin;
_NormalZdorovye;
NadoLechitsa

Я так понимаю, они должны быть в какой-то функции? ...
xRamzeSx вне форума Ответить с цитированием
Старый 27.09.2010, 09:24   #53
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

GetZdorovye - функция, которая должна возвращать текущее здоровье персонажа (читаешь из того самого адрес)
_KritikMin - глобальная переменная, критический минимум здоровья, с которого надо начинать личится (определяется програмно, взависимости от мах здоровья)
_NormalZdorovye - глобальная переменная, допустимый минимум здоровья, с которого можно прекращать личится (определяется програмно, взависимости от мах здоровья)
NadoLechitsa - глобальная переменная, тру - поц и ент на диспетчеризации, фалз - поц здоров (имеются остаточные симптомы типа насмор) (ругатся не должен, я ж ее уже объявил (см. выше, раздел var))
Sibedir вне форума Ответить с цитированием
Старый 27.09.2010, 09:57   #54
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Я не знаю, куда писать все эти переменные.

GetZdorovye - read_value($49DD9C,1,res);
_KritikMin - hpMin:=25; hpMax:= read_value($49DBFC,1,res);
_NormalZdorovye - hpMin:=30;

Как всё это связать?
xRamzeSx вне форума Ответить с цитированием
Старый 27.09.2010, 11:17   #55
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Как связать - см. пост 51. Куда писать - см. пост 51.
HotKey перед запускам таймера установить в Ord ('1') и останавливать таймер, когда HotKey = Ord ('7').
Sibedir вне форума Ответить с цитированием
Старый 27.09.2010, 11:28   #56
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  HitPoints: Integer;
  hpMin:=25;
begin
  HotKey(Ord('1'), [ssAlt], False);
  HitPoints := read_value($49DD9C,1,res);
  if HitPoints < hpMin then NadoLechitsa := True;
  if NadoLechitsa and (HitPoints > hpMin) then NadoLechitsa := Flase;
  if NadoLechitsa then PostKeyEx32(HotKey, [ssAlt], False);
  Inc (HotKey);
end;
Так? Или я не понимаю?
xRamzeSx вне форума Ответить с цитированием
Старый 27.09.2010, 11:45   #57
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
var
  NadoLechitsa: Boolean;
  HotKey: Byte;
  hpMax, hpKritichMin, _hpNormal: Integer;

...

hpMax := read_value($49DBFC,1,res);
hpKritichMin := Round (hpMax * 0.2);
hpNormal := Round (hpMax * 0.8);
NadoLechitsa := False;
HotKey := Ord ('1');
Timer1.Enabel := True;

...

procedure TForm1.Timer1Timer(Sender: TObject);
var
  HitPoints: Integer;
begin
  HitPoints := GetZdorovye;

  NadoLechitsa := (HitPoints < hpKritichMin) or (NadoLechitsa and (HitPoints < hpNormal))
  if NadoLechitsa then PostKeyEx32(HotKey, [ssAlt], False);

  Inc (HotKey);
  if HotKey = Odr ('7') then Timer1.Enabel := False;
end;
Как то так

Последний раз редактировалось Sibedir; 27.09.2010 в 11:48.
Sibedir вне форума Ответить с цитированием
Старый 27.09.2010, 12:07   #58
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Код:
hpMax := read_value($49DBFC,1,res);
hpKritichMin := Round (hpMax * 0.2);
hpNormal := Round (hpMax * 0.8);
NadoLechitsa := False;
HotKey := Ord ('1');
Timer1.Enabel := True;
Куда это писать?
xRamzeSx вне форума Ответить с цитированием
Старый 27.09.2010, 14:24   #59
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Куда это писать?
Например в кнопочку, которая будет запускать механизм слежевания за здоровьем. Согласитесь. Это можно было и не спрашивать.

xRamzeSx, здесь все не просто. Здесь все ОЧЕНЬ просто
Пишите по принципу: Что вижу, то и пою. Т. е. что руками бы делал, то пусть прога и делает. Можете сесть в позу лотоса и мидитировать представляя, что -
Я ПРОГРАММО

Последний раз редактировалось Sibedir; 27.09.2010 в 14:27.
Sibedir вне форума Ответить с цитированием
Старый 28.09.2010, 07:28   #60
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

http://rw-clan.do.am/error.jpg
Не могли бы Вы скачать этот архив - http://rw-clan.do.am/Projectttt.rar исправить и проверить его на работоспособность?
xRamzeSx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Горячие клавиши dmitriegorovih Общие вопросы Delphi 2 10.09.2010 14:58
Горячие клавиши. Lazio Помощь студентам 2 08.09.2010 02:20
Горячие клавиши в Delphi Maddy Помощь студентам 7 23.04.2010 17:43
Горячие клавиши Altera Общие вопросы Delphi 5 13.09.2008 21:27