Round info

krestafan

Участник
Сообщения
76
Реакции
6
Здравствуйте!
Возможно ли реализовать плагин, который информирует о начале и конце раунда + к этом показывает счет.

Пример:

[FBInfo] CT [6] Wins T [2] Rounds end: 8
 

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
PHP:
#include <sdktools_functions>
#include <csgo_colors>

#pragma semicolon 1

char g_sBuffer[256];

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart);
}

public void Event_RoundStart(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iCT_won = GetTeamScore(3);
    int iT_won = GetTeamScore(2);
   
    Format(g_sBuffer, sizeof(g_sBuffer), "{LIGHTGREEN}[FBInfo] {BLUE}CT{WHITE} [{BLUE}%i{WHITE}] {BLUE}Wins {WHITE}| {RED}T{WHITE} [{RED}%i{WHITE}] {RED}Wins", iCT_won, iT_won);
   
    CreateTimer(3.0, Timer_Print, _, TIMER_FLAG_NO_MAPCHANGE);

}

public Action Timer_Print(Handle hTimer)
{
    CGOPrintToChatAll("%s",g_sBuffer);
}
 

Вложения

  • round_score.smx
    5.5 КБ · Просмотры: 10
Последнее редактирование:

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
Только сейчас заметил что тебе еще нужен был подсчет раундов.

PHP:
#include <sdktools_functions>
#include <csgo_colors>

#pragma semicolon 1

char g_sBuffer[256];
int g_iRounds;

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart);
//    HookEvent("round_end", Event_RoundEnd);
}

public void OnMapStart()
{
    g_iRounds = GetConVarInt(FindConVar("mp_maxrounds"));
}

public void Event_RoundStart(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iCT_won = GetTeamScore(3);
    int iT_won = GetTeamScore(2);
    int iRounds = g_iRounds - iCT_won - iT_won;
 
    Format(g_sBuffer, sizeof(g_sBuffer), "{GREEN}[FBInfo] {BLUE}CT{WHITE} [{BLUE}%i{WHITE}] {BLUE}Wins {WHITE}| {RED}T{WHITE} [{RED}%i{WHITE}] {RED}Wins | {GREEN}Rounds Left{WHITE}: {GREEN}%i", iCT_won, iT_won, iRounds);
 
    CreateTimer(3.0, Timer_Print, _, TIMER_FLAG_NO_MAPCHANGE);

}

public Action Timer_Print(Handle hTimer)
{
    CGOPrintToChatAll("%s",g_sBuffer);
}

Возможно я тебя не понял и ты хотел чтобы просто выводилось сколько прошло раундов, но я сделал сколько осталось раундов до конца карты. Если нужно сколько раундов прошло, то отпишись, переписать плагин минуту.

Раунды считаются только если у тебя в конфиге режима, или в server.cfg есть квар mp_maxrounds, желательно не использовать совместно mp_timelimit (завершение игры по окончании времени), так как тогда будет мало толку от информации об оставшихся раундах.
 

Вложения

  • round_score.smx
    5.7 КБ · Просмотры: 7

krestafan

Участник
Сообщения
76
Реакции
6
@suremiur именно то, что надо. Мерси ля генг!
--- Добавлено позже ---
@suremiur тут косяк небольшой вскрылся с неправильной растановкой цветов но я уже фикс.
 

Вложения

  • upload_2018-5-18_14-49-27.png
    upload_2018-5-18_14-49-27.png
    701.8 КБ · Просмотры: 75
Последнее редактирование:

Rostu

Добрая душа
Сообщения
986
Реакции
622
@krestafan,
PHP:
#pragma semicolon 1
#include<csgo_colors>

char g_sBuffer[256];
int g_iRounds;

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart);
//    HookEvent("round_end", Event_RoundEnd);
}

public void OnMapStart()
{
    g_iRounds = GetConVarInt(FindConVar("mp_maxrounds"));
}

public void Event_RoundStart(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    int iCT_won = GetTeamScore(3);
    int iT_won = GetTeamScore(2);
    int iRounds = g_iRounds - iCT_won - iT_won;
 
    Format(g_sBuffer, sizeof(g_sBuffer), "{GREEN}[FBInfo] {BLUE}CT{DEFAULT} [{BLUE}%i{DEFAULT}] {BLUE}Wins {DEFAULT}| {RED}T{DEFAULT} [{RED}%i{DEFAULT}] {RED}Wins | {GREEN}Rounds Left{DEFAULT}: {GREEN}%i", iCT_won, iT_won, iRounds);
 
    CreateTimer(3.0, Timer_Print, _, TIMER_FLAG_NO_MAPCHANGE);

}

public Action Timer_Print(Handle hTimer)
{
    CGOPrintToChatAll("%s",g_sBuffer);
}
 

suremiur

♂ overlay master ♂
Сообщения
538
Реакции
588
Ой ну эти ваши ксго!
Сейчас бы белый цвет был стандартным.. В общем фикс кинул Росту, а если хотите поменять цвета, то вам лишь нужно заменять в строке:
PHP:
Format(g_sBuffer, sizeof(g_sBuffer), "{GREEN}[FBInfo] {BLUE}CT{DEFAULT} [{BLUE}%i{DEFAULT}] {BLUE}Wins {DEFAULT}| {RED}T{DEFAULT} [{RED}%i{DEFAULT}] {RED}Wins | {GREEN}Rounds Left{DEFAULT}: {GREEN}%i", iCT_won, iT_won, iRounds);
Сами цвета это то, что обозначено в фигурных скобах.
Вот пример всех доступных:
a51315500eab.jpg
 

krestafan

Участник
Сообщения
76
Реакции
6
Ой ну эти ваши ксго!
Сейчас бы белый цвет был стандартным.. В общем фикс кинул Росту, а если хотите поменять цвета, то вам лишь нужно заменять в строке:
PHP:
Format(g_sBuffer, sizeof(g_sBuffer), "{GREEN}[FBInfo] {BLUE}CT{DEFAULT} [{BLUE}%i{DEFAULT}] {BLUE}Wins {DEFAULT}| {RED}T{DEFAULT} [{RED}%i{DEFAULT}] {RED}Wins | {GREEN}Rounds Left{DEFAULT}: {GREEN}%i", iCT_won, iT_won, iRounds);
Сами цвета это то, что обозначено в фигурных скобах.
Вот пример всех доступных:
a51315500eab.jpg
пока ты это писал, я методом проб и ошибок я фиксанул все проще - убрал белый и расставил правильно цвета. Огромное тебе спасибо
 
Сверху Снизу