Иконка ресурса

Say Back to Spector 1.2

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,377
  • Автор ресурса
  • #1
Say Back to Spector

Описание:
Для перехода в спектры напишите в чате одну из команд "!spec", "!sp", "!ызус", "!ыз", "!спек"
Полезен для серверов с ДМ модом.

Настройки (CVARs):
sm_saybacktospec_enable - 1 = Вкл | 0 = Выкл. плагина перемещении игроков написавших чате !sp в спектры.
sm_SBtS_BlockSpecMessage - 1 = Вкл | 0 = Выкл. отключает стандартные сообщения о переходе в спектры.

Автор GoDtm666

v.1.0.0.1
  • Добавлено: (CVARs) sm_saybacktospec_team - 1 = Вкл | 0 = Выкл. отключает стандартные сообщения о переходе в другую команду.
  • Изменены команды для перехода в спектры.
v.1.0.0.1 ob
  • (CVARs) sm_SBtS_BlockSpecMessage - 1 = Вкл | 0 = Выкл. отключает стандартные сообщения о переходе в спектры. (работает тока на Orange Box)
  • Немного оптимизировал плагин.
  • Немного изменил перевод.
v.1.0.0.2
  • Сделал блокировку стандартного сообщения для перехода в спеки для всех версии ксс.
 
Последнее редактирование модератором:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
760
Re: Say Back to Spector 1.0

Оффтоп
 
Последнее редактирование модератором:

comred

Участник
Сообщения
149
Реакции
41
Re: Say Back to Spector 1.0

Спасибо, давно хотел такую штуку себе. Даже FrozDark'а хотел уже просить написать ))))
 

GoDtm666

Участник
Сообщения
581
Реакции
596
Последнее редактирование:

Данилка

Участник
Сообщения
57
Реакции
15
Re: Say Back to Spector 1.0

Доброе время суток кто нить может чуток подкоректировать данный плагин чтоб игроки могли уходить в спекторы только когда живы а не когда мертвые =(

Заранее большое спасибо =)
 

Besenok_Kid

Участник
Сообщения
220
Реакции
63
Re: Say Back to Spector 1.0

Доброе время суток кто нить может чуток подкоректировать данный плагин чтоб игроки могли уходить в спекторы только когда живы а не когда мертвые =(

Заранее большое спасибо =)

Оффтоп
 

Данилка

Участник
Сообщения
57
Реакции
15
Re: Say Back to Spector 1.0

У меня сервак лефтовский люди уходят в спекторы когда компания заканчиваеться чтоб сохранить оружку))

Оу а если можно сделать еще чтоб всегда один человек остовался в живых и его не перемещало в спекторы ото когда все уйдут в спекторы компания автоматом не поменяеться =(

Просто у меня люди начали использовать плагин в злорастных целях они пишут !sp а потом !join чтоб реснуться заного когда умерли))
 
Последнее редактирование:

Satan

Участник
Сообщения
159
Реакции
338
Re: Say Back to Spector 1.0

PHP:
#include <sourcemod>
#include <sdktools>
new Handle:g_hEnable = INVALID_HANDLE;

// Regular plugin information
public Plugin:myinfo = 
{
	name = "Say Back to Spector",
	author = "GoDtm666",
	description = "Say !bts | !sp (Back to Spector)",
	version = "1.0.0.0",
	url = "www.SourceTM.com"
}

public OnPluginStart()
{
    g_hEnable = CreateConVar( "sm_saybacktospec_enable", "1", "1 = Вкл | 0 = Выкл. 1 = Вкл | 0 = Выкл. плагина перемещении игроков написавших в чате !bts в спектры..\n1 = On | 0 = Off. Move the players wrote in the chat! Bts in the spectors.", FCVAR_PLUGIN, true, 0.0, true, 1.0);
    RegConsoleCmd("say", CommandSay);
    RegConsoleCmd("say_team", CommandSay);
    LoadTranslations("sm_saybacktospector.phrases.txt");
}

public OnAllPluginsLoaded()
{
	AutoExecConfig(true, "sm_saybacktospec", "sourcemod");
}

public Action:CommandSay(client, args )
{
	if(GetConVarInt(g_hEnable) == 0 || IsPlayerAlive(client))
	{
		return Plugin_Continue;
	}
	decl String:ClSay[128];
	GetCmdArgString(ClSay, sizeof(ClSay)-1);
	StripQuotes(ClSay);
	TrimString(ClSay);
	if( StrEqual(ClSay, "!bts") || StrEqual(ClSay, "!sp") || StrEqual(ClSay, "!иеы") || StrEqual(ClSay, "!ыз"))
    {
	
		if(GetClientTeam(client) == 1)
		{
			PrintToChat(client, "\x04[Say Back to Spector]\x01 %t", "Client_Spectors_Spec");
			PrintToConsole(client, "[Say Back to Spector] %t", "Client_Spectors_Spec");
			return Plugin_Continue;
        }
		decl String:sName[32];
		GetClientName(client, sName, sizeof(sName)-1);
		ChangeClientTeam(client, 1);
		decl String:msg[100];
		Format(msg,sizeof(msg),"\x04[Say Back to Spector]\x01 %t", "Client_Back_to_Spector", "\x03", sName, "\x01");
		new Handle:hBf = StartMessageAll("SayText2");
		if (hBf != INVALID_HANDLE)
		{
			BfWriteByte(hBf, client);
			BfWriteByte(hBf, true);
			BfWriteString(hBf, msg);
			EndMessage();
		}
	}
	return Plugin_Continue;
}

