#include <sourcemod>
#pragma semicolon 1
#pragma newdecls required
public void OnPluginStart()
{
HookEvent("round_start", RoundStart);
}
public Action RoundStart(Handle event, const char[] name, bool dontBroadcast)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && IsPlayerAlive(i))
{
if(GetClientTeam(i) == 2) // 2 - Terrorist
{
SetEntityHealth(i, 10000);
}
}
}
}
Всем игрокам находящиеся за террористов в начале раунда будет выдано 10000хп.
PHP:#include <sourcemod> #pragma semicolon 1 #pragma newdecls required public void OnPluginStart() { HookEvent("round_start", RoundStart); } public Action RoundStart(Handle event, const char[] name, bool dontBroadcast) { for(int i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && IsPlayerAlive(i)) { if(GetClientTeam(i) == 2) // 2 - Terrorist { SetEntityHealth(i, 10000); } } } }
Блин, а можешь сделать плаг, чтобы в конце раунда никто никому не мог нанести урон?
Квара вроде такого нет.
public OnPluginStart()
{
HookEvent("round_start", RoundStart);
HookEvent("round_end", RoundEnd);
}
public Action:RoundEnd(Handle:hEvent, const String:sEvName[], bool:bDontBroadcast)
{
DoGm(true);
return Plugin_Continue;
}
public Action:RoundStart(Handle:hEvent, const String:sEvName[], bool:bDontBroadcast)
{
DoGm(false);
return Plugin_Continue;
}
DoGm(bool: state)
{
for (new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && IsPlayerAlive(i))
{
SetEntProp(i, Prop_Data, "m_takedamage", state ? 2 : 0, 1);
}
}
}
На roundstart не обязательно помоемуC-подобный:public OnPluginStart() { HookEvent("round_start", RoundStart); HookEvent("round_end", RoundEnd); } public Action:RoundEnd(Handle:hEvent, const String:sEvName[], bool:bDontBroadcast) { DoGm(true); return Plugin_Continue; } public Action:RoundStart(Handle:hEvent, const String:sEvName[], bool:bDontBroadcast) { DoGm(false); return Plugin_Continue; } DoGm(bool: state) { for (new i = 1; i <= MaxClients; i++) { if(IsClientInGame(i) && IsPlayerAlive(i)) { SetEntProp(i, Prop_Data, "m_takedamage", state ? 2 : 0, 1); } } }
уберешь - Бессмертными будут твои игроки...На roundstart не обязательно помоему
Round End Protection v.0.4уберешь - Бессмертными будут твои игроки...
И выйдет на волю кошмар пустоты.
Без онлайна будут твои сервера
@Danyas объясни человеку свой код)
new Handle:PROTECT;
public OnPluginStart()
{
PROTECT = CreateConVar("round_end_protect", "1", "1 = защита в конце раунда вкл, 0 = откл", FCVAR_NOTIFY, true, 0.0, true, 1.0);
HookEvent("round_end", round_end, EventHookMode_Pre);
}
public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
if (GetConVarBool(PROTECT))
{
for (new i = 1 ; i <= MaxClients; i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i)) SetEntProp(i, Prop_Data, "m_takedamage", 0);
}
}
return Plugin_Continue;
}
// wS
Хм.. Видимо m_takedamage ставится 1 при Spawn игрока... Тогда и атаковать игрока можно будет при спавне...Round End Protection v.0.4
C-подобный:new Handle:PROTECT; public OnPluginStart() { PROTECT = CreateConVar("round_end_protect", "1", "1 = защита в конце раунда вкл, 0 = откл", FCVAR_NOTIFY, true, 0.0, true, 1.0); HookEvent("round_end", round_end, EventHookMode_Pre); } public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast) { if (GetConVarBool(PROTECT)) { for (new i = 1 ; i <= MaxClients; i++) { if (IsClientInGame(i) && IsPlayerAlive(i)) SetEntProp(i, Prop_Data, "m_takedamage", 0); } } return Plugin_Continue; } // wS