Hướng dẩn tạo Job đơn giản cho server samp
Job trong samp ( công việc ) thực sự rất cần thiết nếu muốn server được nhiều member gắn bó và phát triển , job có thể là công việc cày lúa , sữa xe , giao vật liệu hoặc giao bánh Pizza chẳng hạn .
Bạn có thể tạo ra nhiều job khác nhau tùy vào ý tưởng,tư duy và cuộc giống ngoài đời thực của bạn . Ví dụ như ban đang làm 1 công nhân đi lấy rác từ nhà của người dân về kho rác , sau đó bạn sẽ nhận được 1 khoản tiền nho nhỏ cho công việc đó . Bạn có thể đem ý tưởng này để viết thành 1 job cho server , để những người chơi khác trong server samp của bạn có thể làm việc để kiếm tiền trong game .
Để tạo ra job bạn cần phải viết scripts trên pawno , tùy theo mức độ phức tạp của job mà bạn có thể viết nhanh hay chậm . Để hoàn chỉnh thì bạn cần 1 quá trình test và thiết lập 1 cơ chế hoạt động hoàn hảo .
Trong bài viết hôm nay , mình sẽ hướng dẩn cho các bạn cách để tạo 1 job cho server samp đơn giản nhất nhưng nó mang chức năng không khác gì những công việc hiện tại .
I.Chuẩn bị
Trước khi có 1 job , bạn phải cần có 1 server samp , nếu như bạn chưa có thì có thể xem bài viết hướng dẩn tạo server samp bằng mySQL và Navicat .
Bây giờ bạn đã có 1 server hoàn chỉnh và đang hoạt động , bạn hãy tắt nó đi , thoát ra tìm và mở file pawno.exe theo đường dẩn /gamemode/pawno/pawno.exe .
Sau khi đã mở pawno thì bạn tạo 1 pawn mới bằng cách click biểu tượng “New” hoặc nhấn tổ hợp phím Crtl + N .
Table of Contents
II . Bắt đầu viết scripts
1 . Thêm biến
Đầu tiên chúng ta cần làm là thêm 1 biến mới vào để job được hoạt động :
Đặt biến trên trước code job của bạn , biến này là quan trong nhất trong code job của bạn , nếu không có thì toàn bộ code sẽ không hoạt động đâu nhé .
2. Thêm xe vào job
Bây giờ tôi sẽ Add xe Pizza vào bằng cách sử dụng AddStaticVehicle
Thêm đoạn code sau vào OnGameModeInit
Đây là code ví dụ , các bạn sửa lại tọa độ và ID Xe Pizza của bạn vào . Đoạn này mình sẽ lướt sơ qua , AddStaticVehicle sẽ được nói chi tiết hơn và sâu hơn vào bài viết sau .
3. Thêm command vào job .
- Trước hết bạn cần tìm dòng public OnPlayerCommandText(playerid, cmdtext[])
Sau đó thêm code vào để tạo lênh giúp người chơi có thể lấy bánh pizza
- Bạn muốn người chơi phải cần chiếc xe đã thêm lúc nãy mới có thể lấy bánh Pizza thì thêm đoạn code này vào command :
Hãy thay số 29 bằng ID xe của bạn nhé .
- Tiếp theo là đoạn code để công việc Pizza được hoạt động trên command đã gõ :
- Để biết điểm giao pizza ở đâu thì chúng ta cần thêm 1 điểm checkpoint vào . Người chơi có thể nhận ra theo điểm checkpoint đó mà giao pizza đến nơi đã quy định sẳn . Chúng ta thêm code sau :
Bạn hãy edit tọa độ phù hợp với công việc và kích thước của checkpoint phía sau code trên .
- Để thông báo cho người lấy bánh pizza biết thì cần có 1 tin nhắn , bạn hãy thêm code sau vào :
Sau khi đã thực hiện các bước trên thì bạn đã có 1 lênh hoàn chỉnh như sau .
Hãy thay số 29 bằng ID xe của bạn nhé .
4 . Tạo Callback
Bước này là hoạt động khi bạn đã giao xong bánh Pizza , tắt checkpoint và nhận tiền từ công việc
Bạn hãy thêm đoạn code dưới đây vào public OnPlayerEnterCheckpoint(playerid)
DisablePlayerCheckpoint : tắt check point của công việc .
SendClientMessage : Gửi dòng tin nhắn thông báo .
GivePlayerMoney : cộng tiền vào người chơi khi hoàn thành công việc .
Hãy thay số 482 bằng ID xe của bạn nhé .
5 . Chức năng phụ trong job
Nếu như người chơi không có xe Pizza Boy mà đến checkpoint để giao bánh thì sao ? . Ví dụ như bạn lấy xe pizza đã lấy bánh rồi sau đó out ra xe và dùng 1 chiếc Infernus để ăn gian thời gian vận chuyển bánh . Như vậy bạn cần tạo ra chức năng để người chơi không thể thoát ra xe nếu không muốn bị hủy điểm giao bánh .
Để khắc phục bạn cần thêm đoạn code sau vào public OnPlayerExitVehicle(playerid, vehicleid) .
6 . Tạo dòng lưu ý và Pickup cho job .
Nếu như bạn có 1 thông tin hoặc lưu ý về job . Ví dụ như 1 dòng thông báo rằng bạn cần /laybanhpizza để lấy bánh hoặc Bạn nhận được 500$ cho mỗi lần giao , Để tạo ra bạn có thể dùng Create3DTextLabel để thêm Text vào .
Tìm public OnGameModeInit() và thêm đoạn code như sau :
Còn Pickup là 1 điểm icon hình mẫu , bạn có thể tham khảo nhiều pickup khác nhau trên wiki .
Tìm public OnGameModeInit() và add pickup bằng đoạn code như sau :
7. Test job và hoàn tất
Bạn cũng có thể tham khảo code mẩu để dể hình dung hơn về cách viết scripts job trong samp .
Download : Mediafire / Password : sa-mp.click
https://www.youtube.com/watch?v=vZ9uCRZGjPI
Nếu job không give tiền thì bạn có thể tham khảo bài viết hướng dẩn give tiền trong filterscripts nhé .
Ngoài ra bạn có thể set skin Pizza cho người làm , tăng tiền hoặc đổi xe cũng được . Tùy sở thích và tư duy của mổi người .
Nếu bạn có những thắc mắc về lổi khi tạo job samp thì bạn có thể tham khảo những lổi pawno thường gặp . Hoặc vào diển đàn để được trợ giúp nhanh và chính xác nhất .
Comments (No)