sidanlovehan
17-02-14, 10:16 AM
Bắt đầu tạo SA:MP
Commands (Lệnh)
Giới thiệu
Hướng dẫn này sẽ giúp đỡ các bạn bắt đầu hiểu dễ hơn trong việc tạo ra mã lệnh một cách dễ dàng.
Để thực hiện điều này chúng ta cần cách làm dễ dàng nhất. Và tôi sử dụng Include ZCMD .
Nội dung
• Tải về
• Pawno
• Including
• Tạo lệnh
• Hoàn tất
Download
Để có thể bắt đầu tạo lệnh, chúng ta cần Pawno.
Q: Pawno là gì?
Nó là một công cụ sử dụng trong việc script, viết mã nội dung.
Q: Làm sao để sử dụng?
Để sử dụng Pawno ,các bạn vào thư mục của máy chủ /pawno/pawno.exe
Nếu chưa tải bộ Server ở phần một thì bạn hãy tải dưới đây.
SA:MP 0.3x Server Package |Download
Pawno
Sau khi tải về, bật Pawno lên và chọn mở một trang mới New.
Như tôi đã nói, hướng dẫn này đang hướng dẫn tạo một lệnh bằng Pawno.
Bây giờ chọn tất cả(Ctrl+A) và xóa hết chữ.
Including
Và bây giờ chúng ta cần một số tập tin cần thiết để chạy script.
Nếu không có nó, script này sẽ vô dụng.
Ở đây tôi có 2 tệp includes.
1) a_samp
2) zcmd
a_samp: a_samp là một include và sẽ phải được đặt ở mọi script của SA:M.Include này phải luôn luôn có.
Nếu không có nó, sẽ không có script nào làm việc được.
zcmd:Zcmd sẽ không cần thiết ở mỗi script ,nhưng ở đây tôi cần nó trong việc hỗ trợ để tạo ra một mã lệnh như (/help, ...).
Trước tiên ta cần Define (định nghĩa) cho filterscript.Vì chúng ta đang thực tập làm filterscript.
#define FILTERSCRIPT
Và sau đó ta cần phải biết làm thế nào để sử dụng các Include.
Trước khi sử dụng Include, bạn phải chắc chắn rằng đã có đầy đủ các Include cần sử dụng nằm trong thư mục /pawno/include/...
a_samp luôn có sẵn trong bộ cài máy chủ?
Zcmd include tải ở: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Tải về giải nén tệp Zcmd.inc vào trong /pawno/include
Trong ngôn ngữ Pawno, chúng ta sử dụng mã #include chức năng để gọi các Include.
Ví dụ:
#include <including file>
Bạn cần phải đặt tên inlcude bên trong < >
Ghi chú:Trước khi sử dụng mã #include thì các bạn nên định nghĩa, #Define FILTERSCRIPT
Luôn luôn đặt include a_samp trước những include khác.
#include <a_samp> //Included a_samp.
#include <zcmd> //Included zcmd.
// phía sau đoạn mã sẽ vô hiệu hóa đoạn mã ( giống như ghi chú)
Vậy là chúng ta đã thành công trong việc bao gồm Include
Tạo lệnh
Ở đây tôi sử dụng zcmd, vì khi tạo lệnh theo dạng zcmd sẽ dễ dàng hơn.
CMD:xinchao(playerid,params[])
{
//Chức năng của bạn đặt ở đây
return 1;
}
Đó có nghĩa là một lệnh
xinchao là câu lệnh tôi làm
return 1; là viết tắt để đáp trả lại chức năng chúng tôi đã cài và } là khung chức năng mà tôi đã mở ra phía trước.
Để chế lệnh, bạn cần phải hiễu một ít chức năng cơ bản.
Có nhiều chức năng trong SA-MP, tôi không thể kể hết và các bạn có thể tìm tại đây : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Ở đây tôi làm đơn giản và dễ hiểu, khi sử dụng lệnh hệ thống sẽ gửi lại tin nhắn.
SendClientMessage(playerid,color,"Mot ngay dep troi");
SendClientMessage là mã dùng để gửi tin lại cho người chơi.
playerid là viết tắt người chơi đã sử dụng lệnh đó.
color là viết tắt màu sắc mà tin nhắn đó sẽ hiển thị
Bạn có thể tìm mã màu ở đây:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Lưu ý: Chỉ sử dụng mã phía sau #
NOTE:Trong đoạn tin gửi, bạn cần phải sử dung " phía trước và " phía sau.
Ví dụ:
SendClientMessage(playerid,0xFF00000,"Mot ngay dep troi");
Hoàn tất
Đây là lệnh mà tôi đã tạo ra
CMD:xinchao(playerid,params[])
{
SendClientMessage(playerid,0xFF0000,"Mot ngay dep troi.");
return 1;
}
Lệnh ở đây sẽ là /xinchao.
Bây giờ ấn F5 để biên dịch script của bạn (Complie) sang file .Amx
Nếu đây là một Filterscript, toàn bộ những gì tôi ví dụ sẽ như thế này
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
CMD:xinchao(playerid,params[])
{
SendClientMessage(playerid,0xFF0000,"Mot ngay dep troi.");
return 1;
}
Trong lúc biên dịch, hệ thống sẽ cần một đầu ra (nơi save script) thì bạn chọn vào thư mục Filterscript và đặt tên cho script của bạn. Như (xinchao.pwn, hello.pwn). Sau đó bạn sẽ nhận được thêm một file .Amx đầu ra.
Bây giờ, mở server.cfg ra và cho vào đoạn filterscript tên script của bạn vừa làm.Ở đây tôi đặt tên cho script vừa làm là xinchao.pwn ! Vây tôi sẽ add vào như sau
Khi cài filterscript vào server.cfg thì không cần phải thêm pwn hay amx ở phía sau
Bây giờ đóng server.cfg lại và save nó.
Chạy sampserver.exe
Add ip :7777 hoặc 127.0.0.1:7777. Connect vào máy chủ và kiểm tra những gì bạn đã làm. Chúc may mắn
Nếu bạn không hiểu những gì tôi viết, post câu hỏi ở đây.
Commands (Lệnh)
Giới thiệu
Hướng dẫn này sẽ giúp đỡ các bạn bắt đầu hiểu dễ hơn trong việc tạo ra mã lệnh một cách dễ dàng.
Để thực hiện điều này chúng ta cần cách làm dễ dàng nhất. Và tôi sử dụng Include ZCMD .
Nội dung
• Tải về
• Pawno
• Including
• Tạo lệnh
• Hoàn tất
Download
Để có thể bắt đầu tạo lệnh, chúng ta cần Pawno.
Q: Pawno là gì?
Nó là một công cụ sử dụng trong việc script, viết mã nội dung.
Q: Làm sao để sử dụng?
Để sử dụng Pawno ,các bạn vào thư mục của máy chủ /pawno/pawno.exe
Nếu chưa tải bộ Server ở phần một thì bạn hãy tải dưới đây.
SA:MP 0.3x Server Package |Download
Pawno
Sau khi tải về, bật Pawno lên và chọn mở một trang mới New.
Như tôi đã nói, hướng dẫn này đang hướng dẫn tạo một lệnh bằng Pawno.
Bây giờ chọn tất cả(Ctrl+A) và xóa hết chữ.
Including
Và bây giờ chúng ta cần một số tập tin cần thiết để chạy script.
Nếu không có nó, script này sẽ vô dụng.
Ở đây tôi có 2 tệp includes.
1) a_samp
2) zcmd
a_samp: a_samp là một include và sẽ phải được đặt ở mọi script của SA:M.Include này phải luôn luôn có.
Nếu không có nó, sẽ không có script nào làm việc được.
zcmd:Zcmd sẽ không cần thiết ở mỗi script ,nhưng ở đây tôi cần nó trong việc hỗ trợ để tạo ra một mã lệnh như (/help, ...).
Trước tiên ta cần Define (định nghĩa) cho filterscript.Vì chúng ta đang thực tập làm filterscript.
#define FILTERSCRIPT
Và sau đó ta cần phải biết làm thế nào để sử dụng các Include.
Trước khi sử dụng Include, bạn phải chắc chắn rằng đã có đầy đủ các Include cần sử dụng nằm trong thư mục /pawno/include/...
a_samp luôn có sẵn trong bộ cài máy chủ?
Zcmd include tải ở: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Tải về giải nén tệp Zcmd.inc vào trong /pawno/include
Trong ngôn ngữ Pawno, chúng ta sử dụng mã #include chức năng để gọi các Include.
Ví dụ:
#include <including file>
Bạn cần phải đặt tên inlcude bên trong < >
Ghi chú:Trước khi sử dụng mã #include thì các bạn nên định nghĩa, #Define FILTERSCRIPT
Luôn luôn đặt include a_samp trước những include khác.
#include <a_samp> //Included a_samp.
#include <zcmd> //Included zcmd.
// phía sau đoạn mã sẽ vô hiệu hóa đoạn mã ( giống như ghi chú)
Vậy là chúng ta đã thành công trong việc bao gồm Include
Tạo lệnh
Ở đây tôi sử dụng zcmd, vì khi tạo lệnh theo dạng zcmd sẽ dễ dàng hơn.
CMD:xinchao(playerid,params[])
{
//Chức năng của bạn đặt ở đây
return 1;
}
Đó có nghĩa là một lệnh
xinchao là câu lệnh tôi làm
return 1; là viết tắt để đáp trả lại chức năng chúng tôi đã cài và } là khung chức năng mà tôi đã mở ra phía trước.
Để chế lệnh, bạn cần phải hiễu một ít chức năng cơ bản.
Có nhiều chức năng trong SA-MP, tôi không thể kể hết và các bạn có thể tìm tại đây : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Ở đây tôi làm đơn giản và dễ hiểu, khi sử dụng lệnh hệ thống sẽ gửi lại tin nhắn.
SendClientMessage(playerid,color,"Mot ngay dep troi");
SendClientMessage là mã dùng để gửi tin lại cho người chơi.
playerid là viết tắt người chơi đã sử dụng lệnh đó.
color là viết tắt màu sắc mà tin nhắn đó sẽ hiển thị
Bạn có thể tìm mã màu ở đây:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Lưu ý: Chỉ sử dụng mã phía sau #
NOTE:Trong đoạn tin gửi, bạn cần phải sử dung " phía trước và " phía sau.
Ví dụ:
SendClientMessage(playerid,0xFF00000,"Mot ngay dep troi");
Hoàn tất
Đây là lệnh mà tôi đã tạo ra
CMD:xinchao(playerid,params[])
{
SendClientMessage(playerid,0xFF0000,"Mot ngay dep troi.");
return 1;
}
Lệnh ở đây sẽ là /xinchao.
Bây giờ ấn F5 để biên dịch script của bạn (Complie) sang file .Amx
Nếu đây là một Filterscript, toàn bộ những gì tôi ví dụ sẽ như thế này
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
CMD:xinchao(playerid,params[])
{
SendClientMessage(playerid,0xFF0000,"Mot ngay dep troi.");
return 1;
}
Trong lúc biên dịch, hệ thống sẽ cần một đầu ra (nơi save script) thì bạn chọn vào thư mục Filterscript và đặt tên cho script của bạn. Như (xinchao.pwn, hello.pwn). Sau đó bạn sẽ nhận được thêm một file .Amx đầu ra.
Bây giờ, mở server.cfg ra và cho vào đoạn filterscript tên script của bạn vừa làm.Ở đây tôi đặt tên cho script vừa làm là xinchao.pwn ! Vây tôi sẽ add vào như sau
Khi cài filterscript vào server.cfg thì không cần phải thêm pwn hay amx ở phía sau
Bây giờ đóng server.cfg lại và save nó.
Chạy sampserver.exe
Add ip :7777 hoặc 127.0.0.1:7777. Connect vào máy chủ và kiểm tra những gì bạn đã làm. Chúc may mắn
Nếu bạn không hiểu những gì tôi viết, post câu hỏi ở đây.