Jump to content

Welcome to [ iT ] Forums
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Cộng đồng Âm nhạc Việt Nam

Hình ảnh

Lập trình auto Kiếm Thế thì vào đây!!!

* * * * * 2 Bình chọn

  • Please log in to reply
189 replies to this topic

#41
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1085 Bài Viết:
Các bạn ai có khó khăn trong việc viết file hook.dll thì cho mình biết nhé. Mình sẽ viết rồi post lên cả source + dll :bong

#42
Huỳnh Văn Thâm

Huỳnh Văn Thâm

    Thạc sĩ CSTH

  • VIP
  • PipPipPipPipPipPip
  • 2364 Bài Viết:

Các bạn ai có khó khăn trong việc viết file hook.dll thì cho mình biết nhé. Mình sẽ viết rồi post lên cả source + dll :bong

Mình nè, viết đọc dẽ hiểu chút, chứ như cái Login thì khó khăn quá, đang còn gà mờ mà :d. Viết = VS 6.0 nha bạn, và chỉ 3 tập tin thôi: .h .cpp và .def

Bài viết này được chỉnh sửa bởi Huỳnh Văn Thâm: 08 October 2009 - 04:35 PM


#43
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1085 Bài Viết:
Theo yêu cầu đây:D
Cách sử dụng:
Trước tiên, gọi hàm BOOL InjectDll(HWND hTargetWnd)
Tham số:
hTargetWnd: Cửa sổ của game
Giá trị trả về:
TRUE: Inject thành công
FALSE: Thất bại
Sau khi gọi hàm InjectDll thành công, thì có thể dùng 2 hàm sau đây để Read/Write vào game process
int HookWrite(HWND hTargetWnd, DWORD dwAddress, int nValue)
Ghi một giá trị vào vùng nhớ
Tham số:
hTargetWnd: Cửa sổ của game
dwAddress: Địa chỉ cần ghi
nValue: Giá trị cần ghi
Giá trị trả về:
Giá trị trước đó của ô nhớ
int HookRead(HWND hTargetWnd, DWORD dwAddress)
Đọc một giá trị từ một ô nhớ
Tham số:
hTargetWnd: Cửa sổ của game
dwAddress: Địa chỉ cần đọc
Giá trị trả về:
Giá trị của ô nhớ
Vì giới hạn của SendMessage, nên mỗi lần gọi hàm có thể đọc ghi tối đa là 1 int (4 bytes)
Kèm theo là ví dụ đọc chỉ số HP của nhân vật Kiếm Thế, bản 0.0.3
http://www.mediafire...php?vvtngzy3mnc
Không attach file được, nên phải upload lên mediafire.com

#44
Huỳnh Văn Thâm

Huỳnh Văn Thâm

    Thạc sĩ CSTH

  • VIP
  • PipPipPipPipPipPip
  • 2364 Bài Viết:
Viết theo chuẩn này được không bạn

Tệp Đính Kèm



#45
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 Bài Viết:
Hix, em bị mất mạng 2 ngày hôm nay, bi giờ mới có mạng, buồn ghê. Em mới làm đc mỗi hàm Run thôi, up code đang viết dở cho bác nào cần. File hook em lấy của bác modothienvuong, cách dùng file hook thế nào các bác tham khảo bài viết của bác mondo tại đây : http://forum.cuasoti...a...st&p=255944
Các bác click nút Chọn để chọn nhân vật rồi test hàm Run nhé :))

Tệp Đính Kèm


Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#46
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:
ai chỉ em cách tìm
NPC_NAME_SIZE
NPC_XPOS_OFF
NPC_YPOS_OFF với :-&

ps: hình như nút thanks bấm khong đc hay sao ấy, mình bấm thanks mà nó cứ load miết :hehe

Có cách nào truyền tọa độ vào bản đồ nhỏ để nó tự chạy không, nếu chạy theo cách của bác mocluu nó bị vướng thì sao :bong

Bài viết này được chỉnh sửa bởi zeuspnt00: 08 October 2009 - 09:33 PM

Ngã phải đứng dậy
Bại rồi mới thành công

#47
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 Bài Viết:

