убрать текст победившей команды

Night Fighter

Участник
Сообщения
235
Реакции
135
ребята, как убрать текст, посередине экрана победившей команды, вконце раунда, типа терррорст вин, контр-террорист вин!
 

Night Fighter

Участник
Сообщения
235
Реакции
135
http://hlmod.ru/forum/showpost.php?p=183108&postcount=135

PHP:
public OnPluginStart() 
{ 
      HookEvent("round_end", OnRoundEnd); 
} 

public OnRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
      PrintCenterTextAll(" "); 
}

это должно работать?
мне надо чтобы звук тоже пробал, кто нибудь может это допилить?

decl newClients[MaxClients];
new totalClients = 0;
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && !IsFakeClient(i) && res_sound == 1)
{
switch (iGame)
{
case GAME_CSTRIKE :
{
switch (winner)
{
case 2 : StopSound(i, SNDCHAN_STATIC, "radio/terwin.wav");
case 3 : StopSound(i, SNDCHAN_STATIC, "radio/ctwin.wav");
}
}
case GAME_CSGO :
{
ClientCommand(i, "playgamesound Music.StopAllMusic");
}
}

if (i_play_method == 1)
{
PlayClientSound(i, sound);
}
newClients[totalClients++] = i;
}
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
[CS:GO] Убрать текст и звук победившей команды

кто нибудь может это допилить?
PHP:
public OnPluginStart() HookEvent("round_end", OnRoundEnd, EventHookMode_PostNoCopy);

public OnRoundEnd(Handle:event, String:name[], bool:dontBroadcast) for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i))
{
	PrintHintText(i, " ");
	ClientCommand(i, "playgamesound Music.StopAllMusic");
}
Только для CS:GO.
 
  • Мне нравится
Реакции: TWRP

EPacker2

3D-моделист
Сообщения
1,040
Реакции
760
[CS:S] Убрать текст и звук победившей команды

PHP:
#include <sourcemod>

#define ROUNDEND_TARGET_BOMBED                          1        // Target Successfully Bombed!
#define ROUNDEND_VIP_ESCAPED                            2        // The VIP has escaped!
#define ROUNDEND_VIP_ASSASSINATED                       3        // VIP has been assassinated!
#define ROUNDEND_TERRORISTS_ESCAPED                     4        // The terrorists have escaped!
#define ROUNDEND_CTS_PREVENTESCAPE                      5        // The CT's have prevented most of the terrorists from escaping!
#define ROUNDEND_ESCAPING_TERRORISTS_NEUTRALIZED        6        // Escaping terrorists have all been neutralized!
#define ROUNDEND_BOMB_DEFUSED                           7        // The bomb has been defused!
#define ROUNDEND_CTS_WIN                                8        // Counter-Terrorists Win!
#define ROUNDEND_TERRORISTS_WIN                         9        // Terrorists Win!
#define ROUNDEND_ROUND_DRAW                             10        // Round Draw!
#define ROUNDEND_ALL_HOSTAGES_RESCUED                   11       // All Hostages have been rescued!
#define ROUNDEND_TARGET_SAVED                           12       // Target has been saved!
#define ROUNDEND_HOSTAGES_NOT_RESCUED                   13       // Hostages have not been rescued!
#define ROUNDEND_TERRORISTS_NOT_ESCAPED                 14       // Terrorists have not escaped!
#define ROUNDEND_VIP_NOT_ESCAPED                        15       // VIP has not escaped!
#define ROUNDEND_GAME_COMMENCING                        16       // Game Commencing!

public OnPluginStart()
{
	HookEvent("round_end", Event_RoundEnd, EventHookMode_Pre);
}

public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	new iReason = GetEventInt(event, "reason");
	
	if(iReason == ROUNDEND_TARGET_BOMBED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_ASSASSINATED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_CTS_PREVENTESCAPE)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ESCAPING_TERRORISTS_NEUTRALIZED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_BOMB_DEFUSED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_CTS_WIN)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_WIN)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ALL_HOSTAGES_RESCUED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TARGET_SAVED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_HOSTAGES_NOT_RESCUED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_NOT_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_NOT_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ROUND_DRAW)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_GAME_COMMENCING)
		SetEventString(event, "message", " ");
	
	return Plugin_Continue;
}
PHP:
#include <sourcemod>

