Hướng Dẫn Viết Script Tiện Ích Hay Dùng, Hướng Dẫn Viết Script Auto Xp

*

AUTOXP 1.xx – HƯỚNG DẪN VIẾT SCRIPTPhần 1 – Hướng dẫn chung.File Scripts.ini: Chứa danh mục các script được thể hiện trên giao diện chương trình. Các script được đánh số lần lượt từ 1 -> không hạn chế. Giá trị ScriptNum là tổng số script, các giá trị trong mục Script_File lưu thông tin về file mã nguồn của script (.lua) và Script_Desc là lưu tên của script hiện trên giao diện. Nếu sửa file Script.ini, cần phải chạy lại AutoXP để có hiệu lực.Thư mục Scripts: Chứa tất cả các file mã nguồn script (.lua). Các file cần được đặt ngắn gọn, dễ nhớ.Ngôn ngữ script: Là ngôn ngữ LUA Script. Để học thêm về ngôn ngữ này, người dùng có thể thao khảo tại các website dưới đây:Trang chủ LUA: The Programming Language LuaTài liệu về LUA: Lua: documentationLập trình với LUA: Programming in Lua : contentsCông cụ soạn LUA: Người dùng có thể dùng bất kỳ công cụ soạn thảo văn bản nào để soạn LUA script.AutoXP gợi ý sử dụng phần mềm opensource Notepad++ (.:: NOTEPAD++ ::.)Phần 2 – Cấu trúc chương trình script của AutoXP.Khai báo biến: vls = VLScript() – Là đối tượng chính của cả chương trình. Đối tượng này được dùng để gọi tất cả các hàm được export từ AutoXP.

Đang xem: Hướng dẫn viết script

Xem Thêm : Chữ Ký Tên Đức Đẹp ❤️️ Mẫu Chữ Kí Tên Đức Phong Thủy

Hàm sự kiện: OnActionBegin() và OnActionEnd() – Là hai hàm được tự động gọi khi script bắt đầu và kết thúc. Có thể sử dụng để viết các đoạn code thông báo các thông tin cần thiết.

Hàm sự kiện: OnActionReport() – Là hàm viết trong LUA, được gọi khi người dùng nhấn tổ hợp phím tắt Ctrl + W từ cửa sổ Game. Có thể dùng để viết các đoạn code thông báo các thông tin cần thiết (tham khảo file TinSuPhongKy.lua)

Hàm Main() – Là hàm chính của chương trình. Hàm này được AutoXP gọi tuần hoàn với chu kỳ 20ms một lần cho đến khi hàm StopAction() được gọi.

Xem Thêm : Câu hỏi bài Đây thôn Vĩ Dạ chọn lọc

Xem thêm: Danh Sách Các Trang Tạo Tên Miền Miễn Phí, 100% Không Mất Phí

Hàm thuộc lớp VLScript – Là các hàm cho phép gọi đến AutoXP từ chương trình LUA, để đọc thông tin hoặc thực hiện thao tác trong Game. Dưới đây là tất cả các hàm được export, mỗi phiên bản AutoXP khác có thể có những thay đổi. Người dùng cần phải luôn đọc HELP để xem lại các thay đổi này.

Xem thêm: Học Css Cơ Bản Cho Người Mới, Hướng Dẫn Học Css Grid Toàn Tập Phần 1

