Helpful Links
Half Life 1 Events and their Data
Correct use of certain Events by: VEN
Giới Thiệu
Hướng dẫn này sẽ bao gồm những cách chính xác để đăng ký, sử dụng và đọc các sự kiện. Nó được viết để giải quyết mới bắt đầu mới với ngôn ngữ Pawn. Vì vậy, cho phép bắt đầu:
Phần 1 : Đăng Ký Sự Kiện
Đăng ký sự kiện là khá dễ dàng. Chỉ cần sử dụng register_event trong plugin_init () để làm cho sự kiện đó có thể sử dụng trong mã của bạn.
e.x.:
Code:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_plugin("Events", "1.0", "Rolnaaba") register_event("DeathMsg", "Death", "a", "3!0") }
Đây là mã từ amxmodx.inc liên quan đến register_event:
Code:
/* Registers event on which a given function will be called
* Flags:
* "a" - global event.
* "b" - specified.
* "c" - send only once when repeated to other players.
* "d" - call if is send to dead player.
* "e" - to alive.
* Examples for conditions:
* "2=c4" - 2nd parameter of message must be sting "c4".
* "3>10" - 3rd parameter must be greater then 10.
* "3!4" - 3rd must be different from 4.
* "2&Buy" - 2nd parameter of message must contain "Buy" substring.
* "2!Buy" - 2nd parameter of message can't contain "Buy" substring. */
native register_event(const event[],const function[],const flags[],cond[]="", ... );
Sử dụng một sự kiện thậm chí còn dễ dàng hơn so với gọi nó. Tất cả các bạn làm là đăng ký các sự kiện bạn muốn sử dụng sau đó vào chức năng mà bạn thiết lập, sau đó thực hiện những gì bạn muốn làm.
Cho phép nói rằng bạn muốn tạo ra một tin nhắn trò chuyện (gửi đến tất cả mọi người trên máy chủ) nói rằng "một người nào đó đã chết bởi một headshot"
e.x.:
Code:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_plugin("Events", "1.0", "Rolnaaba") register_event("DeathMsg", "Death", "a", "3!0") } public Death() { client_print(0, print_chat, “Someone has died by a headshot”) }
Phần 3: đọc dữ liệu sự kiện đó thu thập
Hầu hết các sự kiện có dữ liệu đặc biệt được thu thập khi sự kiện xảy ra trong game. Cho phép sử dụng "DeathMsg" sự kiện là một ví dụ. Sự kiện này được gọi là bất cứ khi nào có người chết. Các dữ liệu thu thập được như sau: (1) ID của Killer, (2) ID của nạn nhân, (3) Có phải Kill A Headshot hay không, (4) Vũ khí Tên đã ra Kill. (xem "Sự kiện HL1 và dữ liệu của họ" trong Liên kết hữu ích Phần đầu của hướng dẫn này để biết thêm thông tin về tất cả các sự kiện và dữ liệu của họ). Điều này có nghĩa chúng ta có thể sử dụng chức năng read_data để có được dữ liệu này.
e.x.:
Code:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_plugin("Events", "1.0", "Rolnaaba") register_event("DeathMsg", "Death", "a", “3!0”) } public Death() { new victim = read_data(2) client_print(victim, print_chat, “You died by a headshot”) }
Code:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_plugin("Events", "1.0", "Rolnaaba") register_event("DeathMsg", "Death", "a", “3!0”) } public Death() { new victim = read_data(1) client_print(victim, print_chat, “You died by a headshot”) }
0 nhận xét:
Post a Comment