ai chỉ em cách tìm
NPC_NAME_SIZE
NPC_XPOS_OFF
NPC_YPOS_OFF với :d

ps: hình như nút thanks bấm khong đc hay sao ấy, mình bấm thanks mà nó cứ load miết :(

Có cách nào truyền tọa độ vào bản đồ nhỏ để nó tự chạy không, nếu chạy theo cách của bác mocluu nó bị vướng thì sao :(

Hi, cách chạy đó là chạy bình thường, còn cách chạy tự tìm đường mong bác Kiri và bác modo hướng dẫn mọi người. Tìm đc hàm này thì hay quá, không biết có phải là hàm có địa chỉ là 004b8ad0 ko nhỉ.Em gọi hàm này toàn lỗi , thoát game luôn.
Cách debug NPC_XPOS_OFF , NPC_YPOS_OFF bạn có thể làm như sau :
Tọa độ X của bạn là 200 => 200* 256 = 51200 , khi đấy tọa độ thực của bạn sẽ nằm gần với 51200. Vì vậy trong CE bạn search giá trị từ 51000 đến 51500 . Tiếp đó bạn cho nhân vật chạy đến tọa độ X là 205 chẳng hạn, lại làm như trên sẽ thu được 2 offset có cùng giá trị. Đấy là NPC_XPOS_OFF và KNPC_LParam_1 , bạn phân biệt 2 cái này = cách đánh 1 con quái sẽ thấy KNPC_LParam_1 có giá trị 1 còn NPC_XPOS_OFF vẫn là giá trị tọa độ X của nhân vật
Đọc bài của bác mondothienvuong để biết thêm http://forum.cuasoti...a...t&p=1444111 :(

Bài viết này được chỉnh sửa bởi mocluu: 08 October 2009 - 09:59 PM

Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#48
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:
ai chỉ mình cách đối thoại với npc với, ví dụ đối thoại với bạch thu lâm để nhận nhiệm vụ :d
Ngã phải đứng dậy
Bại rồi mới thành công

#49
Huỳnh Văn Thâm

Huỳnh Văn Thâm

    Thạc sĩ CSTH

  • VIP
  • PipPipPipPipPipPip
  • 2364 Bài Viết:

Hix, em bị mất mạng 2 ngày hôm nay, bi giờ mới có mạng, buồn ghê. Em mới làm đc mỗi hàm Run thôi, up code đang viết dở cho bác nào cần. File hook em lấy của bác modothienvuong, cách dùng file hook thế nào các bác tham khảo bài viết của bác mondo tại đây : http://forum.cuasoti...a...st&p=255944
Các bác click nút Chọn để chọn nhân vật rồi test hàm Run nhé :mad:

Cảm ơn bác nhé, có cái của bác tốt quá. Bác cho hỏi giá trị KNPC_XPOS_OFF,KNPC_YPOS_OFF là vị trí X, Y đang chạy tới hay chỉ là vị trí đang đứng của NPC ? Ví dụ làm sao phân biệt vị trí đang đứng và vị trí đang chạy tới vậy bác?

#50
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:
Biến PlrBaseAdd nghĩa là gì vậy các bạn, plr nghĩa là gì :mad:

//Item infomation
		public const int KITEM_PTR_ADDR = 0xB21EDC;
		public const int KITEM_DATA_SIZE = 0x548;
		public const int KITEM_NAME_OFF = 0x228;
		public const int MAX_ITEM = 256;
			
		//Obj infomation
		public const int KOBJ_PTR_ADDR = 0x7CF0E8;
		public const int KOBJ_DATA_SIZE = 0x3A4;
		public const int KOBJ_NAME_OFF = 0x60;
		public const int MAX_OBJ = 256;

ai giải thích giùm mình Item với Obj với, nó nghĩa là gì =))

Bài viết này được chỉnh sửa bởi zeuspnt00: 09 October 2009 - 08:38 AM

Ngã phải đứng dậy
Bại rồi mới thành công

#51
ƠNSD

ƠNSD

    Thành viên mới

  • Newbies
  • 10 Bài Viết:

Biến PlrBaseAdd nghĩa là gì vậy các bạn, plr nghĩa là gì =))

hình như là player

#52
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:

Biến PlrBaseAdd nghĩa là gì vậy các bạn, plr nghĩa là gì :mad:

hình như là player

vậy nó có nghĩa là nhân vật mình đang điều khiển hay là những ngừoi chơi xung quanh mình =))
Ngã phải đứng dậy
Bại rồi mới thành công

#53
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:

Hix, em bị mất mạng 2 ngày hôm nay, bi giờ mới có mạng, buồn ghê. Em mới làm đc mỗi hàm Run thôi, up code đang viết dở cho bác nào cần. File hook em lấy của bác modothienvuong, cách dùng file hook thế nào các bác tham khảo bài viết của bác mondo tại đây : http://forum.cuasoti...a...st&p=255944
Các bác click nút Chọn để chọn nhân vật rồi test hàm Run nhé :hehe

Cảm ơn bác nhé, có cái của bác tốt quá. Bác cho hỏi giá trị KNPC_XPOS_OFF,KNPC_YPOS_OFF là vị trí X, Y đang chạy tới hay chỉ là vị trí đang đứng của NPC ? Ví dụ làm sao phân biệt vị trí đang đứng và vị trí đang chạy tới vậy bác?


em dùng hàm kiểm tra theo thời gian thì thấy cái đó là tọa độ mà nhân vật đang chạy tới bác ơi :hehe

vậy làm sao để biết được nhân vật đã chạy tới nơi hay chưa để còn biết đường chạy điểm tiếp theo nhì :(

Bài viết này được chỉnh sửa bởi zeuspnt00: 09 October 2009 - 09:04 AM

Ngã phải đứng dậy
Bại rồi mới thành công

#54
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 Bài Viết:

ghi index của NPC vào đây: #define NPC_NPCIDX_OFF 0x588

Bác mondo ơi, cái cổng đi qua các Map cũng coi là NPC nhưng sao không tấn công đc vậy bác (để nhân vật có thể chạy qua) Em gán cho NPC , quái , người đều đc, có mỗi cái cổng qua các Map thì nó lại trơ ra :) Không biết còn cách nào để chạy qua cho dễ ko nhỉ, chẳng lẽ lại chạy đến tọa độ của cái cổng đó, như thế với mỗi Map lại phải đi ghi tọa độ của cổng thì chết mất

Bài viết này được chỉnh sửa bởi mocluu: 09 October 2009 - 10:38 AM

Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#55
mocluu

mocluu

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 263 Bài Viết:

1. Chạy đến tọa độ của nó đi cho dễ.
2. Thấy bạn ghi thì biết ngay là bạn chưa làm mà đã hỏi:
Thứ 1, nếu không lấy được tọa độ thì làm sao biết cổng nó ở đâu, chẳng lẽ chạy khắp bản đồ đến khi gặp cổng thì đi qua??? :bong
Thứ 2, nếu đã đứng gần cái cổng rồi thì lấy tọa độ của nó mà chạy tới, nó cũng là NPC mà :bong

Cảm ơn bác, tại lúc đầu em nghĩ theo chiều hướng đó nên cứ nhất nhất là tấn công cái cổng để qua. Bác nói em mới thấy mình lẫn quá. Em muốn người dùng có thể tạo file path để đi qua các map, nên người dùng sẽ chỉ lấy tọa độ gần cái cổng thôi. Khi nhân vật chạy đc đến tọa độ đó rồi thì sẽ tìm trong mảng NPC, kiểm tra NPC_KIND nào = 4 thì nó là cổng, lấy tọa độ của nó như bác nói, sau đó move tới tọa độ đấy là qua. :bong
Xem tử vi để biết bản đồ của đời người. Biết mà chuẩn bị kỹ càng và vươn lên trên số phận con người.

