!rs для csgo, оптимизирован?

hostvd

Участник
Сообщения
21
Реакции
2
Покопавшись не нашел простого и легкого плагина сброса счета, неужели все эти переменные так нужны. Слава исходникам, покопавшись я вытащил лишь самое нужное, но я профан в этом, поэтому хотел спросить можно ли еще оптимизировать этот "плагин".

PHP:
#pragma semicolon 1
#include <sourcemod>
#include <cstrike>

public OnPluginStart()
{
    RegConsoleCmd("rs", resetscore);
}

public Action:resetscore(client, args)
{
    if (client > 0 && GetClientDeaths(client) == 0 && CS_GetClientContributionScore(client) == 0)
    {
        PrintToChat(client, "У Вас и так всё по нулям!");
    }
    else
    {
        SetEntProp(client, Prop_Data, "m_iFrags", 0);
        SetEntProp(client, Prop_Data, "m_iDeaths", 0);
        CS_SetClientAssists(client, 0);
        CS_SetClientContributionScore(client, 0);
        PrintToChat(client, "Вы удачно сбросили свой счёт!");
    }
}
p.s. Мне не нужно !кы и т.д. Адекватные люди знают и смотрят что пишут, так что хватит и простого !rs:)
 
Последнее редактирование:
  • Мне нравится
Реакции: phll

rus0707

Участник
Сообщения
326
Реакции
43
привет как ещё можно добавить команду !кы
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
можно ли еще оптимизировать этот "плагин"
Ошибки есть. Кто собирается этим пользоваться, то правильнее так:
PHP:
#include <cstrike>

public OnPluginStart() RegConsoleCmd("rs", resetscore);

public Action:resetscore(client, args)
{
	if (client)
	{
		if (GetClientDeaths(client) || CS_GetClientContributionScore(client))
		{
			SetEntProp(client, Prop_Data, "m_iDeaths", 0);
			SetEntProp(client, Prop_Data, "m_iFrags", 0);
			CS_SetClientAssists(client, 0);
			CS_SetClientContributionScore(client, 0);
			PrintToChat(client, "Вы удачно сбросили свой счёт!");
		}
		else PrintToChat(client, "У Вас и так всё по нулям!");
	}
	return Plugin_Handled;
}
 

rus0707

Участник
Сообщения
326
Реакции
43
привет всем
что я не правильно делаю помогите исправить

PHP:
#include <cstrike>

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

public Action:CommandSay(client, const String:command[], args)
{
	decl String:Said[128];
	GetCmdArgString(Said, sizeof(Said) - 1);
	StripQuotes(Said);
	TrimString(Said);

	if (client && StrEqual(Said, "!resetscore") || StrEqual(Said, "!rs") || StrEqual(Said, "!кы"))
	{
		if (GetClientDeaths(client) || CS_GetClientContributionScore(client))
		{
			SetEntProp(client, Prop_Data, "m_iDeaths", 0);
			SetEntProp(client, Prop_Data, "m_iFrags", 0);
			CS_SetClientAssists(client, 0);
			CS_SetClientContributionScore(client, 0);
			PrintToChat(client, "Вы удачно сбросили свой счёт!");
		}
		else PrintToChat(client, "У Вас и так всё по нулям!");
	}
	return Plugin_Handled;
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
return Plugin_Continue; здесь.
if (client && (StrEqual(Said, "!resetscore", false) || StrEqual(Said, "!rs", false) || StrEqual(Said, "!кы"))) в скобках и false для любого регистра.
Но я бы иначе это всё расписал.
 
Сверху Снизу