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

Туник

Участник
Сообщения
1,281
Реакции
263
@Туник, проверяй:
C-подобный:
#pragma newdecls required
#pragma semicolon 1

#include <cstrike>

public void OnPluginStart()
{
    HookEvent("player_team",    Event_CheckTag);
    HookEvent("player_spawn",    Event_CheckTag);
    HookEvent("round_start",    Event_CheckTag, EventHookMode_PostNoCopy);
}

public void OnClientPutInServer(int client)
{
    SetupTag(client);
}

void Event_CheckTag(Event event, char[] name, bool dontBroadcast)
{
    CreateTimer(0.1, Timer_Check, name[0] == 'r' ? -1 : event.GetInt("userid"), TIMER_FLAG_NO_MAPCHANGE);
}

Action Timer_Check(Handle timer, int client)
{
    if(client == -1)
    {
        for(int i = 1; i <= MaxClients; i++) SetupTag(i);
    }
    else if((client = GetClientOfUserId(client))) SetupTag(client);

    return Plugin_Stop;
}

void SetupTag(int client)
{
    if(!IsClientInGame(client) || IsFakeClient(client))
        return;

    int flags = GetUserFlagBits(client);
    if(flags & ADMFLAG_GENERIC|ADMFLAG_ROOT)
        CS_SetClientClanTag(client, "ADMIN");
    else if(flags & ADMFLAG_CUSTOM1)
        CS_SetClientClanTag(client, "PREMIUM");
}
Теперь выдает админ, даже если я админку вырубаю и оставляю только флаг o / пишет все равно админ.
 

Туник

Участник
Сообщения
1,281
Реакции
263
Не остаётся ни флага b, ни флага z?
И даже перезаход на сервер ничего не даёт?
Я выдал себе флаг О и все равно пишет что админ, убираю всё пишет что админ, заходит игроки и все по тегу админы))
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Туник, попробуй строку 40 поправить: if(flags & ADMFLAG_GENERIC|ADMFLAG_ROOT) ==> if(flags & (ADMFLAG_GENERIC|ADMFLAG_ROOT))
 

xstage

🏹
Сообщения
726
Реакции
754
@Туник
C-подобный:
#pragma newdecls required
#pragma semicolon 1

#include <cstrike>

public void OnPluginStart()
{
    HookEvent("player_team", Event_CheckTag, EventHookMode_PostNoCopy);
    HookEvent("player_spawn", Event_CheckTag, EventHookMode_PostNoCopy);
    HookEvent("round_start", Event_CheckTag, EventHookMode_PostNoCopy);
}

public void OnClientPutInServer(int client)
{
    SetupTag(client);
}

void Event_CheckTag(Event event, char[] name, bool dontBroadcast)
{
    CreateTimer(0.1, DelayCheck, _, TIMER_FLAG_NO_MAPCHANGE);
}

Action DelayCheck(Handle timer)
{
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i)) SetupTag(i);
    return Plugin_Continue;
}

void SetupTag(int client)
{
    if(IsFakeClient(client)) return;
   
    bool bFlagO = !!(GetUserFlagBits(client) & ADMFLAG_CUSTOM1);
   
    if(CheckCommandAccess(client, "sm_admin", ADMFLAG_GENERIC))
    {
        CS_SetClientClanTag(client, "ADMIN");
    }
    else if(bFlagO)
    {
        CS_SetClientClanTag(client, "PREMIUM");
    }
}
 

Zeit

Участник
Сообщения
180
Реакции
34
Может кто-нибудь добавить/переписать плагин, чтобы добавлялся пункт в vip и можно было вкл/откл клантег?
 

sladerev

Участник
Сообщения
323
Реакции
29
C-подобный:
decl String:f_Name[MAX_NAME_LENGTH+4];
                Format(f_Name,sizeof(f_Name),"\x03%N\x01",client);
                PrintToChatAll("\x04[AFK] \x01%t", "Move_Announce", f_Name);
                ForcePlayerSuicide(client); // Kill Player so round ends properly, this is Valve's normal method.
                ChangeClientTeam(client, CS_TEAM_SPECTATOR); // Move AFK Player to Spectator
Помогите подправить, как только я добавляю morecolors, и крашу
C-подобный:
decl String:f_Name[MAX_NAME_LENGTH+4];
                Format(f_Name,sizeof(f_Name),"{aqua}%N",client);
                CPrintToChatAll("{fullred}[{dodgerblue}C{springgreen}S{fullred} AFK] {gold}● {white}%t", "Move_Announce", f_Name);
                ForcePlayerSuicide(client); // Kill Player so round ends properly, this is Valve's normal method.
                ChangeClientTeam(client, CS_TEAM_SPECTATOR); // Move AFK Player to Spectator
То при муве человека в спеки, в чат перестает выводиться сообщение
C-подобный:
"ru"        "{1} был перемещен в наблюдатели из-за длительного бездействия."
 

Вложения

  • afk_manager_lite_css.sp
    12.2 КБ · Просмотры: 7

Grey83

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

И да, теги цвета вокруг ника нужно в файле перевода прописывать, а не в исходнике.
Format(f_Name,sizeof(f_Name),"{aqua}%N",client); == > FormatEx(f_Name,sizeof(f_Name),"%N",client);
 

sladerev

Участник
Сообщения
323
Реакции
29
Что в логах?
Сообщения автоматически склеены:

И да, теги цвета вокруг ника нужно в файле перевода прописывать, а не в исходнике.
Format(f_Name,sizeof(f_Name),"{aqua}%N",client); == > FormatEx(f_Name,sizeof(f_Name),"%N",client);
в логах пусто, просто нет текста о муве.
Я понимаю что надо в файле перевода, но там нет покраски тега отдельно, можно тебя попросить это реализовать если это быстро?
 

Grey83

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

Вложения

  • afk_manager_css.phrases.txt
    4.4 КБ · Просмотры: 5

sladerev

Участник
Сообщения
323
Реакции
29
Грэй возможно вывести префикс в файле перевода, как это в lvlrank [lvl] и я его сам красил?
У меня просто там тег будет CS AFK, и он разукрашен под все другие префиксы. Там не один цвет.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@sladerev, я префикс отдельной строкой вывел в исходнике (18-я строка).

В приреплённом архиве префикс выведен в файл перевода.
 

Вложения

  • afk_manager_css.zip
    5.2 КБ · Просмотры: 9

sladerev

Участник
Сообщения
323
Реакции
29
@sladerev, я префикс отдельной строкой вывел в исходнике (18-я строка).

В приреплённом архиве префикс выведен в файл перевода.
Спасибо тебе большое, цвет считывает с перевода, все отлично, префикс тоже.
Но вот именно комментарий all который, об отправке человека из за бездействия, все также не пишется..(
Сообщения автоматически склеены:

@sladerev, я префикс отдельной строкой вывел в исходнике (18-я строка).

В приреплённом архиве префикс выведен в файл перевода.
как будет время, посмотри пожалуйста
 
Последнее редактирование:

SolisLuna

Участник
Сообщения
33
Реакции
8
У кого-нибудь есть плагин, который блокирует гранаты во время разминки?
 
Сверху Снизу