Sử dụng Actor trong server samp

Sử dụng Actor và chức năng Actor trong server samp

Hệ thống SA-MP từ phiên bản 0.3.7 có rất nhiều chức năng mới mà bạn có thể thêm vào server để tạo sự linh động,không khí mới mẻ và giúp server thu hút được nhiều member hơn , cũng như tạo cho server và member có thể năng động hơn. Những bài viết trước , ngoài việc sử dụng Dialogadd NPC vào server samp thì hôm nay trong viết lần này , mình sẽ hướng dẩn các bạn 1 số chức năng về Actor trong server samp và cách thêm actor vào server .

Những actor thì bạn có thể sử dụng nó ở những nơi cộng cộng , những nơi làm việc  công ty , nhà hàng ….. Còn rất nhiều nơi mà bạn phải cần những actor có những hành động chào khách , tiển khách và nhiều hành động  khác mà actor hiện có .

Thông tin về Actor 

Actor là 1 diển viên hoặc có thể gọi nôm na là Ma nơ canh vì chúng chi đứng yên một chổ , chỉ cử động và set được skin . Actor cũng giống như NPC , nó có thể dùng nhiều skin khác nhau và add những animations để chúng có thể chuyển động, nhưng actor không có chức năng record hoạt động như NPC mà chỉ đứng yên một chổ và không chiếm shot players trong server samp.

Actor chỉ có thể add vào nhiều nhất là 1000 (MAX_ACTORS).

Actor có thể bị đẩy bởi xe , để trở lại thì bạn có thể set time cho actor . Tuy nhiên ở phiên bản 0.3.7 R2 thì người chơi sẽ không thể tác động vào actor .

actor

Cách để tạo 1 actor đơn giản

Bước 1 : Lấy tọa độ , model actor 

Để tạo 1 actor,trước hết bạn cần phải có 1 tọa độ để spawn actor vào vị trí mà bạn đã save sẳn .

Bao gồm Float:X, Float:Y, Float:Z , bạn hãy tham khảo bài viết hướng dẩn lấy tọa độ samp và thực hiện để có 1 tọa độ hoàn chỉnh nhé .

Sau đó bạn cần có 1 model actor , đó chính là id skin của samp đấy . Để tham khảo những id skin để sử dụng thì bạn hãy xem bài viết tổng hợp id skin samp .

Bước 2 : Sử dụng CreateActor

Bạn vào file gamemode bằng pawno và tìm dòng public OnGameModeInit()

Sau đó thêm code tương tự sau đây :

Giải thích phần code như sau :

Đầu tiên bạn phải khai báo new Actor; vào phía trên public OnGameModeInit() ,bạn cũng có thể bỏ qua bước này nhưng khi add function thì bạn bỏ đoạn Actor = ra nhé,nhưng bạn sẽ không thể add/clear anim nếu như bỏ ( hãy cân nhắc điều này nhé ) .

Sử dụng function CreateActor 

  • modelid là id skin của bạn đã lấy ở bước 1 .
  • Float:X, Float:Y, Float:Z, Float:Rotation là những tọa độ mà bạn đã save , tạo độ X , Y , Z và tọa độ hướng mà bạn đang quay .

Tương tự như vậy tôi có code như sau :

Sau đó bạn Compiler gamemode bằng cách F5 . Vậy là xong phần add actor , quá đơn giản đúng không nào .

Thêm animations cho actor 

Để thêm động tác cho từng actor bạn chỉ cần sử dụng function ApplyActorAnimation .

Sử dụng function như sau :

Trong đó (mình chỉ chú thích nhưng phần quan trọng) :

  • actorid là cái new hồi nãy bạn đã gán .
  • animlib là thư viện chưa anim mà bạn sử dụng .
  • animname là tên anim mà bạn sử dụng cho actor .
  • fDelta là tốc độ sử dụng anim .
  • loop nếu bạn thiết lập 1 thì hành động sẽ được lập lại, còn 0 thì nó sẽ sử dụng 1 lần rồi thôi .

 

Sau đó , các bạn tìm code add actor trong callback public OnGameModeInit() lúc nãy và thêm đoạn code dưới đây vào sau nó :

Vậy là bạn đã add hành động shop_pay trong thư viện DEALER cho actor rồi đó .

Hủy Actor đã tạo

Để hủy actor đã ở bước trên , bạn không cần xóa mà có thể add thêm function để destroy . Nếu sau đó bạn muốn khôi phục thì khá dể dàng . Để khôi phục , bạn chỉ cần tìm public OnGameModeExit() và thêm đoạn code sau :

actor

Một số chức năng của Actor

SetActorHealth (Set máu cho actor) 

Để set máu cho actor thì bạn chỉ cần sử dụng function SetActorHealth, lưu ý function này chỉ hoạt động từ phiên bản sa-mp 0.3.7 trở lên .

Để sử dụng , bạn chỉ cần function vào dưới code tạo actor (CreateActor) như sau :

Trong đó :

  • SetActorHealth là tên function .
  • Actor là tên id của actor .
  • 100 là số lượng máu

 

GetActorPos

Đây là function được sử dụng để lấy tọa độ X,Y,Z của actor .

Để sử dụng bạn chỉ cần thêm đoạXem bài viếtn code dưới đây :

 

OnPlayerGiveDamageActor

Đây là callbacks có chức năng sử dụng khi người chơi tấn công actor .

Đoạn code trên nó sẽ gửi tin nhắn cho tất cả người chơi biết rằng , 1 người nào đó đã tấn công Actor .

Còn rất nhiều những function(chức năng) liên quan đến actor . Mình sẽ cập nhật trong thời gian sớm nhất .

Nếu bạn có góp ý cho bài viết hoặc những thắc mắc về lổi khi sử dụng actor thì hãy comment phía dưới hoặc truy cập diển đàn để được hổ trợ nhanh và sớm nhấtnhé .

 

Hướng dẩn tất cả những thủ thuật mà tôi biết được . Hy vọng sẽ giúp được mọi người hiểu biết nhiều samp và chia sẽ vps free .

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Bài viết có 0 bình luận