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

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

Наши новости:

14-дек
24-апр
10-апр
11-апр

Меню - включить / выключить

, в одном пункте.
Статус пользователя STOMPER
сообщение 23.12.2014, 19:16
Сообщение #1


Стаж: 11 лет

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

Например игрок нажимает F4 выходит меню и в 3 пункте есть "Вид от третьего лица", как сделать чтобы при нажатии на него включался и отключался вид от третьего лица. А то игрокам надоело все время писать.

Код
Команда: /cam - включает
Команда: /camoff - отключает


Код:
#include <amxmodx>

new cvar_showhudmsg

public plugin_init()
{
register_plugin("putinserver menu", "0.1", "X-factor")
register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")

cvar_showhudmsg = register_cvar("show_hudmsg", "1"); //1 - on 0 - off
}

public client_putinserver(id)
{
if(get_pcvar_num(cvar_showhudmsg))
set_task(1.0, "task_hudmsg", id, _, _, "b")
}

public task_hudmsg(id)
{
set_hudmessage(0, 255, 255, 0.02, 0.15, 0, 6.0, 5.0)
show_hudmessage(id, "Меню F4")
}

public function_menu(id)
{
new menu = menu_create("\yМеню сервера:", "menu_handler")

if(is_user_alive(id))
{
menu_additem(menu, "\wМагазин","1")
menu_additem(menu, "\wСменить \rнож","2")
}
else
{
menu_additem(menu, "\wМагазин","1")
menu_additem(menu, "\wСменить \rнож","2")
}
menu_additem(menu, "\wВид от третьего лица","3")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED
register_clcmd("menu","go_menu");
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F4^" ^"menu^"")
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
if(is_user_alive(id))
client_cmd(id, "say /shop")
}
case 2:{
if(is_user_alive(id))
client_cmd(id, "say /knife")
}
case 3:{
client_cmd(id, "say /cam")
}
}
return PLUGIN_HANDLED
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
OverGame
сообщение 24.12.2014, 23:11
Сообщение #2
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Код:
#include < amxmodx >

#pragma tabsize 0

new cvar_showhudmsg, iNum1[64]

public plugin_init()
{
register_plugin("putinserver menu", "0.1", "X-factor")
register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")

cvar_showhudmsg = register_cvar("show_hudmsg", "1"); //1 - on 0 - off
}

public client_putinserver(id)
{
iNum1[id] = 0

if(get_pcvar_num(cvar_showhudmsg))
set_task(1.0, "task_hudmsg", id, _, _, "b")
}

public task_hudmsg(id)
{
set_hudmessage(0, 255, 255, 0.02, 0.15, 0, 6.0, 5.0)
show_hudmessage(id, "Меню F4")
}

public function_menu(id)
{
new menu = menu_create("\yМеню сервера", "menu_handler" )

menu_additem(menu, "\wМагазин","1")
menu_additem(menu, "\wСменить нож","2")
if ( iNum1[id] )
{
menu_additem(menu, "\wВид от третьего лица\d [Выключить]","3")
} else {
menu_additem(menu, "\wВид от третьего лица\d [Включить]","3")
}

menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_NEXTNAME, "Далее")
menu_setprop(menu, MPROP_EXITNAME, "Выход")

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F4^" ^"menu^"")
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
client_cmd(id, "say /shop")
}
case 2:{
client_cmd(id, "say /knife")
}
case 3:{
if ( iNum1[id] )
{
client_cmd(id, "say /camoff")
iNum1[id] = 0
} else {
client_cmd(id, "say /cam")
iNum1[id] = 1
}
function_menu(id)
}
}
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Quird
сообщение 25.12.2014, 11:39
Сообщение #3
Стаж: 11 лет

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

Проверьте в чем косяк ? Когда нажимаю 4й пункт, меняется в 5ом пункте слова "включить/выключить"
И так же когда нажимаю 5й пункт, меняется 4ом пункте слова "включить/ вЫключить"
======================
Код:
#include < amxmodx >

#pragma tabsize 0

new cvar_showhudmsg, iNum1[64]

public plugin_init()
{
register_plugin("jumpmenu", "0.1", "Ali")
register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")

cvar_showhudmsg = register_cvar("show_hudmsg", "0"); //1 - on 0 - off
}

public client_putinserver(id)
{
iNum1[id] = 0

if(get_pcvar_num(cvar_showhudmsg))
set_task(1.0, "task_hudmsg", id, _, _, "b")
}

public task_hudmsg(id)
{
set_hudmessage(0, 255, 255, 0.02, 0.15, 0, 6.0, 5.0)
show_hudmessage(id, "ͥF4")
}

public function_menu(id)
{
new menu = menu_create("\yЖамп меню:", "menu_handler" )

menu_additem(menu, "\wСохранить", "1")
menu_additem(menu, "\wВосстановить","2")
menu_additem(menu, "\wМеню статистик","3")
if ( iNum1[id] )
{
menu_additem(menu, "\wРаспрыга \r[выключить]","4")
} else {
menu_additem(menu, "\wРаспрыга \r[включить]","4")
}
if ( iNum1[id] )
{
menu_additem(menu, "\wВид от 3го лица \r[включить]","5")
} else {
menu_additem(menu, "\wВид от 3го лица \r[выключить]","5")
}

menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_NEXTNAME, "Далее")
menu_setprop(menu, MPROP_EXITNAME, "Закрыть")

menu_display(id,menu,0)
return PLUGIN_HANDLED
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F4^" ^"menu^"")
}

public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
client_cmd(id, "say /cp")
menu_destroy(menu)
}
case 2:{
client_cmd(id, "say /tp")
menu_destroy(menu)
}
case 3:{
client_cmd(id, "say /ljsmenu")
menu_destroy(menu)
}
case 4:{
if ( iNum1[id] )
{
client_cmd(id, "say /off")
iNum1[id] = 0
} else {
client_cmd(id, "say /on")
iNum1[id] = 1
}
function_menu(id)
}
case 5:{
if ( iNum1[id] )
{
client_cmd(id, "say /cam")
iNum1[id] = 0
} else {
client_cmd(id, "say /cam")
iNum1[id] = 1
}
function_menu(id)
}
}
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 25.12.2014, 12:17
Сообщение #4


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Код:
   if ( iNum1[id] )
{
menu_additem(menu, "\wРаспрыга \r[выключить]","4")
} else {
menu_additem(menu, "\wРаспрыга \r[включить]","4")
}
if ( iNum1[id] )
{
menu_additem(menu, "\wВид от 3го лица \r[включить]","5")
} else {
menu_additem(menu, "\wВид от 3го лица \r[выключить]","5")
}


if ( iNum1[id] )

условие одинаковое стоит
так что логично
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 25.12.2014, 12:29
Сообщение #5
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Legenda @ 25.12.2014, 13:17) *
Код:
   if ( iNum1[id] )
{
menu_additem(menu, "\wРаспрыга \r[выключить]","4")
} else {
menu_additem(menu, "\wРаспрыга \r[включить]","4")
}
if ( iNum1[id] )
{
menu_additem(menu, "\wВид от 3го лица \r[включить]","5")
} else {
menu_additem(menu, "\wВид от 3го лица \r[выключить]","5")
}


if ( iNum1[id] )

условие одинаковое стоит
так что логично


Тупанул :D


А стоп, не мой код :D Я думал это я делал еще один пункт и забыл массив создать C:

Отредактировал: OverGame, - 25.12.2014, 12:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Quird
сообщение 25.12.2014, 12:32
Сообщение #6
Стаж: 11 лет

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

Можете поправить мой код?

Отредактировал: Quird, - 25.12.2014, 12:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: