Jump to content

Mu Moi ra - Vina MU

Cộng đồng Âm nhạc Việt Nam

Photo

Hướng dẫn lập chương trình AutoPlay VLTK

* * * * * 1 votes

  • This topic is locked This topic is locked
630 replies to this topic

#21
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

anhemFSA, on May 23 2006, 06:30 PM, said:

Cảm ơn bạn Ngoc đã chỉ giáo cho mình. Mình phát hiện ra lỗi rồi, đó là vì mình copy thủ công file DLL sang thư mục debug của Project chính để chạy, lần đó mình quên chưa copy DLL sang nên nó mới lỗi à. Mình làm theo hướng dẫn thì đã làm được rồi.

Song còn một điều nữa muốn hỏi bạn, đó là mình muốn truyền nhiều tham số hơn là một tham số, ví dụ một mảng chẳng hạn đến hàm NewWinproc trong hook.dll thì phải làm thế nào vậy ?

Cái Prj của mình đã thiết lập để build các file kết quả ra thư mục ngoài rùi, chỉ cần chạy thôi, khỏi cần copy qua lại. Dù sao bạn đã làm được rùi, chúc mừng nhé.
Truyền cả mảng cũng ko khó: Bạn tạo một mảng dữ liệu trong process của VLAuto rồi truyền địa chỉ và kích thước qua process của Game, sau đó ở NewWinProc bạn dùng hàm ReadProcessMem... để đọc nó là OK.
Ngọc

tinto, on May 23 2006, 07:07 PM, said:

hello programmers,

Toi muon gop y mot chut hi vong co the cai? tien ct autoLite cua bac Ngoc:

- De tranh danh qua gan tuong/chuong ngai vat (chieu xuat ra ko co tac dung, ket qua bi quai vay) ap dung cho he^ danh apsat (tvb, vd):
1. xac dinh toa do quai (e.g gan nhat)
2. xac dinh vi tri danh tot nhat (vong trong xung quanh quai voi ban kinh la khoang? cach xuat chieu, tim cell xa tuong nhat)
3. Run den vi tri danh
4. Danh (obviously :(

- Thoi gian tre~ de? xac dinh quai loi~ (danh mai~ khong tut mau) nen bat dau tinh tu khi danh chieu dau tien. Nhu the tranh truong hop chay mot khoang? dai den quai , chua kip danh chieu nao da~ bo? di.

- Khi bi quai vay, toi nghi~ uu tien danh con it mau truoc (hien nhien neu' danh bang tay) nhat la doi voi vd, tvb danh ap sat. Co the? xac dinh bang cach: trong vong tron ban kinh khoang? cach xuat chieu, chon con quai it mau nhat'. (Xac suat ks gan nhu ko co vi quai qua' gan minh` roi`.) Ngoai ra thi danh con gan nhat' la hop ly.

Toi khong thao lap trinh giao dien lam, toan lam tren Linux nen khong xai MSxxx ....
Bac' Ngoc co the? cho moi nguoi tham khao cai source code cua VLAutoLite duoc khong ? (ke ca phan giao dien) Hi vong toi co thoi gian cung` nghien cuu voi moi nguoi` cho vui.

Tin~ To`.

Một phần mềm hòan thiện luôn là niềm mơ ước của cả người dùng lẫn người lập trình nhưng cũng phải có thời gian, có DOS rồi bao năm sau mới có Win 3.11 rồi Win 95, 98, 2000, XP... :d
Ngoài ra một phần mềm có quá nhiều tính năng tổng hợp, có quá nhiều lựa chọn cũng sẽ dẫn tới khó khăn cho người dùng không chuyên nghiệp. Nếu cần các phần mềm có nhiều tính năng, các bạn có thể sử dụng bản Auto Smart của anh Khanh, mình thấy khá đầy đủ.
Mình vẫn đang cố gắng hòan thiện dần các tính năng để đáp ứng yêu cầu của các bạn nhưng vẫn cố gắng
giữ giao diện sao cho đơn giản/ dễ dùng nhất, phù hợp với đông đảo người dùng nhất :( .
Trong các góp ý của bạn thì cái tránh tường là khó lắm vì đâu có dễ biết là có gần tường hay ko đâu. Nếu làm được chắc mình đã làm lâu rồi ;;) Source Code thì đã post lên rùi mà?
Ngọc

Edited by oxconan, 20 August 2007 - 11:37 PM.

VLAuto website: http://vlauto.net
Email: [email protected]

#22
tinto

tinto

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 103 posts
Hi bac Ngoc,

>>Ngoài ra một phần mềm có quá nhiều tính năng tổng hợp, có quá nhiều lựa chọn cũng sẽ dẫn tới khó khăn cho người dùng không >>chuyên nghiệp. Nếu cần các phần mềm có nhiều tính năng, các bạn có thể sử dụng bản Auto Smart của anh Khanh, mình thấy >>khá đầy đủ.
>>Mình vẫn đang cố gắng hòan thiện dần các tính năng để đáp ứng yêu cầu của các bạn nhưng vẫn cố gắng
>>giữ giao diện sao cho đơn giản/ dễ dùng nhất, phù hợp với đông đảo người dùng nhất :d .

toi dong y voi bac. Cung~ vi li do nhe, don gian ma toi khong dung AutoSmart, ma chi? dung AutoLite cua bac :(

>>Trong các góp ý của bạn thì cái tránh tường là khó lắm vì đâu có dễ biết là có gần tường hay ko đâu. Nếu làm được chắc mình đã >>làm lâu rồi ;;)

the khong co cach nao de doc "trang thai" cua map/cell a ?
Co mot trick do*n gian? may ra tranh duoc:
- neu danh mot con quai 4-5 phat ma khong giam mau, chon con khac xa ra mot khoang? (e.g. 100 -200 diem?). Xac xuat danh con khac cung gan tuong se~ rat thap, dong thoi se~ keo con kia ra xa tuong. (con VD cua toi thuong xuyen bi >=2 con quay canh tuong, ct cu xoay het con no den con kia, cuoi cung het mau'/mana ma chet :(

>> Source Code thì đã post lên rùi mà?

toi da xem qua nhung chua thu? :( sorry

Tin~ To`.


Ngọc
[/quote]

#23
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

tamdhla, on May 24 2006, 11:25 AM, said:

Bác ngocnl đừng cho đánh nữa nhé, khi nào nó di chuyển được thì đánh. Kinh nghiệm của mình, quái di chuyển được là quái không lag.

Ừm, cái này mình cũng nghĩ đến rùi, nhưng đôi khi con của mình bị kẹt ko đánh được mà con quái nó cứ đi đi lại lại mới đau chứ :d, cái này là kẹt ko phải lag nha. Mình vẫn nghiên cứu thuật tóan tránh lag cho hòan thiện, nhưng cần thêm thời gian vì mình quá bận, 1 ngày chỉ có được 1 chút thời gian vào buổi tối để lập trình thôi ;;)
VLAuto website: http://vlauto.net
Email: [email protected]

#24
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

tamdhla, on May 24 2006, 01:35 PM, said:

Rõ ràng phía client chương trình điều khiển Auto đã hiểu không đồng bộ với server, nên chăng sau 1 khỏang thời gian bạn cho đồng bộ 1 lần !?

Cái này bạn tưởng vậy mà ko phải vậy đâu. Trên thực tế là khi mình điều khiển tay cũng có sự ko đồng bộ đó do đường truyền mạng ko tốt hoặc do cấu hình máy yếu nên dễ bị LAG. Nhưng vì điều khiển tay thì chỉ cần hơi khác một tí là mình lại click chuột nên ko phân biệt được. Còn Auto thì chỉ đơn giản là gọi hàm Game ra lệnh cho nó chạy đến 1 điểm thôi, còn việc đồng bộ là việc của Game, mình ko hề can thiệp.
VLAuto website: http://vlauto.net
Email: [email protected]

#25
tinto

tinto

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 103 posts
Dưới đây la bài mình gửi bi xóa di, may nhờ bạn anhthattinh giứ lại rồi thêm dấu hộ. Không gửi thi uổng công bạn quá. Cám ơn nhiều.
Góp ý cho bạn admin lần đầu xóa, ít ra cũng nên gửi trả bài cho người viết để chỉnh sủa, chứ chỉ một msg "xóa rồi" .... bảo ngồi viết lại cái email từ đầu thì chẳng ai làm được. Nản lòng người viết.

Cám ơn bạn anhthattinh.

Tin~ To`.

------------------------------------------

Vấn đề đánh gần tường có vẻ interesting đấy !!

Bạn tamdhla nói quái di chuyển được là không lag.Vấn đề ở đây không phải là lag,mà tại gần

tường võ công mình đánh ra(áp sát) không có tác dụng .Cái này không phải do lag.
Mặt khác nếu bạn muốn "track quái di chuyển?" thì lại phức tạp ra
(tracking không khó nhưng cũng không dễ)
Hỏi bác Ngọc là quái có tên hoặc id gì đó không ? để ? nếu đánh một quái 4-5 chiêu mà không tụt máu thì đánh dấu lại khoảng 2-3 phút.Lúc đó con của mình đã chạy khá xa rồi quay lại.

Tôi nghĩ cái idea tôi nói email trước khá đơn giản ? mà hiểu quả.Đánh không được 1 con thì tìm một quái xa hẳn (100-200d) để đánh,không đánh con gần.Xác xuất thoát khỏi khu vực tường là cao,lại vừa kéo con gần tường ra.

Để triệt để hơn,nếu mọi người thích,thì có thể làm một thuật toán "map learning".Nôm na như sau:Trong khi đánh ,thuật toán learn từ tọa độ mà nhân vật có thể chạy qua(hàm GetPos), đánh dấu vào map cell là "traversable".Sau một thời gian ,mình sẽ có một map of cells mà trong đó mình có thể biết đựơc cells nào đi/đánh được,cells nào là tường(chưa bao giờ chạy qua).Khi đó ,khi đánh một quái thì chọn cell traveralbe để tiếp cận con quái trước khi đánh.(suonds crazy hah

Chúc một ngày vui vẻ

Tĩn Tò

#26
NewBabie

NewBabie

    Căn bản tin học tốt

  • Advance Member
  • Pip
  • 43 posts
Bác Ngọc & mấy huynh ui, cho mình hỏi cái nha.
M cũng tập tè lập trình nên có download cái ct của Ngọc VLAutoLite-Open để học hỏi. M chỉ sửa lại để bơm máu & mana thui. Đi vào vấn đề chính nha, cho m hỏi cái chuyện nhỏ này nhe.
Trong cái HookInj.cpp, mình set cái breakpoint ở cái HookProc(..) để debuging, nhưng ko biết tại sao nó ko bao giờ break ở đó.
M hiểu nôm na là InjectDll() gọi HookProc -> NewProc. Rùi SetTimer() trong HookProc sẻ gọi TimeProc() để checkStatus(), nhưng ko biết tại sao set break ở HookProc() mà nó ko bao giờ vào. Hay là tại nó là process nên ko thể set breakpoint được? Nhờ các huynh chỉ giáo dzùm :eee

Ở cái SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)HookProc, ...); m có thử đổi WH_CALLWNDPROC thành WH_CALLWNDPROCRET thì nó có vào HookProc() nhưng lại ko bao giờ đủ điều kiện để đi vào cái if statement.
if((pCW->message == WM_HOOKEX) && pCW->lParam){
.....
}

Không biết m đã hiểu sai hay làm sai cái gì? Nhờ Ngọc & các huynh khác chỉ giáo dùm.
Cảm ơn rât nhiều

t/b: Văn của m có "g" hy vọng mấy huynh hiểu được mình muốn hỏi gì. :((

@Mod ui: mình xài VIQR font, nhưng ko hiểu sao kô thể đánh dấu chử " ư " hay chư " ơ " được. Không biết có ai bị vậy kô? M xài u* = ư or o* = ơ, nhưng ko được, kô biết có cái key nào khác cho 2 chữ này ko?

ATT: Bạn xài bản mã TELEX xem sao %-(

Edited by anhthattinh, 27 May 2006 - 01:20 AM.


#27
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

NewBabie, on May 27 2006, 01:15 AM, said:

Bác Ngọc & mấy huynh ui, cho mình hỏi cái nha.
M cũng tập tè lập trình nên có download cái ct của Ngọc VLAutoLite-Open để học hỏi. M chỉ sửa lại để bơm máu & mana thui. Đi vào vấn đề chính nha, cho m hỏi cái chuyện nhỏ này nhe.
Trong cái HookInj.cpp, mình set cái breakpoint ở cái HookProc(..) để debuging, nhưng ko biết tại sao nó ko bao giờ break ở đó.

Trong HookInj.cpp, hàm HookProc được chạy trong process của Game, ko phải của VLAuto nên bạn ko đặt breakpoint được. Có thể xử lý việc này bằng cách tạo file debug để bạn ghi các thông tin ra file này cho mỗi bước thực hiện.
VLAuto website: http://vlauto.net
Email: [email protected]

#28
bg1102

bg1102

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 100 posts
Bạn có thể debug thư viện hook trong process của game như sau:
- Dùng MS .Net Visual Studio để tạo file hook dll ở chế độ debug. Copy file dll này vào cùng thư mục với chương trình auto của bạn. Nói một cách khác, bạn phải bảo đảm làm sao cho thư viện dll này được sử dụng, chứ không phải một thư viện dll khác.
- Mở 2 cửa sổ game. Bỏ qua cửa sổ thứ nhất, và login vào char của bạn ở cửa sổ thứ hai.
- Vẫn ở trong môi trường MS .Net Visual Studio, và đang mở project của thư viện hook dll của bạn. Vào menu Debug->Process... rồi chọn process của game tương ứng với cửa sổ thứ hai (thường là process VLTK đầu tiên từ trên xuống trong danh sách) và chọn Attach.
- Vào trong file nguồn của thư viện hook của bạn và đặt breakpoint tại điểm bạn muốn.
- Chạy chương trình auto của bạn với cửa sổ thứ hai và thực hiện thao tác nào đó có sử dụng thư viện hook dll để SendMessage đến chương trình game.
- MS .Net Visual Studio sẽ kích họat debug khi gặp phải breakpoint bạn đã đặt.

Lưu ý: chỉ có thể debug cửa sổ game thứ hai trở đi, không debug được cửa sổ game thứ nhất. Hiện tượng này cũng giống như cái vụ đổi tên nhân vật để chơi Smart Autoplay, chỉ dùng được với cửa sổ thứ hai.

#29
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

bg1102, on May 27 2006, 06:34 AM, said:

Bạn có thể debug thư viện hook trong process của game như sau:
- Dùng MS .Net Visual Studio để tạo file hook dll ở chế độ debug. Copy file dll này vào cùng thư mục với ...
Lưu ý: chỉ có thể debug cửa sổ game thứ hai trở đi, không debug được cửa sổ game thứ nhất. Hiện tượng này cũng giống như cái vụ đổi tên nhân vật để chơi Smart Autoplay, chỉ dùng được với cửa sổ thứ hai.

Hình như làm vậy ko tiện lắm bg1102 à, hồi lâu rùi mình cũng có thử nhưng mà cái Game nó đang chạy, đặt breakpoint là nó đứng lại liền, và liên lạc client-server bị ngắt quãng thế là out (tất nhiên vẫn vào được hàm HookProc để coi các giá trị cần thiết, chỉ khó chịu là Game nó out thôi :eee )
À mà đã viết cái AutoPT cho SHXT chưa vậy, up lên cho anh em tham khảo với, :((
VLAuto website: http://vlauto.net
Email: [email protected]

#30
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

asdfjk, on May 27 2006, 07:49 AM, said:

Chào bạn ngocnl,
Tôi đã download project VLAuto của bạn về và chạy thử, nhưng không hiểu tại sao trên máy của tôi, chương trình sau khi biên dịch thì không tự đánh và di chuyển được, mặc dù tôi đã thiết lập tất cả các thông tin như trong giao diện yêu cầu, đồng thời, chương trình không gửi các phím F3, F4 đi được. khi có chọn F2 làm chiêu đánh thì chương trình chỉ đứng 1 chổ để đánh. và đặc biết là lượm đồ, mặc dù tôi đã bỏ các item ra trước mặt nhân vật.
Bạn có thể kiểm tra lại giùm với được không?
Thanks

Chắc bạn dùng .NET 2005 nên có một số điểm cần sửa. Mình đã sửa lại rùi đó, bạn download lại về đi nhé.
VLAuto website: http://vlauto.net
Email: [email protected]

#31
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

GauMap, on May 29 2006, 01:53 AM, said:

Chào bạn Ngọc,
...
Nhưng trong VB thì mình phải chuyển số:
0x00D3A570 = &HD3A570 = 13870448
0x00007E4C = &H7E4C = 32332

Vậy mình chuyển sao vậy bạn? Mình có làm theo code của bạn bg1102. Nhưng code của bạn này thì chỉ đọc được 1 cửa sổ game, cái còn lại phải click vào nó rồi mới lấy được tên nhân vật. Theo bạn, mình phải làm sao để lấy được 2 cửa sổ, tòan bộ thông tin về máu,mana....?

Việc đọc 1 hay 2 cửa sổ Game ko liên quan gì đến các khai báo trên. Mỗi cửa sổ Game sẽ chạy trên 1 process riêng và các thông số trên được lưu trong mỗi không gian khác nhau. Thông thường chúng ta dùng hàm FindWindow để tìm cửa sổ trên cùng mà thôi. Để tìm được nhiều cửa sổ Game VLTK bạn dùng hàm EnumWindows nhé.
VLAuto website: http://vlauto.net
Email: [email protected]

#32
GauMap

GauMap

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 107 posts

tengiquenroi, on May 29 2006, 08:11 PM, said:

Mình đã download 1 số source Auto trong Box này nhưng 0 bít nên mở ra = trình gì ?


Bạn có thể load Visual Studio 2003, hay 2005 nhưng nếu bạn không có tiền mua 2005 (tới hơn 30k / đĩa) thì bạn có thể tìm file có đuôi là vbproj hay vcproj rồi dùng notepad mở ra. Sửa version thành 7.0 là đuợc, khi biên dịch no sẽ yêu cầu save fule solution khác, bạn làm theo chỉ dẫn là xong.
Thân

ngocnl, on May 29 2006, 07:20 AM, said:

GauMap, on May 29 2006, 01:53 AM, said:

Chào bạn Ngọc,
...
Nhưng trong VB thì mình phải chuyển số:
0x00D3A570 = &HD3A570 = 13870448
0x00007E4C = &H7E4C = 32332

Vậy mình chuyển sao vậy bạn? Mình có làm theo code của bạn bg1102. Nhưng code của bạn này thì chỉ đọc được 1 cửa sổ game, cái còn lại phải click vào nó rồi mới lấy được tên nhân vật. Theo bạn, mình phải làm sao để lấy được 2 cửa sổ, tòan bộ thông tin về máu,mana....?

Việc đọc 1 hay 2 cửa sổ Game ko liên quan gì đến các khai báo trên. Mỗi cửa sổ Game sẽ chạy trên 1 process riêng và các thông số trên được lưu trong mỗi không gian khác nhau. Thông thường chúng ta dùng hàm FindWindow để tìm cửa sổ trên cùng mà thôi. Để tìm được nhiều cửa sổ Game VLTK bạn dùng hàm EnumWindows nhé.

Ngọc ơi,
Bạn có thể nói rõ hơn hay cho đọan code ví dụ về enumwindows không bạn?

#33
asdfjk

asdfjk

    Thành viên mới

  • Advance Member
  • 32 posts
Đoạn code ví dụ về enumwindows

class CEnumWindows
{
public:
CEnumWindows();
virtual ~CEnumWindows();
const WindowsList& GetTopLevelWindows();
protected:
virtual bool GetWindowsInfo(const HWND& hWnd);
static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
private:
WindowsList m_windowsList;
};

BOOL CALLBACK CEnumWindows::EnumWindowsProc(HWND hWnd, LPARAM lParam)
{
CEnumWindows* me = (CEnumWindows*)lParam;
ASSERT(me);
return me->GetWindowsInfo(hWnd);
}

bool CEnumWindows::GetWindowsInfo(const HWND& hWnd)
{
WINDOWINFO wi;
TCHAR window_title[MAX_WINDOW_NAME];
::GetWindowInfo(hWnd, &wi);
if ( (wi.dwStyle & WS_VISIBLE) && !(wi.dwStyle & WS_POPUP) )
{
::GetWindowText(hWnd, window_title, MAX_WINDOW_NAME);
m_windowsList.push_back(make_pair(window_title, hWnd));
}
return true;
}

const WindowsList& CEnumWindows::GetTopLevelWindows()
{
m_windowsList.clear();
::EnumWindows(EnumWindowsProc, (LPARAM)this);
return m_windowsList;
}

#34
goldenBOSS

goldenBOSS

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 228 posts
Bạn ngocnl, bạn làm ơn cho biet cách để nhận biết được là boss Hoang Kim hay các loại boss khác trong mảng 256 object Npc?

Edited by goldenBOSS, 31 May 2006 - 01:22 PM.

<!--sizeo:2--><!--/sizeo--><!--coloro:#FF6666--><!--/coloro-->Life is also a game<!--colorc--><!--/colorc--><!--sizec--><!--/sizec-->

#35
congchi

congchi

    Căn bản tin học tốt

  • Advance Member
  • Pip
  • 47 posts
Có mấy cái này các pác xem có giúp được gì không nhé :
- Nếu cho NM theo sau bằng cách dùng chức năng theo của game thì nhiều khi mạng lag, NM và nhân vật chính đứng cách xa nhau, thế là NM chết. Chi bằng ta cho NM chạy thẳng tới tọa độ nhân vật chính đang đứng.
- Việc dùng các phím Q,W,E,F2,F3... rất bất tiện. Ta có thể dùng kênh chat để bật các chức năng này : DirectShortcutSkill(n) hoặc ShortcutSkill(n). Với n=0,1,2... tương ứng với F2,F3,F4... (trong chế độ mặc định).
- Chỉ mình làm sao viết vào kênh chat mà không dùng PostMessage với.

#36
th01b1

th01b1

    Upload Team

  • VIP
  • PipPipPipPipPip
  • 1,022 posts

ming_si86, on Jun 5 2006, 08:56 AM, said:

Ban Ngoc oi!Ban chi ro di ,toi chua hoc qua mon lap trinh nay nen nhung gi ban viet minh thay hay nhung ma chang hieu lam sao mo o dau cai phan lap trinh :bong .Dung noi minh la noob nha.Minh thay nhung phan ban viet co le chi thich hom cho nhung nguoi da tung hoc qua thoi. :((


- acc, bác làm ơn đọc kỹ cái tiêu đề của box trước đi. Box này là "Hướng dẫn lập chương trình AutoPlay VLTK" chứ không phải box chỉ cách hoc lập trình nhá :((
- P/s : các bác ơi đừng hỏi lung tung nửa, hỏi xoay vào vấn đề để còn nhặt được kiến thức mới, để viết chứ :((

Edited by th01b1, 05 June 2006 - 11:29 AM.


Hôm nay không bằng hôm qua nhưng sẽ tốt hơn ngày mai !


#37
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

rfc647, on Jun 15 2006, 02:22 PM, said:

Xin hỏi ngocnl một tí, mấy thông tin về cấu trúc của của VLTK bạn phân tích ra được hay là có source của nó. Nếu bạn có source hay cấu trúc đóng gói packet gửi lên server cho mình xin tí nhe. Có được cái này chơi với tụi VNG sẽ vui lém. Thank ngocnl nhiều.

Mình vừa có source vừa phải phân tích vì cái source này cũ rích rồi (của TQ từ thời 1.0 thì phải), ko giống với cái bản CTC và SHXT hiện tại.

Source thì bạn kiếm đâu đó trên net, tên file là SwordOnline.rar, tôi ko còn nhớ nữa... nhưng có rồi thì cũng chưa chắc làm gì được VNG. Game online cũng có những chế độ protect của nó chứ, có phải cứ gửi packet lên là làm được đâu?

Chúc vui.
VLAuto website: http://vlauto.net
Email: [email protected]

#38
GauMap

GauMap

    Trình độ A CSTH

  • Advance Member
  • PipPip
  • 107 posts

MyNickName, on Jun 20 2006, 10:04 AM, said:

Thực ra câu hỏi này đã được hỏi và cũng đã được trả lời (TLG, NgocNL).
Tất nhiên là rất khó mô tả hết ra được, cái này phụ thuộc vào kinh nghiệm mày mò của bạn thôi, mỗi người một cách không có khuôn mẫu nào cả.
Còn đây là cách mình hay dùng.
Bạn dùng Tsearch hoặc Artmoney để tìm các giá trị cơ bản, dễ tìm. rồi debug asm code để tìm các đọan mã thay đổi các giá trị tìm được, từ mã đó bạn sẽ tìm ra được các giá trị gốc như trên.

@MyNickName: Mình đã load ArtMoney về rồi, nhưng không biết "giá trị cơ bản" là gì? Ví dụ, để kiếm điểm kinh nghiệm hiện tại (138502) thì mình điền vào mục search của nó với option "seach exact value", "Type integer (standard)" với value là 138502 thì nó cho ra 3 kết quả địa chỉ tương ứng như sau: 02CE6D9C, 03C442CC, 047F71FC. Vậy thì offset của nó là gì? rồi mình phải làm bước tiếp theo là sao? Bạn có thể viết một bài hướng dẫn cụ thể, rõ ràng một lần để anh em tự làm, được không bạn? Thanks bạn nha.

Edited by GauMap, 20 June 2006 - 07:58 PM.


#39
bio

bio

    Thành viên mới

  • Advance Member
  • 11 posts
cho minh hoi them ve ham PostMessage:
vd:::PostMessage(m_hVLWin, WM_KEYDOWN, VK_F2, 0x003C0001);

ko biết bạn Ngọc lấy được giá trị lParam = 0x003C0001 bằng cách nào vậy?

#40
ngocnl

ngocnl

    Cao đẳng CSTH

  • VIP
  • PipPipPipPip
  • 719 posts

GauMap, on Jun 24 2006, 06:22 PM, said:

Về mặt cấu trúc thì như thế cũng được, nhưng gay nhất là địa chỉ offset để lấy thông tin, có cái đó thì cấu trúc chương trình của bạn như thế nào cũng okie. Bạn nên hỏi về địa chỉ offset thì hơn.
thân

Cấu trúc thì cũng đã thay đổi hết rồi,... nhưng nếu bạn đã biết được địa chỉ gốc rồi thì tìm offset đâu có gì khó?
Tọa độ của người chơi thì đã biết rồi (dựa theo số trên bản đồ nhỏ), bạn dựa vào hàm GetMapPos của tôi rồi chỉ việc dùng các công thức tính ngược là sẽ ra Regx, RegY, MapX, MapY sau đó search trong class sẽ tìm ra offset, rồi gần đó sẽ là OffX, OffY thôi.
Ngọc
VLAuto website: http://vlauto.net
Email: [email protected]




1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users




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]