Grab Modular

amxx reapi core Grab Modular 2.1.0

Нет прав для скачивания
Установка
  1. Отредактируйте словарь grab_modular.txt по своему вкусу.
  2. Скопируйте словарь в директорию "/amxmodx/data/lang/".
  3. Скопируйте файл grab_modular.inc в директорию "/amxmodx/scripting/include/".
  4. Откройте grab_modular.sma и скомпилируйте плагин (инструкция).
  5. Скопируйте скомпилированный grab_modular.amxx в директорию "/amxmodx/plugins/grab/".
  6. Пропишите grab/grab_modular.amxx в файле "/amxmodx/configs/plugins-grab.ini".
Настройки
Настройки находятся в конфигурационном файле "amxmodx/configs/plugins/grab_modular/grab_modular.cfg" что создаётся автоматически:
  • grab_enabled: работа плагина. 0 - выкл; 1 - вкл.
  • grab_min_distance: минимальная дистанция на которую можно приближать.
  • grab_max_distance: максимальная дистанция для взятия грабом.
  • grab_force: сила движения игрока грабом.
  • grab_ladder_support: поддержка лестниц: отключать если игрок на лестнице. 0 - выкл; 1- вкл.
В исходнике имеются две настройки:
  • VALID_CLASSNAMES: здесь указываются classname чтобы разрешить брать грабом определенные типы сущностей, не считая игроков. По стандарту разрешены оружия, выбрасываемые игроками, а также оружия, лежащие на карте.
  • CHECK_TIME: как часто делать проверки поиска во время использования граба. Если вы хотите чтобы граб работал "быстрее", а именно, чтобы быстрее определялась энтити, то это значение можно уменьшить, однако имейте в виду, что проверки будут также чаще.
API
Код:
#if defined _grab_modular_included
    #endinput
#endif
#define _grab_modular_included

enum
{
    GRAB_ALLOWED,
    GRAB_BLOCKED
};

#tryinclude <grab_rendering>
#tryinclude <grab_menu>

/**
 * Returns grabber index if entity is being grabbed.
 *
 * @param entity    Grabbed index
 *
 * @return          Grabber index, or 0 if not grabbed
 */
native grab_get_grabber(entity);

/**
 * Returns grabbed index if player is grabbing.
 *
 * @param id        Grabber index
 *
 * @return          Grabbed index, or 0 if not grabbing
 * @error           If the grabber index is not within the range of 1 to MaxClients,
 *                  an error will be thrown.
 */
native grab_get_grabbed(id);

/**
 * Returns the distance between grabber and grabbed.
 *
 * @param id        Grabber index
 *
 * @return          Distance between grabber and grabbed, or 0 if not grabbing
 * @error           If the grabber index is not within the range of 1 to MaxClients,
 *                  an error will be thrown.
 */
native Float:grab_get_distance(id);

/**
 * Sets the distance between grabber and grabbed.
 *
 * @param id        Grabber index
 * @param distance  New distance
 *
 * @return          true on success, false otherwise
 * @error           If the grabber index is not within the range of 0 to MaxClients,
 *                  an error will be thrown.
 */
native bool:grab_set_distance(id, Float:distance);

/**
 * Disables grab for player.
 *
 * @param id        Grabber index, or 0 for all players
 *
 * @return          true on success, false otherwise
 * @error           If the client index is not within the range of 1 to MaxClients,
 *                  an error will be thrown.
 */
native bool:grab_disable(id);

/**
 * Returns player access to grab.
 *
 * @param id        Client index
 *
 * @return          Access level
 * @error           If the client index is not within the range of 1 to MaxClients,
 *                  an error will be thrown.
 */
native grab_get_user_access(id);

/**
 * Sets player access to grab.
 *
 * @param id        Client index, or 0 for all players
 * @param level     Access level, 0 to remove access
 *
 * @return          true on success, false otherwise
 * @error           If the client index is greater than 0 and is not within the range of 0 to MaxClients,
 *                  an error will be thrown.
 */
native bool:grab_set_user_access(id, level = 1);

/**
 * Called when player starts to grab.
 *
 * @param id        Grabber index
 * @param entity    Grabbed index
 *
 * @noreturn
 */
forward grab_on_start(id, entity);

/**
 * Called when player finishes grabbing.
 *
 * @param id        Grabber index
 * @param entity    Grabbed index
 *
 * @noreturn
 */
forward grab_on_finish(id, entity);

/**
 * Called when player is grabbing an entity.
 *
 * @param id        Client index
 * @param entity    Grabbed entity
 *
 * @noreturn
 */
forward grab_on_grabbing(id, entity);

/**
 * Called when player access level is changed.
 *
 * @param id        Client index
 * @param old_level Previous level access
 * @param new_level New level access
 *
 * @noreturn
 */
forward grab_access_modified(id, old_level, new_level);
Сверху Снизу