Как отключить урон от ножа.

madfor

Участник
Сообщения
74
Реакции
5
Операционная система
Linux
Список плагинов SM
01 "Reserved Slots" (1.10.0.6502) by AlliedModders LLC
02 "Basic Ban Commands" (1.10.0.6502) by AlliedModders LLC
03 "Anti-Flood" (1.10.0.6502) by AlliedModders LLC
04 "Fun Commands" (1.10.0.6502) by AlliedModders LLC
05 "Player Commands" (1.10.0.6502) by AlliedModders LLC
06 "Basic Votes" (1.10.0.6502) by AlliedModders LLC
07 "Roun End Gravity" (0.1) by Muvik
08 "[VIP] NEON (CSS/CSGO)" (1.2) by R1KO & Pheonix (˙·٠●Феникс●٠·˙)
09 "[VIP] Healthshot" (1.3) by R1KO (skype: vova.andrienko1) feat. Eneanuch
10 "[VIP] Kill Screen" (1.0.2) by R1KO (skype: vova.andrienko1)
11 "[VIP] CHAT (+scp)" (3.1.1) by R1KO
12 "[VIP] Vips Online" (1.0.1) by R1KO (skype: vova.andrienko1)
13 "[VIP] Spawn Effects" (1.2) by Mr.ToNik
14 "[VIP] COIN" (2.0.1) by Pheonix (˙·٠●Феникс●٠·˙) & R1KO, pracc
15 "[VIP] Tracers" (1.1) by R1KO
16 "[VIP] Core" (3.0.1 R) by R1KO
17 "[VIP] No Fall Damage" (1.0.1) by R1KO (skype: vova.andrienko1)
18 "[VIP] Kill Bonus" (1.0.0) by R1KO (skype: vova.andrienko1)
19 "[VIP] Tag" (1.1) by R1KO
20 "[VIP] Command Blocker" (1.0) by FIVE (Discord: FIVE#3136) & Someone
21 "Evil Admin - Beam" (1.0.102) by Dog
22 "Weapons & Knives" (1.7.1) by kgns | oyunhost.net
23 "[VIP] Rainbow Player" (1.0.1) by xstage
24 "[VIP] Instruments" (1.5.2 [PUBLIC]) by Faya™ (DS: Faya™#8514)
25 "Fun Votes" (1.10.0.6502) by AlliedModders LLC
26 "Round End Sound" (1.2.3) by d4Ck(vk.com/geliydaun)
27 "SM Super Menu" (0.5) by pRED*
28 "Evil Admin - Rocket" (1.0.111) by Dog
29 "Sound Commands" (1.10.0.6502) by AlliedModders LLC
30 "[VIP] Dissolve Body" (1.2.2) by KOROVKA, R1KO
31 "eItems" (0.10) by ESK0 (Original author: SM9)
32 "Basic Chat" (1.10.0.6502) by AlliedModders LLC
33 "Evil Admin - Vision" (1.0.106) by Dog
34 "SM Super Commands" (0.60) by pRED*
35 "No Knife Damage" (1.0) by Bara
36 "[VIP] Bhop" (1.0.2) by KOROVKA
37 "Basic Info Triggers" (1.10.0.6502) by AlliedModders LLC
38 "Реклама" (1.4.1) by Pheonix (˙·٠●Феникс●٠·˙)
39 "Token Auto Updater" (1.4) by Phoenix (˙·٠●Феникс●٠·˙)
40 "[Levels Ranks] Core" (v3.1.2) by RoadSide Romeo & Wend4r
41 "Basic Commands" (1.10.0.6502) by AlliedModders LLC
42 "[CS:GO] Weapon Stickers" (1.0.18) by quasemago and donut1k
43 "Admin Menu" (1.10.0.6502) by AlliedModders LLC
44 "ResetScore" (1.6) by tuty, babka68
45 "Fortnite player hits" (1.2.0) by GAMMA CASE
46 "Client Preferences" (1.10.0.6502) by AlliedModders LLC
47 "Gloves" (1.0.4) by kgns | oyunhost.net
48 "Basic Comm Control" (1.10.0.6502) by AlliedModders LLC
49 "Hide menu blockers" (1.0.0) by Phoenix (˙·٠●Феникс●٠·˙)
50 "Admin File Reader" (1.10.0.6502) by AlliedModders LLC
51 "Evil Admin - Health" (1.0.104) by Dog
52 "[LR] Module - ExStats Maps" (3.1 F1) by RoadSide Romeo
53 "[LR] Module - ExStats Hits" (v3.1) by Wend4r
54 "[LR] Module - FakeRank" (v3.1) by RoadSide Romeo & Wend4r
55 "[LR] Module - Unusual Kills" (v3.1.6 SR1) by Wend4r
56 "[LR] Module - Distributor" (v3.1) by RoadSide Romeo
57 "Admin Help" (1.10.0.6502) by AlliedModders LLC
Посоветуйте плагин для отключения урона от ножа. Прикреплю код который не работает.

1627498546867.png

В списке плагинов отображается, но эффекта 0
 

Вложения

  • noknifedamage.smx
    3.4 КБ · Просмотры: 1
  • noknifedamage.sp
    1 КБ · Просмотры: 9

Deff

Участник
Сообщения
350
Реакции
137
Проверьте пожалуйста
 

Вложения

  • noknifedamage.smx
    3.4 КБ · Просмотры: 3
  • noknifedamage.sp
    1.1 КБ · Просмотры: 11
Последнее редактирование:

Патриот Анархии

Чиполлино
Сообщения
113
Реакции
68
Проверьте пожалуйста
Разреши чутка вставить свои 5 копеек.
Так должно быть более правильно.
Оффтоп

sript:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

public void OnPluginStart()
{
    for(int i = 1; i <= MaxClients; i++)
    {
        if(IsValidClient(i))
        {
            SDKHook(i, SDKHook_OnTakeDamage, OnTakeDamage);
        }
    }
}

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom)
{
    if(IsValidClient(attacker) && IsValidClient(victim))
    {
        char sWeapon[32];
        GetClientWeapon(attacker, sWeapon, sizeof sWeapon);
        if (StrContains(sWeapon, "knife", false) != -1)
        {
            damage = 0.0
            return Plugin_Changed;
        }
    }
   
    return Plugin_Continue;
}

stock bool IsValidClient(int iClient)
{
    return (iClient && iClient <= MaxClients && IsClientInGame(iClient) && !IsFakeClient(iClient));
}
 

Tomiks

Участник
Сообщения
419
Реакции
288
Так должно быть более правильно.
Разреши тогда вставить ещё 5 копеек

C++:
#pragma semicolon 1

#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom)
{
    if(IsValidClient(attacker))
    {
        char sWeapon[32];
        GetClientWeapon(attacker, sWeapon, sizeof sWeapon);
        if (StrContains(sWeapon, "knife", false) != -1 || StrContains(sWeapon, "bayonet") != -1)
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
  
    return Plugin_Continue;
}

stock bool IsValidClient(int iClient)
{
    return (iClient && iClient <= MaxClients && IsClientInGame(iClient) && !IsFakeClient(iClient));
}
 

Deff

Участник
Сообщения
350
Реакции
137
Разреши тогда вставить ещё 5 копеек

C++:
#pragma semicolon 1

#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom)
{
    if(IsValidClient(attacker))
    {
        char sWeapon[32];
        GetClientWeapon(attacker, sWeapon, sizeof sWeapon);
        if (StrContains(sWeapon, "knife", false) != -1 || StrContains(sWeapon, "bayonet") != -1)
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
 
    return Plugin_Continue;
}

stock bool IsValidClient(int iClient)
{
    return (iClient && iClient <= MaxClients && IsClientInGame(iClient) && !IsFakeClient(iClient));
}
В OnPluginStart код был из за того что плагин могли перезагрузить через консоль, разве нет?
 

DeathScore13

пирожок. пирожочек.
Сообщения
738
Реакции
409
Разреши тогда вставить ещё 5 копеек

C++:
#pragma semicolon 1

#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3], int damagecustom)
{
    if(IsValidClient(attacker))
    {
        char sWeapon[32];
        GetClientWeapon(attacker, sWeapon, sizeof sWeapon);
        if (StrContains(sWeapon, "knife", false) != -1 || StrContains(sWeapon, "bayonet") != -1)
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
 
    return Plugin_Continue;
}

stock bool IsValidClient(int iClient)
{
    return (iClient && iClient <= MaxClients && IsClientInGame(iClient) && !IsFakeClient(iClient));
}
жёваный сыр, когда вы заметите int &weapon в аргументах каллбека SDKHook_OnTakeDamage?
 

Tomiks

Участник
Сообщения
419
Реакции
288

Muinez

Участник
Сообщения
132
Реакции
120
C++:
#include <sdkhooks>

public void OnPluginStart()
{
    for (int i = 1; i < MaxClients + 1; i++)if (IsClientInGame(i))OnClientPutInServer(i);
}

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDmg);
}

public Action OnDmg(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3])
{
    if (weapon > MAXPLAYERS && 0 < attacker < MAXPLAYERS && IsClientInGame(attacker))
    {
        char sNetClass[7];
        GetEntityNetClass(weapon, sNetClass, sizeof sNetClass);
       
        if (!strcmp(sNetClass, "CKnife"))
       {
            damage = 0.0;
            return Plugin_Changed;
       }
    }
    return Plugin_Continue;
}
 
Последнее редактирование:
Сверху Снизу