L
L1GHT
DarklSide, mg_saw_rfix_64v_csgo
remove:
{
"targetname" "ИМЯ ТРИГГЕРА"
}
remove:
{
"origin" "X Y Z"
}
remove:
{
"targetname" "respawnblock"
}
#pragma semicolon 1
#include <sourcemod>
#include <entity>
#include <sdktools_entinput>
#include <sdktools_functions>
new Handle:sm_mggo_enable = INVALID_HANDLE,
Handle:sm_mggomaps_enabled = INVALID_HANDLE;
public OnPluginStart()
{
sm_mggo_enable = CreateConVar("sm_mggo_enable", "1", "Включить плагин");
sm_mggomaps_enabled= CreateConVar("sm_mggomaps_enabled", "1", "Включить только для mg карт");
HookEvent("player_spawn", Event_PlayerSpawn);
RegConsoleCmd("sm_mggomapson", KillHurtt);
}
public Plugin:myinfo =
{
name = "MGnoKillAFK",
author = "DarklSide",
description = "Don't kill AFK in CSGO and CSS when respawn",
version = "1.0",
url = "www.surf-4fun.com"
};
public OnMapStart()
{
new maxEntities = GetMaxEntities(), teri, cteri;
decl String:spawnCTT[128];
for (new i = MaxClients; i < maxEntities; i++)
{
if (IsValidEdict(i) && IsValidEntity(i) && GetEdictClassname(i, spawnCTT, sizeof(spawnCTT)))
{
if (StrEqual(spawnCTT, "info_player_terrorist"))
{
teri++;
}
else if (StrEqual(spawnCTT, "info_player_counterterrorist"))
{
cteri++;
}
}
}
if(GetConVarBool(sm_mggomaps_enabled))
{
if (teri==0 || cteri==0)
{
SetConVarInt(sm_mggo_enable, 1);
}
else
{
SetConVarInt(sm_mggo_enable, 0);
}
}
}
public Action:Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
if(GetConVarBool(sm_mggo_enable))
{
new client = GetClientOfUserId (GetEventInt(event, "userid"));
if (IsPlayerAlive(client))
{
ClientCommand(client, "sm_mggomapson");
}
}
}
public Action:KillHurtt(client, args)
{
if (IsPlayerAlive(client) && (GetEntProp(client, Prop_Send, "m_bInBuyZone")))
{
new hurt = -1;
while ((hurt = FindEntityByClassname(hurt, "trigger_hurt")) != INVALID_ENT_REFERENCE)
{
if(IsValidEdict(hurt) && (GetEntProp(client, Prop_Send, "m_bInBuyZone")))
{
AcceptEntityInput(hurt, "Kill");
break;
}
}
}
return Plugin_Handled;
}
while ((hurt = FindEntityByClassname(hurt, "trigger_hurt")) != INVALID_ENT_REFERENCE)
{
if(IsValidEdict(hurt) && (GetEntProp(client, Prop_Send, "m_bInBuyZone")))
Stripper проверял? Чтобы конфиг заработал нужно сменить карту.Всеравно Киллит.
Для каждой карты нужен свой конфиг.Работал но не на всех картах
Всеравно Киллит.
И 1 карту, которая возникла проблема со Stripper'ом.
В Стриппере нужно писать конфиг отдельно для каждой карты.И 1 карту, которая возникла проблема со Stripper'ом.
Ты уверен, что удаление успеет отработать перед смертью игрока?
Я и не предлагаю работать со Stripper'ом. Спросил название тех карт, которые подходят к названию темы. Так как сам перехожу на csgo, хотелось бы знать разные косяки, даже самую малость. Фактически карта предложенная выше, не может распознать afk игрок или нет, она просто килльнёт всех, один раз, кто находиться на респе через 10 сек., от начала раунда.
Найти координаты entity (которая убивает игрока) и координаты закупки (либо всех респавна1 и респавна2), и если они пересекаються, то кильнуть entity.