|
Кай поймать?!
|
|
| CLLlAgOB | Дата: Четверг, 07.02.2008, 08:27:40 | Сообщение # 1 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| У меня задача сделать выскакивающие меню у игрока при нажатии на кнопку закупки (по умолчанию при этом избегая всяких биндов какой эвент использовать?! ЗЫ на сервере стоит блокировка закупки CSDM2.1
|
| |
|
|
| Brute | Дата: Четверг, 07.02.2008, 12:38:39 | Сообщение # 2 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| 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
Статус: Не в сети
| register_clcmd("buy","buy") // в плугин инит public buy(id) { //код //тебе надо отрисовать собственное меню потом, выдавать оружие и снимать деньги или как хочешь. }
Сообщение отредактировал marikcool - Четверг, 07.02.2008, 12:41:07 |
| |
|
|
| CLLlAgOB | Дата: Четверг, 07.02.2008, 12:42:57 | Сообщение # 4 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| спасиб за идеи щас буду проверять.
Сообщение отредактировал CLLlAgOB - Четверг, 07.02.2008, 12:44:36 |
| |
|
|
| Brute | Дата: Четверг, 07.02.2008, 12:44:32 | Сообщение # 5 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| Quote (CLLlAgOB) Я сам могу проверить ) Спасиб за идею ) давай дерзай! потом не забудь написать что на что менял)
|
| |
|
|
| CLLlAgOB | Дата: Четверг, 07.02.2008, 13:10:55 | Сообщение # 6 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| не работает он не понимает buy. я же спрашивал про эвенты.
|
| |
|
|
| Brute | Дата: Четверг, 07.02.2008, 13:45:39 | Сообщение # 7 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| а у меня работает, но только в буй зоне, видимо движок сам блокирует эту команду 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
|
| |
|
|
| AlMod | Дата: Четверг, 07.02.2008, 14:31:29 | Сообщение # 8 |
|
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| buy он не понимает потому что активно VGUI меню. Выключайте его юзерам через set_user_info() при входе на сервер
|
| |
|
|
| Brute | Дата: Четверг, 07.02.2008, 14:39:45 | Сообщение # 9 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| Quote (AlMod) buy он не понимает потому что активно VGUI меню. Выключайте его юзерам через set_user_info() при входе на сервер у меня стоит меню старого типа, но не куя.
|
| |
|
|
| Immortal_BLG | Дата: Четверг, 07.02.2008, 15:56:40 | Сообщение # 10 |
|
Лейтенант
Группа: Пользователи
Сообщений: 56
Статус: Не в сети
| а вот, помогите доделать плагин, чтоб при активации csdm, плагины, которые не нужны, приостанавливались, а при дисактивации csdm - опять продолжали свою работу.
|
| |
|
|
| Brute | Дата: Четверг, 07.02.2008, 17:13:16 | Сообщение # 11 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| вот доработай зы там новые 2 команды Code register_concmd("csdm_full_disable", "pause_plugins") register_concmd("csdm_full_enable", "unpause_plugins") UPDATE
Сообщение отредактировал Brute - Четверг, 07.02.2008, 17:35:57 |
| |
|
|
| CLLlAgOB | Дата: Пятница, 08.02.2008, 10:14:45 | Сообщение # 12 |
 Полковник
Группа: Скриптеры
Сообщений: 217
Статус: Не в сети
| ЧТо офтопите ? Вопрос остался нерешенным Добавлено (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
Статус: Не в сети
| 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
Статус: Не в сети
| 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
Статус: Не в сети
| Все разобрался! Спасибо всем вот на всякий случай выкладываю готовую сборку что нужно: 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 |
| |
|
|