RSS

Monthly Archives: Tháng Mười Hai 2011

Hướng dẫn lập trình auto game bằng Delphi 7 (phần 4 Các hàm kiểm tra HP STM Mana)

Ở phần này tôi sẽ nêu các ví dụ mẫu để kiểm tra các thông số HP, STM, Mana của nhân vật, nếu thấy nhỏ hơn giá trị được thiết lập thì Send key tương ứng để Pos bơm HP hay STM và Mana

Để sử dụng nó bạn có thể đưa vào sự kiện ontime. Bạn tạo một Timer control trong tab System của Delphi set time là 100 hay 500 milisecon tùy ý bạn muốn sau bao lâu chương trình kiểm tra HP hoặc STM, mana một lần. Theo tôi thì Check HP được ưu tiên cao nhất nên để 50 đến 100ms check một lần còn STM với mana thì 500 hoặc 1000ms là phù hợp, nếu check liên tục quá sẽ làm ảnh hưởng tới khả năng xử lý của máy tính, khiến chương trình nặng quá mức cần thiết

Nếu bạn không muốn dùng sự kiện OnTime để check và muốn nâng cao khả năng chống lỗi gây die, bạn có thể tìm hiểu cách tạo riêng các process cho phần auto pot chạy độc lập với chương trình auto. Điều này sẽ làm giảm thiểu khả năng die do chương trình đang bạn xử lý các tình huống khác. Trong delphi các bạn có thể sử dụng cách sau để tạo process :

Khai báo:

Type
AutoHpT = CLASS(TThread)

protected
procedure Execute; override;
end;

Tạo process

if StopHPRun then begin
HpThead:= AutoHpT.Create(true);
HpThead.Resume;
end;

Đây là đoạn mã được chạy trong process. Lặp vô tận để kiểm tra HP liên tục, nó sẽ dừng và giải phóng Process khi bạn Bấm nút stop đặt giá trị biến toàn cục STOPhp=True.

Procedure AutoHpT.execute;
begin
FreeOnTerminate := true;
repeat
StopHPRun:=False; // Dang chay autoHP
AutoHP;
sleep (Form1.ThoigiancheckHP.Value);
Until STOPhp;
StopHPRun:=True; // dung autoHP
end;

Để nghiên cứu sâu hơn về lập trình munti process và thead các bạn tìm đọc trong giáo trình delphi nhá 🙂

Các hàm mẫu như sau:

Read the rest of this entry »