ЗАКРЫТЬ
Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Новости

30-дек
29-дек
26-дек
15-дек

11 страниц V   1 2 3 ... 9 10 »

Создание менюшек :)

Статус пользователя yura097
сообщение 12.4.2009, 20:03
Сообщение #21


Стаж: 8 лет 8 месяцев

Сообщений: 166
Благодарностей: 138
Полезность: 804

если только изменять сам amxmod)) просто так отдельно ты не вставишь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Black_Sun
сообщение 12.4.2009, 20:13
Сообщение #22


Стаж: 7 лет 11 месяцев

Сообщений: 6
Благодарностей: 1
Полезность: 0

т.е. вместо 5 или 6 пункта ничего другого вписать не получится?

а если вместо
Код
public exec_menu(id)

{
menu_display(id,menu)
return PLUGIN_HANDLED
}


добавить
Код
public plugin_cfg()
{
    set_task(0.1, "addToMen");
}
public addToMen()
{
    new PluginFileName[64];
    
    get_plugin(-1, PluginFileName, charsmax(PluginFileName));
    new cmdflags;

    AddMenuItem("Название", "amx_мое_меню", cmdflags, PluginFileName);
}


то оно добавляется в самый конец amxmodmenu, а надо чтобы в начало

Отредактировал: Black_Sun, - 12.4.2009, 20:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Fedcomp
сообщение 13.4.2009, 7:43
Сообщение #23
Стаж: 8 лет 8 месяцев

Сообщений: 3899
Благодарностей: 698
Полезность: 0

Сделай чтоб плагин загружался раньше всех в plugins.ini
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя NCCSA Server
сообщение 18.4.2009, 13:36
Сообщение #24
Стаж: 8 лет 1 месяц

Сообщений: 12
Благодарностей: 4
Полезность: 0

Empower,

а что нужно прописать чтобы была выдача денег через меню?

Код
#include <amxmodx>
new menu

public plugin_init()
{
    register_plugin("Menu Test","1.0","Empower");
    menu = menu_create("Крутая менюшка","func_menu");
    menu_additem( menu,"Сказать привет")
    menu_additem( menu,"выйти с игры")
    menu_additem( menu,"умереть")
    menu_setprop( menu,MPROP_PERPAGE, 3)
    menu_additem( menu,"Остойденитса")            
    menu_additem( menu,"открыть amxmodx меню")
}

public func_menu(id, menu, key)  //функция меню всегда имеет ИД игрока(id) , инфо по меню(menu)
// и кнопку(key) которую вы нажали. (ВСЕГДА надо его туда писать если более про100)
{
  key++ // просто перепуйте ету строчку всегда

  if(key==1) client_cmd(id,"say hi")       //если нажатая кнопка 1, то игрок скажет hi
  if(key==2) client_cmd(id,"quit")    //если  2 - игрок выйдет
  if(key==3) client_cmd(id,"kill")   // 3 - игрок зделает самоубийство
  if(key==4) client_cmd(id,"disconnect") // 4 -  ето уже будет 1ый пунт на 2ой странице
  if(key==5) client_cmd(id,"amxmodx")   // 5 - откроетса amxmodx меню
}


Отредактировал: Flash, - 17.1.2012, 8:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Empower
сообщение 25.4.2009, 12:56
Сообщение #25
Стаж: 8 лет 5 месяцев

Сообщений: 298
Благодарностей: 942
Полезность: 0

Цитата(NCCSA Server @ 16.4.2009, 23:38) *
Народ а что нужно прописать чтобы была выдача денег через меню?

Код
#include <amxmodx>
#include <cstrike>

new menu

public plugin_init()
{
    menu = menu_create("Меню","func_menu");
    menu_additem( menu, "Дать 16000$")
    
    register_clcmd("menu","exec_menu");
}

public func_menu(id, menu, key)
{
    key--
    
    if(key==1) cs_set_user_money(id,16000)
}

public exec_menu(id)
{
    menu_display(id,menu)
    
    return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ~jOke
сообщение 3.5.2009, 11:27
Сообщение #26


Стаж: 7 лет 9 месяцев

Сообщений: 8
Благодарностей: 1
Полезность: 0

Вот возникла такая грандиозная идея...так как не умею переделывать amxmodmenu, решил написать свою админ менюшку...идеи насчёт дописания туда пунктов появляются походу дела, но и проблемы с ними сразу же возникают( Кароч на данном этапе я застрял на переменных сервера...а именно sv_alltalk, mp_freezetime ну и тд...пароли...причём сделать это хотелось бы не на 1 раз...а так, чтобы можно было редактировать не перерывая сам плагин...Кароч вот до чего я дошел

Код
/*
Меню Админа v0.1
By ~jOke
*/

#include <amxmodx>
new menu
new per
new allt

public plugin_init()
{
    register_plugin("Admin Menu","0.1","~jOke");
    per=menu_create("Серверные переменные","peremennie");
    menu_additem( per,"sv_alltalk")          
    menu_additem( per,"mp_freezetime")
    menu_additem( per,"sv_password")
    menu_setprop( per,MPROP_PERPAGE, 0)
    menu=menu_create("Меню Админа","admin");
    menu_additem( menu,"Серверные переменные")          
    menu_additem( menu,"Действия над игроками")
    menu_additem( menu,"Смена карты")
    menu_setprop( menu,MPROP_PERPAGE, 0)
    allt=menu_create("sv_alltalk","alltalk");
    menu_additem( allt,"Включить")          
    menu_additem( allt,"Выключить")
    menu_setprop( allt,MPROP_PERPAGE, 0)

    register_clcmd("alltalk","go_menu_alltalk");
    register_clcmd("admin","go_menu_admin");
    register_clcmd("peremennie","go_menu_per");
}

public admin(id, menu, key)
{
    key++

    if(key==1) client_cmd(id,"peremennie")
    if(key==2) client_cmd(id,"Nothing")
    if(key==3) client_cmd(id,"amx_mapmenu")
}

public peremennie(id, per, key)
{
    key++

    if(key==1) client_cmd(id,"alltalk")
    if(key==2) client_cmd(id,"freezetime")
    if(key==3) client_cmd(id,"password")
}

public alltalk(id, allt, key)
{
    key++

    if(key==1) set_cvar_num(sv_alltalk,1)
    if(key==2) set_cvar_num(sv_alltalk,0)
}

public go_menu_admin(id)
{
    menu_display(id,menu)

    return PLUGIN_HANDLED
}

public go_menu_per(id)
{
    menu_display(id,per)

    return PLUGIN_HANDLED
}

public go_menu_alltalk(id)
{
    menu_display(id,allt)

    return PLUGIN_HANDLED
}


Но как видите импорта текстового файла сдесь нету вообще...я хотел сначала просто попробовать сделать менюшку, но и этого даже не выйшло...вот собсн трабла, так меня материт криптер:

Цитата
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// admin_menu.sma
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : error 001: expected token: ",", but found "-integer value-"
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : warning 215: expression has no effect
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : error 001: expected token: ";", but found "-string-"
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : warning 215: expression has no effect
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : error 001: expected token: ";", but found ")"
// ...\cstrike\addons\amxmodx\scripting\admin_men
u.sma(31) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file ...\cstrike\addon
s\amxmodx\scripting\compiled\admin_menu.amx (compile failed).
//
// Compilation Time: 0,16 sec
// ----------------------------------------

Press enter to exit ...

Хелп...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя X-factor
сообщение 9.5.2009, 14:28
Сообщение #27


Стаж: 9 лет 3 месяца

Сообщений: 242
Благодарностей: 80
Полезность: 270

Цитата(Black_Sun @ 12.4.2009, 21:00) *
Как вписать пункт меню в amxmodmenu? на первую страницу вместо mapmenu

Открываеш menufront.sma блокнотом. Ищеш там строчку:
Код
AddMenuLang("CHANGEL", "amx_mapmenu", get_clcmd_flags("amx_mapmenu", flags) ? flags : ADMIN_MAP, "Maps Menu")

Изменяеш ее следующей:

AddMenuLang("EXAMPLE", "команда", get_clcmd_flags("команда", flags) ? flags : ADMIN_MAP, "Maps Menu")

Где

команда - команда твоего плага (amx_...)

Maps Menu - Название твоего плага, то есть то, которое ты вводил в своем плаге, например:

register_plugin("Menu Test","1.0","Empower");

Здесь Menu Test и есть название плагина

EXAMPLE - это название твоей меню, то есть как оно будет отображатся в amxmodmenu! (Например, Ban Player), но это "непрямое" название, то есть тибе нужно в самом начале menufront.sma дописать после #define следующее:
Код
#define EXAMPLE "Moe Menu"


После всего сохранить изменения, откомпилить и закинуть в папку /plugins заменяя старый!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя goree
сообщение 31.5.2009, 21:23
Сообщение #28
Стаж: 7 лет 11 месяцев

Сообщений: 27
Благодарностей: 2
Полезность: 58

как сделать, что бы в меню 1 пункт исполнял несколько команд? типа нажал кнопку 1, и установились параметры: мп_фризтайм 1, мп_раундтайм 1.75, и отослало сообщение в общий чат "серв настроен"
а при нажатии кнопки 2: мп_фризтайм 6, мп_роундтайм 9, и написало в общий чат: "настройки сервера збиты"!
помогите плиз
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MorpH
сообщение 4.6.2009, 18:17
Сообщение #29
Стаж: 9 лет 10 месяцев

Сообщений: 5
Благодарностей: 4
Полезность: 0

Да, собственно, это просто. Создавай простую менюшку как в первом посте. Доходишь до этого:
Код
public func_menu(id, menu, key)
{
  key++

  if(key==1) client_cmd(id,"say hi")
  if(key==2) client_cmd(id,"quit")
  if(key==3) client_cmd(id,"kill")
  if(key==4) client_cmd(id,"disconnect")
  if(key==5) client_cmd(id,"amxmodx")
}
Ты, наверное, понял, что это уже обработчик команд меню. Вот так делаешь:
Код
public func_menu(id, menu, key)
{
  key++

  if(key==1)
  {
    command1();
    command2();
    ...
    commandN();
  }
}
Я, конечно, не телепат и точно не знаю, какие команды тебе надо использовать... это ты уж сам догоняй. Вот этот блок ты сам должен написать:
command1(); command2(); ... commandN();
(уж как проще объяснить, я не знаю)
Я могу и ошибаться, т.к. не имею опыта работы с pawn. Но, думаю, работать будет. Надеюсь, если где накосячил, опытные скриптеры меня поправят.

P.S.: Да, и не забудь вернуться к первому посту и доделать менюшку. Ведь это еще не конец...

Отредактировал: MorpH, - 4.6.2009, 18:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя goree
сообщение 6.6.2009, 18:49
Сообщение #30
Стаж: 7 лет 11 месяцев

Сообщений: 27
Благодарностей: 2
Полезность: 58

если я тебя правильно понял, то писать команды так:
Код
public func_menu(id, menu, key)
{
  key++

  if(key==1)
  {
    mp_c4timer 35;
    mp_roundtime 1.75;
    mp_autoteambalance 0;
    mp_limitteam 0;
  }
}


Отредактировал: goree, - 6.6.2009, 18:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MorpH
сообщение 8.6.2009, 11:25
Сообщение #31
Стаж: 9 лет 10 месяцев

Сообщений: 5
Благодарностей: 4
Полезность: 0

Нет. Я не знаю, как отправить команду серверу. Но точно не так.
Попробуй так:

Код
public func_menu(id, menu, key)
{
  key++

  if(key==1)
  {
    set_cvar_num("mp_c4timer", 35);
    set_cvar_float("mp_roundtime", "1.75");
    set_cvar_num("mp_autoteambalance", 0);
    set_cvar_num("mp_limitteam", 0);
  }
}

Но, опять же, не уверен, что это будет работать.

Отредактировал: MorpH, - 8.6.2009, 11:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Fedcomp
сообщение 14.6.2009, 15:36
Сообщение #32
Стаж: 8 лет 8 месяцев

Сообщений: 3899
Благодарностей: 698
Полезность: 0

при нажатии на пункт меню - выводить его опять, логично?
____________________________________________
Как выполнить команду в консоли сервера?
Код
server_concmd


Отредактировал: Fedcomp, - 14.6.2009, 15:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя epileptick
сообщение 14.6.2009, 19:44
Сообщение #33


Стаж: 7 лет 10 месяцев

Сообщений: 38
Благодарностей: 10
Полезность: 73

ёмаё такая трабла
я хочу чтоб после выбора пункта в меню оно не закрывалось
а то бесит каждый раз включать меню
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 10.8.2009, 13:51
Сообщение #34


Стаж: 7 лет 7 месяцев

Сообщений: 4498
Благодарностей: 3251
Полезность: 793

Парни вот я сделал менюшку, но она вообще не открывается((

http://slil.ru/27891245

Отредактировал: LaFA1702, - 3.6.2010, 15:40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 11.11.2009, 23:58
Сообщение #35
Стаж: 8 лет 9 месяцев

Сообщений: 567
Благодарностей: 812
Полезность: 0

Просто в функции которая отвечает за выбор пунктов, в конце допиши название функции самого меню, т.е. оно будет само себя открывать при любом нажатии
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 12.11.2009, 0:27
Сообщение #36


Стаж: 8 лет 1 месяц

Сообщений: 291
Благодарностей: 219
Полезность: 811

Цитата(Empower @ 4.3.2009, 22:48) *
Код
#include <amxmodx>
#include <fakemeta_util>
new menu

public plugin_init()
{
    register_plugin("Weapon Menu","1.0","Empower");
    menu = menu_create("Менюшка Оружия","func_menu");
    menu_additem( menu,"Калаш")
    menu_additem( menu,"Емочка")
    menu_additem( menu,"Слоник")

    register_clcmd("amx_weapons","exec_menu");
}

public func_menu(id, menu, key)
{
  key++

  if(key==1) fm_give_item(id,"weapon_ak47")
  if(key==2) fm_give_item(id,"weapon_m4a1")
  if(key==3) fm_give_item(id,"weapon_awp")
}

public exec_menu(id)
{
    menu_display(id,menu)
    
    return PLUGIN_HANDLED
}



сделал как ты сказал,но не компилируется(((
Код
weapon.sma(21) : error 017: undefined symbol "fm_give_item"
weapon.sma(22) : error 017: undefined symbol "fm_give_item"
weapon.sma(23) : error 017: undefined symbol "fm_give_item"
weapon.sma(24) : error 017: undefined symbol "fm_give_item"
weapon.sma(25) : error 017: undefined symbol "fm_give_item"


Отредактировал: Ванчо, - 12.11.2009, 0:29


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gremlen
сообщение 24.12.2009, 21:42
Сообщение #37


Стаж: 7 лет 3 месяца

Сообщений: 23
Благодарностей: 1
Полезность: 33

Ребят, может кто поможет модифицировать исходник плагина admin_screen. Суть задуманного - это добавить менюшку в этот плагин т.е. набираешь команду amx_screen и выползает меню следующего плагина:

1. player 1
2. player 2
3. player 2

и т.д.

При выборе игрока должен делаться screen экрана игрока.

Вот код исходника

CODE
#include <amxmodx>
#include <amxmisc>

public admin_screen(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,9)
if (!player) return PLUGIN_HANDLED
new name[32], time[32]
get_user_name(player,name, 31)
get_time("%m/%d/%Y - %H:%M:%S",time,31)
client_print(player,print_chat,"* Screenshot has been taken on ^"%s^" (%s)",name,time)
client_cmd(player,"snapshot")
console_print(id,"Screenshot has been taken on ^"%s^" (%s)",name,time)
return PLUGIN_HANDLED
}

public plugin_init() {
register_plugin("Admin Screen","0.9.2","Rav")
register_concmd("amx_screen","admin_screen",ADMIN_LEVEL_A,"<authid, nick or #userid>")
//register_cvar("Rav_Adminscreen", "1.3",FCVAR_SERVER)
return PLUGIN_CONTINUE
}


Отредактировал: gremlen, - 24.12.2009, 21:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Crazy*
сообщение 14.1.2010, 1:47
Сообщение #38


Стаж: 10 лет

Сообщений: 213
Благодарностей: 49
Полезность: 192

а реально ли сделать меню такого плана для плагина Admin Screen ?

в консоле пишем amx_screenmenu, когда наблюдаем со спектов за человеком.
появляется меню

-- Сделать 1 скрин
-- Сделать 3 скрина
-- Сделать 5 скринов
- Выйти

???
Заранее спасибо.

Цитата(gremlen @ 24.12.2009, 21:42) *
Ребят, может кто поможет модифицировать исходник плагина admin_screen. Суть задуманного - это добавить менюшку в этот плагин т.е. набираешь команду amx_screen и выползает меню следующего плагина:

1. player 1
2. player 2
3. player 2

и т.д.

При выборе игрока должен делаться screen экрана игрока.

Вот код исходника

CODE
#include <amxmodx>
#include <amxmisc>

public admin_screen(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED
new arg[32]
read_argv(1,arg,31)
new player = cmd_target(id,arg,9)
if (!player) return PLUGIN_HANDLED
new name[32], time[32]
get_user_name(player,name, 31)
get_time("%m/%d/%Y - %H:%M:%S",time,31)
client_print(player,print_chat,"* Screenshot has been taken on ^"%s^" (%s)",name,time)
client_cmd(player,"snapshot")
console_print(id,"Screenshot has been taken on ^"%s^" (%s)",name,time)
return PLUGIN_HANDLED
}

public plugin_init() {
register_plugin("Admin Screen","0.9.2","Rav")
register_concmd("amx_screen","admin_screen",ADMIN_LEVEL_A,"<authid, nick or #userid>")
//register_cvar("Rav_Adminscreen", "1.3",FCVAR_SERVER)
return PLUGIN_CONTINUE
}


на сервере в файле clcmds.ini пропиши строку

"CDeJIATb 3 CkpuHa" "amx_screen #%userid% 3" "b" "u"
сохрани, сделай ченж мап, и набери в консоле команду amx_clcmdmenu, там будет то, что тебе надо.

Мой вопрос остается в силе!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Black_Jack
сообщение 26.2.2010, 18:07
Сообщение #39
Стаж: 7 лет 11 месяцев

Сообщений: 5
Благодарностей: 2
Полезность: 0

Как поставить команду на 0(ноль). Простым алгоритмом не получается sad.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Racoon
сообщение 1.3.2010, 9:39
Сообщение #40


Стаж: 8 лет 11 месяцев

Сообщений: 1757
Благодарностей: 1517
Полезность: 1113

А если я, например, хочу что бы некоторые пункты меню были видны, но недоступны.
Пример:

Пробовал ставить флаг доступа на клиентскую команду, но менюшка всё равно доступна.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
11 страниц V   1 2 3 ... 9 10 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: