🔒 Объявление: ➥ Скачать CS 1.6 с лаунчером
🔒 IP-Games.ru - Мониторинг игровых серверов, бесплатный топ..
🔓 Чаты: ➥ Telegram

  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Проверка по флагу heljp xD
Проверка по флагу heljp xD
Дата: Суббота, 19.05.2018, 18:23 | Сообщение # 1
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Хай херлс в общем нужно поставить проверку по флагу на 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;
}

smile
Сообщение отредактировал M0Nk - Суббота, 19.05.2018, 18:27
Дата: Суббота, 19.05.2018, 18:59 | Сообщение # 2
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
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
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
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
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
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
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
У тебя нет дефайна ONLY_FLAG и кажется будут проблемы, хотя хз. Флаг "i" - ADMIN_CHAT. Сделай так:

Скинь код исправленый ато я не оч пойму куда что вставить  ,))
Сообщение отредактировал M0Nk - Суббота, 19.05.2018, 19:38
Дата: Суббота, 19.05.2018, 19:40 | Сообщение # 6
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
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
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
Код
 Спасибо wink
Дата: Суббота, 19.05.2018, 19:50 | Сообщение # 8
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
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
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
Mandar1n

А если поставлю на Level "B"
то флаг будет "n" ?
Дата: Суббота, 19.05.2018, 19:57 | Сообщение # 10
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
M0Nk, 
Дата: Суббота, 19.05.2018, 20:01 | Сообщение # 11
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
Mandar1n
 
Во Thanks wink
Дата: Суббота, 19.05.2018, 20:09 | Сообщение # 12
Offline
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Цитата Mandar1n ()
Mandar1n


Чёт дамагер не проехал 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
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
M0Nk, Да там случайно enter нажался biggrin

Код
#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
  • M0Nk
  • Репутация: -2
  • Сообщений:60
  • Пользователь
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Бывает biggrin

Добавлено (19.05.2018, 20:38)
---------------------------------------------
Цитата Mandar1n ()
Mandar1n

В консоли такое выводит но плагин вроде робит 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)
---------------------------------------------
Цитата Mandar1n ()
Mandar1n

Добавил строчку debug к плагину  теперь вроде всё ок не выдаёт ошибки больше wink

Добавлено (19.05.2018, 20:49)
---------------------------------------------
Цитата M0Nk ()
Mandar1n
Хотя нет опять появилась biggrin

Код
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
Forum Manager
Offline
  • Mandar1n
  • Репутация: 13
  • Сообщений:155
  • Модератор
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
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;
}
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Проверка по флагу heljp xD
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
(threadpage)