Иконка ресурса

FSA/ФСА (Расширенные команды администратора) 1.5.7

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Miroha, ты же все сообщения закомментировал.
М/б рядом стоит 2-й экземпляр плагина, где строки не закомментированы?
 

Miroha

Участник
Сообщения
1,124
Реакции
134
@Miroha, ты же все сообщения закомментировал.
М/б рядом стоит 2-й экземпляр плагина, где строки не закомментированы?
Я скорость уже сделал, мне теперь надо понять как сделать что бы в чате не отображалось что я выдаю себе или игрокам.
 

kekstm98

Участник
Сообщения
116
Реакции
5
1667218190932.png

Подскажите как сделать чтобы окрасить ник как на скрине? Именно в этом коде:
if(action == MenuAction_Select)
{
new String:nameclient1[64];
new String:nameclient2[64];
new String:loopname[64];
GetClientName(client, nameclient1, sizeof(nameclient1));
GetMenuItem(freezemenu, param2, nameclient2, sizeof(nameclient2));
for (new i = 1; i <= GetMaxClients(); i++)
{
if ((IsClientInGame(i)) && IsPlayerAlive(i))
{
GetClientName(i, loopname, sizeof(loopname));
if ((StrEqual(loopname, nameclient2, true)) && (IsClientInGame(i)))
{
new tempstring = 0;
if (FreezeStatus == 0)
{
SetEntityMoveType(i, MOVETYPE_NONE);
FreezeStatus = 1;
JetStatus = 0;
ClipStatus = 0;
ShowActivity2(client, FSATAG, "\x01%t", "froze", nameclient1, nameclient2);
LogAction(client, -1, "\"%L\" froze %s", client, nameclient2);
tempstring = 1;
}
if (FreezeStatus == 1)
{
if (tempstring == 0)
{
SetEntityMoveType(i, MOVETYPE_WALK);
FreezeStatus = 0;
ShowActivity2(client, FSATAG, "\x01%t", "unfroze", nameclient1, nameclient2);
LogAction(client, -1, "\"%L\" unfroze %s", client, nameclient2);
}
}
}
}
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Подскажите как сделать чтобы окрасить ник как на скрине? Именно в этом коде:
Найти файл перевода и в нём фразы "froze" и "unfroze" и уже там подставить символы (в переводах дефолтом поддерживаются только сами символы, а не их коды типа \x03) цветов. Я не знаю поддерживает ли функция ShowActivity2() теги цветов, а смотреть исходник лень.
Сами символы можноь у меня в комментарии в начале файла перевода к Revival найти.
Сообщения автоматически склеены:

И да: заключай код между тегами [CODE][/CODE], а то без них выходит нечитаемая портянка.
 

Вложения

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

kekstm98

Участник
Сообщения
116
Реакции
5
Найти файл перевода и в нём фразы "froze" и "unfroze" и уже там подставить символы (в переводах дефолтом поддерживаются только сами символы, а не их коды типа \x03) цветов. Я не знаю поддерживает ли функция ShowActivity2() теги цветов, а смотреть исходник лень.
Сами символы можноь у меня в комментарии в начале файла перевода к Revival найти.
Сообщения автоматически склеены:

И да: заключай код между тегами [CODE][/CODE], а то без них выходит нечитаемая портянка.
Спасибо, попробую
Сообщения автоматически склеены:

Найти файл перевода и в нём фразы "froze" и "unfroze" и уже там подставить символы (в переводах дефолтом поддерживаются только сами символы, а не их коды типа \x03) цветов. Я не знаю поддерживает ли функция ShowActivity2() теги цветов, а смотреть исходник лень.
Сами символы можноь у меня в комментарии в начале файла перевода к Revival найти.
Сообщения автоматически склеены:

И да: заключай код между тегами [CODE][/CODE], а то без них выходит нечитаемая портянка.
В общем пытался я что то решить и ничего не получилось(
Оставлю исходник, если время будет глянуть, буду благодарен, хотя бы знать как цвета и где ставить
 

Вложения

  • FSA v1.03e.sp
    214.5 КБ · Просмотры: 4
Последнее редактирование:

kekstm98

Участник
Сообщения
116
Реакции
5
@Grey83 подскажи в чем может быть проблема с возвратом в меню?
Захожу в фса, жму меню предметов, физ предметы, в меню физ предметов жму 1 чтобы удалить и оно возвращает в список меню пропсов, так же и с статик пропсами
 

Вложения

  • fsa_test.sp
    183.9 КБ · Просмотры: 5

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@kekstm98, без понятия. У меня не было желания особо разбираться и в говнокоде оригинала. А в форке его меньше вроде не стало (чего только стоит куча if вместо else if).
Данный форк создаёт кучу разных менюшек с одним универсальным хэндлером для всех. Видимо в этом и проблема. Т.к. удаление пропа есть сразу в нескольких разных меню, а возврат сделан всего лишь в одно из них (строка 669).
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Nekro обновил(а) ресурс FSA/ФСА (Расширенные команды администратора) новой записью:

1.5.7

1. Плагин практически полностью переписан
2. Оптимизация с изначальных 8 000 строк, до примерно 3 000 строк

Старая версия:
Code size:           232136 bytes
Data size:           106996 bytes
Stack/heap size:      16384 bytes
Total requirements:  355516 bytes

Новая версия:
Code size:         99796 bytes
Data size:         45088 bytes   
Stack/heap size:      16956 bytes
Total requirements:  161840 bytes

3. Код теперь гораздо более читабелен и имеет...

Узнать больше об этом обновлении...
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Оптимизация с изначальных 8 000 строк, до примерно 3 000 строк
Неплохо.

Но ещё остались косяки вроде такого:
C-подобный:
        if (IsClientInGame(i))
        {
            if (((status[i].Regen == true) && (GetClientHealth(i) <= 10000) && (IsClientInGame(i)) && (IsPlayerAlive(i))))
Или создание векторных переменных внутри цикла.
Или обнуление значения только что созданых переменных (у которых при создании и так значение равно нулю где-то с SM1.6, если с не более ранней версии) не являющимися static.
И в OnMapStart() можно было создать переменную i перед циклами, а потом в каждом просто значение обнулять вместо пересоздания.

И это только fsa.sp глянул без инклюдов. В общем ещё есть что подправить.

Но проделанная работа всё равно достойна похвалы: когда я глянул говнокод оригинальной суперадминки фаерволла, и подумал что вот это всё нужно переписывать, то решил что хрен с нею и пусть всё останется как есть (особенно учитывая то, что я там парой функций всего пользовался).
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Неплохо.

Но ещё остались косяки вроде такого:
C-подобный:
        if (IsClientInGame(i))
        {
            if (((status[i].Regen == true) && (GetClientHealth(i) <= 10000) && (IsClientInGame(i)) && (IsPlayerAlive(i))))
Или создание векторных переменных внутри цикла.
Или обнуление значения только что созданых переменных (у которых при создании и так значение равно нулю где-то с SM1.6, если с не более ранней версии) не являющимися static.
И в OnMapStart() можно было создать переменную i перед циклами, а потом в каждом просто значение обнулять вместо пересоздания.

И это только fsa.sp глянул без инклюдов. В общем ещё есть что подправить.

Но проделанная работа всё равно достойна похвалы: когда я глянул говнокод оригинальной суперадминки фаерволла, и подумал что вот это всё нужно переписывать, то решил что хрен с нею и пусть всё останется как есть (особенно учитывая то, что я там парой функций всего пользовался).
Таймеры по сути вообще не трогал, переделывал само меню и команды. Таймеры же остались "на закуску". По хорошему тут вообще наверное делать модульную структуру какую нибудь, да бы предотвратить раздутие плагина, но нет связи, такие модули будут прекрасно работать и без ядра, ведь это просто возможности админа.
 

Похожие темы

Ответы
209
Просмотры
59К
Сверху Снизу