Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
ramzes692 » 15 май 2018, 20:24
как поменять команду для визова плагіна vipmenuчтоб появлялось меню на другое например (topmenu) ???
- Код: Выделить всё
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_pistol, id_knife, id_skin
};
new Array:arr_pistols, pistols[data_pistols];
new Array:arr_knives, knives[data_knives];
new Array:arr_skins, skins[data_skins];
new bool:m4a1[33], bool:ak47[33], bool:awp[33];
new size_pistol, size_knife, size_skin;
new users[33][data_users];
new score_te, score_ct, score_all, maxplayers;
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(file, message, charsmax(message));
if(is_msg_valid(message) && parse(message, pistols[PISTOL_NAME], 127, pistols[PISTOL_INDEX], 127, pistols[PISTOL_VIEW], 255, pistols[PISTOL_WEAPON], 255)) {
if(!file_exists(pistols[PISTOL_VIEW]) || !file_exists(pistols[PISTOL_WEAPON])) {
continue;
}
engfunc(EngFunc_PrecacheModel, pistols[PISTOL_VIEW]);
engfunc(EngFunc_PrecacheModel, pistols[PISTOL_WEAPON]);
ArrayPushArray(arr_pistols, pistols);
}
}
fclose(file);
file = fopen("/addons/amxmodx/configs/ultra_vip/knives.ini", "rt");
while(!feof(file)) {
fgets(file, message, charsmax(message));
if(is_msg_valid(message) && parse(message, knives[KNIFE_NAME], 127, knives[KNIFE_VIEW], 255, knives[KNIFE_WEAPON], 255)) {
if(!file_exists(knives[KNIFE_VIEW]) || !file_exists(knives[KNIFE_WEAPON])) {
continue;
}
engfunc(EngFunc_PrecacheModel, knives[KNIFE_VIEW]);
engfunc(EngFunc_PrecacheModel, knives[KNIFE_WEAPON]);
ArrayPushArray(arr_knives, knives);
}
}
fclose(file);
file = fopen("/addons/amxmodx/configs/ultra_vip/skins.ini", "rt");
new remessage[512];
while(!feof(file)) {
fgets(file, message, charsmax(message));
if(is_msg_valid(message) && parse(message, skins[SKIN_ACCESS], 127, skins[SKIN_NAME], 127, skins[SKIN_MODEL], 127)) {
format(remessage, charsmax(remessage), "models/player/%s/%s.mdl", skins[SKIN_MODEL], skins[SKIN_MODEL]);
if(!file_exists(remessage)) {
continue;
}
engfunc(EngFunc_PrecacheModel, remessage);
ArrayPushArray(arr_skins, skins);
}
}
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 = 1; id <= maxplayers; id++) {
m4a1[id] = true;
ak47[id] = true;
awp[id] = true;
}
}
}
public event_curweapon(id) {
new weapon = read_data(2);
if(weapon == CSW_KNIFE) {
ArrayGetArray(arr_knives, users[id][id_knife], knives);
set_pev(id, pev_viewmodel2, knives[KNIFE_VIEW]);
set_pev(id, pev_weaponmodel2, knives[KNIFE_WEAPON]);
return PLUGIN_CONTINUE;
}
ArrayGetArray(arr_pistols, users[id][id_pistol], pistols);
new con = cs_weapon_constants(pistols[PISTOL_INDEX]);
if(weapon == con) {
set_pev(id, pev_viewmodel2, pistols[PISTOL_VIEW]);
set_pev(id, pev_weaponmodel2, pistols[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 i; i < size_skin; i++) {
ArrayGetArray(arr_skins, i, skins);
new pos = containi(skins[SKIN_ACCESS], "STEAM");
if(pos != -1) {
new authid[35];
get_user_authid(id, authid, charsmax(authid));
if(equali(skins[SKIN_ACCESS], authid)) {
users[id][id_skin] = i;
break;
}
}
else {
new ipa[22];
get_user_ip(id, ipa, charsmax(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(menu, charsmax(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", 1, id, "UV_MENU_VIP_M4A1");
keys |= (1<<0);
}
else {
len += format(menu[len], charsmax(menu) - len, "%L \d%L^n", id, "UV_MENU_PAGE", 1, id, "UV_MENU_VIP_M4A1");
}
if(ak47[id]) {
len += format(menu[len], charsmax(menu) - len, "%L \w%L^n", id, "UV_MENU_PAGE", 2, id, "UV_MENU_VIP_AK47");
keys |= (1<<1);
}
else {
len += format(menu[len], charsmax(menu) - len, "%L \d%L^n", id, "UV_MENU_PAGE", 2, id, "UV_MENU_VIP_AK47");
}
if(awp[id]) {
len += format(menu[len], charsmax(menu) - len, "%L \w%L^n^n", id, "UV_MENU_PAGE", 3, id, "UV_MENU_VIP_AWP");
keys |= (1<<2);
}
else {
len += format(menu[len], charsmax(menu) - len, "%L \d%L^n^n", id, "UV_MENU_PAGE", 3, id, "UV_MENU_VIP_AWP");
}
if(size_pistol) {
ArrayGetArray(arr_pistols, users[id][id_pistol], pistols);
len += format(menu[len], charsmax(menu) - len, "%L \w%L^n", id, "UV_MENU_PAGE", 4, id, "UV_MENU_VIP_PISTOL", pistols[PISTOL_NAME]);
keys |= (1<<3);
}
if(size_knife) {
ArrayGetArray(arr_knives, users[id][id_knife], knives);
len += format(menu[len], charsmax(menu) - len, "%L \w%L^n^n", id, "UV_MENU_PAGE", 5, id, "UV_MENU_VIP_KNIFE", knives[KNIFE_NAME]);
keys |= (1<<4);
}
format(menu[len], charsmax(menu) - len, "%L \w%L", id, "UV_MENU_PAGE", 0, id, "UV_MENU_EXIT");
return show_menu(id, keys, menu, -1, "Show_VipMenu");
}
public Handle_VipMenu(id, key) {
switch(key) {
case 0: if(m4a1[id]) {
fm_strip_user_weapons(id);
fm_give_item(id, "weapon_m4a1");
fm_set_user_bpammo(id, CSW_M4A1, 90);
m4a1[id] = false;
}
case 1: if(ak47[id]) {
fm_strip_user_weapons(id);
fm_give_item(id, "weapon_ak47");
fm_set_user_bpammo(id, CSW_AK47, 90);
ak47[id] = false;
}
case 2: if(awp[id]) {
fm_strip_user_weapons(id);
fm_give_item(id, "weapon_awp");
fm_set_user_bpammo(id, CSW_AWP, 30);
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_pistols, users[id][id_pistol], pistols);
new con = cs_weapon_constants(pistols[PISTOL_INDEX]);
fm_give_item(id, pistols[PISTOL_INDEX]);
fm_set_user_bpammo(id, con, 60);
}
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#
Subb98 » 15 май 2018, 20:47
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
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 и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7