Иконка ресурса

Advanced Ultimate Weapons 0.1.1b

Нет прав для скачивания
Установка
  1. Скомпилируйте плагин (инструкция).
  2. Скопируйте скомпилированный файл advanced_ultimate_weapons.amxx в директорию: amxmodx/plugins/
  3. Пропишите advanced_ultimate_weapons.amxx в файле /amxmodx/configs/plugins.ini
  4. Переместите файл настроек ultimate_weapons.ini в директорию: /amxmodx/configs/
  5. Скопируйте дополнительные файлы плагина (models) в соответствующие директории на сервере
  6. -- auw_api_test.sma -- не нужно устанавливать на сервер, данный плагин приведен как пример использования API
  7. --- Если вы хотите совместимость с плагинами скальпеля (аля VIP RBS и т.д), то необходимо проделать пункты 1-3 с плагином ultimate_weapons_bypass.sma ---
Настройки
--- Файл настроек создает автоматически в папке configs/pluguns/auw.cfg ---

C:
// Flag Access (for access to cvars below) | 0 - Disable
// -
// Default: "t"
weapons_flag "t"

// Who can use the menu? | 0 - Disable menu | 1 - All | 2 - players with flags 'weapons_flag'
// -
// Default: "2"
// Minimum: "0.000000"
// Maximum: "2.000000"
weapons_access "2"

// Percentage discount on the purchase of weapons for players with a flag 'weapons_flag'
// -
// Default: "30"
// Minimum: "0.000000"
// Maximum: "100.000000"
weapons_disc "30"

// How much increase purchasing time for players with flag weapons_flag
// -
// Default: "2.0"
// Minimum: "0.000000"
weapons_time "2.0"

// Menu access since round X
// -
// Default: "3"
// Minimum: "0.000000"
weapons_firstround "3"

// Only in the buyzone
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
weapons_zone "1"

// Show the damage percentage in the /ultimate menu?
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
weapons_menu_dmg "0"

// Flag to access the console command weapons_give | 0 - Disable
// -
// Default: "t"
weapons_cmd_access "t"

// Give type | 0 - Append | 1 - Replace | 2 - Drop and replace
// -
// Default: "2"
// Minimum: "0.000000"
// Maximum: "2.000000"
weapons_give_type "2"

// Trace type | 0 - Like a original Ultimate Weapons | 1 - Another
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
weapons_trace_type "0"

// Who can pick up the ultimate weapon | 0 - All | 1 - Player with flag
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
weapons_pickup_access_type "0"
Интерфейсы (API)
C:
#if defined _auw_included
    #endinput
#endif
#define _auw_included

#if 1
    #define __auw__native_str__get_weapon_uid        "auw_get_weapon_uid"
    #define __auw__native_str__give_weapon            "auw_give_weapon"
    #define __auw__native_str__valid_weapon            "auw_valid_weapon"
    #define __auw__native_str__get_weapons_data        "auw_get_weapons_data"


    #define __auw__native__auw_get_weapon_uid        auw_get_weapon_uid
    #define __auw__native__auw_give_weapon            auw_give_weapon
    #define __auw__native__auw_valid_weapon            auw_valid_weapon
    #define __auw__native__auw_get_weapons_data        auw_get_weapons_data
#endif

#define AUW_IMPULSE_OFFSET 128381

enum _:eAUWData
{
    eAUWData_WEAPON_REFERENCE[32],
    WeaponIdType: eAUWData_WEAPON_ID,
    InventorySlotType: eAUWData_WEAPON_SLOT,
    eAUWData_MENU_NAME_ITEM[64],
    eAUWData_WEAPON_COST,
    eAUWData_WEAPON_AMMO,
    eAUWData_WEAPON_BPAMMO,
    Float: eAUWData_WEAPON_DAMAGE,
    eAUWData_WEAPON_ALLOW_ROUND,
    eAUWData_WEAPON_TRACE,
    eAUWData_MENU_WEAPON_ADD,
    eAUWData_WEAPON_ACCESS_FLAGS,
    eAUWData_WEAPON_MODEL_VIEW[64],
    eAUWData_WEAPON_MODEL_PLAYER[64],
    eAUWData_WEAPON_MODEL_WORLD[64]
};

enum eAUWForwards
{
    eAUWForwards_OnGiveItemPre,
    eAUWForwards_OnParseEnd,
};

enum eAUWWeaponIdReturn
{
    eAUWWeaponIdReturn_InvalidId = -1
};

enum eAUWGiveItemTypes
{
    eAUWGiveItemTypes_AdminCmd,
    eAUWGiveItemTypes_PlayerCmd,
    eAUWGiveItemTypes_Native,
    eAUWGiveItemTypes_ShopMenu
};

/**
* Retrieves UID by weapon name
*
* @param sWeaponName                Weapon Name
* @param iUidWithOffset                Is UID contain internal offset
* @return                            UID otherwise eAUWWeaponIdReturn_InvalidId
*/

native __auw__native__auw_get_weapon_uid(const sWeaponName[], const bool: iUidWithOffset = true);

/**
* Give weapon by weapon name
*
* @param iPlayer                    id
* @param sWeaponName                Weapon Name
* @param notification                Show chat notification's
* @param uid                        Weapon UID
* @param iUidWithOffset                Is UID contain internal offset
* @param iBuy                        Buy
*
* @return                            true/false
*/

native __auw__native__auw_give_weapon(iPlayer, const sWeaponName[], const bool: notification = true, const uid = -1, const iUidWithOffset = true, const iBuy = 0);

/**
* Checks if the weapon is custom
*
* @param iItem                        Weapon Index
* @param iKey                        UID
* @param iKeyWithOffset                Is UID contain internal offset
*
* @return                            true/false
*/

native __auw__native__auw_valid_weapon(iItem, iKey, const bool: iKeyWithOffset = true);

/**
* Writes weapon data to array
*
* @param iKey                        UID
* @param aData                        Array Data
* @param iKeyWithOffset                Is UID contain internal offset
*
* @return                            true/false
*/

native __auw__native__auw_get_weapons_data(iKey, aData[eAUWData], const bool: iKeyWithOffset = true);

/**
* Called before item given, before any internal checks
*
* Return 0 - to continue, any other values to break
*
* @param eGiveItemType                eAUWGiveItemTypes
* @param iPlayer                    Player index
* @param iWeaponKey                    Weapon raw index (UID - AUW_IMPULSE_OFFSET), can be used with weapons_get_weapons_data + AUW_IMPULSE_OFFSET
* @param iBuy                        Is weapon buying, possible should be deprecated due eAUWGiveItemTypes
*
* @return                            nothing
*/

forward auw_on_give_item_pre(const eAUWGiveItemTypes: eGiveItemType, const iPlayer, const iWeaponKey, const iBuy);

/**
* Called after .ini parsing
*
* @param iCount                        Parsed weapons count
*
* @return                            nothing
*/

forward auw_on_parse_end(const iCount);
Сверху Снизу