Hud в CS:GO... Работает...

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
Мне еще не довелось попользоваться худом, но, судя по
PHP:
       int ent = CreateEntityByName("game_text");
       DispatchKeyValue(ent, "channel", "1");
       DispatchKeyValue(ent, "color", "255 255 255");
       DispatchKeyValue(ent, "color2", "0 0 0");
       DispatchKeyValue(ent, "effect", "0");
       DispatchKeyValue(ent, "fadein", "1.5");
       DispatchKeyValue(ent, "fadeout", "0.5");
       DispatchKeyValue(ent, "fxtime", "0.25");
       DispatchKeyValue(ent, "holdtime", "5.0");
       DispatchKeyValue(ent, "message", ("%s", text));
       DispatchKeyValue(ent, "spawnflags", "0");
       DispatchKeyValue(ent, "x", "0.25");
       DispatchKeyValue(ent, "y", "0.3");
       DispatchSpawn(ent);
       SetVariantString("!activator");
       AcceptEntityInput(ent,"display",i);
       AcceptEntityInput(ent, "Kill");
приходится постоянно энтити новый создавать)

UPD: нашел на usermessage реализацию)
Где ты эту хрень взял?
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Есть ли возможность теперь выводить инфу о спеках и демеджу, как а старые добрые?)
Посмотреть вложение 22534
Можно...

Просто для примера:
PHP:
#include <sourcemod>

#define coordx 0.2 // Координаты (x)
#define coordy 0.8 // Координаты (y)

public void OnPluginStart()
{ 
   HookEvent("player_death", PlayerDeath);
}

public Action PlayerDeath(Handle event, const char[] name, bool dontBroadcast)
{ 
   int client = GetClientOfUserId(GetEventInt(event, "userid"));
   int attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
   int killerhp = GetClientHealth(attacker);
 
   if(IsClientInGame(client))
   {
       if(IsPlayerAlive(attacker)) // Чтобы не показывало сообщение, если вы убили сами себя(но это чисто моя заморочка)
       {
           SetHudTextParams(coordx, coordy, 2.0, 0, 255, 0, 255, 0, 0.25, 1.0, 1.0);
           ShowHudText(client, -1, "Вас убил %N | У него осталось: %i хп", attacker, killerhp);
       }
   }
}
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #65
PHP:
if(IsClientInGame(client))
А разве жертва может быть не в игре? о_О
Тут разве что attacker может оказаться нулём (суицид через консоль\убился об землю).
Вот тогда эта связка "высрет" ошибку:
PHP:
   int attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
   int killerhp = GetClientHealth(attacker);
Лучше получать здоровье когда уже точно известно, что игрок и убийца валидные, и это не суицид.

PHP:
if(IsPlayerAlive(attacker)) // Чтобы не показывало сообщение, если вы убили сами себя(но это чисто моя заморочка)
PHP:
if (attacker && attacker != client)
Оффтоп
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Оффтоп

А разве жертва может быть не в игре? о_О
Тут разве что attacker может оказаться нулём (суицид через консоль\убился об землю).
Вот тогда эта связка "высрет" ошибку:
Я привык делать проверку , есть ли игрок в игре или нет.
Мало-ли что за эти милисекунды может произойти...

Хотя, если посмотреть с другой стороны, то это глупая проверка.

Мой уровень знаний таков...
Для меня главное чтобы работало, а как именно меня не сильно заботит.

Можете не лечить меня тем что это неправильно, я это прекрасно понимаю.

Да и к таким сообщениям я отношусь позитивно, рад что есть люди которые готовы поправить, если сделал что-то не так.

PHP:
#include <sourcemod>

#define coordx 0.2 // Координаты (x)
#define coordy 0.8 // Координаты (y)

public void OnPluginStart()
{
   HookEvent("player_death", PlayerDeath);
}

public Action PlayerDeath(Handle event, const char[] name, bool dontBroadcast)
{
   int client = GetClientOfUserId(GetEventInt(event, "userid"));
   int attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
 
   if(attacker && attacker != client)
   {
       int killerhp = GetClientHealth(attacker);
       SetHudTextParams(coordx, coordy, 2.0, 0, 255, 0, 255, 0, 0.25, 1.0, 1.0);
       ShowHudText(client, -1, "Вас убил %N | У него осталось: %i хп", attacker, killerhp);
   }
}
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
@Drumanid, а как на счёт списка спеков/мёртвых игроков, которые следят за тобой?:)
 
Сверху Снизу