The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Я прекрасно понимаю, что часто названия плагинов можно очень просто забыть. Однако это становится причиной постоянного создания тем рода "помогите найти плагин X".

Так вот, чтобы содержать форум в порядке и чистоте, поступим следующим образом:
  1. В дальнейшем создаваемые темы с "помогите найти плагин" будут удаляться, а авторам — выдаваться предупреждения
  2. Если Вы захотите найти плагин, то сначала воспользуйтесь поиском

Если всё же не удалось найти плагин, заполните следующую форму и ответьте в этой теме:

  • Функции плагина
  • Мод/Игра, которая использует этот плагин

Прежде чем отвечать в теме, воспользуйтесь поиском гугла, который почти всегда находит нужное.

Старые темы будут перемещены в корзину.
 
Последнее редактирование модератором:

w0key

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

Попробуй так

PHP:
#include <sdkhooks>

public void OnEntityCreated(int entity, const char[] classname)
{
    if (!strcmp(classname, "prop_", true))
    {
        SetEntProp(entity, Prop_Send, "m_takedamage", 2, 1);
        SetEntProp(entity, Prop_Send, "m_iHealth", 100); // 100 HP
    }
}
 

Вложения

  • props.smx
    3.6 КБ · Просмотры: 3
  • props.sp
    281 байт · Просмотры: 5
Последнее редактирование:

Serg007

Участник
Сообщения
24
Реакции
0
Попробуй так

PHP:
#include <sdkhooks>

public void OnEntityCreated(int entity, const char[] classname)
{
    if (strcmp(classname, "prop_"))
    {
        SetEntProp(entity, Prop_Send, "m_takedamage", 2, 1);
        SetEntProp(entity, Prop_Send, "m_iHealth", 100); // 100 HP
    }
}
Тоже не работает ....
--- Добавлено позже ---
не будет работать
Можно полный код тут 2 версии от @w0key и от@Someone
 

Serg007

Участник
Сообщения
24
Реакции
0
Оффтоп
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Serg007, код от @Someone должен вроде бы работать
Если не работает можно ещё попробовать так:
PHP:
#include <sdkhooks>

public void OnEntityCreated(int entity, const char[] classname)
{
    if(IsValidEntity(entity) && !StrContains(classname, "prop_"))
        RequestFrame(RequestFrame_Callback, entity);
}

public void RequestFrame_Callback(any entity)
{
    SetEntProp(entity, Prop_Data, "m_takedamage", 2, 1);
    SetEntProp(entity, Prop_Data, "m_iHealth", 100); // 100 HP
}
 

Serg007

Участник
Сообщения
24
Реакции
0
@Serg007, код от @Someone должен вроде бы работать
Если не работает можно ещё попробовать так:
PHP:
#include <sdkhooks>

public void OnEntityCreated(int entity, const char[] classname)
{
    if(IsValidEntity(entity) && !StrContains(classname, "prop_"))
        RequestFrame(RequestFrame_Callback, entity);
}

public void RequestFrame_Callback(any entity)
{
    SetEntProp(entity, Prop_Data, "m_takedamage", 2, 1);
    SetEntProp(entity, Prop_Data, "m_iHealth", 100); // 100 HP
}
Спасибо ! С меня лайк! А можно как-то сделать чтобы у каждого пропа было своё количество хп ? И пропы могли ломать только террористы ?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Serg007, сделать-то можно, вот только количество кода увеличится на порядок
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Мне главное шаблон
хм, откуда он возьмётся?
1) нужно придумать по какому принципу будет даваться ХП (по модели, по классу, индивидуально или ещё как) и в соответствии ему раздавать ХП
2) нужно определять кто наносит дамаг и блочить, если он наносится игроком не той команды (вроде бы тут должно помочь SDKHooks_TakeDamage())
 

NoVa41

Участник
Сообщения
61
Реакции
8
Ищу плагин на голограммы
20170822024535_1.jpg 20170822024017_1.jpg 20170822023959_1.jpg
Или это модели такие?
 
F

FBI

Всем привет!
Кто может написать плагин для запрета входа на сервер по стим id, игрок который попытается войти не сможет, + без вывода игроку каких либо сообщений, он просто тупо не может зайти на сервер поиграть!
 

Serg007

Участник
Сообщения
24
Реакции
0
Кто может скинуть прятки пропами (как в garrys mod) для кс го ?
Prop Hunt
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@FBI, что-то типа этого:
PHP:
static const int iRestrictedAuthID[] = {

    76561197968573709,
    76561198219789700
};

int iNumIDs;

public void OnPluginStart()
{
    iNumIDs = sizeof(iRestrictedAuthID);
}

public void OnClientAuthorized(int client)
{
    static char authID[24];
    if(GetClientAuthId(client, AuthId_SteamID64, authID, sizeof(authID)))
    {
        for(int i; i < iNumIDs; i++)
        {
            if(StringToInt(authID) == iRestrictedAuthID[i])
            {
                KickClient(client);
                break;
            }
        }
    }
    else PrintToServer("Can't get SteamID of the connected player!")
}
 
  • Мне нравится
Реакции: FBI

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Grey83, ты сейчас серьёзно?!
PHP:
static const int iRestrictedAuthID[] = {
    76561197968573709,
    76561198219789700
};
Ничего, как бы, что SourcePawn не умеет в такие числа?
Максимально допустимые - от 2147483647 до –2147483648.
Вдобавок лучше по AccountID сверять. На его основе уже и формируется SteamID всех типов.
PHP:
int iNumIDs;

public void OnPluginStart()
{
    iNumIDs = sizeof(iRestrictedAuthID);
}
Сомнительная оптимизация, учитывая, что sizeof() - это инструкция компилятора, а не JIT, и при компилировании заменяется на размер объекта.

@FBI, попробуй.
PHP:
stock const int g_iAccountIDs[] = {
    111331224,
    87813078
};

public void OnClientAuthorized(int iClient) {
    int iAccountID = GetSteamAccountID(iClient);
    for (int i; i < sizeof(g_iAccountIDs); i++) {
        if (iAccountID == g_iAccountIDs[i]) {
            return;
        }
    }

    if (!IsClientInKickQueue(iClient))
        KickClient(iClient, "Вам запрещён доступ на этот сервер");
}

Получить AccountID можно на сайте SteamDB, например.
Подчёркнутое на скрине под спойлером - AccountID.
KKAc3KR.png
 
  • Мне нравится
Реакции: FBI

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Kr1kuzya, про GetSteamAccountID я думал, но не знал где их брать
а оказывается это AuthId_Steam3
 
Сверху Снизу