watch sexy videos at nza-vids!
Trang chủ| Tìm kiếm| Game 1| Game 2| Video phim Hot
title Quảng cáo
Ứng dụng SMS chúc tết 2013 Ứng dụng SMS chúc tết 2013 Những mẫu SMS làm “rung động lòng người”. Bạn có biết SMS qua điện thoại cũng là một “món quà rất có ý nghĩa, rất dễ thương” giành cho người mình yêu quý Tải về máy

Hướng dẫn viết auto cho game

2T_V.I.P [On]
Đang xem: 1
Lượt xem: 19624

ng tin đồ rớt

ra. Mảng này gồm 256 đối tượng, nằm bắt đầu ở địa

chỉ tĩnh 0x00DC2750, kích thước mỗi đối tượng là

0x03C4. Ta chỉ cần lấy phần dữ liệu ở đầu đối tượng

và định nghĩa thành lớp CObj của chúng ta như dưới

đây.

Code:

class CObj //dung nham lan voi CObject cua VC++

day nhe

{

public:

int m_nID; // -1 la do ko ton tai, > 0 la ton tai

int m_nData1; // Unused data

int m_ObjKind; // 3=item, 4=money,..10=Property

Box

int m_Index;

WORD m_RegX, m_RegY; // Toa do Region

int m_nData2[2">; // Unused data

int m_MapX, m_MapY; // 0x001C, toa do Cell

int m_OffX, m_OffY; // 0x0024, toa do Off trong Cell

int m_nData3[13">; // Unused data

char m_szName[32">; // 0x0060

int m_nData4; // Unused data

int m_nColor; // Mau cua do (0=trang, 3=xanh, ?

=vang...)

int m_nData5[3">; // Unused data

int m_nMoneyNum; // Luong tien

public:

void GetMapPos0;

};

Chặc, đến đây các bạn lại thấy quá dễ để tính tọa độ

của đồ rồi đúng ko, cũng theo cách tính như ở CNpc

thôi. Nhặt đồ thì dễ hơn đánh quái nhiều, tìm cái đồ

nào ở gần thì nhặt. Khoảng cách có thể nhặt đô trong

Game đặt là 64, nhưng nếu cần các bạn cứ tìm trong

khoảng 200-300 gì đó, nhân vật chỉ cần nhích đi một

chút là nhặt được đồ. Các bạn còn nhớ cái biến thành

viên m_nObjectIdx trong lớp CNpc ko? Nó sẽ xác định

địa chỉ cần gán cho đối tượng người chơi để nhặt đồ

(cũng theo vị trí của đồ trong mảng 256 đối tượng

kia)

Bổ sung: Lần đầu tiên khi nhân vật bắt đầu đánh, các

bạn phải gán chiêu thức vào m_ActiveSkill ở OFFSET

0x0114 nhé (tham khảo thêm bài viết của TinhLaGi).

Ngoài ra ở phần trên tôi có bỏ sót một biến thành

viên tại địa chỉ Offset 0x0C58, đó là m_nSkillRadius -

bán kính hiệu quả của chiêu thức. Trước khi gán lệnh

đánh, bạn gán giá trị này một số nhỏ, ví dụ 75 chẳng

hạn là bán kính quyền cơ bản, nhân vật sẽ tiếp sát rồi

mới đánh quái. Nếu ko để chế độ đánh tiếp cận, sau

khi đánh 1 chiêu có bán kính hiệu quả = 0 (ví dụ

NLTD), các bạn lại phải gán lại số này đủ lớn, nếu ko

nhân vật sẽ chạy lại sát quái mà vẫn ko với tay đánh

được. Có thể gán = 75 hoặc thậm chí = 5000, game sẽ

tự reset lại.

Thêm nữa, phần đọc tọa độ của nhân vật, Npc & Obj

có một số bạn dùng địa chỉ offset 0x0D20, 0x1088..

gì đó. Thực ra các địa chỉ này chỉ là kết quả của các

tính toán hoặc gán tham số tọa độ cho các thao tác

của nhân vật nên đôi khi mình đọc ra sẽ thu được một

kết quả không chính xác.

Bài viết tiếp theo tôi sẽ đề cập đến việc điều khiển

nhân vật chạy đến một tọa độ cho trước.

Bài 3 – Điều khiển nhân vật chạy

Nào hôm nay chúng ta sẽ nghiên cứu đến cái việc

điều khiển quái chạy. Dưới đây là các biến thành viên

bổ sung cho lớp CNpc:

Code:

class CNpc

{

public:

...

int CmdKind; //0x1088, 2=walk, 3=run

int Param_X;

int Param_Y;

};

Để cho nhân vật chạy hoặc đi bộ đến 1 điểm nào đó,

các bạn gán các giá trị thích hợp vào các địa chỉ trên,

bao gồm loại lệnh (chạy, đi bộ) và tọa độ X, Y.

SendMessage(WM_HOOK_WRITE, ...3);

SendMessage(WM_HOOK_WRITE, ...nX);

SendMessage(WM_HOOK_WRITE, ...nY);

Tuy nhiên, công việc ko chỉ dừng lại ở đó, nếu ko

nhân vật sẽ tự giật lại vị trí cũ. Bước tiếp theo là

chúng ta phải gửi một gói tin đến server, báo rằng

nhân vật di chuyển đến tọa độ mới. Như các bạn biết,

đôi khi mạng lag, ta điều khiển nhân vật chạy được

một đoạn nó lại giật lại chỗ cũ là vì gói tin báo đã ko

gửi
<<12345>>
Cùng Chuyên Mục:
Hướng dẫn viết auto cho game
? 2013-01-10 / 07:34:22

» Ads:

» Liên kết
Facebook Twitter
SEO : Bạn đến từ :
title Thống kê site
C-STAT
U-ON
Thời gian load trang: 0.002