Нативы.

krenko3

Новичок
Сообщения
26
Решения
2
Реакции
0
Можно, пожалуйста, более подробное объяснение, как работают нативы.

Имеется плагин сторонний


Код:
#include amxmodx
#include gamecms_present
#include reapi
#include cstrike
#include fun

native ar_get_user_realxp(iPlayer);
native bonusmenu_add_user_points(iPlayer, anew);
native ar_set_user_realxp(iPlayer, addxp);
native weapons_give_user_weapon(iPlayer, weapon)

#define present_anew 10      //Сколько выдавать очков anew
#define present_exp 10       //Сколько выдавать опыта



public plugin_init() {
    register_plugin("[AMXX] Present Addon", "1.0", "Komap");
}

public plugin_cfg() {
    CmsAddPresent(5, "Очки anew", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(6, "Опыт", -1, -3, get_cvar_num("cms_present_minplayers"));

    CmsAddPresent(7, "AK47", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(8, "M4A1", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(9, "AWP", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(10, "2000$", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(11, "Все гранаты", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(12, "Броня+Шлем", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(13, "+20 ХП", -1, -3, get_cvar_num("cms_present_minplayers"));

    //Сам поменяешь названия, я не знаю какие у тебя модельки, золотые там или хз :D
    CmsAddPresent(14, "Калаш", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(15, "Эмку", -1, -3, get_cvar_num("cms_present_minplayers"));
    CmsAddPresent(16, "Авп", -1, -3, get_cvar_num("cms_present_minplayers"));
}

public OnTakePresent(iPlayer, idKey, iEntity) {
    switch(idKey) {
        case 5: bonusmenu_add_user_points(iPlayer, present_anew); //client_print(iPlayer, print_chat, "%s anew", present_anew)
        case 6: ar_set_user_realxp(iPlayer, ar_get_user_realxp(iPlayer) + present_exp); //client_print(iPlayer, print_chat, "%s exp", present_exp)
        case 7: {
            rg_drop_items_by_slot(iPlayer, InventorySlotType:PRIMARY_WEAPON_SLOT);
            rg_give_item(iPlayer, "weapon_ak47", GT_REPLACE);
            set_task(0.3, "setAmmo", iPlayer+2491);
            
        }
        case 8: {
            rg_drop_items_by_slot(iPlayer, InventorySlotType:PRIMARY_WEAPON_SLOT);
            rg_give_item(iPlayer, "weapon_m4a1", GT_REPLACE);
            set_task(0.3, "setAmmo", iPlayer+2491);
        }
        case 9: {
            rg_drop_items_by_slot(iPlayer, InventorySlotType:PRIMARY_WEAPON_SLOT);
            rg_give_item(iPlayer, "weapon_awp", GT_REPLACE);
            set_task(0.3, "setAmmo", iPlayer+2491);
        }
        case 10: rg_add_account(iPlayer, 2000, AS_ADD);
        case 11: {
            rg_give_item(iPlayer, "weapon_hegranade", GT_APPEND);
            rg_give_item(iPlayer, "weapon_smokegrenade", GT_APPEND);
            rg_give_item(iPlayer, "weapon_flashbang", GT_APPEND);
            rg_give_item(iPlayer, "weapon_flashbang", GT_APPEND);
        }
        case 12: rg_set_user_armor(iPlayer, 100, ARMOR_VESTHELM);
        case 13: {
            if(get_user_health(iPlayer) + 20 >= 100) set_user_health(iPlayer, 100)
            else set_user_health(iPlayer, get_user_health(iPlayer) + 20);
        }
        case 14: weapons_give_user_weapon(iPlayer, CSW_AK47);
        case 15: weapons_give_user_weapon(iPlayer, CSW_M4A1);
        case 16: weapons_give_user_weapon(iPlayer, CSW_AWP);
    }
    
    return PLUGIN_HANDLED;
}

public setAmmo(iTask) {
    static iPlayer; iPlayer = iTask - 2491;
    if(task_exists(iTask))
        remove_task(iTask);
        
    if(!is_user_connected(iPlayer))
        return;

    static user_weapon[3]; user_weapon[0] = get_user_weapon(iPlayer, user_weapon[1], user_weapon[2]);
    if(user_weapon[0] != CSW_HEGRENADE && user_weapon[0] != CSW_C4 && user_weapon[0] != CSW_SMOKEGRENADE && user_weapon[0] != CSW_FLASHBANG && user_weapon[0] != CSW_KNIFE) {
        cs_set_user_bpammo(iPlayer, user_weapon[0], 60);
    }
}

Хочу заместо стандартный моделей, засунуть туда оружия из ultimate weapons
 
Что такое натив, и как его использовать, можно почитать на amxxmodx.ru
У нас в инклудах имеется описание каждого натива на русском языке. Подробнее объяснить я не знаю как, задайте конкретнее вопрос
 
Сверху
Назад