Инфо из amxmodx.inc:
/* Gets value from client messages.
* When you are asking for string the array and length is needed (read_data(2,name,len)).
* Integer is returned by function (new me = read_data(3)).
* Float is set in second parameter (read_data(3,value)). */
native read_data(value, any:... );
На сколько я понял, речь идет о сообщениях для клиента, таких как старт раунда или его конец, победа одной из команд и тому подобных, в том числе сообщение о уроне или смерти, логично предположить вопрос о полном списке этих событий и сразу же на него отвечу - полный список событий/сообщений (events).
Синтаксис:
read_data ( value, [ ... ] )
- value - Номер аргумента
- [ ... ] - если аргумент не простое число... ( далее поймете)
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] read_data"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
//регистрация события смерти
register_event( "DeathMsg", "EventDeath", "a")
}
//Какие аргументы получает функция
// ("receiver", "index_of_killer", "index_of_victim", "headshot", "weapon_name")
public EventDeath(){
new iKiller = read_data(1)
new szKName[32]
get_user_name(iKiller,szKName,31)
new iVictim = read_data(2)
new szVName[32]
get_user_name(iVictim,szVName,31)
new iHeadShot = read_data(3)
static sWeapon[255];
read_data(4, sWeapon, sizeof(sWeapon)-1)
client_print(0,print_chat,"Killer:%s,Victim:%s,HS:%s,Weapon:%s",szKName,szVName,iHeadShot ? "Yes":"No",sWeapon)
}
Описание:
В примере выше, зарегистрировано событие смерти, из полного списка событий ( ссылку давал выше) мы можем узнать какие аргументы нам дает данное событие, а именно:
Name: DeathMsg
Structure:
byte KillerID
byte VictimID
byte IsHeadshot
string TruncatedWeaponName
Structure:
byte KillerID
byte VictimID
byte IsHeadshot
string TruncatedWeaponName
И далее с помощью функции read_data, начинаем получать каждый из аргументов.
Обратите внимание, что аргументы разного типа получаются разными способами.
Получение строки:
new string[32]
read_data(argument, string, 31)
Получение дробного числа:
new Float:fVal
read_data(argument, fVal)
Получение простого числа:
read_data(argument)
Так же получаем из айдишек жертвы и убийцы их имена, был ли убийство в голову и название оружия убийцы, и всю эту информацию выводим в чат.
Что он обозначает?