|
Member
|
12-20-2020
, 10:18
Re: EDIT - plugin turbo
|
#3
|
Quote:
Originally Posted by GsiX
I write this purely and willingly from my heart and love.. i promise, no funny business.
P/S: I dont have CS:S installed so i cant test.
Edit; my instinct tell me you probably didn't need
- #include <cstrike>
- #include <sdkhooks>
Spoiler
PHP Code:
#include <sourcemod>
#include <cstrike>
#include <sdktools>
#include <sdkhooks>
//#include <colorvariables>
#define IsValidAlive(%1) ( 1 <= %1 <= MaxClients && IsClientInGame(%1) && IsPlayerAlive(%1) )
float g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[MAXPLAYERS+1] = { 0.0, ... };
float g_fThisIs_MarkZuckerberg_LastUsage[MAXPLAYERS+1] = { 0.0, ... };
bool g_bThisIsNot_MarkZuckerberg_IsActive[MAXPLAYERS+1] = { false, ... };
bool g_bfThisIsNot_MarkZuckerberg_IsRoundStart = false;
// this goes to your future cvar
float g_fThisIs_MarkZuckerberg_MaxSpeed = 1.4;
float g_fThisIs_MarkZuckerberg_Interval = 60.0;
float g_fThisIs_MarkZuckerberg_Duration = 7.0; //<< This MarkZuckerberg must always smaller or equal to g_fThisIs_MarkZuckerberg_Interval
public Plugin myinfo = {
name = "Turbo na 7 sekund dla vipa",
author = "",
description = "Komenda dla vipa, ktora daje turbo na 7 sekund",
version = "0.0.0",
url = "-----"
};
public void OnMapStart() {
for(int i = 0; i <= MaxClients; i++)
g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[i] = 0.0;
}
public void OnPluginStart() {
HookEvent( "round_start", EVENT_RoundStartEnd );
HookEvent( "round_end", EVENT_RoundStartEnd );
RegAdminCmd("sm_vturbo", CMD_SKILL, ADMFLAG_CUSTOM6);
}
public Action CMD_SKILL(int client, int args) {
if(IsValidAlive(client) && g_bfThisIsNot_MarkZuckerberg_IsRoundStart)
{
if(g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client] > 0.0 ) {
PrintToChat(client, " \x02 Aby użyć jeszcze raz turbo, poczekaj \x06%f \x02 sekund!", g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client]);
}
else
{
g_bThisIsNot_MarkZuckerberg_IsActive[client] = true;
g_fThisIs_MarkZuckerberg_LastUsage[client] = g_fThisIs_MarkZuckerberg_Duration; // duration speed cooldown
g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client] = g_fThisIs_MarkZuckerberg_Interval; // duration ability cooldown
SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", g_fThisIs_MarkZuckerberg_MaxSpeed);
CreateTimer(0.1, TIMER_SkillCooldown, GetClientUserId(client), TIMER_REPEAT);
}
}
return Plugin_Handled;
}
public Action TIMER_SkillCooldown(Handle hTimer, int userid) {
int client = GetClientOfUserId(userid);
if(IsValidAlive(client))
{
if(g_bfThisIsNot_MarkZuckerberg_IsRoundStart)
{
g_fThisIs_MarkZuckerberg_LastUsage[client] -= 0.1;
if( g_fThisIs_MarkZuckerberg_LastUsage[client] <= 0.0 && g_bThisIsNot_MarkZuckerberg_IsActive[client]) {
g_bThisIsNot_MarkZuckerberg_IsActive[client] = false;
SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.0);
}
g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client] -= 0.1;
if(g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client] > 0.0) {
return Plugin_Continue;
}
}
g_fZmiennaPrzetrzymujacaCzasAbySprawdzacCzyMoznaUzycKomendy[client] = 0.0;
}
return Plugin_Stop;
}
public void EVENT_RoundStartEnd ( Event event, const char[] name, bool dontBroadcast ) {
if( StrEqual( name, "round_start", false ))
{
g_bfThisIsNot_MarkZuckerberg_IsRoundStart = true;
}
else if( StrEqual( name, "round_end", false ))
{
g_bfThisIsNot_MarkZuckerberg_IsRoundStart = false;
}
}
|
sometimes the reset time does not count pls help
|
|
|
|