Latest topics
Most Viewed Topics
Most active topics
Tạo nhân vật ảo đơn giản và chi tiết !
2 posters
Trang 1 trong tổng số 1 trang
Tạo nhân vật ảo đơn giản và chi tiết !
Hướng dẩn Add NPC vào server samp nhanh nhất
Server SA-MP nếu muốn chuyên nghiệp thì bạn cần thêm những scripts và nhiều hệ thống đa dạng . Những thứ đó sẽ giúp member cảm thấy thoải mái , mới mẻ khi tham gia vào chơi .
Trong bài viết này mình sẽ hướng dẩn cho tất cả các đọc giả , những newbie khi mới tham gia open server samp cách thêm NPC vào server , giúp cho server sinh động và chuyên nghiệp hơn .
npc
NPC SA-MP là gì ?
NPC là những nhân vật được thiết kế sẵn trong game để hỗ trợ người chơi. Ở các game online NPC giúp cho nhân vật của mình làm các nhiệm vụ. Nói chung mỗi NPC trong game đảm nhận các chức vụ khác nhau
NPC là viết tắt của từ NON-PLAYER CHARACTER
Theo xlagi.com
Nhưng trong samp NPC có khả năng di chuyển , hoạt động hoặc sử dụng Animation mà chúng ta đã Record sẳn . Các bạn có thể tạo nhiều NPC khác nhau , mổi NPC hoạt động và làm việc riêng biệt . Nhiều server đã có thể chỉnh sửa NPC giống như 1 player , có đầy đủ tên cũng như id của 1 player thật . Bạn cũng có thể thêm callbacks và fuction cho NPC đã tạo giúp cho nó có chức năng như player
NPC được phát triển từ phiên bản SA-MPHướng dẩn add NPC vào Server bằng 2 cách
I . Add NPC thủ công bằng code
Cách này giúp bạn add NPC bằng cách tự viết scripts , từ record của bạn thành hoạt động của NPC và sau đó là đưa nó vào gamemode hoàn toàn thủ công .
Để thực hiện add NPC thủ công các bạn làm như sau :
Bước 1 : Recording a playback file
Đầu tiên bạn cần record playback file cho NPC hoạt động , những gì bạn ghi lại thì NPC sẽ làm tương tự như vậy .
Để record , các bạn cần tải file filterscripts npc_record và add vào gamemode theo, nếu ai chưa biết có thể tham khảo bài hướng dẩn add fs vào server lúc trước của mình .
Sau khi đã add xong , các bạn bật server samp và vào game , sử dụng lệnh /rcon login để đăng nhập rcon . Sau khi đã đăng nhập rcon thì bạn gõ lệnh /rcon loadfs npc_record để load fs lúc nãy ( nếu như đã thêm vào server.cfg thì có thể bỏ qua bước này ) .
Sau khi filterscripts đã load các bạn dùng lênh /record mynpc ( /vrecord mynpc đối với NPC trên xe ) để bắt đầu record . Sau khi record start , các bạn hãy di chuyển những vị trị , động tác và hoạt động mà bạn muốn NPC làm y vậy . Để kết thúc record các bạn gõ lệnh /stoprecord.
Kết thúc record bây giờ bạn thoát game , vào thư mục scriptfiles trong gamemode và tìm và di chuyển file mynpc.rec vào thư mục gamemode/npcmodes/recordings/ .
Bước 2 : Controlling the NPC
Bước này là bước thiết lập NPC cùng với file record lúc nãy .
Các bạn vào pawno.exe và tạo 1 pawn mới bằng cách click icon New hoặc ấn tổ hợp phím Crtl + N .
Copy toàn bộ code dưới này và ấn F5 để compiler , các bạn lưu file pawno đã compiler này vào thư mục npcmodes.
Kết nối NPC đã thiết lập vào Server của bạn .
Code kết nối NPC vào server .
“Nghia” : Đây là tên gọi của NPC bạn sẽ thêm vào server .
“mynpc” : Tên file name record lúc nãy đã ghi của bạn .
Bây giờ add code vào gamemode.pwn của bạn như sau :
Bây giờ bạn muốn thêm xe cho NPC thì sử dụng code sau ( Nếu như bạn không sử dụng NPC trên xe thì không cần add vào nhé , có thể bỏ qua bước này ) .
Add code vào gamemode.pwn
Bước tiếp theo là sử dụng OnPlayerSpawn để spawn cho NPC vào server .
( Nếu là NPC trên xe thì bạn hãy bỏ qua code này nhé )
Bước 6 : Chỉnh sửa số lượng NPC
Do một số gamemode chưa có max_npc hoặc max_npc bằng 0 thì NPC sẽ không thể kết nối vào server , bạn cần vào server.cfg chỉnh sửa dòng code max_npc 2 ( để 2 NPC đã create ở trên vào server )
Bước cuối cùng đó chính là bật Server-samp.exe và hưởng thụ thành quả đã làm thôi .
Một số vấn đề liên quan đến quá trình add NPC :
NPC sẽ bị out sau khi vào server do Anti Cheat / Ping kick . Bạn có thể add đoạn code vào
Cách này hoàn toàn tự động trong việc record , code và spawn NPC ngay trong game . Thích hợp với số lượng NPC nhiều mà bạn muốn spawn , tránh mất thời gian và hay xãy ra lổi thì mình khuyên các bạn nên sử dụng cách này để add vào server samp .
Sử dụng Lênh :
/rec start – để bắt đầu record động rác
/rec stop – dừng record
/rec play – tạo ra npc đã record
/rec delete – xóa NPC
Hướng dẩn sử dụng :
Tải file npc.zip về và giải nén ra
Copy file exec.dll và exec.so vào thư mục /plugins
Copy file npc.pwn và npc.amx vào thử mục Filterscripts .
Mở file server.cfg và thêm ” npc ” vào dòng filterscripts , exec vào dòng plugins
Add maxnpc [ số NPC max ] trong server.cfg
Link download : { Link đã bị dấu, vui lòng nhập từ"Xem" để thấy }
Server SA-MP nếu muốn chuyên nghiệp thì bạn cần thêm những scripts và nhiều hệ thống đa dạng . Những thứ đó sẽ giúp member cảm thấy thoải mái , mới mẻ khi tham gia vào chơi .
Trong bài viết này mình sẽ hướng dẩn cho tất cả các đọc giả , những newbie khi mới tham gia open server samp cách thêm NPC vào server , giúp cho server sinh động và chuyên nghiệp hơn .
npc
NPC SA-MP là gì ?
NPC là những nhân vật được thiết kế sẵn trong game để hỗ trợ người chơi. Ở các game online NPC giúp cho nhân vật của mình làm các nhiệm vụ. Nói chung mỗi NPC trong game đảm nhận các chức vụ khác nhau
NPC là viết tắt của từ NON-PLAYER CHARACTER
Theo xlagi.com
Nhưng trong samp NPC có khả năng di chuyển , hoạt động hoặc sử dụng Animation mà chúng ta đã Record sẳn . Các bạn có thể tạo nhiều NPC khác nhau , mổi NPC hoạt động và làm việc riêng biệt . Nhiều server đã có thể chỉnh sửa NPC giống như 1 player , có đầy đủ tên cũng như id của 1 player thật . Bạn cũng có thể thêm callbacks và fuction cho NPC đã tạo giúp cho nó có chức năng như player
NPC được phát triển từ phiên bản SA-MPHướng dẩn add NPC vào Server bằng 2 cách
I . Add NPC thủ công bằng code
Cách này giúp bạn add NPC bằng cách tự viết scripts , từ record của bạn thành hoạt động của NPC và sau đó là đưa nó vào gamemode hoàn toàn thủ công .
Để thực hiện add NPC thủ công các bạn làm như sau :
Bước 1 : Recording a playback file
Đầu tiên bạn cần record playback file cho NPC hoạt động , những gì bạn ghi lại thì NPC sẽ làm tương tự như vậy .
Để record , các bạn cần tải file filterscripts npc_record và add vào gamemode theo, nếu ai chưa biết có thể tham khảo bài hướng dẩn add fs vào server lúc trước của mình .
Sau khi đã add xong , các bạn bật server samp và vào game , sử dụng lệnh /rcon login để đăng nhập rcon . Sau khi đã đăng nhập rcon thì bạn gõ lệnh /rcon loadfs npc_record để load fs lúc nãy ( nếu như đã thêm vào server.cfg thì có thể bỏ qua bước này ) .
Sau khi filterscripts đã load các bạn dùng lênh /record mynpc ( /vrecord mynpc đối với NPC trên xe ) để bắt đầu record . Sau khi record start , các bạn hãy di chuyển những vị trị , động tác và hoạt động mà bạn muốn NPC làm y vậy . Để kết thúc record các bạn gõ lệnh /stoprecord.
Kết thúc record bây giờ bạn thoát game , vào thư mục scriptfiles trong gamemode và tìm và di chuyển file mynpc.rec vào thư mục gamemode/npcmodes/recordings/ .
Bước 2 : Controlling the NPC
Bước này là bước thiết lập NPC cùng với file record lúc nãy .
Các bạn vào pawno.exe và tạo 1 pawn mới bằng cách click icon New hoặc ấn tổ hợp phím Crtl + N .
Copy toàn bộ code dưới này và ấn F5 để compiler , các bạn lưu file pawno đã compiler này vào thư mục npcmodes.
- Code:
#define RECORDING "mynpc" // Đây là tên của file record
#define RECORDING_TYPE 2 // Số 1 cho NPC trong xe hoặc 2 cho NPC đi bộ .
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#endif
1
2
3
4
5
6
7
8
9
10
11
12
13
#define RECORDING "mynpc" // Đây là tên của file record
#define RECORDING_TYPE 2 // Số 1 cho NPC trong xe hoặc 2 cho NPC đi bộ .
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#endif
Kết nối NPC đã thiết lập vào Server của bạn .
Code kết nối NPC vào server .
- Code:
ConnectNPC("Nghia","mynpc");
1
ConnectNPC("Nghia","mynpc");
“Nghia” : Đây là tên gọi của NPC bạn sẽ thêm vào server .
“mynpc” : Tên file name record lúc nãy đã ghi của bạn .
Bây giờ add code vào gamemode.pwn của bạn như sau :
- Code:
public OnGameModeInit()
{
print("my gamemode");
ConnectNPC("Nghia","mynpc");
return 1;
}
1
2
3
4
5
6
public OnGameModeInit()
{
print("my gamemode");
ConnectNPC("Nghia","mynpc");
return 1;
}
- Code:
public OnFilterScriptInit()
{
print("my filterscript");
ConnectNPC("Nghia","mynpc");
return 1;
}
1
2
3
4
5
6
public OnFilterScriptInit()
{
print("my filterscript");
ConnectNPC("Nghia","mynpc");
return 1;
}
Bây giờ bạn muốn thêm xe cho NPC thì sử dụng code sau ( Nếu như bạn không sử dụng NPC trên xe thì không cần add vào nhé , có thể bỏ qua bước này ) .
Add code vào gamemode.pwn
- Code:
new MyFirstNPCVehicle; //Global variable!
public OnGameModeInit()
{
print("my gamemode");
ConnectNPC("Nghia","mynpc");
MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
1
2
3
4
5
6
7
8
new MyFirstNPCVehicle; //Global variable!
public OnGameModeInit()
{
print("my gamemode");
ConnectNPC("Nghia","mynpc");
MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
- Code:
new MyFirstNPCVehicle; //Global variable!
public OnFilterScriptInit()
{
print("my filterscript");
ConnectNPC("MyFirstNPC","mynpc");
MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
1
2
3
4
5
6
7
8
new MyFirstNPCVehicle; //Global variable!
public OnFilterScriptInit()
{
print("my filterscript");
ConnectNPC("MyFirstNPC","mynpc");
MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
return 1;
}
Bước tiếp theo là sử dụng OnPlayerSpawn để spawn cho NPC vào server .
( Nếu là NPC trên xe thì bạn hãy bỏ qua code này nhé )
- Code:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
if(!strcmp(npcname, "Nghia", true)) //Checking if the NPC's name is MyFirstNPC
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
}
return 1;
}
//Other stuff for normal players goes here!
return 1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
if(!strcmp(npcname, "Nghia", true)) //Checking if the NPC's name is MyFirstNPC
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
}
return 1;
}
//Other stuff for normal players goes here!
return 1;
}
- Code:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
if(!strcmp(npcname, "MyFirstNPC", true)) //Checking if the NPC's name is MyFirstNPC
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
return 1;
}
if(!strcmp(npcname, "MySecondNPC", true))
{
PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
return 1;
}
return 1;
}
//Other stuff for normal players goes here!
return 1;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) //Checks if the player that just spawned is an NPC.
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); //Getting the NPC's name.
if(!strcmp(npcname, "MyFirstNPC", true)) //Checking if the NPC's name is MyFirstNPC
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0); //Putting the NPC into the vehicle we created for it.
return 1;
}
if(!strcmp(npcname, "MySecondNPC", true))
{
PutPlayerInVehicle(playerid, AnotherVehicleID, 0);
return 1;
}
return 1;
}
//Other stuff for normal players goes here!
return 1;
}
Bước 6 : Chỉnh sửa số lượng NPC
Do một số gamemode chưa có max_npc hoặc max_npc bằng 0 thì NPC sẽ không thể kết nối vào server , bạn cần vào server.cfg chỉnh sửa dòng code max_npc 2 ( để 2 NPC đã create ở trên vào server )
Bước cuối cùng đó chính là bật Server-samp.exe và hưởng thụ thành quả đã làm thôi .
Một số vấn đề liên quan đến quá trình add NPC :
NPC sẽ bị out sau khi vào server do Anti Cheat / Ping kick . Bạn có thể add đoạn code vào
- Code:
if(IsPlayerNPC(playerid)) return 1;
1
if(IsPlayerNPC(playerid)) return 1;
Cách này hoàn toàn tự động trong việc record , code và spawn NPC ngay trong game . Thích hợp với số lượng NPC nhiều mà bạn muốn spawn , tránh mất thời gian và hay xãy ra lổi thì mình khuyên các bạn nên sử dụng cách này để add vào server samp .
Sử dụng Lênh :
/rec start – để bắt đầu record động rác
/rec stop – dừng record
/rec play – tạo ra npc đã record
/rec delete – xóa NPC
Hướng dẩn sử dụng :
Tải file npc.zip về và giải nén ra
Copy file exec.dll và exec.so vào thư mục /plugins
Copy file npc.pwn và npc.amx vào thử mục Filterscripts .
Mở file server.cfg và thêm ” npc ” vào dòng filterscripts , exec vào dòng plugins
Add maxnpc [ số NPC max ] trong server.cfg
Link download : { Link đã bị dấu, vui lòng nhập từ"Xem" để thấy }
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
Fri Dec 09, 2016 7:25 pm by Rambo
» Filterscripts Đái Ỉa
Thu Dec 08, 2016 11:41 am by DatAce
» Tặng huy hiệu cho 3 người !
Wed Dec 07, 2016 8:14 pm by TTS6
» Bandicam full crack
Tue Dec 06, 2016 6:52 pm by TTS6
» Mod Radar Hướng dẫn chi tiết
Tue Dec 06, 2016 5:55 pm by BiAn
» [GAMEMODEL] Rgame 2015 !
Tue Dec 06, 2016 12:37 pm by datphit
» Hiep chính thực được lên Support Chính thức !
Mon Dec 05, 2016 2:24 pm by BiAn
» QC Pange Của Mình
Sat Dec 03, 2016 7:33 pm by Hiep
» [GAMEMODEL] Gần Giống VIETGTA-SAMP.ORG
Sat Dec 03, 2016 4:16 pm by TomVN