Написание плагинов

Synd1qate

Участник
Сообщения
745
Реакции
259
 
  • Мне нравится
Реакции: rgba

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexnet, либо делать чтобы отсылка в группу была, либо делать базу с чатами, в которую хз как прописывать id чатов.

Проще бота сделать, чтобы он на серваке крутился независимо от игры, что ли.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexnet, можно
и сделать конфиг с этими id
но опять же встаёт вопрос как их там в конфиге оперативно обновлять
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexnet, теоритически могу.
Всего-то мне для этого нужен ПК.

Захардкодить список в плагин большого ума не нужно. Сделать через файл конфига несколько сложнее. А реализовать добавление id через меню уже посложнее всего этого будет (но в принципе и не особо нужно).
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexnet, тогда делаешь из одномерного строкового массива с id двумерный, а в коде отсылки заключаешь все необходимые функции в цикл, который и будет проходить по этому массиву.

Где и что делать не скажу, т.к. ты код удалил, а я его не помню. И искать на форуме точно уж не буду.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexnet, заключай код между тегами [CODE][/CODE] что ли.
 

KiKiEEKi

🏆 🥇
Сообщения
653
Реакции
513
Привет ребят поставили плагин от r1ko по быстрому спасению заложников на букву e но есть баг что в начале раунда исчезают заложники и звук что типа их вывели например на офисе раз и нету одного на италии раз и нет двоих ну думаю понятно может кто поможет переделать может немного надо (css ob сервер)

C-подобный:
#pragma semicolon 1
#pragma newdecls required
#include <sdktools>

bool g_bEnabled = false;


public void OnMapStart()
{
    char map[128];
    GetCurrentMap(map, sizeof(map));
   
    if (!strncmp(map, "workshop", 8))
    {
        strcopy(map, sizeof(map), map[19]);
    }
   
    g_bEnabled = !strncmp(map, "cs_", 3);

    static bool bHooked;
   
    if (g_bEnabled)
    {
        PrecacheModel("models/props/cs_office/vending_machine.mdl", true);

        if (!bHooked)
        {
            HookEvent("hostage_follows", Event_HostageFollows);
            bHooked = true;
        }
    }
    else if (bHooked)
    {
        UnhookEvent("hostage_follows", Event_HostageFollows);
        bHooked = false;
    }
}

public void Event_HostageFollows(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
    int iClient = GetClientOfUserId(hEvent.GetInt("userid"));

    int iHostage = hEvent.GetInt("hostage");
    if (iHostage < MaxClients || !IsValidEntity(iHostage))
    {
        return;
    }
           
    int iEntity = CreateEntityByName("func_hostage_rescue");
    float origin[3], mins[3] =  { -100.0, -100.0, -10.0 }, maxs[3] =  { 100.0, 100.0, 100.0 };
   
    GetEntPropVector(iHostage, Prop_Send, "m_vecOrigin", origin);
    DispatchSpawn(iEntity);
    ActivateEntity(iEntity);
    SetEntityModel(iEntity, "models/props/cs_office/vending_machine.mdl");
    SetEntPropVector(iEntity, Prop_Send, "m_vecMins", mins);
    SetEntPropVector(iEntity, Prop_Send, "m_vecMaxs", maxs);
    SetEntProp(iEntity, Prop_Send, "m_nSolidType", 2);
    SetEntProp(iEntity, Prop_Send, "m_fEffects", GetEntProp(iEntity, Prop_Send, "m_fEffects") | 32);
    TeleportEntity(iEntity, origin, NULL_VECTOR, NULL_VECTOR);
    AcceptEntityInput(iEntity, "Enable");
    SetEntityMoveType(iHostage, MOVETYPE_FLY);
    TeleportEntity(iHostage, origin, NULL_VECTOR, origin);
    SetVariantString("OnUser1 !self:kill::0.2:1");
    AcceptEntityInput(iEntity, "AddOutput");
    AcceptEntityInput(iEntity, "FireUser1");
}
Привет, можно сделать 2 вариантами например:
1) Телепортировать заложника на место спасение после нажатия на Е
2) Завершать раунда с причиной CSRoundEnd_HostagesRescued после нажатие на Е на всех заложников
 

KiKiEEKi

🏆 🥇
Сообщения
653
Реакции
513
если бы я умел я только немного знаю в плане скриптов и еще бы хорошо добавить прогресс бар ну как при разминировании бомбы что бы можно было не сразу спасать а сколько секунд поставил через столько и спас
Я когда то такое даже делал ВКонтакте | ВКонтакте
 

Gaivor

Участник
Сообщения
186
Реакции
18
Добрый вечер. Напишите пожалуйста плагин, который выводит в чат цветной текст при написании команды. Просто чтобы я мог подставить нужный текст и все.
 

khood

Участник
Сообщения
214
Реакции
51
Добрый вечер. Напишите пожалуйста плагин, который выводит в чат цветной текст при написании команды. Просто чтобы я мог подставить нужный текст и все.
C-подобный:
#include <morecolors>

public void OnPluginStart() { RegConsoleCmd("sm_test", cmd_chat); }

public Action cmd_chat(int client, int args)
{
    CPrintToChat(client, "{green}-> {orange}.!.");
    return Plugin_Handled;
}
 

Вложения

  • cmd_chat.sp
    226 байт · Просмотры: 6

7pElllHuK

Участник
Сообщения
1,416
Реакции
465
Всем добрый вечер, подскажите пожалуйста как сделать так, чтоб плагин юзал команду полностью
Через конфиг вставляю команду с пробелами и ковычками ("command_1" "key_create "fdghje4323hfdhtre" 0 1 vip_add "VIP GIRL"), но плагин после подстановки команды в ф-ю ServerCommand выводит просто key_create , как это исправить?
P.s если ставить \"\" то выдает просто key_create \

Если вывести команду в чат, то выводится она так как надо
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
а если убрать кавычки вокруг куска с абракадаброй?
Сообщения автоматически склеены:

у тебя вообще строка конфига читается как key_create "fdghje4323hfdhtre" 0 1 vip_add "VIP GIRL (в конце нет кавычки ^_^), если читается полностью
 
Сверху Снизу