Multi-Jump (mj)

Multi-Jump (mj) 1.6.1

Нет прав для скачивания
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
Перенесено в общий на суд скриптеров и публики
 
Сообщения
3,345
Реакции
1,470
Помог
124 раз(а)
Код:
new jumpnum[33] = 0
= 0 не нужно. переменные и массивы по умолчанию создаются с нулевым значением.
то же самое касается new bool:dojump[33] = false

Массивы, использующиеся для записи id игроков лучше записывать c использованием констант, для повышения читабельности кода:

Diff:
-new activate[33]
+new activate[MAX_PLAYERS + 1]
Аналогично используем константы:
Diff:
-new zName[33]
+new zName[MAX_NAME_LENGHT]
Diff:
-client_print_color(id, 0, "^3[^4Сервер^3] ^1Ув. Админ, ^3Вы ^1исчерпали использование ^4multi-прыжков^1!")
+client_print_color(id, print_team_default, "^3[^4Сервер^3] ^1Ув. Админ, ^3Вы ^1исчерпали использование ^4multi-прыжков^1!")
Почему-то в get_mapname() использовал charsmax(), а в get_user_name() нет.

Код:
public client_putinserver(id)
{
    jumpnum[id] = 0
    dojump[id] = false
    activate[id] = 0

    if(get_user_flags(id) & ADMINCHECK){
        CheckProtectADMIN[id] = 500      // Установка кол-ва прыжков для Админов
    }

    if(get_user_flags(id) & VIPCHECK){
        CheckProtectVIP[id] = 250      // Установка кол-ва прыжков для Вип
    }

    if(get_user_flags(id) & USERCHECK){
        CheckProtectUSER[id] = 100      // Установка кол-ва прыжков для Юзеров
    }
}
не дёргаем каждый раз get_user_flags(), оптимизируем:
Diff:
public client_putinserver(id)
{
+    new flags = get_user_flags(id)
    jumpnum[id] = 0
    dojump[id] = false
    activate[id] = 0

-    if(get_user_flags(id) & ADMINCHECK){
+    if(flags & ADMINCHECK){
        CheckProtectADMIN[id] = 500      // Установка кол-ва прыжков для Админов
    }

-    if(get_user_flags(id) & VIPCHECK){
+    if(flags & VIPCHECK){
        CheckProtectVIP[id] = 250      // Установка кол-ва прыжков для Вип
    }

-    if(get_user_flags(id) & USERCHECK){
+    if(flags & USERCHECK){
        CheckProtectUSER[id] = 100      // Установка кол-ва прыжков для Юзеров
    }
}
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Хмм, я конечно погляжу, возможно что-то войдет в следующую версию.. Но пока что.. Вот так, там плагин сам не мой. А другово Автора. Я лишь переделываю. И его данные я некторые не трогал.
5 Мар 2019
А также:

У всех свой стиль написания. Если я сделал как сделал, значит на тот момент мне показалось это логически правильным.
 
Сообщения
1,536
Реакции
2,319
Помог
39 раз(а)
У всех свой стиль написания. Если я сделал как сделал, значит на тот момент мне показалось это логически правильным.
Плохо когда разработчик нарушает стиль кода принятый в команде или считает свой любимый (часто единственно выученный) стиль кода единственно правильным.

Не бывает правильных стилей кода. Бывают утвержденные стили в команде или общепринятые стили.
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
sbelov020, ну по поводу "оптимизации" new flags = get_user_flags(id), я бы так не говорил. Ибо в логичном решении, на мой взгляд, он и так - и так будет дергать get_user_flags(id)
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
WILL_BE, таки делал прежний автор плагина, я лишь доработал.
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
wellasgood, и по поводу куска:
Код:
    if(get_user_flags(id) & ADMINCHECK){
        CheckProtectADMIN[id] = 500      // Установка кол-ва прыжков для Админов
    }

    if(get_user_flags(id) & VIPCHECK){
        CheckProtectVIP[id] = 250      // Установка кол-ва прыжков для Вип
    }

    if(get_user_flags(id) & USERCHECK){
        CheckProtectUSER[id] = 100      // Установка кол-ва прыжков для Юзеров
    }
Что если, игрок имеет оба флага?
 
Сообщения
3,345
Реакции
1,470
Помог
124 раз(а)
WILL_BE, в каком плане? Получаем один раз флаги юзера в переменную, дальше просто 3 раза сравниваем их с нужным флагом. Или 3 раза дергать get_user_flags() ?
 
Сообщения
452
Реакции
78
Помог
4 раз(а)
sbelov020, это уже обсуждалось на старом-добром goldsrc, что никакой нужды в такой "оптимизации" нет
5 Мар 2019
Эти слова-воспоминания от опытных людей, не более :good2:
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу