Пользователь
wellasgood
Кидала, мошенник, вымогатель
- Сообщения
- 1,409
- Реакции
- 182
- Помог
- 2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Шта?? Зачем Вам это!!) Ее нужно расставлять по картам в нужные места, сохранять потом, и все. Больше меню создания не нужно юзать. Кажется Вы не совсем поняли для чего этот плагин."удалить установку можно, когда на ней кто-то играет"
Опять же Вы не поняли, это лишь меню костимизации а не звуков, т.е отключение видимости части установки. ВИДНО НЕ ВИДНО, ВИДНО НЕ ВИДНО.Если выключить в меню часть инструментов и пересоздать
Так было сделано специально, палочки взял, ты перемещаешься к барабанам и не можешь двигаться, для перехвата клавишь: вперед, назад, влево, вправося что бы ты не отходил и не смог при перехвате звуков через клавиши двигаться.Чтобы вылезти с установки, надо выключить палочки. Пункт меню под названием выход сбивает с толку.
Ни в коем случае. Я лишь столкнулся с тем, что описал, и посчитал, что тестирование и подробный отзыв Вам поможет в ходе доработки плагина. Несмотря на то, что часть проблем в реальной игровой ситуации произойдёт с очень маленькой вероятностью (например, удаление установки в момент, когда она кем-то занята), тем не менее, она существует. Прислушаться к представленной мной информации или нет — Ваше право, на которое я не посягаю.Ваши замечания, скорей всего прозвучали бы правильно так: Я хочу что бы было по-моему!! СДЕЛАЙТЕ КАК Я ХОЧУ
wellasgood, код уже гораздо лучше, чем раньше, но ещё есть некоторые моменты.
1. Использование хардкода:
Diff:-g_szLogPath[64] +g_szLogPath[MAX_RESOURCE_PATH_LENGTH]
Diff:-new szMenu[512]; +new szMenu[MAX_MENU_LENGTH];
И всё то же самое в других местах ниже.Diff:-new iKeys = (1<<0|1<<1|1<<2|1<<3|1<<9); +new iKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0;
(enum можно использовать не только в качестве структуры, но и для убирания хардкода.)Diff:// в начале плагина +enum _:XYZ +{ + X, + Y, + Z +} //во всех местах с координатами -new Float:vOrigin[3]; -vOrigin[0] = str_to_float(szX) -vOrigin[1] = str_to_float(szY) -vOrigin[2] = str_to_float(szZ) +new Float:vOrigin[XYZ]; +vOrigin[X] = str_to_float(szX) +vOrigin[Y] = str_to_float(szY) +vOrigin[Z] = str_to_float(szZ)
То же самое можно сделать со строками 420-425, 651-659, и т.д.
2. В некоторых местах код можно было бы сделать читабельнее:
Diff:-for(new p; p < DrumData-1; p++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[%d] \y# \w%L \r[\y%L\r]^n", p+1, id, fmt("DRUM_MENU_ITEM_SETTINGS_%d", p+1), id, !g_eDrumData[id][p] ? "DRUM_ON" : "DRUM_OFF"); +for(new p; p < DrumData-1; p++) +{ + iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[%d] \y# \w%L \r[\y%L\r]^n", p+1, id, fmt("DRUM_MENU_ITEM_SETTINGS_%d", p+1), id, !g_eDrumData[id][p] ? "DRUM_ON" : "DRUM_OFF"); +}
Diff:-if(g_eCvarData[g_DrumSettings]) iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<9); -else iKeys = (1<<0|1<<1|1<<2|1<<3|1<<9); +if(g_eCvarData[g_DrumSettings]) +{ + iKeys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<9); +} +else +{ + iKeys = (1<<0|1<<1|1<<2|1<<3|1<<9); +}
3. Строки 676-680 можно вDiff:-while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "1"))) check_ent = ent; +while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "1"))) +{ + check_ent = ent; +}
switch()
.
4. ??
Далее мелочи, но всё же:Diff:-get_mapname(mapname, MAX_MAPNAME_LENGTH-1); +get_mapname(mapname, charsmax(MAX_MAPNAME_LENGTH));
5. Почему бы, раз не заявлена совместимость с 1.8.2, не использовать reapi?
6. Не везде сохраняешь одинаковую стилистику кода. (Это уже совсем мелочь, но я, как перфекционист, не мог пройти мимо)
Если решил ставить точки с запятой, ставь после каждой строки.
Разный стиль скобок, на строках 649-660 и 675-681.
Почему бы, например на 610 строке используешь%l
, а на 587%L
? И таких мест несколько. Если уж на то пошло, то на 587 лучше использоватьLANG_SERVER
, чтоб логи были на языке сервера.
7. В кварах то же можно было бы сделать мультиязычность.
8. Строка 169, и её вызов: почему cmdReadCvars(), когда это создание кваров?
9. В fakemeta_util входит fakemeta.
Diff:-#include <fakemeta>
10. В motd тоже нужно сделать мультиязычность. 10 Дек 2019
-get_mapname(mapname, MAX_MAPNAME_LENGTH-1);
+get_mapname(mapname, charsmax(MAX_MAPNAME_LENGTH));