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

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

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

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

История благодарностей участнику woody ::: Спасибо сказали: 26
Дата поста: В теме: За сообщение: Спасибо сказали:
20.3.2016, 11:56 NoConsoleZone
Credits: R3X

Короче, плагин позволяет блокировать команды, когда находишься в зоне.
АСАРОЖНА!!! Мощный синк, поэтому лучше зоны оставлять невидимыми, иначе сервер улетит.
Чет еще было с удалением зон через меню, вроде - лень править.

Команды блокирующие через конфиг вписываются.
Перетаскивать на мышь на зеленые сизеры. ок да?

Применить можно для блокировки расстановки пушек csdm. И т.п.
Мне вообще всё равно, как вы будете использовать.

Cкрытый текст
Код
NCZ_MAINMENU_TITLE = \dNCZ \r[\yГлавное меню\r]
NCZ_MAINMENU_ITEM_CREATE  = Создать зону^n
NCZ_MAINMENU_ITEMS_SAVE = Сохранить зону
NCZ_MAINMENU_ITEMS_EDIT = Редактировать зону [\r%s\r]

NCZ_EDITMENU_TITLE = \dNCZ \r[\yСоздание зоны\r]
NCZ_EDITMENU_TITLE_1 = \dNCZ \r[\yНастройка зоны\r[\y%s\r]

NCZ_EDITMENU_ITEM_1 = Задать имя зоны
NCZ_EDITMENU_ITEM_1_1 = Изменить имя зоны
NCZ_EDITMENU_ITEM_2 = Изменение размера \r[\yВыключено\r]
NCZ_EDITMENU_ITEM_2_1 = Изменение размера \r[\yВключено\r]
NCZ_EDITMENU_ITEM_3 = Видимость зоны \r[\yВыключено\r]^n
NCZ_EDITMENU_ITEM_3_1 = Видимость зоны \r[\yВключено\r]^n
NCZ_EDITMENU_ITEM_4 = Сохранить зону
NCZ_EDITMENU_ITEM_5 = Удалить зону

NCZ_CHAT_BOXNAME = !g[!tЗона!g]!yПожалуйста введите !gимя !yдля данной !tзоны
NCZ_CHAT_ZONEBOX_CHAT = !g[!tЗона!g]!yВы находитесь в !tзоне, !yгде !gнельзя !yиспользовать команду !g%s
NCZ_CHAT_ZONEBOX_CONSOLE = Вы находитесь в зоне, где нельзя использовать команду: %s

NCZ_CHAT_NOACCESS = !g[!tЗона!g]!yУ !tвас !gнедостаточно прав
NCZ_CHAT_BOXSAVE = !g[!tЗона!g]!tСохранено!
NCZ_CHAT_BOXDELETE = !g[!tЗона!g]!tУдалено!


Скриншотыыыы

Cкрытый текст












[]
Danjkeee^, kolobok1, wopox3
20.3.2016, 11:28 KnifeDistance
Узнаем расстояние, с которого мы убили ножом или нас.

say /kd

Cкрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "KnifeDistance"
#define VERSION "1.0"
#define AUTHOR "vk.com/id78000"

new iPlayerEnable[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_Killed, "player", "PlayerKilled")

register_clcmd("say /kd", "OnOff")
register_clcmd("say_team /kd", "OnOff")
}

public OnOff(id)
{
if(iPlayerEnable[id])
{
iPlayerEnable[id] = false
ChatColor(id, "!yПоказ !tсообщений !gотключен.")
}else{
iPlayerEnable[id] = true
ChatColor(id, "!yПоказ !tсообщений !gвключен.")
}
}

public PlayerKilled(iVictim, iAttacker, iCorpse)
{
if(!iVictim || !iAttacker || iVictim == iAttacker)
return PLUGIN_HANDLED

new iWeapon = get_user_weapon(iAttacker)

if(iWeapon != CSW_KNIFE)
return PLUGIN_HANDLED

new Float:fVOrigin[3], Float:fAOrigin[3]

pev(iVictim, pev_origin, fVOrigin)
pev(iAttacker, pev_origin, fAOrigin)

new szVName[32], szAName[32]

get_user_name(iVictim, szVName, charsmax( szVName ))
get_user_name(iAttacker, szAName, charsmax( szAName ))

new Float:fDistance = get_distance_f(fVOrigin, fAOrigin) / 32.0

if(!iPlayerEnable[iVictim])
{
ChatColor(iVictim, "!yТебя !gубил !t%s !yс расстояние !g%2f м.", szAName, fDistance)
}

if(!iPlayerEnable[iAttacker])
{
ChatColor(iAttacker, "!yТы !gубил !t%s !yс расстояние !g%2f м.", szVName, fDistance)
}
return PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
skitls187
20.3.2016, 9:53 MapSystem
Давно пылится.
В общем, мап чеинджер, пару hud sms, музыка, вывод списка карт в зависимости от количества игроков на сервере.

Cкрытый текст
Код
MS_NOFILE_MAPS = Конфигурационный файл ms_maps.ini не найден!
MS_VOTEMENU_TITLE = \dУ вас осталось %d^nВыберите карту:
MS_VOTEMENU_ITEMS = %s \d[\y%d\d]
MS_VOTEMENU_ITEMS_PRODL = Продлить %s на \r%d \wмин [\y%d\d]
MS_VOTEMENU_VOTED = !yИгрок !t%s !yпроголосовал за !g%s
MS_VOTEMENU_VOTED_PRODL = !yИгрок !t%s !yпроголосовал за !gпродление карты

MS_STARTINFO = Голосование за следующую карту^nчерез %d
MS_NOMINATIONS = !yИгрок !t%s !y сделал карту !g%s !yноминированной
MS_NOTPLAYERS_NOMINATIONS = !yИзвините, но карта !g%s !yв данный момент !tне подходит !yдля !gноминации
MS_NOTMAP_NOMINATIONS = !yИзвините, но карта !g%s !tотсутствует!

MS_VOTE_END = !yГолосование !gзавершено. !tСледующая карта - !g%s
MS_VOTE_END_PRODL = !yГолосование !gзавершено. !tКарта !gпродлена !yна !g%d !tминут
MS_RTV_SMALLTIME = !yТребуется !gподождать !t%s
MS_RTV_ALREADY = !yВы !gуже !gголосовали
MS_RTV_GOOD = !yИгрок !g%s !yпроголосовал за !gсмену карты. Надоела карта?Пиши !grtv
MS_RTV_GOOD_INFO = !yИнформация: !gнабрано !t%%[ !g%d !t/ !g%d !t], набрано голосов [ !g%d !t/ !g%d !t]

MS_CHANGEINFO = Следующая карта - %s^nСмена через %d

MS_MAPMENU_TITLE = \dИгроков: \y%d\r, \wподходящих карт: \y%d
MS_MAPMENU_ITEMS = %s
MS_MAPMENU_ITEMS_ALREADY = %s \d - текущая


Cкрытый текст
Код
;Конфигурационный файл плагина MapSystem v 1.0
;Формат
;"Название карты" "Минимальное кол-во игроков" "Максимальное кол-во игроков"

"afk_6killer"          "1"     "14"
"awp_india"         "8"     "32"
"awp_dust"              "6"     "32"
"aim_awp"          "4"     "10"
;"aim_map"          "4"     "14"
"aim_aztec"         "2"     "14"
;"aim_ak_colt            "4"     "16"
"aim_sk_usp_deagle      "2"     "14"
"cs_assault"         "8"     "32"
"cs_pf_dust"            "4"     "16"
"cs_siege"              "20"     "32"
;"cs_mansion"            "6"     "16"
"de_aztec"         "14"     "32"
"de_dust"         "14"     "32"
"de_dust2"         "14"     "32"
"de_dust2_2x2"             "6"     "18"
"de_dust2002"           "20"     "32"
"de_dust2_long"     "1"     "12"
"de_inferno"         "14"     "32"
;"de_inferno_2x2"     "8"     "16"
"de_nuke"         "10"     "32"
"de_cbble"              "20"     "32"
"de_kabul"              "20"     "32"
"fy_snow"               "1"     "16"
"fy_pool_day"           "1"     "14"
;"fy_arena"              "4"     "16"
;"fy_sand"               "4"     "16"
"fy_deagle_complex"     "4"     "14"
;"fy_iceworld3"          "4"     "14"
;"awp_lol"               "4"     "16"
"most_wanted"           "8"     "16"
"35hp_2"         "8"     "32"
"$2000$"                "4"     "18"
"de_tuscan"             "18"     "32"
"de_clan1_mill"         "18"     "32"
"de_westwood"           "18"     "32"
;"de_piranesi"           "18"     "32"
;"de_prodigy"            "18"     "32"
"de_survivor"           "18"     "32"
"de_train"               "12"     "32"
;"de_vertigo"             "18"     "32"
"aim_mini_kabul"         "4"     "18"
"aim_ak-awp"             "4"     "14"
"aim_deagle"             "4"     "14"
"awp_city2"              "4"     "12"
"fy_aztec"               "8"     "18"
"aim_headshot"           "4"    "14"
"de_dust2_3x3"           "10"     "16"
"de_arizona"             "18"     "32"
"de_dust41"              "18"     "32"
"starwars"               "1"     "12"


[attachment=39430:Desktop2.rar]
Danjkeee^, Wh1zy
20.3.2016, 7:45 TegManager
Короче, плагин для клана, чтоб всякие левые не заходили под вашим префиком в нике от клана.
У кого есть префикс вашего клана и не прописан пароль - кикает с сервера.

Конфиг имеет вид:
"teg" "passowrd"

где тег - префикс клана, бла-бла.
password - пароль, которыи надо указать в setinfo.

пример:
setinfo _cl 78000

Cкрытый текст
Код:
#include <amxmodx>
#include <amxmisc>

new g_LoadTegs[81]

public plugin_init()
{
register_plugin("TegManager", "1.0", "vk.com/id78000")
}

public plugin_cfg()
{
new g_LoadDir[81]
get_configsdir(g_LoadDir, charsmax( g_LoadDir ))

formatex(g_LoadTegs, charsmax( g_LoadTegs ), "%s/teg_access.ini", g_LoadDir)

if(!file_exists( g_LoadTegs ))
{
set_fail_state("no file teg_access.ini")
}
}

public client_authorized(id)
{
if(!is_user_bot(id) || !is_user_hltv(id))
{
set_task(1.0, "Check", id)
}
}

public client_infochanged(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE

new szNewName[32], szOldName[32]

get_user_name(id, szOldName, charsmax( szOldName ))
get_user_info(id, "name", szNewName, charsmax( szNewName ))

if(!equal(szNewName, szOldName))
{
set_task(1.0, "Check", id)
}
return PLUGIN_CONTINUE
}

public Check(id)
{
new szName[64], szPassword[64]
new szParse[128]
new szParseData[64], szParsePassword[64]
new iLine, iNum

get_user_name(id, szName, charsmax( szName ))
get_user_info(id, "_cl", szPassword, charsmax( szPassword ))

for(iLine = 0; read_file(g_LoadTegs, iLine, szParse, charsmax( szParse ), iNum); iLine++)
{
if(iNum > 0 && szParse[0] != ';')
{
parse(szParse,
szParseData,
charsmax( szParseData ),
szParsePassword,
charsmax( szParsePassword )
)

if(containi(szName, szParseData) != -1)
{
if(equal(szPassword, szParsePassword))
{
break
}else{
server_cmd("kick #%d ^"No clan teg password^" ", get_user_userid(id))
break
}
}
}
}
}

[attachment=39423:Desktop.rar]
DARTHMOON
22.2.2016, 17:21 Плагин Nade Health | Лечебная граната
Blitzz,

Код:
 new huy[33]


Код:
register_clcmd("say /huy", "huy")


Код:
public huy(id) {
if(!huy[id]) {
give_item(id, "weapon_smokegrenade")
huy[id] = true
}else{
give_item(id, "weapon_smokegrenade")
}
}


ну и в смене моделей чекаешь на huy[id]
еще можно въебать engclient_cmd, но на это по*** с CurWeapon.
Вообще лучше на ham_item_deploy заменить и сделать в выдаче гранаты эмуляцию выбора гранаты через engclient_cmd.

Еще проверку на подключенного игрока в функции выше добавить.
Blitzz
26.1.2016, 11:31 Продам классический сервер.
Появился покупатель. Тема неактуально. Рад, что так быстро нашелся.

[coub]

[/coub]
meloman
6.5.2015, 14:19 Нужна помощь от игровых порталов, форумов, группв ВК
Мне на YouTube нравится только один парень, который орет, как истеричка в микрофон, когда играет в horror-игры.
JIuXeP
6.5.2015, 10:29 Смешные и забавные картинки
Присоединюсь.

strelok93
6.5.2015, 8:35 Хороший ли код в этом плагине?
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
//#include <engine> // На хер он здесь нужен?

// А где register_plugin(...) ?
#define PLUGIN "jVip"
#define VERSION "1.0"
#define AUTHOR "tYnE#" // Мега-скриптер. Сегодня закажу меню оружий.

// Переключатели :D
new iPlayerAction[33][4]

public plugin_init()
{
register_clcmd("vipmenu", "VIPMenu")

// Видимо парень забыл про неё, ведь функция есть, xD
RegisterHam(Ham_Spawn, "player", "Spawn_player", 1)

// Отлов события переключения оружия (Фиксим скорость)
register_event("CurWeapon", "CurWeapon", "be", "1=1")
}

public VIPMenu(id)
{
// Не знаю, почему автор не сделал так:
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Server] У тебя нет прав использовать эту комманду.")
return PLUGIN_HANDLED
}