I. Các hàm cơ bản StopAction() – Kết thúc chương trình.SwitchAction(newscript) – Chuyển sang script khác trong cùng thư mục Scripts (không nhất thiết có mặt trong danh mục ở file Scripts.ini). Đây là một hàm rất hữu ích, cho phép người dùng thực hiện nhiều chương trình script liên tục nhau (tham khảo file TuiChienThang.lua).GetActionStep(), SetActionStep(nStep) – Đọc/ghi giá trị bước thực hiện của script. Nếu một chương trình có nhiều công đoạn thì mỗi công đoạn được chia thành các step cho phần lập trình thêm trong sáng, dễ hiểu (tham khảo file TinSuPhongKy.lua).GetRunningTime() – Đọc biến đếm chu kỳ vòng lặp toàn cục. Vòng lặp toàn chương trình có chu kỳ là 20ms, 50 vòng sẽ là 1 giây. Nếu người dùng cần các vòng lặp có chu kỳ lớn hơn, hãy sử dụng phép chia lấy dư ( %). Vòng lặp nhỏ hơn là không cần thiết vì tốc độ truyền của mạng sẽ không đáp ứng kịp (tham khảo file NgoiBanHang.lua).SetWaitTime(nTime) – Thiết lập giá trị đợi sau khi click NPC hoặc sử dụng vật phẩm tính theo giây. Mỗi khi click vào NPC hoặc sử dụng các vật phẩm sự kiện thì cần phải đợi 1 vài giây để hiện ra menu chọn. Sau khi hoàn tất các thao tác với menu, cần set giá trị về 0 để tiếp tục click ngay vào NPC.GetStaticValue(), SetStaticValue(nVal) – Đọc/ghi giá trị tùy ý của người dùng vào biến nhớ toàn cục (tham khảo file TinSuPhongKy.lua).II. Các hàm với NPCClickOnNpc(NpcName, nTime) – Click vào NPC có tên chứa đoạn NpcName với thời gian giãn cách giữa mỗi lần click là nTime giây (nTime có thể đặt = 0 để click liên tục). Nếu click vào NPC hiện ra menu thì sau khi thao tác xong trên menu, nên gọi SetWaitTime(0) để ngay lập tức click tiếp vào NPC. Hàm ClickOnNpc() trả về -1 nếu không thấy NPC, trả về 0 nếu đang chờ và trả về NpcID nếu click thành công.ClickOnNpcOnce(NpcName) – Click vào NPC có tên chứa đoạn NpcName chỉ 1 lần (vòng lặp sau sẽ không click nữa). Trả về –1 nếu không thấy NPC, trả về 0 nếu đang chờ và trả về NpcID nếu click thành công.MoveToPoint(nX, nY) – Di chuyển đến điểm có tọa độ (nX, nY). Đây là tọa độ tuyệt đối của nhân vật trong Game, muốn lấy giá trị tọa độ tại vị trí đứng hoặc điểm cắm cờ, có thể sử dụng phím tắt Ctrl + Space. Giá trị trả về là true nếu chạy chưa tới đích, trả về false nếu đã đến đích.MoveOffset(nX, nY) – Di chuyển dịch đi từ vị trí hiện tại một khoảng là nX, nY. Giá trị trả về là true nếu chạy chưa tới đích, trả về false nếu đã đến đích.IsOnHorse() – Kiểm tra trạng thái cưỡi ngựa, trả về true là đang cưỡi ngựa, false là đang không cưỡi ngựa.IsFightMode() – Kiểm tra trạng thái chiến đấu (trên bãi) hoặc phi chiến đấu (trong thành).SitAndSell() – Ra lệnh nhân vật ngồi bán hàng (dùng như AutoSell).III. Các hàm với ITEM GetRoomCount() – Đếm số ô đã bị chiếm trong Hành trang.GetItemCount(ItemName) – Đếm số lượng vật phẩm trong Hành trang (bao gồm cả số lượng được xếp chồng).RightClickItem(ItemName, nTime) – Sử dụng vật phẩm, đặt thời gian chờ giữa 2 lần sử dụng là nTime giây (tương tự hàm ClickOnNpc(), gọi SetWaitTime(0) nếu muốn ngay lập tức đặt thời gian chờ về 0). Hàm RightClickItem() trả về –1 nếu không có vật phẩm, trả về 0 nếu đang chờ và trả về 1 nếu click thành công.GroupStackItem(ItemName) – Gom các vật phẩm xếp chồng (ví dụ Phúc Duyên Tinh Thạch, Đồng Cổ…). Trả về true nếu còn đang thực hiện, trả về false nếu đã hoàn tất.IV. Các hàm với bảng thông báoIsMsgBoxOpened() – Trả về trạng thái mở / đóng của bảng thông báo trong Game (ví dụ thông báo “Bạn đã bị trọng thương” được gọi là MsgBox).MsgBoxContains(strMessage) – Trả về true nếu dòng thông báo chứa đoạn text strMessage.HideMsgBox() – Tắt bảng thông báo.V. Các hàm với menu IsMenuOpened() – Trả về trạng thái mở / đóng của menu (như bảng chọn đi Xa phu gọi là menu).MenuC
ontains(nIdx, strMessage) – Trả về true nếu menu chứa đoạn text strMessage. Giá trị nIdx là vị trí dòng của menu (tính từ 0 là thông báo của menu, 1 là dòng chọn đầu tiên…).ClickMenuIdx(nIdx) – Click chọn vị trí dòng thứ nIdx trên menu (tính từ 1).ClickMenuStr(strMessage) – Click chọn menu chứa dòng text strMessage. Giá trị trả về là vị trí đã click hoặc trả về 0 nếu không có dòng nào phù hợp.HideMenu() – Ẩn menu mà không chọn dòng nào (hàm này ít dùng).VI. Các hàm với map và vị trí GetPosition() – Đọc vị trí tọa độ X,Y của nhân vật (là tọa độ tuyệt đối trong Game).GetMapID() – Đọc giá trị ID của bản đồ đang đứng (giá trị ID của bản đồ, tham khảo file MapNames.ini).VII. Các hàm hệ thống SysMessage(strMessage, nChanel) – Gửi thông báo strMessage vào kênh hệ thống. Nếu nChanel = 0 thì thông báo ở ô bên dưới, nếu nChanel = 1 thì thông báo được hiển thị ở ô bên trên.ExecGameScript(strGameScript) – Thực thi script sẵn có của Game (…).GameOperation(nRe*****, wParam, lParam) – Thực thi hàm hệ thống của Game (…).

Nguồn: https://truongxaydunghcm.edu.vn
Danh mục: Kiến thức

Related Articles

Back to top button