Привет! Если вы читаете это - вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы получить доступ ко всем разделам нашего форума. Удачи!
Показано с 1 по 4 из 4

Тема: YCMD vs YCMD+SSCANF2

  1. #1
    ? FreeLancer ? Аватар для RastaOrecha
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    27
    Сообщений
    1,857
    Репутация: 229

    Звание: - весьма и весьма положительная личность

    YCMD vs YCMD+SSCANF2

    Привет всем!

    Я задал вопрос Y_Less на са-мп.ком по использованию YCMD.

    Я спросил как проверить наличие всех параметров после пробела.

    Он ответил что нужно использовать sscanf.

    Так вот, я хочу спросить вас, не будет YCMD+SSCANF2 дольше работать?

    Вот пример на YCMD:

    PHP код:
    YCMD:sethp(playeridparams[], help)
    {
        
    #pragma unused help
        
    Command_AddAltNamed("sethp""sethealth");
        if(
    isnull(params)) return SendClientMessage(playerid0xFF0000AA"[x]Использовать /sethp [id] [значение]");
        if(!
    strlen(params[1])) return SendClientMessage(playerid0xFF0000AA"[x]Использовать /sethp [id] [значение]");
        if(
    strval(params[0]) == INVALID_PLAYER_ID) return SendClientMessage(playerid0xFF0000AA"[x]Нет такого игрока");
        
    SetPlayerHealth(strval(params[0]),strval(params[1]));
        return 
    true;

    Вот YCMD+SSCANF2:

    PHP код:
    YCMD:sethp(playeridparams[], help)
    {
        new 
    playa,heal;
        if(
    sscanf(params,"ii",playaheal)) return SendClientMessage(playerid,-1,"[x]Использовать: /sethp [id игрока] [кол-во]");
        if(!
    IsPlayerConnected(playa)) return SendClientMessage(playerid,-1,"[x]Нет такого игрока");
        
    SetPlayerHealth(playaheal);
        return 
    true;

    Вот как это выглядит, очень хочу услышать вашего ответа в скорости выполнения.
    Отблагодарю +!



    Код:
    PAWN:
    
    • [PAWN Wiki] Пишем регистрацию с 0 на Y_INI
    • [PAWN Wiki] Использование YCMD (y_commands) + SSCANF 2.x
    • [PAWN Wiki] Использование Y_Timers
    • [PAWN Wiki] Разделяем мод на инклуды (y_hooks)
    • [PAWN Wiki] Использование UVar
    • [PAWN Wiki] Единая тема оптимизации
    • [Интересные комманды] Cмена ника MySQL 
    • [Интересные комманды] Full Set
    • [Интересные комманды] Телепорт по указанным координатам 
    • [Скрипты и инклуды] jBank System [version 1]
    • [Скрипты и инклуды] jRegistration System
    
    Lua:
    • [Wiki] Создание мода с 0
    • [Wiki] Дерево элементов | new
    • [Wiki] Бинд клавиш или комманда на кнопку
    • [Func] eachOther (повторение числа/строки) | new
    Маппинг:
    
    • [MAP] Квартира в центре (приятный вид)
    • [Source] Маленькое помещение с видом из окна
    • [Source] Пустое помещение с панорамными окнами
    
    HTML, JavaScript:
    
    • [HTML] Подключение таблицы стилей CSS к HTML
    • [HTML][CSS] Красивый текст снизу картинки
    
    C#, C++ :
    
    • [C++] Действие на кнопку (при нажатии на кнопку)
    • [C++] Работа с файлами
    • [C++] Склоняем






    “When you have insomnia, you're never really asleep. And you're really awake.”
    “Никогда не указывайте на ошибки, если не знаете, как их исправить.” - Бернард Шоу.
    “Если ты способен выдумать что-то, ты можешь и сделать это.” - Уолт Дисней.
    “Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.” - Элеонор Рузвельт.

  2. #2
    Активный пользователь Аватар для AррLe™
    Регистрация
    28.09.2011
    Адрес
    Самара, ага.
    Возраст
    27
    Сообщений
    1,435
    Репутация: 80

    Звание: скоро придёт к известности

    Re: YCMD vs YCMD+SSCANF2

    Может немного не в тему, но дам совет: ты же используешь sscanf2, так зачем ты создаёшь переменные?

    Вот твоя команда:


    YCMD:sethp(playerid, params[], help)
    {
    new playa,heal;
    if(sscanf(params,"ii",playa, heal)) return SendClientMessage(playerid,-1,"[x]Использовать: /sethp [id игрока] [кол-во]");
    if(!IsPlayerConnected(playa)) return SendClientMessage(playerid,-1,"[x]Нет такого игрока");
    SetPlayerHealth(playa, heal);
    return true;
    }


    А вот моя, с правильным применением sscanf:


    YCMD:sethp(playerid, params[], help)
    {
    if(sscanf(params,"dd",params[0], params[1])) return SendClientMessage(playerid,-1,"[x]Использовать: /sethp [id игрока] [кол-во]");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,-1,"[x]Нет такого игрока");
    SetPlayerHealth(params[0], params[1]);
    return true;
    }


    ---

    По теме: да же если и будет медленнее, то это будет не значительно, то есть практически без разницы.
    [SIGPIC][/SIGPIC]

  3. #3
    Активный пользователь Аватар для Тимка
    Регистрация
    28.08.2010
    Адрес
    г.Казань
    Возраст
    30
    Сообщений
    362
    Репутация: 11

    Звание: на пути к лучшему

    Re: YCMD vs YCMD+SSCANF2

    //Удаленно.Извиняюсь, перепутал.

  4. #4
    ? FreeLancer ? Аватар для RastaOrecha
    Регистрация
    12.07.2011
    Адрес
    Челябинск
    Возраст
    27
    Сообщений
    1,857
    Репутация: 229

    Звание: - весьма и весьма положительная личность

    Re: YCMD vs YCMD+SSCANF2

    InFluеNcе, извиняюсь, писал на скорую руку прямо на форуме!
    Ответ на вопрос получил!
    Спасибо большое InFluеNcею
    Closed!



    Код:
    PAWN:
    
    • [PAWN Wiki] Пишем регистрацию с 0 на Y_INI
    • [PAWN Wiki] Использование YCMD (y_commands) + SSCANF 2.x
    • [PAWN Wiki] Использование Y_Timers
    • [PAWN Wiki] Разделяем мод на инклуды (y_hooks)
    • [PAWN Wiki] Использование UVar
    • [PAWN Wiki] Единая тема оптимизации
    • [Интересные комманды] Cмена ника MySQL 
    • [Интересные комманды] Full Set
    • [Интересные комманды] Телепорт по указанным координатам 
    • [Скрипты и инклуды] jBank System [version 1]
    • [Скрипты и инклуды] jRegistration System
    
    Lua:
    • [Wiki] Создание мода с 0
    • [Wiki] Дерево элементов | new
    • [Wiki] Бинд клавиш или комманда на кнопку
    • [Func] eachOther (повторение числа/строки) | new
    Маппинг:
    
    • [MAP] Квартира в центре (приятный вид)
    • [Source] Маленькое помещение с видом из окна
    • [Source] Пустое помещение с панорамными окнами
    
    HTML, JavaScript:
    
    • [HTML] Подключение таблицы стилей CSS к HTML
    • [HTML][CSS] Красивый текст снизу картинки
    
    C#, C++ :
    
    • [C++] Действие на кнопку (при нажатии на кнопку)
    • [C++] Работа с файлами
    • [C++] Склоняем






    “When you have insomnia, you're never really asleep. And you're really awake.”
    “Никогда не указывайте на ошибки, если не знаете, как их исправить.” - Бернард Шоу.
    “Если ты способен выдумать что-то, ты можешь и сделать это.” - Уолт Дисней.
    “Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.” - Элеонор Рузвельт.

Похожие темы

  1. важный вопрос по ycmd
    от RastaOrecha в разделе Вопросы по скриптингу
    Ответов: 6
    Последнее сообщение: 27.02.2012, 07:57
  2. Плейсхолдер и sscanf2
    от МамаЕще5Минут в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 03.02.2012, 15:53
  3. Ycmd
    от H1d3N в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 14.12.2011, 01:25
  4. sscanf2
    от Jack228 в разделе Вопросы по скриптингу
    Ответов: 9
    Последнее сообщение: 11.12.2011, 05:21
  5. [WARNING + ERROR] Include Sscanf2
    от Jack007 в разделе Проблемы с компилированием
    Ответов: 12
    Последнее сообщение: 27.11.2011, 17:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •