/* Unregisters a forward.
* The registerId must be from register_forward, and
* post/forwardtype must match what you registered the forward as.
*/
native unregister_forward(_forwardType, registerId, post=0);
Синтаксис:
unregister_forward(_forwardType, registerId, post=0)
- _forwardType - Forward константа
- registerId - номер зарегистрированного форварда.
- post=0 - пре или пост(по умолчанию пре)
Тип функции:
native
Описание:
Функция удаляет зарегистрированный пользователем форвард по его id.
Пример:
Заходим на сервер.
Пробуем убить себя, у нас ничего не получается.
Пишем в чат /delete
Пробуем убить себя - получилось.
Ну и теперь можно посмотреть консоль сервера(или просто свою консоль если проверяете на локалке.)
#include <amxmodx>
#include <fakemeta>
// Создадим переменную для хранения id форварда
new forwardId
public plugin_init()
{
// Зарегистрируем консольную команду, для удаления форварда.
register_clcmd("say /delete", "delete_forwards")
// Зарегистрируем форвард, и запишем его айди в переменную.
forwardId = register_forward(FM_ClientKill, "client_kill_pre")
// Выведем в консоль сервера его номер для наглядности.
server_print("^nid = %i^n", forwardId)
}
public delete_forwards(id)
{
// Удаляем
unregister_forward(FM_ClientKill, forwardId)
server_print("^nregister_forward id = %i^n", forwardId)
}
public client_kill_pre(id)
{
// Получаем имя игрока
new name[33]; get_user_name(id, name, charsmax(name))
// Выводим в консоль сервера id и имя самоубийцы
server_print("^nclient kill %i %s^n", id, name)
// Блокируем событие
return FMRES_SUPERCEDE
}
Вот ещё небольшой пример(удаление моделей из прекэша):