Инфо из cstrike.inc:
/* Returns index of entity (does not have to be a player) which hostage is following. 0 is hostage doesn't follow anything.
* Note: this native does not work on Condition Zero, which has a different hostage AI than CS. */
native cs_get_hostage_foll(index);
Синтаксис:
cs_get_hostage_foll(index)
- index - Внимание! это индекс заложника, а не игрока
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#define PLUGIN "[cstrike.inc] cs_get_hostage_foll"
#define VERSION "1.0"
#define AUTHOR "XxAvalanchexX , Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /fh","fhm")
}
public fhm(id){
client_print(id,print_chat,"Hostage[%d]",hostages_following(id))
}
stock hostages_following(id) {
new offset = 0, count = 0;
while((offset = find_ent_by_class(offset,"hostage_entity"))) {
if(cs_get_hostage_foll(offset) == id) {
count++;
}
}
return count;
}
Описание:
Не стану скрывать, написал функцию hostages_following не я, а XxAvalanchexX. Данная функция возвращает сколько заложников следует за игроком. Для игрока тут зарегистрирована команда say /fh, которая в течении своей работы вызывает, выше упомянутую, hostages_following и выводит сообщение с полученными данными.
В функции hostages_following происходит следующие:
- В цикле while идет поиск объектов по классу( в данном случае заложников)
- Как такой объект найден, проверяется условие верно ли что этот объект следует за игроком и если да, то прибавляем 1.
- Возвращает результат