Raised This Month: $32 Target: $400
 8% 

[CS:GO] Problem NoBlock Aura


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Michauux
Member
Join Date: Nov 2015
Old 06-27-2016 , 12:52   [CS:GO] Problem NoBlock Aura
Reply With Quote #1

Hi guys, i have big problem
compiler sourcemod windows 1.8 noblock_aura.sp
and show error:

noblock_aura.sp (1): error 010: invalid function of declaration


#include <sourcemod>
#include <smlib>
#define COLLISION_GROUP_DEBRIS_TRIGGER 2
#define COLLISION_GROUP_PLAYER 5
#define COLLISION_GROUP_PUSHAWAY 17
#define VERSION "1.1"
new Handle:cvarAuraRange = INVALID_HANDLE;
new Handle:cvarAuraTime = INVALID_HANDLE;
new Handle:cvarAuraNoblockTime = INVALID_HANDLE;
new Handle:cvarAuraSpawnNoblockTime = INVALID_HANDLE;
new Handle:cvarAuraRefreshRate = INVALID_HANDLE;
new Handle:cvarAuraBeamRate = INVALID_HANDLE;
new Handle:cvarAnnounceRate = INVALID_HANDLE;
enum Aura
{
bool:AuraIgnore,
Float:AuraEndTime,
Float:NoBlockEndTime,
}
new g_client[MAXPLAYERS+1][Aura];
new g_ioffsCollisionGroup;
new Handle:g_hTimer = INVALID_HANDLE;
new Handle:g_hTimerEffect = INVALID_HANDLE;
new gGlow1;
new gHalo1;
new g_color[4];
public Plugin:myinfo =
{
name = "NoBlock Aura",
author = "Zipcore, Lacrimosa99",
description = "Spawn noblock and noblock aura",
version = VERSION,
url = "zipcore#googlemail.com"
}
public OnPluginStart()
{
CreateConVar("sm_noblock_aura_version", VERSION, "NoBlock Aura", FCVAR_DONTRECORD|FCVAR_SPONLY|FCVAR_REPLICATE D|FCVAR_NOTIFY);

cvarAuraNoblockTime = CreateConVar("sm_noblock_aura_noblock_time", "1.0", "Give player in range this amount of time noblock.");
cvarAuraRange = CreateConVar("sm_noblock_aura_range", "82.0", "Aura range to effect other players.");
cvarAuraBeamRate = CreateConVar("sm_noblock_aura_beam_rate", "1.0", "Create a beacon every X seconds.");
cvarAuraSpawnNoblockTime = CreateConVar("sm_noblock_aura_spawn_noblock_t ime", "10.0", "Give aura this amount of time on roundstart and playerspawn.");
cvarAuraRefreshRate = CreateConVar("sm_noblock_aura_refresh_rate", "0.1", "Itervall to check for other players in range.");
cvarAuraTime = CreateConVar("sm_noblock_aura_time", "10.0", "Extend time for aura command.");
cvarAnnounceRate = CreateConVar("sm_noblock_announce_rate", "180.0", "Announce this plugin to players.");
g_ioffsCollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup");
if (g_ioffsCollisionGroup == -1)
{
SetFailState("CBaseEntity:m_CollisionGroup not found");
}

HookEvent("round_freeze_end", Event_RoundStart);
HookEvent("player_spawn", Event_PlayerSpawn);

RegConsoleCmd("say", ChatHook);
RegConsoleCmd("say_team", ChatHook);

g_color[0] = 255;
g_color[1] = 50;
g_color[2] = 50;
g_color[3] = 50;
}
public OnMapStart()
{
if(GetEngineVersion() == Engine_CSS)
{
gGlow1 = PrecacheModel("materials/sprites/laser.vmt", true);
gHalo1 = PrecacheModel("materials/sprites/halo01.vmt");
}
else if(GetEngineVersion() == Engine_CSGO)
{
gGlow1 = PrecacheModel("materials/sprites/laserbeam.vmt", true);
gHalo1 = PrecacheModel("materials/sprites/halo.vmt");
}
else SetFailState("Noblockaura failed: CSS and CSGO only.");

if(GetConVarFloat(cvarAuraRefreshRate) > 0.0)
g_hTimer = CreateTimer(GetConVarFloat(cvarAuraRefreshRat e), Timer, _, TIMER_REPEAT);
if(GetConVarFloat(cvarAuraBeamRate) > 0.0)
g_hTimerEffect = CreateTimer(GetConVarFloat(cvarAuraBeamRate), TimerEffect, _, TIMER_REPEAT);

if(GetConVarFloat(cvarAnnounceRate) > 0.0)
CreateTimer(GetConVarFloat(cvarAnnounceRate), AnnounceMsg, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}
public OnMapEnd()
{
// Kill Timers
ClearHandle(g_hTimer);
ClearHandle(g_hTimerEffect);
}
public Action:AnnounceMsg(Handle:timer, any:client)
{
PrintToChatAll("[Noblock-Aura] Wpisz !noblock lub !nb aby włączyć NoBlock");
return Plugin_Continue;
}
public Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new Float:time = GetGameTime();

g_client[client][AuraEndTime] = time;
g_client[client][NoBlockEndTime] = time + GetConVarFloat(cvarAuraSpawnNoblockTime);
}
public Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
new Float:time = GetGameTime();
for(new i=1; i <= MaxClients; i++)
{
g_client[AuraEndTime] = time;
g_client[NoBlockEndTime] = time + GetConVarFloat(cvarAuraSpawnNoblockTime);
}
PrintToChatAll("[Noblock-Aura] Noblock włączony %ds.", RoundToFloor(GetConVarFloat(cvarAuraSpawnNobl ockTime)));
}
public Action:ChatHook(client, args)
{
new String:line[32];
new String:name[MAX_NAME_LENGTH];

if (args > 0)
{
GetCmdArg(1,line,sizeof(line));
GetClientName(client, name, sizeof(name));

if (StrEqual(line, "!noblock", false) || StrEqual(line, "!nb", false))
{
if(IsClientInGame(client))
{
if(IsPlayerAlive(client))
{
g_client[client][AuraEndTime] = GetGameTime() + GetConVarFloat(cvarAuraTime);
PrintToChat(client, "[Noblock-Aura] Noblock włączony na %ds.", RoundToFloor(GetConVarFloat(cvarAuraTime)));
}
else PrintToChat(client, "[Noblock-Aura] Musisz być żywy.");
}
}
}
return Plugin_Continue;
}
public Action:Timer(Handle:timer, any:data)
{
Refresh_Collision();
return Plugin_Continue;
}
public Action:TimerEffect(Handle:timer, any:data)
{
Refresh_Effect();
return Plugin_Continue;
}
SetupBeacon(client)
{
new Float:time = GetGameTime();
new tempColor[4];

tempColor[0] = GetRandomInt(100, 255);
tempColor[1] = GetRandomInt(100, 255);
tempColor[2] = GetRandomInt(100, 255);
tempColor[3] = 50;

new Float:vec[3];
GetClientAbsOrigin(client, vec);
vec[2] += 10;
if(g_client[client][AuraEndTime] - time < 3) TE_SetupBeamRingPoint(vec, 25.0, 150.0, gGlow1, gHalo1, 0, 1, 0.5, 20.0, 0.0, g_color, 1, 0);
else TE_SetupBeamRingPoint(vec, 25.0, 150.0, gGlow1, gHalo1, 0, 1, 0.5, 20.0, 0.0, tempColor, 1, 0);
TE_SendToAll();
}
Refresh_Effect()
{
new Float:time = GetGameTime();

for(new i=1;i<=MaxClients;i++)
{
if(IsClientInGame(i) && IsPlayerAlive(i))
{
if(g_client[AuraEndTime] > time)
{
SetupBeacon(i);
}
}
}
}
Refresh_Collision()
{
new Float:time = GetGameTime();

//validate all players
for(new i=1;i<=MaxClients;i++)
{
g_client[AuraIgnore] = false;

if(!(IsClientInGame(i) && IsPlayerAlive(i)))
{
g_client[AuraIgnore] = true;
}
}

//extend noblock
for(new i=1;i<=MaxClients;i++)
{
if(g_client[AuraIgnore])
continue;

for(new j=1;j<=MaxClients;j++)
{
if(g_client[j][AuraIgnore])
continue;

if(g_client[AuraEndTime] > time)
{
if(Entity_InRange(j, i, GetConVarFloat(cvarAuraRange)))
{
g_client[j][NoBlockEndTime] = time + GetConVarFloat(cvarAuraNoblockTime);
}
}
}
}

//set collision group
for(new i=1;i<=MaxClients;i++)
{
if(g_client[AuraIgnore])
continue;

if(g_client[AuraEndTime] > time || g_client[NoBlockEndTime] > time)
Client_SetNoblockable(i);
else if(!IsPlayerStuck(i)) Client_SetBlockable(i);
//else Client_SetPushable(i);
}
}
stock bool:IsPlayerStuck(client)
{
decl Float:vOrigin[3], Float:vMins[3], Float:vMaxs[3];
GetClientAbsOrigin(client, vOrigin);
GetEntPropVector(client, Prop_Send, "m_vecMins", vMins);
GetEntPropVector(client, Prop_Send, "m_vecMaxs", vMaxs);

TR_TraceHullFilter(vOrigin, vOrigin, vMins, vMaxs, MASK_ALL, FilterOnlyPlayers, client);
return TR_DidHit();
}
public bool:FilterOnlyPlayers(entity, contentsMask, any:data)
{
if(entity != data && entity > 0 && entity <= MaxClients)
{
return true;
}
return false;
}

