PDA

View Full Version : Hướng dẫn làm server SA-MP phần 2



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.

truongvip
15-06-14, 01:59 PM
tạo ip tĩnh làm s team help mình vs bạn cho mình xin cái yahô

nhoi1122
23-06-14, 05:02 PM
bạn cần cái ip tỉnh thì bạn cứ mua ip tên miền mình bán cho bạn giá rẽ :D bảo hành 1 năm

Beo_cu
29-06-14, 11:10 PM
tạo ip tĩnh làm s team help mình vs bạn cho mình xin cái yahô

nếu bạn mở trên máy không cần IP tĩnh gì cả. mà VPS ip tĩnh hết rồi.
Mở trên máy bạn vào tplink mở port 7777
tắt tưởng lửa win đi là ok.
Chia sẻ IP máy cho người khác bằng cách vào ipchicken.com lấy IP .

trongvk123
25-08-14, 11:19 AM
nếu bạn mở trên máy không cần IP tĩnh gì cả. mà VPS ip tĩnh hết rồi.
Mở trên máy bạn vào tplink mở port 7777
tắt tưởng lửa win đi là ok.
Chia sẻ IP máy cho người khác bằng cách vào ipchicken.com lấy IP .
Model của em là tenda w311r em mở port 7777 rùi nhưng đưa IP cho người khác thì người khác không vào được là bị làm sao

congtuan123
25-08-14, 03:07 PM
Model của em là tenda w311r em mở port 7777 rùi nhưng đưa IP cho người khác thì người khác không vào được là bị làm sao

Bạn kiểm tra lại xem đã mở đúng chưa nhé :3

trongvk123
26-08-14, 10:08 AM
Bạn kiểm tra lại xem đã mở đúng chưa nhé :3
<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>
hãy giúp em nhá. Một mình em vào server thì được người khác vào thì em đưa IP wan cho người khác thì không được.

jakanbeo456
08-11-14, 04:59 PM
mình ko rành tiếng anh nhưng mình củng bik sơ qua những gì bạn hướng dẫn
có phải script lệnh này là ví dụ
cmd:help
và sendmessenger ( playerid , "day la lenh spawn Car")
và khi vào game mình ấn /help là nó hiện ra là đây là lệnh SPawn cả đúng ko vậy , nếu đúng vậy , có phải mình viết 1 script côde mã lệnh là
CMD: spawncar
//sendcar number(playerid, " Car1")
return 1 có phải là nó sẻ cho mình 1 chiếc xe ko nếu đúng vậy thì thanks bạn nhé vì mình thích dùng lệnh để phá server lắm =P~