Форум Counter-Strike 1.6 Сервер Counter-Strike 1.6 Помощь по скриптингу Проверка по флагу heljp xD |
Проверка по флагу heljp xD |
Дата: Суббота, 19.05.2018, 18:23 | Сообщение # 1
Смотрящий
Мастер
Offline
![]()
Хай херлс в общем нужно поставить проверку по флагу на anitflashteam чтобы работало тому у кого есть этот флаг.
Нашёл в гугле код только в какую строку именно вставить не знаю heljp if( get_user_flags( indexPl ) & read_flags( "i" ) ) Код // Copyright © 2016 Vaqtincha /** * Credits: * - Adidasman - за подсказки * - wopox1337 - за поддержку топика */ #include <amxmodx> #include <reapi> // const BLINDED_PARTLY = 200 // const BLINDED_FULLY = 255 public plugin_init() { register_plugin(" [ReAPI]No Team Flash lite", "0.0.2", "Vaqtincha") RegisterHookChain(RG_PlayerBlind, "PlayerBlind", .post = false) } public PlayerBlind(const index, const inflictor, const attacker, const Float:fadeTime, const Float:fadeHold, const alpha, Float:color[3]) { // server_print("INFLICTOR: %d", inflictor) return (index != attacker && get_member(index, m_iTeam) == get_member(attacker, m_iTeam)) ? HC_SUPERCEDE : HC_CONTINUE } И вот ещё на дамагер поставить хочу на флаг "i" Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on")) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVictim)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; } ![]()
Сообщение отредактировал M0Nk - Суббота, 19.05.2018, 18:27
|
Дата: Суббота, 19.05.2018, 18:59 | Сообщение # 2
Профи
Offline
![]()
if(get_user_flags(id) & ADMIN_LEVEL_H)
{ Здесь код, который будет действовать на id, у которого есть флаг ADMIN_LEVEL_H(флаг t) }
Сообщение отредактировал Mandar1n - Суббота, 19.05.2018, 19:00
|
Дата: Суббота, 19.05.2018, 19:24 | Сообщение # 3
Смотрящий
Мастер
Offline
![]() if(get_user_flags(id) & ADMIN_LEVEL_H){ Здесь код, который будет действовать на id, у которого есть флаг ADMIN_LEVEL_H(флаг t) } Слушай проверь а этот код правельно на флаг поставлен :)? Код // Copyright © 2016 Vaqtincha /** * Credits: * - Adidasman - за подсказки * - wopox1337 - за поддержку топика */ #include <amxmodx> #include <reapi> #define FLAG_ACCESS ADMIN_LEVEL_B // const BLINDED_PARTLY = 200 // const BLINDED_FULLY = 255 public plugin_init() { register_plugin(" [ReAPI]No Team Flash lite", "0.0.2", "Vaqtincha") RegisterHookChain(RG_PlayerBlind, "PlayerBlind", .post = false) } public PlayerBlind(const index, const inflictor, const attacker, const Float:fadeTime, const Float:fadeHold, const alpha, Float:color[3]) { #if defined ONLY_FLAG if(!(get_user_flags(index) & FLAG_ACCESS)) return HC_CONTINUE; #endif // server_print("INFLICTOR: %d", inflictor) return (index != attacker && get_member(index, m_iTeam) == get_member(attacker, m_iTeam)) ? HC_SUPERCEDE : HC_CONTINUE } |
Дата: Суббота, 19.05.2018, 19:26 | Сообщение # 4
Профи
Offline
![]()
M0Nk, У тебя нет дефайна ONLY_FLAG и кажется будут проблемы, хотя хз. Флаг "i" - ADMIN_CHAT. Сделай так:
Код { if(index == attacker) return HC_CONTINUE; if(!(get_user_flags(index) & FLAG_ACCESS)) return HC_CONTINUE; return (get_member(index, m_iTeam) == get_member(attacker, m_iTeam)) ? HC_SUPERCEDE : HC_CONTINUE; } |
Дата: Суббота, 19.05.2018, 19:38 | Сообщение # 5
Сообщение отредактировал M0Nk - Суббота, 19.05.2018, 19:38
|
Дата: Суббота, 19.05.2018, 19:40 | Сообщение # 6
Профи
Offline
![]()
M0Nk,
Код #include <amxmodx> #include <reapi> #define ONLY_FLAG // Не ослеплять только у кого есть флаг. #define FLAG_ACCESS ADMIN_LEVEL_H public plugin_init() { register_plugin(" [ReAPI]No Team Flash", "1.0", "ReHLDS Team"); RegisterHookChain(RG_PlayerBlind, "PlayerBlind", false); } public PlayerBlind(const index, const inflictor, const attacker, const Float:fadeTime, const Float:fadeHold, const alpha, Float:color[3]) { if(index == attacker) return HC_CONTINUE; #if defined ONLY_FLAG if(!(get_user_flags(index) & FLAG_ACCESS)) return HC_CONTINUE; #endif return (get_member(index, m_iTeam) == get_member(attacker, m_iTeam)) ? HC_SUPERCEDE : HC_CONTINUE; } |
Дата: Суббота, 19.05.2018, 19:45 | Сообщение # 7
|
Дата: Суббота, 19.05.2018, 19:50 | Сообщение # 8
Профи
Offline
![]()
M0Nk, Держи дамагер
Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on")) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!(get_user_flags(pAttacker) & ADMIN_LEVEL_H)) return; if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVict im)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; } |
Дата: Суббота, 19.05.2018, 19:57 | Сообщение # 9
|
Дата: Суббота, 19.05.2018, 19:57 | Сообщение # 10
Профи
Offline
![]()
M0Nk,
|
Дата: Суббота, 19.05.2018, 20:01 | Сообщение # 11
|
Дата: Суббота, 19.05.2018, 20:09 | Сообщение # 12
Смотрящий
Мастер
Offline
![]() Чёт дамагер не проехал xD Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on")) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!(get_user_flags(pAttacker) & ADMIN_LEVEL_B)) return; if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVict im)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; } Прикрепления:
5688028.png
(35.1 Kb)
|
Дата: Суббота, 19.05.2018, 20:13 | Сообщение # 13
Профи
Offline
![]()
M0Nk, Да там случайно enter нажался
![]() Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on")) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!(get_user_flags(pAttacker) & ADMIN_LEVEL_H)) return; if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVictim)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; } |
Дата: Суббота, 19.05.2018, 20:49 | Сообщение # 14
Смотрящий
Мастер
Offline
![]()
Бывает
![]() Добавлено (19.05.2018, 20:38) --------------------------------------------- В консоли такое выводит но плагин вроде робит xD Код Invalid player id 258 L 05/19/2018 - 20:36:11: [AMXX]Run time error 10 (plugin "damagervisible.amxx") (native "get_user_flags") - debug not enabled! L 05/19/2018 - 20:36:11: [AMXX]To enable debug mode, add "debug" after the plug in name in plugins.ini (without quotes). Если чё на ботах тестирую xD. Добавлено (19.05.2018, 20:42) --------------------------------------------- Добавил строчку debug к плагину теперь вроде всё ок не выдаёт ошибки больше ![]() Добавлено (19.05.2018, 20:49) --------------------------------------------- Хотя нет опять появилась ![]() Код Invalid player id 275 L 05/19/2018 - 20:46:52: [AMXX]Displaying debug trace (plugin "damagervisible.amxx", version "1.2 RC2") L 05/19/2018 - 20:46:52: [AMXX]Run time error 10: native error (native "get_user_flags") L 05/19/2018 - 20:46:52: [AMXX][0] damagervisible.sma::eDamage (line 23) Я так понимаю плагин не находит нужный флаг у бота и выдаёт такое ? Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on")) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!(get_user_flags(pAttacker) & ADMIN_LEVEL_B)) return; if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVictim)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; }
Сообщение отредактировал M0Nk - Суббота, 19.05.2018, 20:50
|
Дата: Суббота, 19.05.2018, 21:19 | Сообщение # 15
Профи
Offline
![]()
M0Nk,
Код #include <amxmodx> #include <engine> new bool:g_bShowDamage[33]; public plugin_init() { register_plugin("Damager only visible", "1.2 RC2", "neygomon"); register_event("Damage", "eDamage", "b", "2!0", "3=0", "4!0"); } public client_putinserver(pClient) { if(is_user_bot(pClient) || is_user_hltv(pClient)) return; new sInfo[4]; get_user_info(pClient, "_dmg", sInfo, charsmax(sInfo)); if(sInfo[0] && equal(sInfo, "on") && get_user_flags(pClient) & ADMIN_LEVEL_H) g_bShowDamage [pClient]= true; else g_bShowDamage [pClient]= false; } public eDamage(pVictim) { static pAttacker; pAttacker = get_user_attacker(pVictim); if(!is_user_connected(pAttacker) || !g_bShowDamage [pAttacker]|| !ent_sees_ent(pAttacker, pVictim)) return; static SyncHudMsg; if(!SyncHudMsg) SyncHudMsg = CreateHudSyncObj(); set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(pAttacker, SyncHudMsg, "%i^n", read_data(2)); // ShowSyncHudMsg(pAttacker, SyncHudMsg, "*^n"); // Раскомментируйте и удалите строку выше для того, чтобы вместо урона была звездочка } public ClCmdToggle(pClient) { if(g_bShowDamage[pClient]) { ChatColor(pClient, "^3* ^4Show damage ^3disabled^4!"); client_cmd(pClient, "setinfo _dmg off"); g_bShowDamage [pClient]= false; } else { ChatColor(pClient, "^3* ^4Show damage ^3enabled^4!"); client_cmd(pClient, "setinfo _dmg on"); g_bShowDamage [pClient]= true; } return PLUGIN_HANDLED; } stock ChatColor(id, const szMessage[]) { if(!is_user_connected(id)) return; static IdMsg; if(!IdMsg) IdMsg = get_user_msgid("SayText") message_begin(MSG_ONE, IdMsg, .player = id); write_byte(id); write_string(szMessage); message_end(); } stock bool:ent_sees_ent(iEnt, iEnt2) { static Float:fEntOrigin[3], Float:fEnt2Origin[3], Float:fResult[3]; entity_get_vector(iEnt, EV_VEC_origin, fEntOrigin); entity_get_vector(iEnt2, EV_VEC_origin, fEnt2Origin); return trace_line(iEnt, fEntOrigin, fEnt2Origin, fResult) == iEnt2; } |
| |||