Русское сообщество по скриптингу

Vipmenu как поменять команду для визова плагіна vipmenu

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Vipmenu как поменять команду для визова плагіна vipmenu

Сообщение ramzes692 » 15 май 2018, 20:24

как поменять команду для визова плагіна vipmenuчтоб появлялось меню на другое например (topmenu) ???
Код: Выделить всё
 #define block_natives

#include <amxmodx>
#include <ultra_vip>
#include <hamsandwich>
#include <fakemeta_util>

#define VERSION "1.0"
#define is_msg_valid(%0) (%0[0] && %0[0] != ';' && %0[0] != '/' && %0[0] != '#')

#define DEFAULT_SKIN    228

enum _:data_pistols {
    
PISTOL_NAME[128],
    
PISTOL_INDEX[128],
    
PISTOL_VIEW[256],
    
PISTOL_WEAPON[256]
};

enum _:data_knives {
    
KNIFE_NAME[128],
    
KNIFE_VIEW[256],
    
KNIFE_WEAPON[256]
};

enum _:data_skins {
    
SKIN_ACCESS[128],
    
SKIN_NAME[128],
    
SKIN_MODEL[128]
};

enum _:data_users {
    
id_pistolid_knifeid_skin
};

new Array:
arr_pistolspistols[data_pistols];
new Array:
arr_knivesknives[data_knives];
new Array:
arr_skinsskins[data_skins];

new 
bool:m4a1[33], bool:ak47[33], bool:awp[33];
new 
size_pistolsize_knifesize_skin;
new 
users[33][data_users];
new 
score_tescore_ctscore_allmaxplayers;

native fm_set_user_model(id, const modelname[]);

public 
plugin_precache() {
    
arr_pistols ArrayCreate(data_pistols);
    
arr_knives ArrayCreate(data_knives);
    
arr_skins ArrayCreate(data_skins);
    
    new 
message[512], file fopen("/addons/amxmodx/configs/ultra_vip/pistols.ini""rt");
    
    while(!
feof(file)) {
        
fgets(filemessagecharsmax(message));
        
        if(
is_msg_valid(message) && parse(messagepistols[PISTOL_NAME], 127pistols[PISTOL_INDEX], 127pistols[PISTOL_VIEW], 255pistols[PISTOL_WEAPON], 255)) {
            if(!
file_exists(pistols[PISTOL_VIEW]) || !file_exists(pistols[PISTOL_WEAPON])) {
                continue;
            }
            
            
engfunc(EngFunc_PrecacheModelpistols[PISTOL_VIEW]);
            
engfunc(EngFunc_PrecacheModelpistols[PISTOL_WEAPON]);
            
            
ArrayPushArray(arr_pistolspistols);
        }
    }
    
    
fclose(file);
    
    
file fopen("/addons/amxmodx/configs/ultra_vip/knives.ini""rt");
    
    while(!
feof(file)) {
        
fgets(filemessagecharsmax(message));
        
        if(
is_msg_valid(message) && parse(messageknives[KNIFE_NAME], 127knives[KNIFE_VIEW], 255knives[KNIFE_WEAPON], 255)) {
            if(!
file_exists(knives[KNIFE_VIEW]) || !file_exists(knives[KNIFE_WEAPON])) {
                continue;
            }
            
            
engfunc(EngFunc_PrecacheModelknives[KNIFE_VIEW]);
            
engfunc(EngFunc_PrecacheModelknives[KNIFE_WEAPON]);
            
            
ArrayPushArray(arr_knivesknives);
        }
    }
    
    
fclose(file);
    
    
file fopen("/addons/amxmodx/configs/ultra_vip/skins.ini""rt");
    new 
remessage[512];
    
    while(!
feof(file)) {
        
fgets(filemessagecharsmax(message));
        
        if(
is_msg_valid(message) && parse(messageskins[SKIN_ACCESS], 127skins[SKIN_NAME], 127skins[SKIN_MODEL], 127)) {
            
format(remessagecharsmax(remessage), "models/player/%s/%s.mdl"skins[SKIN_MODEL], skins[SKIN_MODEL]);
            if(!
file_exists(remessage)) {
                continue;
            }
            
            
engfunc(EngFunc_PrecacheModelremessage);
            
            
ArrayPushArray(arr_skinsskins);
        }
    }
    
    
size_pistol ArraySize(arr_pistols);
    
size_knife ArraySize(arr_knives);
    
size_skin ArraySize(arr_skins);
    
    return 
fclose(file);
}