#define ROUNDEND_TARGET_BOMBED                          0        // Target Successfully Bombed!
#define ROUNDEND_VIP_ESCAPED                            1        // The VIP has escaped!
#define ROUNDEND_VIP_ASSASSINATED                       2        // VIP has been assassinated!
#define ROUNDEND_TERRORISTS_ESCAPED                     3        // The terrorists have escaped!
#define ROUNDEND_CTS_PREVENTESCAPE                      4        // The CT's have prevented most of the terrorists from escaping!
#define ROUNDEND_ESCAPING_TERRORISTS_NEUTRALIZED        5        // Escaping terrorists have all been neutralized!
#define ROUNDEND_BOMB_DEFUSED                           6        // The bomb has been defused!
#define ROUNDEND_CTS_WIN                                7        // Counter-Terrorists Win!
#define ROUNDEND_TERRORISTS_WIN                         8        // Terrorists Win!
#define ROUNDEND_ROUND_DRAW                             9        // Round Draw!
#define ROUNDEND_ALL_HOSTAGES_RESCUED                   10       // All Hostages have been rescued!
#define ROUNDEND_TARGET_SAVED                           11       // Target has been saved!
#define ROUNDEND_HOSTAGES_NOT_RESCUED                   12       // Hostages have not been rescued!
#define ROUNDEND_TERRORISTS_NOT_ESCAPED                 13       // Terrorists have not escaped!
#define ROUNDEND_VIP_NOT_ESCAPED                        14       // VIP has not escaped!
#define ROUNDEND_GAME_COMMENCING                        15       // Game Commencing!

public OnPluginStart()
{
	HookEvent("round_end", Event_RoundEnd, EventHookMode_Pre);
}

public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	new iReason = GetEventInt(event, "reason");
	
	if(iReason == ROUNDEND_TARGET_BOMBED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_ASSASSINATED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_CTS_PREVENTESCAPE)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ESCAPING_TERRORISTS_NEUTRALIZED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_BOMB_DEFUSED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_CTS_WIN)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_WIN)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ALL_HOSTAGES_RESCUED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TARGET_SAVED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_HOSTAGES_NOT_RESCUED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_TERRORISTS_NOT_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_VIP_NOT_ESCAPED)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_ROUND_DRAW)
		SetEventString(event, "message", " ");
	if(iReason == ROUNDEND_GAME_COMMENCING)
		SetEventString(event, "message", " ");
	
	return Plugin_Continue;
}
PHP:
#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
    HookEvent("round_end", Event_RoundEnd);
}

public OnMapStart()
{
    PrecacheSound("radio/terwin.wav");
    PrecacheSound("radio/ctwin.wav");
    PrecacheSound("radio/bombdef.wav");
}

public Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
    new winner = GetEventInt(event, "winner");
    
    if(winner <= 1)
        return;

    for(new client = 1; client <= MaxClients; client++)
        if(IsClientInGame(client) && !IsFakeClient(client))
	{
            StopSound(client, SNDCHAN_STATIC, winner == 2 ? "radio/terwin.wav":"radio/ctwin.wav");
            StopSound(client, SNDCHAN_STATIC, winner == 2 ? "radio/terwin.wav":"radio/bombdef.wav");
            StopSound(client, SNDCHAN_STATIC, winner == 2 ? "radio/ctwin.wav":"radio/bombdef.wav");
            StopSound(client, SNDCHAN_STATIC, winner == 2 ? "radio/bombdef.wav":"radio/ctwin.wav");
            StopSound(client, SNDCHAN_STATIC, winner == 2 ? "radio/bombdef.wav":"radio/terwin.wav");
	}
}
Только для CS:S.
Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Re: [CS:S] Убрать текст и звук победившей команды

EPacker2, а так нельзя сразу?! :-D
PHP:
#include <sdktools_sound>

public OnPluginStart() HookEvent("round_end", Event_RoundEnd);

public Event_RoundEnd(Handle:event, String:name[], bool:dontBroadcast) switch(GetEventInt(event, "winner"))
{
	case 2:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/terwin.wav");
	case 3:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/ctwin.wav");
}
PHP:
public OnPluginStart() HookEvent("round_end", Event_RoundEnd, EventHookMode_Pre);

public Action:Event_RoundEnd(Handle:event, String:name[], bool:dontBroadcast)
{
	SetEventString(event, "message", " ");
	return Plugin_Continue;
}
PHP:
#include <sdktools_sound>

public OnPluginStart()
{
	HookEvent("round_end", RoundEnd, EventHookMode_Pre);
	HookEvent("round_end", Event_RoundEnd);
}

public Action:RoundEnd(Handle:event, String:name[], bool:dontBroadcast) 
{ 
    SetEventString(event, "message", " "); 
    return Plugin_Continue; 
} 
public Event_RoundEnd(Handle:event, String:name[], bool:dontBroadcast) switch(GetEventInt(event, "winner"))
{
	case 2:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/terwin.wav");
	case 3:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/ctwin.wav");
}
 
Последнее редактирование:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
760
Re: [CS:S] Убрать текст и звук победившей команды

AlmazON, я не шарю, мне когда-то делали для ZM'а эти штуки, я просто скинул исходники. :)
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
AlmazON
Ты, борец за экономию места, как же ты допустил два аналогичных цикла
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
Проще тормозить 2 звука сразу в одном цикле или просто сделать хук звука.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Проще тормозить 2 звука сразу в одном цикле
Оффтоп Тоже думал так, но тормозить то, что заведомо не нужно... Стоит ли? Может, само торможение имеет ещё большую нагрузку, нежели просто узнать победу события?! Кто измерял задержки?
просто сделать хук звука
Дали код - из него и сделал) К тому же, код то FrozDark'а.
 

Vit_ amin

Добрая душа
Сообщения
1,551
Реакции
739
Если делать PreHook то блокируется и текст сообщения и звук.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Vit_ amin
ничего ты не понимаешь, легкий путь - не для алмазонаОффтоп
 
  • Мне нравится
Реакции: R1KO

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
PreHook то блокируется и текст сообщения и звук
Это же не по event'у блокировать, поэтому может и не сработать. Хотел попробовать, но подумал, что может быть ненадёжно (особенно на старой версии CS:S то).
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
А я тебе о том, что в событие Pre не всё делается. Хотя, я "стоп-звук" не проверял, может там и задумано так, что можно остановить звук ещё до его воспроизведения. Иначе - лучше с событием Post (после попытки воспроизведения)!
 

Vit_ amin

Добрая душа
Сообщения
1,551
Реакции
739
А я тебе о том, что в событие Pre не всё делается. Хотя, я "стоп-звук" не проверял, может там и задумано так, что можно остановить звук ещё до его воспроизведения. Иначе - лучше с событием Post (после попытки воспроизведения)!
Ок гуру, тебе виднее.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756

Vit_ amin

Добрая душа
Сообщения
1,551
Реакции
739
Оффтоп Вот зачем вообще говорить, если не хочешь продолжать "отстаивать свою точку зрения", пояснить. Я не пробовал этот натив, всё может быть и более проще.
Наверное потому что, все что мог сказал уже по данному вопросу дальше идёт уже повторение разговора. Оффтоп
 

anton_87

Участник
Сообщения
58
Реакции
4
Приветствую Всех! Знаю что тема уже устарела, но нигде не нашел ответ на мой вопрос. Прошу помощи.
Re: [CS:S] Убрать текст и звук победившей команды

EPacker2
, а так нельзя сразу?! :-D
PHP:
#include <sdktools_sound>

public OnPluginStart()
{
    HookEvent("round_end", RoundEnd, EventHookMode_Pre);
    HookEvent("round_end", Event_RoundEnd);
}

public Action:RoundEnd(Handle:event, String:name[], bool:dontBroadcast)
{
    SetEventString(event, "message", " ");
    return Plugin_Continue;
}
public Event_RoundEnd(Handle:event, String:name[], bool:dontBroadcast) switch(GetEventInt(event, "winner"))
{
    case 2:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/terwin.wav");
    case 3:for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i)) StopSound(i, SNDCHAN_STATIC, "radio/ctwin.wav");
}
Плагин работает отлично! Нужно добавить только ещё одну команду чтобы удаляла надпись "Вы убили товарища по команде"
 
Сверху Снизу