Это запретит переходить в спеки если клиент жив
 

Данилка

Участник
Сообщения
57
Реакции
15
Re: Say Back to Spector 1.0

PHP:
#include <sourcemod>
#include <sdktools>
new Handle:g_hEnable = INVALID_HANDLE;

// Regular plugin information
public Plugin:myinfo = 
{
	name = "Say Back to Spector",
	author = "GoDtm666",
	description = "Say !bts | !sp (Back to Spector)",
	version = "1.0.0.0",
	url = "www.SourceTM.com"
}

public OnPluginStart()
{
    g_hEnable = CreateConVar( "sm_saybacktospec_enable", "1", "1 = Вкл | 0 = Выкл. 1 = Вкл | 0 = Выкл. плагина перемещении игроков написавших в чате !bts в спектры..\n1 = On | 0 = Off. Move the players wrote in the chat! Bts in the spectors.", FCVAR_PLUGIN, true, 0.0, true, 1.0);
    RegConsoleCmd("say", CommandSay);
    RegConsoleCmd("say_team", CommandSay);
    LoadTranslations("sm_saybacktospector.phrases.txt");
}

public OnAllPluginsLoaded()
{
	AutoExecConfig(true, "sm_saybacktospec", "sourcemod");
}

public Action:CommandSay(client, args )
{
	if(GetConVarInt(g_hEnable) == 0 || IsPlayerAlive(client))
	{
		return Plugin_Continue;
	}
	decl String:ClSay[128];
	GetCmdArgString(ClSay, sizeof(ClSay)-1);
	StripQuotes(ClSay);
	TrimString(ClSay);
	if( StrEqual(ClSay, "!bts") || StrEqual(ClSay, "!sp") || StrEqual(ClSay, "!иеы") || StrEqual(ClSay, "!ыз"))
    {
	
		if(GetClientTeam(client) == 1)
		{
			PrintToChat(client, "\x04[Say Back to Spector]\x01 %t", "Client_Spectors_Spec");
			PrintToConsole(client, "[Say Back to Spector] %t", "Client_Spectors_Spec");
			return Plugin_Continue;
        }
		decl String:sName[32];
		GetClientName(client, sName, sizeof(sName)-1);
		ChangeClientTeam(client, 1);
		decl String:msg[100];
		Format(msg,sizeof(msg),"\x04[Say Back to Spector]\x01 %t", "Client_Back_to_Spector", "\x03", sName, "\x01");
		new Handle:hBf = StartMessageAll("SayText2");
		if (hBf != INVALID_HANDLE)
		{
			BfWriteByte(hBf, client);
			BfWriteByte(hBf, true);
			BfWriteString(hBf, msg);
			EndMessage();
		}
	}
	return Plugin_Continue;
}

Это запретит переходить в спеки если клиент жив

Спасибо дружищще =)

Но ты не много ошибся мне нужно чтоб игроку запрещалось уходить в спекторы когда он мертв а не когда он жив)))

Я скомпилю гляну вдруг ты просто опечатался

А неть ты не опечатлся =(
 

Satan

Участник
Сообщения
159
Реакции
338
Re: Say Back to Spector 1.0

Нет проблем. Вот так попробуй


PHP:
#include <sourcemod> 
#include <sdktools> 
new Handle:g_hEnable = INVALID_HANDLE; 

// Regular plugin information 
public Plugin:myinfo =  
{ 
    name = "Say Back to Spector", 
    author = "GoDtm666", 
    description = "Say !bts | !sp (Back to Spector)", 
    version = "1.0.0.0", 
    url = "www.SourceTM.com" 
} 

public OnPluginStart() 
{ 
    g_hEnable = CreateConVar( "sm_saybacktospec_enable", "1", "1 = Вкл | 0 = Выкл. 1 = Вкл | 0 = Выкл. плагина перемещении игроков написавших в чате !bts в спектры..\n1 = On | 0 = Off. Move the players wrote in the chat! Bts in the spectors.", FCVAR_PLUGIN, true, 0.0, true, 1.0); 
    RegConsoleCmd("say", CommandSay); 
    RegConsoleCmd("say_team", CommandSay); 
    LoadTranslations("sm_saybacktospector.phrases.txt"); 
} 

public OnAllPluginsLoaded() 
{ 
    AutoExecConfig(true, "sm_saybacktospec", "sourcemod"); 
} 

public Action:CommandSay(client, args ) 
{ 
    if(GetConVarInt(g_hEnable) == 0 || !IsPlayerAlive(client)) 
    { 
        return Plugin_Continue; 
    } 
    decl String:ClSay[128]; 
    GetCmdArgString(ClSay, sizeof(ClSay)-1); 
    StripQuotes(ClSay); 
    TrimString(ClSay); 
    if( StrEqual(ClSay, "!bts") || StrEqual(ClSay, "!sp") || StrEqual(ClSay, "!иеы") || StrEqual(ClSay, "!ыз")) 
    { 
     
        if(GetClientTeam(client) == 1) 
        { 
            PrintToChat(client, "\x04[Say Back to Spector]\x01 %t", "Client_Spectors_Spec"); 
            PrintToConsole(client, "[Say Back to Spector] %t", "Client_Spectors_Spec"); 
            return Plugin_Continue; 
        } 
        decl String:sName[32]; 
        GetClientName(client, sName, sizeof(sName)-1); 
        ChangeClientTeam(client, 1); 
        decl String:msg[100]; 
        Format(msg,sizeof(msg),"\x04[Say Back to Spector]\x01 %t", "Client_Back_to_Spector", "\x03", sName, "\x01"); 
        new Handle:hBf = StartMessageAll("SayText2"); 
        if (hBf != INVALID_HANDLE) 
        { 
            BfWriteByte(hBf, client); 
            BfWriteByte(hBf, true); 
            BfWriteString(hBf, msg); 
            EndMessage(); 
        } 
    } 
    return Plugin_Continue; 
}
 

Данилка

Участник
Сообщения
57
Реакции
15
Re: Say Back to Spector 1.0

Вот щас все нормально большое спасибо =) жаль что еще нельзя сделать чтоб одного человека оставляло в живых и не перемещало в спекторы было бы вобще супер ;)
 