public 
plugin_init() {
    
register_plugin("Ultra VIP"VERSION"OverGame");
    
register_dictionary("ultra_vip.txt");
    
    
register_clcmd("vipmenu""cmd_vipmenu");
    
register_clcmd("say /vipmenu""cmd_vipmenu");
    
register_clcmd("say_team /vipmenu""cmd_vipmenu");
    
    
register_menucmd(register_menuid("Show_VipMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<9), "Handle_VipMenu");
    
maxplayers get_maxplayers();
    
    
register_event("HLTV""event_round_hltv""a""1=0""2=0");
    
register_event("CurWeapon""event_curweapon""be","1=1");
    
register_event("TeamScore""event_score_terror""a""1=TERRORIST");
    
register_event("TeamScore""event_score_ct""a""1=CT");
}

public 
event_round_hltv() {
    
score_all score_ct score_te;
    
    if(
score_all >= 3) {
        for(new 
id 1id <= maxplayersid++) {
            
m4a1[id] = true;
            
ak47[id] = true;
            
awp[id] = true;
        }
    }
}

public 
event_curweapon(id) {
    new 
weapon read_data(2);
    
    if(
weapon == CSW_KNIFE) {
        
ArrayGetArray(arr_knivesusers[id][id_knife], knives);
        
        
set_pev(idpev_viewmodel2knives[KNIFE_VIEW]);
        
set_pev(idpev_weaponmodel2knives[KNIFE_WEAPON]);
        
        return 
PLUGIN_CONTINUE;
    }
    
    
ArrayGetArray(arr_pistolsusers[id][id_pistol], pistols);
    new 
con cs_weapon_constants(pistols[PISTOL_INDEX]);
    
    if(
weapon == con) {
        
set_pev(idpev_viewmodel2pistols[PISTOL_VIEW]);
        
set_pev(idpev_weaponmodel2pistols[PISTOL_WEAPON]);
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
event_score_terror() {
    
score_te read_data(2);
}

public 
event_score_ct() {
    
score_ct read_data(2);
}

public 
client_putinserver(id) {
    
users[id][id_pistol] = 0;
    
users[id][id_knife] = 0;
    
users[id][id_skin] = DEFAULT_SKIN;
    
    
m4a1[id] = false;
    
ak47[id] = false;
    
awp[id] = false;
    
    
// Проверка наличия скина и установка
    
for(new isize_skini++) {
        
ArrayGetArray(arr_skinsiskins);
        
        new 
pos containi(skins[SKIN_ACCESS], "STEAM");
        if(
pos != -1) {
            new 
authid[35];
            
get_user_authid(idauthidcharsmax(authid));
            
            if(
equali(skins[SKIN_ACCESS], authid)) {
                
users[id][id_skin] = i;
                break;
            }
        }
        else {
            new 
ipa[22];
            
get_user_ip(idipacharsmax(ipa));
            
            if(
equali(skins[SKIN_ACCESS], ipa)) {
                
users[id][id_skin] = i;
                break;
            }
        }
    }
}

public 
cmd_vipmenu(id) return Show_VipMenu(id);

Show_VipMenu(id) {
    new 
menu[512], keys = (1<<9), len format(menucharsmax(menu), "%L"id"UV_MENU_VIP_TITLE");
    
    if(
m4a1[id]) {
        
len += format(menu[len], charsmax(menu) - len"%L \w%L^n"id"UV_MENU_PAGE"1id"UV_MENU_VIP_M4A1");
        
keys |= (1<<0);
    }
    else {
        
len += format(menu[len], charsmax(menu) - len"%L \d%L^n"id"UV_MENU_PAGE"1id"UV_MENU_VIP_M4A1");
    }
    
    if(
ak47[id]) {
        
len += format(menu[len], charsmax(menu) - len"%L \w%L^n"id"UV_MENU_PAGE"2id"UV_MENU_VIP_AK47");
        
keys |= (1<<1);
    }
    else {
        
len += format(menu[len], charsmax(menu) - len"%L \d%L^n"id"UV_MENU_PAGE"2id"UV_MENU_VIP_AK47");
    }
    
    if(
awp[id]) {
        
len += format(menu[len], charsmax(menu) - len"%L \w%L^n^n"id"UV_MENU_PAGE"3id"UV_MENU_VIP_AWP");
        
keys |= (1<<2);
    }
    else {
        
len += format(menu[len], charsmax(menu) - len"%L \d%L^n^n"id"UV_MENU_PAGE"3id"UV_MENU_VIP_AWP");
    }
    
    if(
size_pistol) {
        
ArrayGetArray(arr_pistolsusers[id][id_pistol], pistols);
        
        
len += format(menu[len], charsmax(menu) - len"%L \w%L^n"id"UV_MENU_PAGE"4id"UV_MENU_VIP_PISTOL"pistols[PISTOL_NAME]);
        
keys |= (1<<3);
    }
    
    if(
size_knife) {
        
ArrayGetArray(arr_knivesusers[id][id_knife], knives);
        
        
len += format(menu[len], charsmax(menu) - len"%L \w%L^n^n"id"UV_MENU_PAGE"5id"UV_MENU_VIP_KNIFE"knives[KNIFE_NAME]);
        
keys |= (1<<4);
    }
    
    
format(menu[len], charsmax(menu) - len"%L \w%L"id"UV_MENU_PAGE"0id"UV_MENU_EXIT");
    return 
show_menu(idkeysmenu, -1"Show_VipMenu");
}

public 
Handle_VipMenu(idkey) {
    switch(
key) {
        case 
0: if(m4a1[id]) {
            
fm_strip_user_weapons(id);
            
            
fm_give_item(id"weapon_m4a1");
            
fm_set_user_bpammo(idCSW_M4A190);
            
            
m4a1[id] = false;
        }
        case 
1: if(ak47[id]) {
            
fm_strip_user_weapons(id);
            
            
fm_give_item(id"weapon_ak47");
            
fm_set_user_bpammo(idCSW_AK4790);
            
            
ak47[id] = false;
        }
        case 
2: if(awp[id]) {
            
fm_strip_user_weapons(id);
            
            
fm_give_item(id"weapon_awp");
            
fm_set_user_bpammo(idCSW_AWP30);
            
            
awp[id] = false;
        }
        case 
3: if(size_pistol) {
            
users[id][id_pistol]++;
            
            if(
users[id][id_pistol] >= size_pistol) {
                
users[id][id_pistol] = 0;
            }
        }
        case 
4: if(size_knife) {
            
users[id][id_knife]++;
            
            if(
users[id][id_knife] >= size_knife) {
                
users[id][id_knife] = 0;
            }
        }
        default: return 
PLUGIN_HANDLED;
    }
    
    if(
key <= 2) {
        
ArrayGetArray(arr_pistolsusers[id][id_pistol], pistols);
        
        new 
con cs_weapon_constants(pistols[PISTOL_INDEX]);
        
fm_give_item(idpistols[PISTOL_INDEX]);
        
fm_set_user_bpammo(idcon60);
    }
    
    return 
Show_VipMenu(id);
}

stock cs_weapon_constants(const weapon[]) {
    new 
index = -1;
    
    if(
equali(weapon"weapon_p228")) {
        
index 1;
    }
    else if(
equali(weapon"weapon_scout")) {
        
index 3;
    }
    else if(
equali(weapon"weapon_xm1014")) {
        
index 5;
    }
    else if(
equali(weapon"weapon_mac10")) {
        
index 7;
    }
    else if(
equali(weapon"weapon_aug")) {
        
index 8;
    }
    else if(
equali(weapon"weapon_elite")) {
        
index 10;
    }
    else if(
equali(weapon"weapon_fiveseven")) {
        
index 11;
    }
    else if(
equali(weapon"weapon_ump15")) {
        
index 12;
    }
    else if(
equali(weapon"weapon_sg550")) {
        
index 13
    
}
    else if(
equali(weapon"weapon_galil")) {
        
index 14;
    }
    else if(
equali(weapon"weapon_famas")) {
        
index 15;
    }
    else if(
equali(weapon"weapon_usp")) {
        
index 16;
    }
    else if(
equali(weapon"weapon_glock18")) {
        
index 17;
    }
    else if(
equali(weapon"weapon_awp")) {
        
index 18;
    }
    else if(
equali(weapon"weapon_mp5navy")) {
        
index 19;
    }
    else if(
equali(weapon"weapon_m249")) {
        
index 20;
    }
    else if(
equali(weapon"weapon_m3")) {
        
index 21;
    }
    else if(
equali(weapon"weapon_m4a1")) {
        
index 22;
    }
    else if(
equali(weapon"weapon_tmp")) {
        
index 23;
    }
    else if(
equali(weapon"weapon_g35g1")) {
        
index 24;
    }
    else if(
equali(weapon"weapon_deagle")) {
        
index 26;
    }
    else if(
equali(weapon"weapon_sg552")) {
        
index 27;
    }
    else if(
equali(weapon"weapon_ak47")) {
        
index 28;
    }
    else if(
equali(weapon"weapon_p90")) {
        
index 30;
    }
    
    return 
index;
Последний раз редактировалось ramzes692 15 май 2018, 22:02, всего редактировалось 3 раз(а).
Аватара пользователя
ramzes692
 
Сообщения: 2
Зарегистрирован: 15 май 2018, 20:17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: Vipmenu как поменять команду для визова плагіна vipmenu

Сообщение Subb98 » 15 май 2018, 20:47

Где исходник?

«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Vipmenu как поменять команду для визова плагіна vipmenu

Сообщение Sam* » 16 июн 2018, 12:36

эти строки меняешь
Код: Выделить всё
 register_clcmd("vipmenu""cmd_vipmenu");
    
register_clcmd("say /vipmenu""cmd_vipmenu");
    
register_clcmd("say_team /vipmenu""cmd_vipmenu"); 

на эти
Код: Выделить всё
 register_clcmd("topmenu""cmd_topmenu");
    
register_clcmd("say /topmenu""cmd_topmenu");
    
register_clcmd("say_team /topmenu""cmd_topmenu"); 
Аватара пользователя
Sam*
 
Сообщения: 1
Зарегистрирован: 16 июн 2018, 02:38
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: C#


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 7