Помогите переделать плагин, Проблемка |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Помогите переделать плагин, Проблемка |
vertex627
|
11.10.2011, 18:40
Сообщение
|
|
|
Всем привет!!! У меня на сервере стоит плагин Bullet Damage Around Crosshair. Вот его описание http://makeserver.ru/plaginy/14667-bullet-...-crosshair.html . Плиз за мэйк не тролить, просто на аленях описание на англ. а тут более менее ясно.
так вот плагин очень всем нравится но очень хотелось бы что бы он не показывал урон через двери, стены и .тп. Есть аналогичные плагины с такой функцией но они очень отвлекают внимание так как цифры всегда под прицелом а тут ненавязчиво вокруг прицела не сильно яркиим шрифтом. Если у кого есть какие мысли просьба поделится, заранее спасибо. Вот сам код плагина Цитата #include <amxmodx>
#define PLUGIN "Bullet Damage" #define AUTHOR "ConnorMcLeod" #define VERSION "0.0.1" #define MAX_PLAYERS 32 new const Float:g_flCoords[][] = { {0.50, 0.40}, {0.56, 0.44}, {0.60, 0.50}, {0.56, 0.56}, {0.50, 0.60}, {0.44, 0.56}, {0.40, 0.50}, {0.44, 0.44} } new g_iPlayerPos[MAX_PLAYERS+1] new g_iMaxPlayers new g_pCvarEnabled public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_pCvarEnabled = register_cvar("bullet_damage", "1") register_event("Damage", "Event_Damage", "b", "2>0", "3=0") g_iMaxPlayers = get_maxplayers() } public Event_Damage( iVictim ) { if( get_pcvar_num(g_pCvarEnabled) && (read_data(4) || read_data(5) || read_data(6)) ) { new id = get_user_attacker(iVictim) if( (1 <= id <= g_iMaxPlayers) && is_user_connected(id) ) { new iPos = ++g_iPlayerPos[id] if( iPos == sizeof(g_flCoords) ) { iPos = g_iPlayerPos[id] = 0 } set_hudmessage(0, 40, 80, Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.1, 2.5, 0.02, 0.02, -1) show_hudmessage(id, "%d", read_data(2)) } } }
Отредактировал: vertex627, - 11.10.2011, 18:45
|
|
|
|
FixX
|
11.10.2011, 18:49
Сообщение
|
|
|
нашару точно никто не сделает
|
|
|
|
f1nik
|
11.10.2011, 18:54
Сообщение
|
![]() ![]() |
vertex627, так и спроси на своем мейксру, понакачаете говница отовсюду и засераете все нытьем своим "а что" "а как" Зомби, человек же просил не тролить, а ты... он дал ссылку на макесру для того чтобы нам было понятней что за плагин (хотя бы по скриншоту) вот ссыль на оленей ТЫЦ... что то изменилось? По существу вопроса я не в курсе ребят... не силен в павне... но если будет проверка на стены двери и прочие препятствия то плагин будет неимоверно большой и будет грузить не по детски сервак... что то типа block wallhack... думаю они вдвоем положат сервер))) так что затея интересная но бредовая))) UPD: кстати все подобные плагины показывают урон через препятствия...
Отредактировал: f1nik, - 11.10.2011, 18:55
|
|
|
|
vertex627
|
11.10.2011, 19:00
Сообщение
|
|
|
Зомби, человек же просил не тролить, а ты... он дал ссылку на макесру для того чтобы нам было понятней что за плагин (хотя бы по скриншоту) вот ссыль на оленей ТЫЦ... что то изменилось? По существу вопроса я не в курсе ребят... не силен в павне... но если будет проверка на стены двери и прочие препятствия то плагин будет неимоверно большой и будет грузить не по детски сервак... что то типа block wallhack... думаю они вдвоем положат сервер))) так что затея интересная но бредовая))) UPD: кстати все подобные плагины показывают урон через препятствия... Не он робит не по типу блок валлхак, он не блокирует игроков, он просто блочит енити или как там правильно, инфу об игроках он не блокирует. вот пример плагина с возможностью блокировки показателя дамага через предметы Цитата /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <fakemeta_util> #define PLUGIN "Advanced Bullet Damage" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") register_event("HLTV", "on_new_round", "a", "1=0", "2=0") g_type = register_cvar("amx_bulletdamage","1") g_recieved = register_cvar("amx_bulletdamage_recieved","1") g_hudmsg1 = CreateHudSyncObj() g_hudmsg2 = CreateHudSyncObj() } public on_new_round() { g_enabled = get_pcvar_num(g_type) if(get_pcvar_num(g_recieved)) g_showrecieved = true } public on_damage(id) { if(g_enabled) { static attacker; attacker = get_user_attacker(id) static damage; damage = read_data(2) if(g_showrecieved) { set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_hudmsg2, "%i^n", damage) } if(is_user_connected(attacker)) { switch(g_enabled) { case 1: { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage) } case 2: { if(fm_is_ent_visible(attacker,id)) { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "%i^n", damage) } } } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */ |
|
|
|
vertex627
|
11.10.2011, 19:06
Сообщение
|
|
|
|
|
|
|
AndrewZ
|
11.10.2011, 19:12
Сообщение
|
![]() ![]() |
vertex627,
ну может быть ты опишешь что не так? ![]() |
|
|
|
Rejiser
|
11.10.2011, 19:14
Сообщение
|
![]() |
Второй плагин, такой же как и первый, в нем нет никаких проверок.
В твоем случае нужно делать проверку на видимость игрока. |
|
|
|
vertex627
|
11.10.2011, 19:24
Сообщение
|
|
|
Второй плагин, такой же как и первый, в нем нет никаких проверок. В твоем случае нужно делать проверку на видимость игрока. Ну вот еще похожий плагин http://chatbox.do.am/load/raboty/nice_colo...age_1_0/1-1-0-5 Цитата /*
Created by sector specially for www.chatbox.do.am */ #include <amxmodx> #include <amxmisc> #include <fakemeta_util> new bool: ncd_rec, ncd_msg_1, ncd_msg_2 public plugin_init() { register_plugin("Nice Colored Damage", "1.0", "sector") register_event("Damage", "ncd_damage", "b", "2!0", "3=0", "4!0") register_event("HLTV", "ncd_new_round", "a", "1=0", "2=0") ncd_msg_1 = CreateHudSyncObj() ncd_msg_2 = CreateHudSyncObj() } public ncd_new_round() { ncd_rec = true } public ncd_damage(i) { static attack; attack = get_user_attacker(i) static damage; damage = read_data(2) if(ncd_rec) { set_hudmessage(255, 0, 0, 0.55, 0.60, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(i, ncd_msg_1, "Вы нанесли себе урон - %i HP^n", damage) } if(is_user_connected(attack)) { if(fm_is_ent_visible(attack, i)) { set_hudmessage(255, 255, 255, -1.0, 0.60, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attack, ncd_msg_2, "- %i HP^n", damage) if(get_user_flags(i) & ADMIN_LEVEL_A) // Flag M for Admin { set_hudmessage(0, 255, 0, -1.0, 0.60, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attack, ncd_msg_2, "- %i HP^n", damage) } if(get_user_flags(i) & ADMIN_LEVEL_H) // Flag T for V.I.P { set_hudmessage(255, 215, 0, -1.0, 0.60, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attack, ncd_msg_2, "- %i HP^n", damage) } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1049{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */ |
|
|
|
![]() ![]() |