Автор: Saimon_Jones
Начнем с того , для чего нужна #pragma tabsize и что такое warning 217
Прежде всего если вы скачали или написали сами мод/скрипт не применяйте #pragma tabsize 0, либо удалите. Почему ? - спросите вы. #pragma tabsize 0 Скрывает ( именно скрывает , а не удаляет ) ошибки табуляции . Если удалить #pragma tabsize появляется warning 217. Ошибки табуляции , даже при скрытом режиме , нагружают мод/скрипт и сам сервер.
Чтобы у нас не появилось warning 217, в своём моде, нужно выравнивать код лесенкой.
Как писать код лесенкой?
Код, вырезанный из другого скрипта/мода или же написан своими руками, может выглядеть криво к примеру как тот , что ниже.
Обычный код, при компиляции которого появляется warning 217:
Code: Select all
if(strcmp(cmd, "/reg", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Регистрация","Введите текст","Ок","Отмена");
}
return 1;
}
Табулирует ваш скрипт кнопка TAB . Она делает отступ в 3-4 символа ( пробела ) . После каждой открытой скобки, в следующей строке должна быть табуляция (т.е. TAB) .Как только функция (тело) завершена, закрывающуюся скобку ставим под той скобкой, которая открывала это тело, далее пишем код сразу под закрытой скобкой, примерно так:
Так выглядит табулированный код:
Code: Select all
if(strcmp(cmd, "/reg", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Регистрация","Введите текст","Ок","Отмена");
}
return 1;
}
Но возникает вопрос на подобие этого :
"У меня 100500 warning 217 после удаления #pragma tabsize 0 ? что мне делать ? выравнивать их самому ?"
Конечно нет. Для решения этой проблемы существует программа Notepad++ , через которую можно открыть наш pwn скрипт и отредактировать его.
Этот способ (ниже) НЕ выравнивает код лесенкой.
Как это сделать ?
1. Скачиваем notepad++ по ссылке
2. Запускаем Notepad ++ и открываем наш скрипт
3. Выбираем Плагины > Plugin Manager > Show Plugin Manager
4. Ищем в списке плагин Ident By Fold
5. Отмечаем его галочкой и жмем Install (произойдет скачивание и автоматический перезапуск)
скачиваем его с оф.сайта разработчика и устанавливаем вручную
Далее разархивируем скачанный архив в папку с установленным Notepad++ >> в директорию plugins
Теперь перезагружаем программу Notepad++ и видим что наш плагин виден в списке установленных.
6. Открываем снова наш скрипт и выделяем его полностью сочетание ctrl + A.
7. Открываем "Плагины" и выбираем "Ident By Fold", нажимаем "Reindent File"
Теперь наш код автоматически выстраивается "лесенкой".
Этот способ выравнивает код лесенкой.
2 способ , выравнивающий код лесенкой , с помощью того же Notepad++ :
1. Снова открываем список Plugin Manager
2. Находим в списке TextFX (возможно будет TextFX Characters)
3. Устанавливаем ( Notepad перезагрузится )
4. В меню находим: TextFX -> TextFX Edit -> Reindent C++ Code
Только теперь наш код выровнен "лесенкой"
Вот и все. Есть недостаток замеченный мной. Скрипты в одну строку он не редактирует. Скорее всего в новых версиях плагина это будет исправлено