Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 3 ПерваяПервая 1 2 3
Показано с 21 по 27 из 27

Тема: nstrval

  1. #21
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Вставь твой фикс в любой скрипт, где использовалась стандартная strval и компилятор выплюнет ошибку (одна из причин, по которой не стоит менять логику стандартных функций).
    Да и не всегда требуется проверка того, вёл ли игрок число. Это может быть заранее известно (если информация, например, не игроком вводилась).

    Для подобных случаев гораздо проще использовать sscanf:
    PHP код:
    new string[] = "AZAZA 123",
        
    value;
    sscanf(string"I(-1)"value);
    if(
    value == -1
        return; 
    Естественно "-1" нужно заменять на подходящее по случаю значение (то, которое игрок не может ввести)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  2. Пользователь сказал cпасибо:
    Daniel_Cortez (18.01.2017)
  3. #22
    Аватар для KrutoyKrosch
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.02.2016
    Сообщений
    301
    Репутация:
    7 ±
    Что бы еще выслушивать "А у меня sscanf НЕ ЗАПУСКАЕТСЯ !11!11 Error 19"? Спасибо, мне за сегодня хватило.

  4. #23
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Так я и не говорил писать функцию с использованием sscanf. Я говорил, что вместо подобных фиксов гораздо логичнее использовать именно sscanf, а не создавать в скрипте 1000 функций с одинаковым предназначением. И делать проверки только там, где это действительно требуется, а не везде.

    Твой перехват, например, будет проверять и такую строку
    PHP код:
    strval("155"
    Хотя ещё на этапе компиляции известно, что там число.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #24
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    По моему sscanf сейчас такой же актуальный и стабильный плагин/дополнение как стример и движки dc_cmd, pawn.cmd и т.п.
    Зачем делать то что уже придумано))
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  6. #25
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Во-первых, что означает "n" в названии "nstrval"? Хотелось бы знать, какой логикой вы руководствовались, когда выбирали название (если она вообще имела место).
    Во-вторых, функция возвращает 0, что означает ошибку, если подать на вход строку " 0" (с пробелом), хотя остальные строки с пробелами в начале вполне нормально считываются. Так и задумано?
    Та же самая ошибка проявится, если ввести абсолютно правильные значения "-0" и "+0".
    В-третьих, само по себе выражение "!(!val && string[0] != '0')" неэффективно, т.к. если значение в val будет ненулевым, всё равно будет проверена ячейка string[0].
    К слову, ziggi уже предложил нормальный вариант в этой теме.
    В-четвёртых, зачем вообще городить подобные костыли, когда, как правильно заметили другие в этой теме, уже давно есть плагин sscanf2? Сейчас он используется почти в каждом моде, кроме разве что вшивых RLS, доисторических GF и поделиях таких "профессионалов", которым либо незнание, либо религия не позволяет использовать плагины.
    Цитата Сообщение от KrutoyKrosch Посмотреть сообщение
    Что бы еще выслушивать "А у меня sscanf НЕ ЗАПУСКАЕТСЯ !11!11 Error 19"? Спасибо, мне за сегодня хватило.
    Это уже проблемы неосиляторов.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. #26
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Сейчас он используется почти в каждом моде, кроме разве что вшивых RLS, доисторических GF и поделиях таких "профессионалов", которым либо незнание, либо религия не позволяет использовать плагины.
    Ну а вот я вижу много примеров, когда люди, написав некий fs/include, требуют подключения какого-либо плагина/другого инклуда, который в свою очередь требует третий. Это далеко не всегда удобно, особенно когда в своём скрипте никакие "вложенные" зависимости не используются
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  8. #27
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Ну а вот я вижу много примеров, когда люди, написав некий fs/include, требуют подключения какого-либо плагина/другого инклуда, который в свою очередь требует третий. Это далеко не всегда удобно, особенно когда в своём скрипте никакие "вложенные" зависимости не используются
    Можно подумать, sscanf2 - такая неподъёмная зависимость... -_-
    На деле он уже есть на многих серверах (если не считать за "многие" RLS и всю ту нечисть, что я упомянул в посте выше), не говоря уже о том, что сам плагин никаких третьих зависимостей не требует.
    Изобрести велосипед ты всегда успеешь - другое дело найти разумный компромисс между функционалом и зависимостями, не подводя все плагины/инклуды под одну кальку.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

 
Страница 3 из 3 ПерваяПервая 1 2 3

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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