Склад маленьких плагинов, только отборная пузатая мелочь |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Склад маленьких плагинов, только отборная пузатая мелочь |
Nebo
|
23.8.2014, 5:48
Сообщение
|
![]() |
Круто, лепи такой, пора уже сменить свой говновеапон.
|
|
|
|
Safety1st
|
23.8.2014, 5:51
Сообщение
|
|
|
Обновлён плагин Weapon Menu Hardcoded
Изменения в v0.5: • добавлена отключаемая опция 'Equipment' (броня и полный пак гранат); • исправлена ошибка, из-за которой игрок на 32-м слоте не мог воспользоваться меню; • флаг доступа к меню сменился с 't' на 'n', не забудьте поменять, как нужно ;) Еще вопросик, возможно ли как то сделать так, что-бы выдавалось не одно оружие, а комплектом? Теперь можно один комплектик составить на последнем пункте ;) |
Поблагодарили 1 раз
|
|
Nebo
|
23.8.2014, 6:27
Сообщение
|
![]() |
Safety1st,а то что выше писал, когда будет?
|
|
|
|
Nebo
|
23.8.2014, 6:57
Сообщение
|
![]() |
Фуу, я так не играю.
|
|
|
|
Radius
|
23.8.2014, 13:25
Сообщение
|
|
|
|
Поблагодарили 2 раз
|
|
ogoltelyj
|
23.8.2014, 20:19
Сообщение
|
|
|
Обновлён плагин Weapon Menu Hardcoded Изменения в v0.5: • добавлена отключаемая опция 'Equipment' (броня и полный пак гранат); • исправлена ошибка, из-за которой игрок на 32-м слоте не мог воспользоваться меню; • флаг доступа к меню сменился с 't' на 'n', не забудьте поменять, как нужно ;) Теперь можно один комплектик составить на последнем пункте ;) • исправлена ошибка, из-за которой игрок на 32-м слоте не мог воспользоваться меню; можно пожалуйста в этой версии устранить этот баг. Скрытый текст Код #include <amxmodx> #include <cstrike> #include <fun> #define PLUGIN "Weapon Menu Hardcoded" #define VERSION "0.4" #define AUTHOR "Safety1st" enum _:ItemTypes { MENUITEM[80], // the longest possible menu string without escape tokens WPN_ID, BPAMMO } /*------------------ EDIT ME ------------------*/ #define ACCESS_FLAG ADMIN_LEVEL_H // flag 't' by default const giAllowedRound = 3 // round when ALL items become available #define ITEMS_COUNT 4 // EXACTLY as rows quantity below, 9 items MAX new const ITEMS[ITEMS_COUNT][ItemTypes] = { // format: menu item name, weapon id to give (see amxconst.inc for constants), backpack ammo amount { "AK47", CSW_AK47, 90 }, { "M4A1", CSW_M4A1, 90 }, { "AWP", CSW_AWP, 30 }, { "Deagle", CSW_DEAGLE, 35 } } //#define CHECK_SHIELD // uncomment this if you have shields on server /*------ NOTHING TO EDIT BELOW THIS POINT ------*/ new giCounter // round counter new giIsUsed // whether menu was used or not #define CheckIsUsed(%1) (giIsUsed & (1 << (%1 & 31))) #define SetIsUsed(%1) (giIsUsed |= (1 << (%1 & 31))) #define CSW_SHIELD 2 new const gszWeaponName[][] = { "", // dummy name to match weapon order "weapon_p228", "weapon_shield", // just used an unassigned slot;) "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" } const PRIMARY_WEAPONS_BIT_SUM = 1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45 |1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3 |1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90 const SECONDARY_WEAPONS_BIT_SUM = 1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE const KEY_EXIT = 10 public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ) register_clcmd( "admin_weapon", "MenuCommand" ) register_event( "HLTV", "Event_NewRound", "a", "1=0", "2=0" ) register_event( "TextMsg", "Event_NewGame", "a", "2=#Game_will_restart_in", "2=#Game_Commencing" ) register_menucmd( register_menuid( "WeaponMenu" ), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0, "MenuHandler" ) } public Event_NewRound() { giIsUsed = 0 giCounter++ } public Event_NewGame() { giCounter = 0 } public MenuCommand( id, level, cid ) { new bool:bIsItemsDisabled = false if( !( get_user_flags(id) & ACCESS_FLAG ) || !is_user_alive(id) || CheckIsUsed(id) || giCounter < giAllowedRound ) bIsItemsDisabled = true new szMenu[512] // it is maximum allowed menu size new iKeys new iLen = formatex( szMenu, charsmax(szMenu), "\yВыбери оружие:^n^n" ) for( new i; i < sizeof ITEMS; i++ ) { switch( bIsItemsDisabled ) { case false : { iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \w%s^n", i + 1, ITEMS[i][MENUITEM] ) iKeys |= ( 1 << i ) } case true : { iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "\r%d. \d%s \r[Недоступно]^n", i + 1, ITEMS[i][MENUITEM] ) } } } formatex( szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. \wВыход" ) iKeys |= MENU_KEY_0 show_menu( id, iKeys, szMenu, .title = "WeaponMenu" ) return PLUGIN_HANDLED } public MenuHandler( id, key ) { if( key == KEY_EXIT - 1 /* keys are numbered starting from 0 */ || !is_user_alive(id) ) return PLUGIN_HANDLED new iWeaponId = ITEMS[key][WPN_ID] if( 1<<iWeaponId & SECONDARY_WEAPONS_BIT_SUM ) DropWeapon( id, SECONDARY_WEAPONS_BIT_SUM ) else if( 1<<iWeaponId & PRIMARY_WEAPONS_BIT_SUM ) { #if defined CHECK_SHIELD if( cs_get_user_shield(id) ) engclient_cmd( id, "drop", gszWeaponName[CSW_SHIELD] ) else DropWeapon( id, PRIMARY_WEAPONS_BIT_SUM ) #else DropWeapon( id, PRIMARY_WEAPONS_BIT_SUM ) #endif } give_item( id, gszWeaponName[iWeaponId] ) cs_set_user_bpammo( id, iWeaponId, ITEMS[key][BPAMMO] ) SetIsUsed(id) return PLUGIN_HANDLED } DropWeapon( id, weapons_bitsum ) { new iWeapons[32], iWeaponsNum, iWeaponId get_user_weapons( id, iWeapons, iWeaponsNum ) for( new i = 0; i < iWeaponsNum; i++ ) { iWeaponId = iWeapons[i] if( 1<<iWeaponId & weapons_bitsum ) engclient_cmd( id, "drop", gszWeaponName[iWeaponId] ) } } Можно не задавать вопрос чем меня не устраивает другая версия)))) просто если не лень, прошу поправить, буду очень признателен. |
|
|
|
Safety1st
|
25.8.2014, 7:23
Сообщение
|
|
|
Обновлён плагин Simple Respawn
Изменения в v0.6: • из кода выкинута половина плагина • добавлен спавн новых игроков и игроков, не успевших выбрать команду за время задержки перед респавном или возвращающихся из спектата; • вход и выход из спектата без ограничений (войти по-прежнему можно только будучи мёртвым); • показ полоски - опционально (можно отключить, закомментировав #define SHOW_BAR); • для отлова смерти используется 'правильный' форвард (post). Тестируйте |
|
|
|
Safety1st
|
25.8.2014, 16:30
Сообщение
|
|
|
bristol, 9 пунктов максимум - вместе с пунктом 'Equipment'. Уберите из оружий одно)
|
|
|
|
bristol
|
25.8.2014, 21:59
Сообщение
|
![]() |
|
|
|
|
Safety1st
|
25.8.2014, 22:14
Сообщение
|
|
|
bristol, ошибки в логах есть?
Ваше меню у меня норм отображается: ![]() Заодно заметил баг из-за щита, поправлю) |
|
|
|
Safety1st
|
26.8.2014, 0:49
Сообщение
|
|
|
Обновлён плагин Weapon Menu Hardcoded
Изменения в v0.6: • исправлена некорректная работа в случае выдачи secondary-оружия игроку с щитом. |
|
|
|
BariN
|
26.8.2014, 1:16
Сообщение
|
|
|
Плагин Subnet Ban Menu от Subb98 ![]() Простенький плагин для бана 'подсети' через меню, против ололошек с динамическими IP и айдичейнджерами. Особенно полезен Одминам, незнакомым с термином 'подсеть' и/или неспособным банить их через консоль. На данный момент банит только 'подсети' xxx.xxx.0.0. Поддерживает amx_show_activity, такое встречается довольно редко ;) Ознакомиться подробнее и скачать можно здесь. А можно перевести на русский? Если не сложно было бы комфортнее. |
|
|
|
Safety1st
|
26.8.2014, 6:46
Сообщение
|
|
|
Обновлён плагин Weapon Menu Hardcoded
Изменения в v0.6b: • плагин не компилировался с настройками: Код #define CHECK_SHIELD
//#define EQUIPMENT_ITEM "Equipment" |
Поблагодарили 2 раз
|
|
Safety1st
|
26.8.2014, 8:13
Сообщение
|
|
|
Плагин Simple Respawn
Неограниченное возрождение игрока после смерти с настраиваемой задержкой и приятным информированием: ![]() Плагин умеет спавнить новых игроков и игроков, возвращающихся из спектата. Разрешает менять команду неограниченное число раз, но без злоупотреблений. Настройка - в исходнике: • #define RESPAWN_DELAY 3 - задержка перед респавном; • #define SHOW_BAR - закомментируйте, чтобы убрать полоску. Внимание! Плагин предназначен только для использования на серверах, где у игроков есть возможность выбрать скин, за исключением CSDM мода. Дополнительная информация • несмотря на название плагин уже не simple, а вполне функциональный; • почему у плагина ограниченная сфера применения: спавн новых игроков и игроков, не успевших выбрать команду за время задержки перед респавном или возвращающихся из спектата, срабатывает при выборе класса. нет выбора - нет спавна. а на CSDM-моде спавн игроков должен выполняться другим способом; • в конце раунда игроки не воскрешаются; • напутствие желающим создать аналог мода CSDM из AMXX-плагинов: это того не стоит. нагрузка меньше не станет, а сборная солянка - дело такое... v0.6b от 04.10.2014
simple_respawn.sma ( 5,24 килобайт )
Кол-во скачиваний: 527
simple_respawn.txt ( 135 байт )
Кол-во скачиваний: 690
Отредактировал: Safety1st, - 4.10.2014, 3:37
|
Поблагодарили 9 раз
|
|
etkins
|
6.9.2014, 14:10
Сообщение
|
|
|
а респавн протект будет ? ;)
|
|
|
|
Safety1st
|
6.9.2014, 14:20
Сообщение
|
|
|
Уже ;)
Spawn Protection |
Поблагодарили 1 раз
|
|
![]() ![]() |