#56
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1085 Bài Viết:
Hàm sử dụng Item:
#define KPLAYER_PTR_ADDR 0x78AEB4
#define KPLAYER_SIZE 0x5A50
#define KITEMLIST_OFF 0x1F80
#define KITEMLIST_USEITEM 0x5D3A70
typedef struct
{
	int		nPlace;
	int		nX;
	int		nY;
} ItemPos;
BOOL UseItem(ItemPos* pPos)
{
	BOOL bRet;
	__asm
	{
		pushad
		mov eax, KPLAYER_PTR_ADDR
		mov ecx, [eax]
		add ecx, KPLAYER_SIZE
		add ecx, KITEMLIST_OFF
		mov eax, pPos
		push eax
		mov eax, KITEMLIST_USEITEM
		call eax
		mov bRet, eax
		popad
	}
	return bRet;
}
nPlace = 2, hành trang
Dùng item tại vị trí x = 2, y = 1 trong hành trang
ItemPos pos;
pos.nPlace = 2;
pos.nX = 2;
pos.nY = 1;
UseItem(&pos);


#57
kirimaru

kirimaru

    Cử nhân CSTH

  • VIP
  • PipPipPipPipPip
  • 1085 Bài Viết:
Hàm sửa đồ:
#define KITEMLIST_REPAIRITEM 0x5D3160
enum
{
	repair_none, 
	repair_nomal, // sửa thường
	repair_special, // sửa kỹ
	repair_jinxi, // sửa dùng kim tê, phải có kim tê trong hành trang
};
BOOL RepairItem(int nItemIdx, int nRepairType)
{
	BOOL bRet;
	__asm
	{
		pushad
		mov eax, KPLAYER_PTR_ADDR
		mov ecx, [eax]
		add ecx, KPLAYER_SIZE
		add ecx, KITEMLIST_OFF
		mov eax, nRepairType
		push eax
		mov eax, nItemIdx
		push eax
		mov eax, KITEMLIST_REPAIRITEM
		call eax
		mov bRet, eax
		popad
	}
	return bRet;
}

Bài viết này được chỉnh sửa bởi kirimaru: 10 October 2009 - 03:38 PM


#58
tsunami9x

tsunami9x

    Thành viên mới

  • Newbies
  • 18 Bài Viết:
cho tui hỏi cái là ...

trong C# thì muốn cho xài item trong dãy phim từ 0 -> 9 thì code như nào vậy ???

tiện thể cho hỏi lun là sao tui kiếm mãi cái offset của Exp hoài mà đều ko ra ??? dù làm đủ mọi kiểu =.=!

Bài viết này được chỉnh sửa bởi tsunami9x: 10 October 2009 - 11:22 PM


#59
Huỳnh Văn Thâm

Huỳnh Văn Thâm

    Thạc sĩ CSTH

  • VIP
  • PipPipPipPipPipPip
  • 2364 Bài Viết:

cho tui hỏi cái là ...

trong C# thì muốn cho xài item trong dãy phim từ 0 -> 9 thì code như nào vậy ???

tiện thể cho hỏi lun là sao tui kiếm mãi cái offset của Exp hoài mà đều ko ra ??? dù làm đủ mọi kiểu =.=!

Cái của bạn mình cũng đã thử bằng hàm PostMessage nhưng mà nó không send được, ví dụ mình muốn gởi Ctrl + F để bật chức năng Autotrain của game lên vậy mà mình làm hoài cũng không được, chắt phải nhờ cao thủ nào giúp đỡ rời.

Ngồi học debug tìm cái này chơi :dede
NPC_DOING_OFF = 0x264; // 1 - Đứng im; 2 : đi bộ, 3 : Chạy ; 7 - Đang xuất chiêu; 8 - Ngồi; 21- Chết

Bài viết này được chỉnh sửa bởi Huỳnh Văn Thâm: 11 October 2009 - 02:00 AM


#60
zeuspnt00

zeuspnt00

    Trung cấp CSTH

  • Advance Member
  • PipPipPip
  • 454 Bài Viết:
cho em hỏi, làm thế nào kiểm tra được trạng thái nhân vật ví dụ như nhân vật được hưởng lửa trại, hưởng tu luyện mật tịch, kinh nghiệm, may mắn từ tu luyện châu vậy :jeje:
Ngã phải đứng dậy
Bại rồi mới thành công






Perfumista - Thong tin nuoc hoa

Stars Counter Game

Balloon vs. Thorns

MU Phuc Hung

Làm Việc Tài Nhà

Mu Da Nang

Tuyển Nhân Viên Bán Hàng

Tư vấn sức khỏe trực tuyến

Close [X]