Урон в noclip

Kcinworld

Участник
Сообщения
57
Реакции
0
Здравствуйте, помогите убрать урон в ноуклипе.. Т.е. что-бы игроки не могли в noclip убивать других игроков.. (Тут нет ничего странного :D)
 

Manifest

Ура, не такой как все
Сообщения
180
Реакции
127
Данный пользователь был уличен в использовании бэкдора в приватных плагинах. Крайне не рекомендуется покупать какие либо товары у пользователя.

Manifest

Ура, не такой как все
Сообщения
180
Реакции
127
Данный пользователь был уличен в использовании бэкдора в приватных плагинах. Крайне не рекомендуется покупать какие либо товары у пользователя.
/del
P.S не рабочий код
 
Последнее редактирование:

Kcinworld

Участник
Сообщения
57
Реакции
0
Реализовал не через SDK
PHP:
#include <sourcemod>

#pragma semicolon 1

public void OnPluginStart()
{
    HookEvent("player_hurt", PlayerHurt);

}

public void PlayerHurt(Handle event, const char[] name, bool dontBroadcast)
{
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
  
    if (GetEntityMoveType(attacker) == MOVETYPE_NOCLIP) return Plugin_Handled;
}
warning 209: function "PlayerHurt" should return a value
warning 213: tag mismatch
--- Добавлено позже ---
Реализовал не через SDK
PHP:
#include <sourcemod>

#pragma semicolon 1

public OnPluginStart()
{
    HookEvent("player_hurt", PlayerHurt);

}

public PlayerHurt(Handle event, const char[] name, bool dontBroadcast)
{
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
 
    if (GetEntityMoveType(attacker) == MOVETYPE_NOCLIP) return Plugin_Handled;
    return Plugin_Continue;
}
Не работает
--- Добавлено позже ---
Рико, спасай ситуацию.. У манифеста плохо получается..
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
Реализовал не через SDK
PHP:
#include <sourcemod>

#pragma semicolon 1

public OnPluginStart()
{
    HookEvent("player_hurt", PlayerHurt);

}

public PlayerHurt(Handle event, const char[] name, bool dontBroadcast)
{
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
 
    if (IsClientInGame(attacker) && IsPlayerAlive(attacker) && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP) return Plugin_Handled;
    else {
       return Plugin_Continue;
    }
}
не будет работать 200%
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
@Kcinworld,
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

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

public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if(attacker > 0 && attacker <= MaxClients && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP)
    {
        damage = 0.0;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
 

Manifest

Ура, не такой как все
Сообщения
180
Реакции
127
Данный пользователь был уличен в использовании бэкдора в приватных плагинах. Крайне не рекомендуется покупать какие либо товары у пользователя.
@Kcinworld,
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

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

public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if(attacker > 0 && attacker <= MaxClients && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP)
    {
        damage = 0.0;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
Не мог написать код больше. Т.к с телефона
 
Последнее редактирование:

Kcinworld

Участник
Сообщения
57
Реакции
0
@Kcinworld,
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

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

public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if(attacker > 0 && attacker <= MaxClients && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP)
    {
        damage = 0.0;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
Все равно не работает xD... Зато компиляция без ошибок.
 

Manifest

Ура, не такой как все
Сообщения
180
Реакции
127
Данный пользователь был уличен в использовании бэкдора в приватных плагинах. Крайне не рекомендуется покупать какие либо товары у пользователя.

Kcinworld

Участник
Сообщения
57
Реакции
0
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #17
@Kcinworld,
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

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

public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
//    if(attacker > 0 && attacker <= MaxClients && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP)
    if(attacker > 0 && attacker <= MaxClients)
    {
        PrintToChat(attacker, "MoveType = %i", GetEntityMoveType(attacker));
        /*
        damage = 0.0;
        return Plugin_Changed;
        */
    }
    return Plugin_Continue;
}

посмотри что пишет в чат когда наносишь урон с ноклипом и без
 
Последнее редактирование:

Kcinworld

Участник
Сообщения
57
Реакции
0
@Kcinworld,
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdkhooks>

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

public OnClientDisconnect(client)
{
    SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamagePre(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
//    if(attacker > 0 && attacker <= MaxClients && GetEntityMoveType(attacker) == MOVETYPE_NOCLIP)
    if(attacker > 0 && attacker <= MaxClients)
    {
        PrintToChat(attacker, "MoveType = %i", GetEntityMoveType(attacker));
        /*
        damage = 0.0;
        return Plugin_Changed;
        */
    }
    return Plugin_Continue;
}

посмотри что пишет в чат когда наносишь урон с ноклипом и без
При компилировании
(8) : error 017: undefined symbol "OnTakeDamage"
(13) : error 017: undefined symbol "OnTakeDamage"
 

Kcinworld

Участник
Сообщения
57
Реакции
0
В ноуклипе MoveType = 8
Без ноуклипа MoveType = 2
 
Сверху Снизу