AMX MOD X
Пятница, 02.01.2026, 02:05:53



Приветствую Вас Гость | RSS
[ Главная ] [ Кай поймать?! - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Кай поймать?!
CLLlAgOBДата: Четверг, 07.02.2008, 08:27:40 | Сообщение # 1
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
У меня задача сделать выскакивающие меню у игрока при нажатии на кнопку закупки (по умолчанию B) при этом избегая всяких биндов какой эвент использовать?!
ЗЫ на сервере стоит блокировка закупки CSDM2.1
 
BruteДата: Четверг, 07.02.2008, 12:38:39 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
CLLlAgOB, у меня была подобная идея

csdm_misc.sma

Code

     ...
     register_clcmd("buy", "generic_block")
            ...

заменить на

Code

            ...
     register_clcmd("buy", "generic_block2")
            ...

и добавить
Code
public generic_block2(id, level, cid)
{
     if (csdm_active())
     engclient_cmd(id,"say guns")
      return PLUGIN_HANDLED
          
     return PLUGIN_CONTINUE
}

edit:
я не уверен что всё правильно, но может прокатит, надо чтобы кто-то крутой проверил: slogic или VEN или AlMod

Сообщение отредактировал Brute - Четверг, 07.02.2008, 12:39:41
 
marikcoolДата: Четверг, 07.02.2008, 12:40:06 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 139
Репутация: 1
Статус: Не в сети
register_clcmd("buy","buy") // в плугин инит

public buy(id)
{
//код
//тебе надо отрисовать собственное меню потом, выдавать оружие и снимать деньги или как хочешь.
}

Сообщение отредактировал marikcool - Четверг, 07.02.2008, 12:41:07
 
CLLlAgOBДата: Четверг, 07.02.2008, 12:42:57 | Сообщение # 4
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
спасиб за идеи щас буду проверять.

Сообщение отредактировал CLLlAgOB - Четверг, 07.02.2008, 12:44:36
 
BruteДата: Четверг, 07.02.2008, 12:44:32 | Сообщение # 5
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (CLLlAgOB)
Я сам могу проверить ) Спасиб за идею )

давай дерзай! потом не забудь написать что на что менял)
 
CLLlAgOBДата: Четверг, 07.02.2008, 13:10:55 | Сообщение # 6
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
не работает он не понимает buy. я же спрашивал про эвенты.
 
BruteДата: Четверг, 07.02.2008, 13:45:39 | Сообщение # 7
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
а у меня работает, но только в буй зоне, видимо движок сам блокирует эту команду

Code
public generic_block2(id, level, cid)
{
  if (csdm_active())
  {
   client_cmd(id,"say /guns")
   return PLUGIN_HANDLED
  }
  return PLUGIN_CONTINUE
}

Добавлено (2008-02-07, 1:45 Pm)
---------------------------------------------
да так оно и есть!

это не катит

Code

  register_clcmd("buy", "generic_block2")

а вот это катит

Code

  register_clcmd("buyammo1", "generic_block2")
  register_clcmd("buyammo2", "generic_block2")
  register_clcmd("buyequip", "generic_block2")
  register_clcmd("cl_autobuy", "generic_block2")
  register_clcmd("cl_rebuy", "generic_block2")
  register_clcmd("cl_setautobuy", "generic_block2")
  register_clcmd("cl_setrebuy", "generic_block2")

работает везде! выбирай любую другую команду, кроме buy B)
 
AlModДата: Четверг, 07.02.2008, 14:31:29 | Сообщение # 8
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
buy он не понимает потому что активно VGUI меню. Выключайте его юзерам через set_user_info() при входе на сервер

 
BruteДата: Четверг, 07.02.2008, 14:39:45 | Сообщение # 9
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (AlMod)
buy он не понимает потому что активно VGUI меню. Выключайте его юзерам через set_user_info() при входе на сервер

у меня стоит меню старого типа, но не куя.
 
