Антифлуд будешь реализовывать? А то можно же огромное кол-во раз тыкать клавишу и пикап будет флудить.
С выбором времени например для использования пикапа можно похимичить
Антифлуд будешь реализовывать? А то можно же огромное кол-во раз тыкать клавишу и пикап будет флудить.
С выбором времени например для использования пикапа можно похимичить
Никогда бы не подумал, что этим неподдерживаемым старьём ещё кто-то пользуется. Нужно будет как-нибудь в репо компилятора Zeex'а поднять issue на счёт добавления мультиязычности.
Касаемо реализации инклуда:
- Намерение использовать префиксы для всего и вся, чтобы избежать коллизий имён, похвально, но не совсем понятно, зачем нужен знак подчёркивания "_" в самом начале префикса "_key_pickupfix_". Разве без этого знака "key_pickupfix_" будет мало? Префиксы - это, конечно, хорошо, но важно также и не переусердствовать.
- В названиях перечислений (e_PLAYER_PICKUP_DATA, e_PLAYER_PICKUP_DATA) нет префиксов.
- Если для констант и функций соблюдается тот же стиль именования, как в инклудах SA-MP (т.е. названия констант большими буквами, функций - в CamelCase), то почему названия перечислений (которые по сути являются тегами) записываются большими буквами, как константы? (пример тега из SA-MP: PlayerText)
- Непостоянство в стиле задания квалификатора static:
static _key_pickupfix_playerPickupData[MAX_PLAYERS][e_PLAYER_PICKUP_DATA]; static const NULL_PLAYER_PICKUP_DATA[e_PLAYER_PICKUP_DATA] = {KEY_PICKUPFIX_INVALID_PICKUP_ID, KEY_PICKUPFIX_PICK_TYPE_INVALID, 0, false};
Вообще в чём профит переносить всё, что после static или new, на новую строку? Нет, я правда хочу знать, потому что по мне это просто быссмысленная трата вертикального пространства, ухудшающая читаемость.
- Строки в вызовах CallLocalFunction() можно сделать упакованными, чтобы занимали меньше места в памяти.
Строка со спецификаторами "dd" и вовсе дублируется 3 раза, можно объявить её один раз как именованный массив.
static const key_pickupfix_str_dd[] = !"dd";
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Ну, твой с Тракером компилятор я использую уже давно, иногда бывают моменты с рекурсией, Ваш компилятор это спокойно отлавливает, не говоря про обычный стандартизированный. Ну и плюс, русификация же. Было бы круто, если реализуете новую версию (которой скорей всего не будет)
Не хотите постоянно проверять обновления моих скриптов?
Подключите его последним, после всех остальных
Nexius's Update Checker
Не вижу в этом ничего плохого. Довольно старый приём, использующийся для рационального расхода памяти, в том числе для исключения дублирования строк в памяти скрипта (sscanf2, fixes.inc, TDW Vehicle, YSI).
В форке Zeex'а такое тоже возможно с помощью ключа -R.
С учётом всех изменений, которые произошли в форке Zeex'а за последние несколько лет (а именно на этом форке и основывается ruspawncc), проще в тот форк добавить нормальную поддержку мультиязычности. Что я и собираюсь в ближайшем будущем сделать, устное согласие от Tracker1 (ему по идее принадлежит частичное авторство над переведёнными сообщениями в ruspawncc) уже получено.
Или ошибаюсь я, ибо многие популярные инклуды (взять хотя бы те, которые я перечислил парой цитат выше) тоже не грешат переносами после квалификаторов static, new, stock и т.д. Возможно, просто дело вкуса и не стоит заострять внимание на этом.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Читабельность такого становится мягко говоря затруднительной. Да и странно видеть "рациональный" расход памяти для экономия четырёх ячеек, когда рядом продублированы строки гораздо большего размера ("OnPlayerPickUpPickup"). Хотя если серьёзно, тут во всех случаях сам результат даже не стоит затрат на это.
Не хотите постоянно проверять обновления моих скриптов?
Подключите его последним, после всех остальных
Nexius's Update Checker
UPD v1.2.1 - Убран знак подчёркивания ("_") у префикса. Добавлен префикс для перечислений.
Частично компенсируется заданием массиву такого названия, которое будет говорить о его содержимом (взять всё тот же приведённый мной выше пример: str_dd - !"dd").
Я упомянул только те строки, что заметил первыми - не было смысла выискивать и перечислять все, ибо нетрудно догадаться, что любую дублирующуюся строку в инклуде можно объявить в одном экземпляре.
Зависит от приоритетов у автора кода. Если нужно, чтобы выкладываемый в паблик код рационально расходовал ресурсы - вполне стоит того.
В любом случае, учитывая давность этого приёма, а также то, сколько людей пользовались и коммитили в те же fixes.inc, YSI и sscanf2, публичного осуждения этот приём точно не вызовет. Ну, разве что редкие недовольные возгласы отдельных пользователей, которым чуждо всё, что хоть немного усложняет код - но и то не факт.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)