wayLANder
Где AlmazON?
- Сообщения
- 1,742
- Реакции
- 577
Ну, названии темы все сказано, поможете?)
FlashProtect - AlliedModders
FlashProtect - AlliedModders
#include <sdkhooks>
public void OnPluginStart()
{
HookEvent("player_blind", Event_Flash);
HookEvent("flashbang_detonate", Event_Flash);
}
public void OnClientPutInServer(int client)
{
SDKHook(client, SDKHook_PostThinkPost, Hook_PostThinkPost);
}
public void Hook_PostThinkPost(int client)
{
PrintHintText(client, "m_flFlashDuration: %f", GetEntPropFloat(client, Prop_Send, "m_flFlashDuration"));
}
public void Event_Flash(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("userid"));
if (client != 0)
PrintToChatAll("%s: userid %i, FlashDuration %f", name, event.GetInt("userid"), GetEntPropFloat(client, Prop_Send, "m_flFlashDuration"));
}
public void Event_PlayerBlind(Event event, const char[] name, bool dontBroadcast)
{
if (!GetConVarBool(g_hCvarEnable))
return;
for (int i = 1; i <= MaxClients; i++)
if (g_bFlashed[i] == true) {
float flashTime = GetEntPropFloat(i, Prop_Send, "m_flFlashDuration");
if (i == client)
PrintToChat(client, "[SM] %t", "Self Flash", flashTime);
else if (GetClientTeam(i) == GetClientTeam(client) && IsPlayerAlive(i)) {
count++;
char flashedName[MAX_NAME_LENGTH + 1], flasherName[MAX_NAME_LENGTH + 1];
GetClientName(i, flashedName, sizeof(flashedName));
GetClientName(client, flasherName, sizeof(flasherName));
PrintToChat(i, "[SM] %t", "Flashed By", flasherName, flashTime);
PrintToChat(client, "[SM] %t", "You Flashed", flashedName, flashTime);
damage += RoundFloat(dps * flashTime);
}
g_bFlashed[i] = false;
}
а можно версию которая дает ослепить свою команду и не слэпает?)))Есть еще версия, которая не слапает, а просто не дает ослепить свою команду.
Держи мою версию...а можно версию которая дает ослепить свою команду и не слэпает?)))
просто пишется кто ослепил
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <colors>
new const String:PLUGIN_NAME[]= "WhoBangedMe?: Source";
new const String:PLUGIN_DESCRIPTION[]= "Tells who banged who,and ban";
#define PLUGIN_VERSION "0.0.7.1"
public Plugin:myinfo=
{
name= PLUGIN_NAME,
author= "Alican,Vdova",
description= PLUGIN_DESCRIPTION,
version= PLUGIN_VERSION,
url= "http://www.sourcemod.net/"
}
new Float:g_GameTime[MAXPLAYERS + 1];
new tmbangcount[MAXPLAYERS+1];
new lastbanger;
public OnPluginStart()
{
CreateConVar("whobangedmesource_version", PLUGIN_VERSION, "WhoBangedMe?: Source Version", FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
CreateConVar("whobangedmesource_enable", "1", "WhoBangedMe? Source | Enable/disable.", FCVAR_PLUGIN|FCVAR_NOTIFY, true, 0.0, true, 1.0);
CreateConVar("whobangedmesource_tmonly", "1", "WhoBangedMe? Source | Tell to teammates only.", FCVAR_PLUGIN|FCVAR_NOTIFY, true, 0.0, true, 1.0);
CreateConVar("whobangedmesource_tmbanglimit", "10", "WhoBangedMe? Source | Punish player when bangs a teammate. 0: Off, 1: Instant slay, >=2: Slay after limit is reached", FCVAR_PLUGIN|FCVAR_NOTIFY, true, -1.0, true, 20.0);
HookEvent("flashbang_detonate", Event_FlashbangDetonate);
HookEvent("player_blind", Event_PlayerBlind);
}
public OnClientPutInServer(client)
{
if(!Running()){return;}
tmbangcount[client]= 0;
return;
}
public Event_FlashbangDetonate(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!Running()){return;}
lastbanger= GetClientOfUserId(GetEventInt(event, "userid"));
}
public Event_PlayerBlind(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!Running()){return;}
new victim= GetClientOfUserId(GetEventInt(event, "userid"));
if(!IsPlayerAlive(victim))
return;
if(victim==0)
return;
if(IsFakeClient(victim))
return;
CreateTimer(0.01, TimerWhoBanged, victim);
}
public Action:TimerWhoBanged(Handle:timer, any:victim)
{
if(!IsClientInGame(lastbanger))
return;
if(lastbanger == 0 || !IsPlayerAlive(lastbanger))
return;
if(victim==lastbanger)
{
return;
}
if(GetClientTeam(victim)==GetClientTeam(lastbanger))
TMbang(lastbanger);
if(!BConVar("tmonly") || (BConVar("tmonly") && GetClientTeam(victim)==GetClientTeam(lastbanger)))
CPrintToChat(victim, "Вас ослепил \x07%N!", lastbanger);
return;
}
public bool:Running()
{
return GetConVarBool(FindConVar("whobangedmesource_enable"));
}
public bool:BConVar(const String:subcv[])
{
new String:ConVarName[32];
Format(ConVarName, 32, "whobangedmesource_%s", subcv);
return GetConVarBool(FindConVar(ConVarName));
}
public IConVar(const String:subcv[])
{
new String:ConVarName[32];
Format(ConVarName, 32, "whobangedmesource_%s", subcv);
return GetConVarInt(FindConVar(ConVarName));
}
public TMbang(client)
{
new banglimit= IConVar("tmbanglimit");
if(banglimit==0)
{
return;
}
if (!(GetUserFlagBits(client) & ADMFLAG_RESERVATION))
{
if(tmbangcount[client] != 0)
{
new zzz = RoundToFloor((GetGameTime() - g_GameTime[client]) / 30);
tmbangcount[client] = tmbangcount[client] - zzz;
if (tmbangcount[client] < 0)
{
tmbangcount[client] = 0;
}
}
tmbangcount[client]++;
if(tmbangcount[client]>=banglimit)
{
CPrintToChat(client, "\x01Не слепи своих тиммейтов, а иначе получишь бан!");
}
g_GameTime[client] = GetGameTime();
}
}
public OnClientConnected(client)
{
g_GameTime[client] = 0.0;
}
Держи мою версию...
PHP:#pragma semicolon 1 #include <sourcemod> #include <sdktools> #include <colors> new const String:PLUGIN_NAME[]= "WhoBangedMe?: Source"; new const String:PLUGIN_DESCRIPTION[]= "Tells who banged who,and ban"; #define PLUGIN_VERSION "0.0.7.1" public Plugin:myinfo= { name= PLUGIN_NAME, author= "Alican,Vdova", description= PLUGIN_DESCRIPTION, version= PLUGIN_VERSION, url= "http://www.sourcemod.net/" } new Float:g_GameTime[MAXPLAYERS + 1]; new tmbangcount[MAXPLAYERS+1]; new lastbanger; public OnPluginStart() { CreateConVar("whobangedmesource_version", PLUGIN_VERSION, "WhoBangedMe?: Source Version", FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY); CreateConVar("whobangedmesource_enable", "1", "WhoBangedMe? Source | Enable/disable.", FCVAR_PLUGIN|FCVAR_NOTIFY, true, 0.0, true, 1.0); CreateConVar("whobangedmesource_tmonly", "1", "WhoBangedMe? Source | Tell to teammates only.", FCVAR_PLUGIN|FCVAR_NOTIFY, true, 0.0, true, 1.0); CreateConVar("whobangedmesource_tmbanglimit", "10", "WhoBangedMe? Source | Punish player when bangs a teammate. 0: Off, 1: Instant slay, >=2: Slay after limit is reached", FCVAR_PLUGIN|FCVAR_NOTIFY, true, -1.0, true, 20.0); HookEvent("flashbang_detonate", Event_FlashbangDetonate); HookEvent("player_blind", Event_PlayerBlind); } public OnClientPutInServer(client) { if(!Running()){return;} tmbangcount[client]= 0; return; } public Event_FlashbangDetonate(Handle:event, const String:name[], bool:dontBroadcast) { if(!Running()){return;} lastbanger= GetClientOfUserId(GetEventInt(event, "userid")); } public Event_PlayerBlind(Handle:event, const String:name[], bool:dontBroadcast) { if(!Running()){return;} new victim= GetClientOfUserId(GetEventInt(event, "userid")); if(!IsPlayerAlive(victim)) return; if(victim==0) return; if(IsFakeClient(victim)) return; CreateTimer(0.01, TimerWhoBanged, victim); } public Action:TimerWhoBanged(Handle:timer, any:victim) { if(!IsClientInGame(lastbanger)) return; if(lastbanger == 0 || !IsPlayerAlive(lastbanger)) return; if(victim==lastbanger) { return; } if(GetClientTeam(victim)==GetClientTeam(lastbanger)) TMbang(lastbanger); if(!BConVar("tmonly") || (BConVar("tmonly") && GetClientTeam(victim)==GetClientTeam(lastbanger))) CPrintToChat(victim, "Вас ослепил \x07%N!", lastbanger); return; } public bool:Running() { return GetConVarBool(FindConVar("whobangedmesource_enable")); } public bool:BConVar(const String:subcv[]) { new String:ConVarName[32]; Format(ConVarName, 32, "whobangedmesource_%s", subcv); return GetConVarBool(FindConVar(ConVarName)); } public IConVar(const String:subcv[]) { new String:ConVarName[32]; Format(ConVarName, 32, "whobangedmesource_%s", subcv); return GetConVarInt(FindConVar(ConVarName)); } public TMbang(client) { new banglimit= IConVar("tmbanglimit"); if(banglimit==0) { return; } if (!(GetUserFlagBits(client) & ADMFLAG_RESERVATION)) { if(tmbangcount[client] != 0) { new zzz = RoundToFloor((GetGameTime() - g_GameTime[client]) / 30); tmbangcount[client] = tmbangcount[client] - zzz; if (tmbangcount[client] < 0) { tmbangcount[client] = 0; } } tmbangcount[client]++; if(tmbangcount[client]>=banglimit) { CPrintToChat(client, "\x01Не слепи своих тиммейтов, а иначе получишь бан!"); } g_GameTime[client] = GetGameTime(); } } public OnClientConnected(client) { g_GameTime[client] = 0.0; }
которая дает ослепить свою команду
просто пишется кто ослепил
CSGO sm 1.7.2 то что Kailo скинул, плагин работает ток слепает аля отнимает HP при ослепленииКак понимать без слепа?
Ты просил...
Игра какая? Если кс:го, то все отлично работает, стоит у меня на сервере.
сам переделал плагин Kailo, терь хочу попробовать надпись красным цветом сделатьCSGO sm 1.7.2 то что Kailo скинул, плагин работает ток слепает аля отнимает HP при ослеплении
Slap-"пнуть", когда ослепляешь своих, тебя пинает на опр.кол-во хп.Как понимать без слепа?