Immortal_BLGДата: Четверг, 07.02.2008, 15:56:40 | Сообщение # 10
Лейтенант
Группа: Пользователи
Сообщений: 56
Репутация: 2
Статус: Не в сети
а вот, помогите доделать плагин, чтоб при активации csdm, плагины, которые не нужны, приостанавливались, а при дисактивации csdm - опять продолжали свою работу.
Прикрепления: csdm_disable_pl.sma (0.8 Kb)
 
BruteДата: Четверг, 07.02.2008, 17:13:16 | Сообщение # 11
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
вот доработай

зы там новые 2 команды

Code

   register_concmd("csdm_full_disable", "pause_plugins")
   register_concmd("csdm_full_enable", "unpause_plugins")

UPDATE

Прикрепления: csdm_disable_pl.sma (1.0 Kb)


Сообщение отредактировал Brute - Четверг, 07.02.2008, 17:35:57
 
CLLlAgOBДата: Пятница, 08.02.2008, 10:14:45 | Сообщение # 12
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
ЧТо офтопите ?
Вопрос остался нерешенным

Добавлено (2008-02-07, 11:35 Pm)
---------------------------------------------

Quote (AlMod)
Выключайте его юзерам через set_user_info() при входе на сервер

Можно простой пример?
А сорри я все понял извини )

Добавлено (2008-02-08, 10:14 Am)
---------------------------------------------
Вот что ты иммел в виду )
set_user_info(id, "_vgui_menus", "0"); так почемуто не работает
сдклал так
client_cmd(id,"setinfo _vgui_menus 0"); заработало но есть ньюанс нужно находиться в зоне закупки и при этом сделать задержку переж появлением меню.
Вопрос намбер 2 я нашел плагин готовый который дает закупаться на всей карте но у него много ненужных функций http://forums.alliedmods.net/showthread.php?p=358059
Как можно сделать компактный плагин который застявлял бы производить закупку по всей карте?
Ориентация в байхоны идет только по горящей иконки?

Сообщение отредактировал CLLlAgOB - Пятница, 08.02.2008, 11:05:03
 
VENДата: Пятница, 08.02.2008, 19:10:46 | Сообщение # 13
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Code
#include <amxmodx>
#include <fakemeta>

public plugin_precache() {
         new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_buyzone"))
         dllfunc(DLLFunc_Spawn, ent)
         engfunc(EngFunc_SetSize, ent, {-8191.0, -8191.0, -8191.0}, {8191.0, 8191.0, 8191.0})
}
 
BruteДата: Пятница, 08.02.2008, 22:11:44 | Сообщение # 14
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (VEN)
Code #include <amxmodx> #include <fakemeta>

public plugin_precache() {new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_buyzone"))dllfunc(DLLFunc_Spawn, ent)engfunc(EngFunc_SetSize, ent, {-8191.0, -8191.0, -8191.0}, {8191.0, 8191.0, 8191.0}) }

дык это буй-зона на всю карту? а как без неё? %)

 
CLLlAgOBДата: Суббота, 09.02.2008, 14:40:59 | Сообщение # 15
Полковник
Группа: Скриптеры
Сообщений: 217
Репутация: 14
Статус: Не в сети
Все разобрался! Спасибо всем вот на всякий случай выкладываю готовую сборку что нужно:

Code
public plugin_init() {
              register_event("ShowMenu", "blockteams", "b", "Team_Select_Spect")
              register_clcmd( "buy","prebuy", -1, "Shows The menu" )
              }
public client_connect(id)
{  
  client_cmd(id,"setinfo _vgui_menus 0");
}

public prebuy(id) {
  buy1[id] = true
  set_task(1.0,"blockteams",id)
  }

public blockteams(id) {
  if(buy1[id]){
   ShowMenu(id);
   buy1[id] = false
   }
  return PLUGIN_CONTINUE
}

Добавлено (2008-02-09, 2:40 Pm)
---------------------------------------------
да объясниете

Code
show_menu(id, 0, "work", 1, "#Team_Select_Spect")
я так понял эта чтука блокирует все меню


Сообщение отредактировал CLLlAgOB - Суббота, 09.02.2008, 05:40:16
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026