public OnEntityCreated(entity, const String:classname[])
{
if (StrEqual(classname, "hegrenade_projectile"))
{
SetEntData(entity, g_ioffsCollisionGroup, COLLISION_GROUP_DEBRIS_TRIGGER, 4, true);
}
else if (StrEqual(classname, "flashbang_projectile"))
{
SetEntData(entity, g_ioffsCollisionGroup, COLLISION_GROUP_DEBRIS_TRIGGER, 4, true);
}
else if (StrEqual(classname, "smokegrenade_projectile"))
{
SetEntData(entity, g_ioffsCollisionGroup, COLLISION_GROUP_DEBRIS_TRIGGER, 4, true);
}
}
stock Client_SetNoblockable(client)
{
if(GetEngineVersion() == Engine_CSS)
{
new count = 0;
for(new i=1;i<=MaxClients;i++)
{
if(g_client[AuraIgnore])
continue;

if(!(IsClientInGame(i) && IsPlayerAlive(i)))
continue;

if(Entity_InRange(client, i, 64.0))
count++;
}

if(count > 5)
{
SetEntityRenderColor(client, 255, 255, 255, 100);
}
else if(count > 2)
{
SetEntityRenderColor(client, 255, 255, 255, 150);
}
else SetEntityRenderColor(client, 255, 255, 255, 200);
}

SetEntData(client, g_ioffsCollisionGroup, COLLISION_GROUP_DEBRIS_TRIGGER, 4, true);
}
stock Client_SetBlockable(client)
{
if(GetEngineVersion() == Engine_CSS)
{
SetEntityRenderColor(client, 255, 255, 255, 255);
}
SetEntData(client, g_ioffsCollisionGroup, COLLISION_GROUP_PLAYER, 4, true);
}
stock Client_SetPushable(client)
{
if(GetEngineVersion() == Engine_CSS)
{
SetEntityRenderColor(client, 255, 255, 0, 255);
}
SetEntData(client, g_ioffsCollisionGroup, COLLISION_GROUP_PUSHAWAY, 4, true);
}
Michauux is offline
Maxximou5
AlliedModders Donor
Join Date: Feb 2013
Old 06-27-2016 , 14:13   Re: [CS:GO] Problem NoBlock Aura
Reply With Quote #2

Upload the .sp or use php or code tags to put the code in with the space formatting; otherwise, it loses it's formatting and becomes impractical to read.

Last edited by Maxximou5; 06-27-2016 at 14:18. Reason: clarify
Maxximou5 is offline
KissLick
Veteran Member
Join Date: Nov 2012
Location: void
Old 06-27-2016 , 14:20   Re: [CS:GO] Problem NoBlock Aura
Reply With Quote #3

Veryinterestingcodeiseehere...
__________________
Plugins: TeamGames
Includes: Menu stocks, ColorVariables, DownloadTableConfig

> No help through PM, make a topic.
KissLick is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode