Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Sign in to follow this  
haooy

Szukam pluginu "knife cooldown"

Recommended Posts

Witam, szukam pluginu, który spowolni bicie kosą. Mam na myśli to, że gracz uderzy kosą i ma cooldown na ponowne udzerzenie przez np 5sec. Z góry dziękuje za pomoc. Pozdrawiam

Edited by haooy

Share this post


Link to post
Share on other sites

Trzymaj. W 6 linijce zmieniasz sobie czas cooldownu 😉 

 

Spoiler

#include <sdktools>

#pragma semicolon 1
#pragma newdecls required

float cooldown = 5.0;

float g_fClientUse[MAXPLAYERS + 1];

public Plugin myinfo = 
{
	name = "ADEPT --> Knife cooldown", 
	description = "Autorski Plugin StudioADEPT.net", 
	author = "Brum Brum", 
	version = "1.0", 
	url = "StudioADEPT.net/forum", 
};

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float angles[3], float vel[3]){
	if (!IsValidClient(client))return Plugin_Continue;
	
	if (CanUse(client) && buttons & IN_ATTACK || CanUse(client) && buttons & IN_ATTACK2) {
		char sWeapon[32];
		GetClientWeapon(client, sWeapon, sizeof(sWeapon));
		if (StrContains(sWeapon, "knife", false) != -1 || StrContains(sWeapon, "bayonet", false) != -1) {
			int knife = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
			RequestFrame(Cooldown, knife);
			g_fClientUse[client] = GetGameTime();
		}
	}
	return Plugin_Continue;
}

public void Cooldown(int weapon){
	SetEntPropFloat(weapon, Prop_Send, "m_flNextPrimaryAttack", GetGameTime() + cooldown);
	SetEntPropFloat(weapon, Prop_Send, "m_flNextSecondaryAttack", GetGameTime() + cooldown);
}

bool CanUse(int client){
	if (float(GetGameTime() - cooldown > g_fClientUse[client]))return true;
	
	return false;
}

public bool IsValidClient(int client)
{
	if (!(1 <= client <= MaxClients) || !IsClientInGame(client) || !IsClientConnected(client) || IsFakeClient(client) || IsClientSourceTV(client))
		return false;
	
	return true;
} 

 

 

  • Kocham to! 1

Share this post


Link to post
Share on other sites

dzieki ❤️ wszystko ok, dodalem cvar na ten czas cooldownu i myslalem, ze plugin nie dziala(kilka razy moglem spamowac), ale to ja zle zmajstrowalem XD
a wiec dzieki jeszcze raz:)

z cvarem jak ktos woli:

Spoiler

#include <sdktools>

#pragma semicolon 1
#pragma newdecls required

ConVar cooldown;

float cooldown1;

float g_fClientUse[MAXPLAYERS + 1];

public Plugin myinfo = 
{
    name = "ADEPT --> Knife cooldown", 
    description = "Autorski Plugin StudioADEPT.net", 
    author = "Brum Brum", 
    version = "1.0", 
    url = "StudioADEPT.net/forum", 
};

public void OnPluginStart()
{
    cooldown = CreateConVar("knife_cooldown", "5.0", "Ilosc czasu pomiedzy uderzaniem z kosy", _, true, 0.0, true, 100.0);
    
    AutoExecConfig(true, "knife_cooldown");
}

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float angles[3], float vel[3]){
    if (!IsValidClient(client))return Plugin_Continue;
    
    if (CanUse(client) && buttons & IN_ATTACK || CanUse(client) && buttons & IN_ATTACK2) {
        char sWeapon[32];
        GetClientWeapon(client, sWeapon, sizeof(sWeapon));
        if (StrContains(sWeapon, "knife", false) != -1 || StrContains(sWeapon, "bayonet", false) != -1) {
            int knife = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
            RequestFrame(Cooldown, knife);
            g_fClientUse[client] = GetGameTime();
        }
    }
    return Plugin_Continue;
}

public void Cooldown(int weapon){
    cooldown1 = GetConVarFloat(cooldown);
    SetEntPropFloat(weapon, Prop_Send, "m_flNextPrimaryAttack", GetGameTime() + cooldown1);
    SetEntPropFloat(weapon, Prop_Send, "m_flNextSecondaryAttack", GetGameTime() + cooldown1);
}

bool CanUse(int client){
    cooldown1 = GetConVarFloat(cooldown);
    if (float(GetGameTime() - cooldown1 > g_fClientUse[client]))return true;
    
    return false;
}

public bool IsValidClient(int client)
{
    if (!(1 <= client <= MaxClients) || !IsClientInGame(client) || !IsClientConnected(client) || IsFakeClient(client) || IsClientSourceTV(client))
        return false;
    
    return true;
}

 

 

Edited by haooy
sprawdzone
  • Lubię to! 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...