Raised This Month: $12 Target: $400
 3% 

[CS:GO] Looking for a Deahtrun Knifes plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
XMateiXGO
Junior Member
Join Date: Jul 2020
Location: Romania
Old 09-20-2020 , 16:34   [CS:GO] Looking for a Deahtrun Knifes plugin
Reply With Quote #1

Hi,if u help me please,i need a custom knife plugin with custom abilities for my cs:go deathrun server.
The knives will show like this:
1. Machete (More Damage/Low Speed)
2. Bak Knife (No Footsteps)
3. Pocket Knife (High Speed)
4. Butcher Knife (Low Gravity)
5. Default Knife (Health Regeneration)
And if u can please ad the posibility to change the knife skin(model).
The abilities need to show like this please:
km_highspeed 340 ( Pocket Knife)
km_lowspeed 170 ( Machete)
km_addhealth 3 ( Default Knife)
km_maxhealth 75 ( D-knife)
km_damage 2 (Machete)
km_lowgravity 400 (sets the low gravity)

Edit:
I found this plugin,i just want to add custom models for knives,please if u can help me.
Quote:
#include <sdktools>
#include <sdkhooks>
#include <clientprefs>

#define MOD_TAG "\x01\x0B★ \x07[Knife Mod]\x04 "
public Plugin myinfo =
{
name = "[DR] Knife Mod",
description = "Knife Mod DR",
author = "X Matei X",
version = "1.0",
url = "https://"
};

ConVar CVAR_HIGHSPEED, CVAR_LOWSPEED, CVAR_LOWGRAV, CVAR_HEALTH_ADD, CVAR_HEALTH_MAX, CVAR_DAMAGE;

Handle g_selectedknife;

int Knife[MAXPLAYERS + 1];

bool MoreDamageLowSpeed[MAXPLAYERS + 1], NoFootSteps[MAXPLAYERS + 1], HighSpeed[MAXPLAYERS + 1], MoreLowGravity[MAXPLAYERS + 1], HealthRegeneration[MAXPLAYERS + 1];

public void OnPluginStart()
{
HookEvent("player_spawn", Event_PlayerSpawn);

g_selectedknife = RegClientCookie("sm_knifeselected", "Selected knife skills", CookieAccess_Protected);
RegConsoleCmd("sm_knife", Display_Knife);

CVAR_HIGHSPEED = CreateConVar("km_highspeed", "1.3")
CVAR_LOWSPEED = CreateConVar("km_lowspeed", "0.7")
CVAR_HEALTH_ADD = CreateConVar("km_addhealth", "3")
CVAR_HEALTH_MAX = CreateConVar("km_maxhealth", "75")
CVAR_DAMAGE = CreateConVar("km_damage", "2.0")
CVAR_LOWGRAV = CreateConVar("km_lowgravity", "0.6")
AutoExecConfig(true, "Knife_Mod");
AddNormalSoundHook(Sound);
CreateTimer(480.0, kmodmsg, _, TIMER_REPEAT);
CreateTimer(4.0, Healing, _, TIMER_REPEAT);
}

public void OnClientPutInServer(int client)
{
SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
if (!IsFakeClient(client)) {
SendConVarValue(client, FindConVar("sv_footsteps"), "0");
}
}

public void OnClientDisconnect(int client)
{
if (AreClientCookiesCached(client))
{
char value[11];
Format(value, sizeof(value), "%d", Knife[client]);
SetClientCookie(client, g_selectedknife, value);
}
Knife[client] = 0;
SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public void OnClientCookiesCached(int client)
{
char value[11];
GetClientCookie(client, g_selectedknife, value, sizeof(value));
Knife[client] = StringToInt(value);
}

public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("userid"));
float lowspeed = CVAR_LOWSPEED.FloatValue;
float highspeed = CVAR_HIGHSPEED.FloatValue;
float gravity = CVAR_LOWGRAV.FloatValue;
if (MoreDamageLowSpeed[client]) {
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", lowspeed);
}
else if (HighSpeed[client]) {
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", highspeed);
}
else if (MoreLowGravity[client]) {
SetEntityGravity(client, gravity);
}
}

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
float lowspeed = CVAR_LOWSPEED.FloatValue;
float highspeed = CVAR_HIGHSPEED.FloatValue;
float gravity = CVAR_LOWGRAV.FloatValue;
if (MoreDamageLowSpeed[client]) {
if (GetClientSpeed(client) != lowspeed) {
SetClientSpeed(client, lowspeed);
}
}
else if (HighSpeed[client]) {
if (GetClientSpeed(client) != highspeed) {
SetClientSpeed(client, highspeed);
}
}
else if (MoreLowGravity[client]) {
if (GetEntityGravity(client) != gravity) {
SetEntityGravity(client, gravity);
}
}
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype)
{
if (MoreDamageLowSpeed[attacker])
{
char weapons[64];
float dmg = CVAR_DAMAGE.FloatValue;
GetClientWeapon(attacker, weapons, sizeof(weapons));
if ((StrContains(weapons, "knife", false) != -1) || (StrContains(weapons, "bayonet", false) != -1))
{
damage *= dmg;
return Plugin_Changed;
}
}
return Plugin_Continue;
}

public Action Display_Knife(int client, int args)
{
Menu menu = new Menu(Menu_Handler);
menu.SetTitle("Knife Mod");
menu.AddItem("", "Machete (More Damage/Low Speed)");
menu.AddItem("", "Bak Knife (No Footsteps)");
menu.AddItem("", "Pocket Knife (High Speed)");
menu.AddItem("", "Butcher Knife (More Low Gravity)");
menu.AddItem("", "Default Knife (Health Regeneration)");
menu.ExitButton = false;
menu.Display(client, 60);
}

public int Menu_Handler(Menu menu, MenuAction action, int client, int item)
{
if (action == MenuAction_Select)
{
switch (item)
{
case 0:SetKnife(client, 0)
case 1:SetKnife(client, 1)
case 2:SetKnife(client, 2)
case 3:SetKnife(client, 3)
case 4:SetKnife(client, 4)
}
}
if (action == MenuAction_End)delete menu;
}

public SetKnife(int client, int knife) {
switch (knife)
{
case 0:
{
RestartStats(client);
MoreDamageLowSpeed[client] = true;
NoFootSteps[client] = false;
HighSpeed[client] = false;
MoreLowGravity[client] = false;
HealthRegeneration[client] = false;
RestartStats(client);
Knife[client] = 1;
}
case 1:
{
RestartStats(client);
MoreDamageLowSpeed[client] = false;
NoFootSteps[client] = true;
HighSpeed[client] = false;
MoreLowGravity[client] = false;
HealthRegeneration[client] = false;
Knife[client] = 2;
}
case 2:
{
RestartStats(client);
MoreDamageLowSpeed[client] = false;
NoFootSteps[client] = false;
HighSpeed[client] = true;
MoreLowGravity[client] = false;
HealthRegeneration[client] = false;
Knife[client] = 3;
}
case 3:
{
RestartStats(client);
MoreDamageLowSpeed[client] = false;
NoFootSteps[client] = false;
HighSpeed[client] = false;
MoreLowGravity[client] = true;
Knife[client] = 4;
}
case 4:
{
RestartStats(client);
MoreDamageLowSpeed[client] = false;
NoFootSteps[client] = false;
HighSpeed[client] = false;
MoreLowGravity[client] = false;
HealthRegeneration[client] = true;
Knife[client] = 5;
}
}
}

public Action Healing(Handle timer)
{
int maxhp = CVAR_HEALTH_MAX.IntValue;
int addhp = CVAR_HEALTH_ADD.IntValue;
for (int i = 1; i < MaxClients; i++)
{
if (IsValidClient(i))
{
if (HealthRegeneration[i] && IsPlayerAlive(i))
{
if (GetClientHealth(i) < maxhp)
{
SetEntityHealth(i, GetClientHealth(i) + addhp);
}
}
}
}
}

public Action Sound(int clients[MAXPLAYERS], int &numClients, char sample[PLATFORM_MAX_PATH], int &entity, int &channel, float &volume, int &level, int &pitch, int &flags, char soundEntry[PLATFORM_MAX_PATH], int &seed)
{
if (!IsValidClient(entity) || IsFakeClient(entity))
return Plugin_Continue;

if ((StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) && StrContains(sample, "suit") == -1)
{
if (!NoFootSteps[entity])
EmitSoundToAll(sample, entity);

return Plugin_Handled;
}

return Plugin_Continue;
}

public Action kmodmsg(Handle timer) {
PrintToChatAll("%s Type /knife to change your knife skills", MOD_TAG);
}

void RestartStats(int client)
{
SetClientSpeed(client, 1.0);
SetEntityGravity(client, 1.0);
}

void SetClientSpeed(int client, float speed)
{
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", speed);
}
float GetClientSpeed(int client)
{
return GetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue");
}

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

return true;
}

Last edited by XMateiXGO; 09-22-2020 at 02:17.
XMateiXGO is offline
Reply


Thread Tools
Display Modes

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 07:39.


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