new vip_menu = menu_create("\wМеню \yv\d.\yi\d.\yp \w игрока.", "menu_handler")

// Делаем переключатель для 1 пункта
if(iPlayerAction[id][1])
{
menu_additem(vip_menu, "Бессмертие\d[ \rВключено \d]", "1", 0)
}else{
menu_additem(vip_menu, "Бессмертие\d[ \rВыключено \d]", "1", 0)
}

// Делаем переключатель для 2 пункта
if(iPlayerAction[id][2])
{
menu_additem(vip_menu, "Ходить сквозь стен\d[ \rВключено \d]", "2", 0)
}else{
menu_additem(vip_menu, "Ходить сквозь стен\d[ \rВыключено \d]", "2", 0)
}

// Запрещаем юзать мертвому.
if(is_user_alive(id))
{
// Делаем переключатель для 3 пункта
if(iPlayerAction[id][3])
{
menu_additem(vip_menu, "Скорость\d[ \rВключена \d]", "3", 0)
}else{
menu_additem(vip_menu, "Скорость\d[ \rВыключена \d]", "3", 0)
}

}else{
menu_additem(vip_menu, "Скорость", "3", ADMIN_ADMIN)
}

// Запрещаем юзать мертвому.
if(is_user_alive(id))
{
menu_additem(vip_menu, "Взять жизней \d(\r255\d)", "4", 0)
}else{
menu_additem(vip_menu, "Взять жизней \d(\r255\d)", "4", ADMIN_ADMIN)
}

// Мега-баг. Запрещаем юзать живому и спеку
if(!is_user_alive(id) && cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
menu_additem(vip_menu, "Возродиться", "5", 0)
}else{
menu_additem(vip_menu, "Возродиться", "5", ADMIN_ADMIN)
}

menu_additem(vip_menu, "Взять \y16000$", "6", 0)

// Запрещаем юзать мертвому.
if(is_user_alive(id))
{
menu_additem(vip_menu, "Взять \yщит", "7", 0)
}else{
menu_additem(vip_menu, "Взять \yщит", "7", ADMIN_ADMIN)
}

// Запрещаем юзать мертвому.
if(is_user_alive(id))
{
menu_additem( vip_menu, "Взять \yHE\w гранату", "8", 0)
}else{
menu_additem( vip_menu, "Взять \yHE\w гранату", "8", ADMIN_ADMIN)
}

// Запрещаем юзать мертвому.
if(is_user_alive(id))
{
menu_additem( vip_menu, "Взять пистолет \yAK47", "9", 0)
}else{
menu_additem( vip_menu, "Взять пистолет \yAK47", "9", ADMIN_ADMIN)
}

// Может логичней убрать навигацию, если всего 9 пунктов?
// menu_setprop(vip_menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(vip_menu, MEXIT_ALL, 0)

menu_display(id, vip_menu, 0)
return PLUGIN_HANDLED
}

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(iPlayerAction[id][1])
{
iPlayerAction[id][1] = false // Ставим массив на false.
set_user_godmode(id, 0) // Вырубаем
}else{ // Иначе включаем
iPlayerAction[id][1] = true // Ставим массив на true
set_user_godmode(id,1) // Включаем
}

// Переоткроем меню с понтом дела
VIPMenu(id)
}

case 2:
{
// Проверяем: если уже есть
if(iPlayerAction[id][2])
{
iPlayerAction[id][2] = false // Ставим массив на false.
set_user_noclip(id, 0) // Вырубаем
}else{ // Иначе включаем
iPlayerAction[id][2] = true // Ставим массив на true
set_user_noclip(id,1) // Включаем
}

// Переоткроем меню с понтом дела
VIPMenu(id)
}

case 3:
{
// Проверяем: если уже есть
if(iPlayerAction[id][3])
{
iPlayerAction[id][3] = false // Ставим массив на false.
set_user_maxspeed(id, 240.0) // Вырубаем
}else{ // Иначе включаем
iPlayerAction[id][3] = true // Ставим массив на true
set_user_maxspeed(id, 1000.0) // Включаем
}

// Переоткроем меню с понтом дела
VIPMenu(id)
}

case 4:
{
// Если игрок мертв, то нет смысла продолжать
if(!is_user_alive(id))
return PLUGIN_HANDLED

set_user_health(id, 255)
}

case 5:
{
//o0. Чувак жжет. Получаем унриал баг с экранными худами при таком спавне.
//Чувак - гуру скриптинга LOL
//spawn(id)

//Если игрок жив или спек, то продолжать нельзя =)
if(is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return PLUGIN_HANDLED

ExecuteHamB(Ham_CS_RoundRespawn, id)
}

case 6:
{
cs_set_user_money(id,16000)
}

case 7:
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

give_item(id, "weapon_shield")
}

case 8:
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

give_item(id, "weapon_hegrenade")
}

case 9:
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90) //Даем патроны
}
}

menu_destroy( menu )
return PLUGIN_HANDLED
}

public CurWeapon(id)
{
if(!iPlayerAction[id][3])
return PLUGIN_CONTINUE

set_user_maxspeed(id, 1000.0)
return PLUGIN_CONTINUE
}

//А где, собственно отлов????????
//Но в моем случаи мне функция пригодилась
public Spawn_player(id)
{
//Так круче :DD
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE

//Присваиваем в зависимости от переключателя
set_user_godmode(id, iPlayerAction[id][1])
set_user_noclip(id, iPlayerAction[id][2])

//Эмулуем переключение на нож, чтобы вызвать кур =)
engclient_cmd(id, "weapon_knife")

return PLUGIN_CONTINUE
}
adva, damilurg, filip, RyRy
6.5.2015, 7:25 FATAL ERROR (shutting down): ED_Alloc: no free edicts
Цитата(receptor @ 6.5.2015, 1:00) *
Шо за бред ты вечно пишешь?
Ошибка и так по русски написана ED_Alloc: no free edicts


Это английский, кэп.
Safety1st