Последнее редактирование:

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Нельзя ли сделать и для перехода за другие команды !t-терры и !ct-контры?
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Упрощенная версия
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	AddCommandListener(say, "say");  
	AddCommandListener(say, "say_team"); 
}

public Action:say(i, const String:command[], argc) 
{  
	decl String:csay[8];
	GetCmdArgString(csay, sizeof(csay));
	StripQuotes(csay);
	TrimString(csay);	
	if (((strcmp(csay, "!sp", false) == 0) || (strcmp(csay, "!spec", false) == 0)) && i > 0 && GetClientTeam(i) != 1) 
		CS_SwitchTeam(i, 1);
}

KapaT
Можно
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
KapaT, плагин приложен.
 

Вложения

  • sm_saybacktospector.sp
    4.3 КБ · Просмотры: 74

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Infiltrait0rN7, хотелось бы что б переход за теров или контров не отнимал фраги, так же как переход в спектры.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
KapaT
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	AddCommandListener(say, "say");  
	AddCommandListener(say, "say_team"); 
}

public Action:say(i, const String:command[], argc) 
{  
	decl String:csay[8];
	GetCmdArgString(csay, sizeof(csay));
	StripQuotes(csay);
	TrimString(csay);	
	if (((strcmp(csay, "!sp", false) == 0) || (strcmp(csay, "!spec", false) == 0)) && i > 0 && GetClientTeam(i) != 1) 
		CS_SwitchTeam(i, 1);
		
	else if (((strcmp(csay, "!t", false) == 0) || (strcmp(csay, "!ter", false) == 0)) && i > 0 && GetClientTeam(i) != 2) 
		CS_SwitchTeam(i, 2);
		
	else if (((strcmp(csay, "!c", false) == 0) || (strcmp(csay, "!ct", false) == 0)) && i > 0 && GetClientTeam(i) != 3) 
		CS_SwitchTeam(i, 3);
}
 

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Не много поиграв на сервере заметил такую штуку, школота переходит за разные команды и тем самым набивает себе фраги,

DoK_1997, поправь чуток плагин чтоб при переходе за теров или контров кидала игрока уже к мертвым но при этом фраги не отнимались. (что б эти маленькие засранцы начинали играть с нового раунда)

Добавлено через 11 минут
EPacker2, 2 Errors
 
Последнее редактирование:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
760
KapaT, пробуй.
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
    AddCommandListener(say, "say");  
    AddCommandListener(say, "say_team"); 
}

public Action:say(i, const String:command[], argc) 
{  
    decl String:csay[8];
    GetCmdArgString(csay, sizeof(csay));
    StripQuotes(csay);
    TrimString(csay);    
    if (((strcmp(csay, "!sp", false) == 0) || (strcmp(csay, "!spec", false) == 0)) && i > 0 && GetClientTeam(i) != 1) 
        CS_SwitchTeam(i, 1);
        
    else if (((strcmp(csay, "!t", false) == 0) || (strcmp(csay, "!ter", false) == 0)) && i > 0 && GetClientTeam(i) != 2) 
        CS_SwitchTeam(i, 1), CS_SwitchTeam(i, 2);
        
    else if (((strcmp(csay, "!c", false) == 0) || (strcmp(csay, "!ct", false) == 0)) && i > 0 && GetClientTeam(i) != 3) 
        CS_SwitchTeam(i, 1), CS_SwitchTeam(i, 3);
}
 

Вложения

  • sm_saybacktospector.smx
    2.2 КБ · Просмотры: 34
Сверху Снизу