Hôm nay mình sẽ hướng dẫn các bạn viết plugin đầu tiên của mình. Plugin có tên Hello Word.
Vì máy mình không có CS và lâu rồi cũng không viết AMXX lại nên nếu bạn chạy plugin phát sinh lỗi thì cứ cmnt ở dưới. Mình sẽ giúp. Bản thân mình cũng chỉ là newbie nên không thể biết hết được. Nào chúng ta cùng bắt đầu viết plugin thôi.
Mình thường dùng AMXX Studio để code. Ngoài ra nếu không thích thì bạn có thể sử dụng nhiều trình code khác cũng được. Tải AMXX Studio về tại đây.
Mình sẽ giải thích từng câu lệnh cho các bạn hiểu. Các chương trình sau này nếu gặp lại câu lệnh tương tự thì mình sẽ không giải thích lại nữa.
Khi mở chương trình lên thì sẽ có giao diện như sau. Mình sẽ tập trung chủ yếu vào phần code mà không nói đến các chức năng của Phần mềm.
Ý nghĩa cũa những câu lệnh trên như sau:
#include <amxmodx>
#include <amxmisc>
>>Khai báo 2 thư viện chuẩn của amxx là amxmodx và amxmisc . Hai thư viện này chứa những hàm chuẩn trong amxx.
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
>> "New Plug-In" là tên của plugin của bạn. Có thể thay đổi theo ý thích. Ở đây mình sẽ đổi thành "Hello Word" >> "1.0" là phiên bản hiện tại của plugin thay đổi theo ý thích. Mình vẫn đẻ là 1.0 >> "author" là tên của người viết plugin. Ở đây mình đổi thành "Thai Nhat Minh"
Tiếp theo là đến hàm public plugin_init() {} . Đây là một hàm cực kỳ quan trọng của AMXX. Tất cả những đăng ký sự kiện, hook,... đều đăng ký ở đây.
register_plugin(PLUGIN, VERSION, AUTHOR)
>> đây là một hàm để đăng ký plugin của bạn. Bạn có thể bỏ đi cũng được không sao( Theo mình nhớ là vậy). :v
Tiếp theo bạn xóa dòng // Add your code here... Và thay bằng dòng register_clcmd("My_Plugin","cmd_hello"). >> Hàm register_clcmd() dùng để đăng ký một lệnh console ở client. Máy chủ sẽ không có lệnh này. Hàm này có hai tham số. Tham số đầu tiên là tên của lệnh. Khi vào console gõ dòng này thì nó sẽ hiện lên giống như khi bạn gõ các câu lệnh khác như sv_gravity, hud_draw,....Tham số thứ hai là tên của hàm sẽ được gọi trong plugin này. Khi bạn vào console gõ My_Plugin rồi Enter thì hàm cmd_hello sễ được gọi. Đến đây thì bạn có thể sẽ thắc mắc là cmd_hello ở đâu ra? Đọc phần tiếp theo thì bạn sẽ hiểu ra ngay thôi.
Đến dòng thứ 16 và viết thêm đoạn code này vào.
public cmd_hello(id)
{
client_print(id,print_console,"Hello Word")
}
Vì máy mình không có CS và lâu rồi cũng không viết AMXX lại nên nếu bạn chạy plugin phát sinh lỗi thì cứ cmnt ở dưới. Mình sẽ giúp. Bản thân mình cũng chỉ là newbie nên không thể biết hết được. Nào chúng ta cùng bắt đầu viết plugin thôi.
Mình thường dùng AMXX Studio để code. Ngoài ra nếu không thích thì bạn có thể sử dụng nhiều trình code khác cũng được. Tải AMXX Studio về tại đây.
Mình sẽ giải thích từng câu lệnh cho các bạn hiểu. Các chương trình sau này nếu gặp lại câu lệnh tương tự thì mình sẽ không giải thích lại nữa.
Khi mở chương trình lên thì sẽ có giao diện như sau. Mình sẽ tập trung chủ yếu vào phần code mà không nói đến các chức năng của Phần mềm.
Ý nghĩa cũa những câu lệnh trên như sau:
#include <amxmodx>
#include <amxmisc>
>>Khai báo 2 thư viện chuẩn của amxx là amxmodx và amxmisc . Hai thư viện này chứa những hàm chuẩn trong amxx.
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
>> "New Plug-In" là tên của plugin của bạn. Có thể thay đổi theo ý thích. Ở đây mình sẽ đổi thành "Hello Word" >> "1.0" là phiên bản hiện tại của plugin thay đổi theo ý thích. Mình vẫn đẻ là 1.0 >> "author" là tên của người viết plugin. Ở đây mình đổi thành "Thai Nhat Minh"
Tiếp theo là đến hàm public plugin_init() {} . Đây là một hàm cực kỳ quan trọng của AMXX. Tất cả những đăng ký sự kiện, hook,... đều đăng ký ở đây.
register_plugin(PLUGIN, VERSION, AUTHOR)
>> đây là một hàm để đăng ký plugin của bạn. Bạn có thể bỏ đi cũng được không sao( Theo mình nhớ là vậy). :v
Tiếp theo bạn xóa dòng // Add your code here... Và thay bằng dòng register_clcmd("My_Plugin","cmd_hello"). >> Hàm register_clcmd() dùng để đăng ký một lệnh console ở client. Máy chủ sẽ không có lệnh này. Hàm này có hai tham số. Tham số đầu tiên là tên của lệnh. Khi vào console gõ dòng này thì nó sẽ hiện lên giống như khi bạn gõ các câu lệnh khác như sv_gravity, hud_draw,....Tham số thứ hai là tên của hàm sẽ được gọi trong plugin này. Khi bạn vào console gõ My_Plugin rồi Enter thì hàm cmd_hello sễ được gọi. Đến đây thì bạn có thể sẽ thắc mắc là cmd_hello ở đâu ra? Đọc phần tiếp theo thì bạn sẽ hiểu ra ngay thôi.
Đến dòng thứ 16 và viết thêm đoạn code này vào.
public cmd_hello(id)
{
client_print(id,print_console,"Hello Word")
}