Владислав Абрамов
Участник
- Сообщения
- 15
- Реакции
- 4
Простой Resetscore с проверкой присутствия игрока на сервере, ибо я слышал, что можно крашануть сервер таким способом.
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
public Plugin:myinfo =
{
name = "Resetscore",
author = "Sniper",
description = "Плагин для сброса счёта",
version = "1.2",
url = "hlmod.ru"
}
public OnPluginStart()
{
RegConsoleCmd( "say", Command_RS );
RegConsoleCmd( "say_team", Command_RS );
}
public Action:Command_RS(client, args)
{
decl String:Said[ 128 ];
GetCmdArgString( Said, sizeof( Said ) - 1 );
StripQuotes( Said );
TrimString( Said );
if( StrEqual( Said, "!resetscore" ) || StrEqual( Said, "!rs" ) || StrEqual( Said, "!rdk" ) || StrEqual( Said, "!кы" ) || StrEqual( Said, "!квл" ) )
{
if(!IsValidClient(client))
{
return Plugin_Continue;
}
if( GetClientDeaths( client ) == 0 && GetClientFrags( client ) == 0 )
{
PrintToChat( client, "\x03Ваш счёт и так равен 0" );
return Plugin_Continue;
}
ResetsCore(client);
PrintToChat( client, "\x03Вы обнулили свой счёт" );
}
return Plugin_Continue;
}
stock bool:IsValidClient(client, bool:alive = false)
{
return (client >= 1 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client) && (alive == false || IsPlayerAlive(client)));
}
ResetsCore(client)
{
SetEntProp(client, Prop_Data, "m_iFrags", 0);
SetEntProp(client, Prop_Data, "m_iDeaths", 0);
}
Вложения
Последнее редактирование: