Где второй аргумент "params" в основании команды?
Где второй аргумент "params" в основании команды?
Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman
Desulaid (13.12.2015)
Лично я не вижу причин пропускать массив params, даже если он не используется.
Во-первых, тенически команда на ZCMD/DC_CMD - это public-функция, а у таких функций компилятор не выдаёт предупреждений о неиспользуемых аргументах.
Во-вторых, непривычно читать нестандартный заголовок функции.
В-третьих, даже если убрать из заголовка аргумент params, это никак не отразится на работе команды - в функцию всё так же будут передаваться 2 аргумента: число и адрес строки с параметрами команды.
В-четвёртых, в других языках несовпадение параметров у экспортируемых функций может привести к падению программы. Даже если в Pawn такой проблемы нет, всё равно следует с самого начала привыкать прописывать все параметры, чтобы избежать подобных недоразумений при работе с другими ЯП.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
В целом, я с вами согласен, Daniel.
Вот ещё некоторые замечания по предоставленной теме:
1. Если вы будете использовать «ALT» в командном процессоре «dc_cmd», то будет ошибка (точнее, предупреждение: «warning 202: number of arguments does not match definition»), так как аргументы возвращаемой функции передают «params».
2. Плагин/Скрипт командного процессора в любом случае будет передавать массив «params».
Не просто "когда-нибудь закончатся", а вообще не дадут желаемого эффекта. Любые значения, кроме NaN (0x7F800000 в данном случае, но есть и другие варианты), подгоняются под диапазон от 0 до 255. Таким образом, если установить игроку 256 ХП, полоса здоровья не будет мигать и будет полной, но игрок сдохнет от любого неаккуратного прыжка с небольшой высоты, при этом GetPlayerHealth будет возвращать 0.0 ХП. В свою очередь, от 999 999 будет эффект, как от 999999 % 256 = 63 ХП.
Исключительная ситуация с NaN, скорее всего, связана с тем, что NaN не равно даже самому себе и сравнение с ним других чисел должно производиться особым образом (чего разработчики GTA:SA и не учли). По сути, это очередной баг, который можно использовать в целях скриптера.
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)