Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 7
    Гостей: 3
    Пользователи: XoDoK_3a_nuBaCuKoM
    Роботы: Google Bot, crawl Bot, Google Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 29-09-2011, 19:27 Просмотров: 2811

    random_float Функция возвращает дробное случайное значение в заданном диапазоне

    Функция random_float, не так уж и часто применяется, в основном используют случайные целы числа. Но так как данная функция существует, я не имею права о ней не рассказать.
    Поискав в исходниках, нашел только плагин Зомби плагуе, где используется эта фнукиця

    Инфо из amxmodx.inc:
    /* Generates random floating point number from a to b. */
    native Float:random_float(Float:a,Float:b);


    Синтаксис:
    Float: random_float ( Float:a,Float:b )

    • Float:a - Число или переменная минимального числа диапазона
    • Float:b - Число или переменная максимального числа диапазона


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[amxmodx.inc] random_float"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        register_srvcmd("float_random","flt_rndm")
        
    }
    public flt_rndm(){
        //Переменная куда будем записывать результат от работы функции
        new Float:chislo
        
        //первый способ
        chislo = random_float(0.0,10.0)
        server_print("[amxmodx.inc] random_float min 0.0 -> %.1f <- max 10.0",chislo)
        
        //регистрируем переменные для диапазона
        new Float:num1 = 10.0
        new Float:num2 = 100.0

        //Второй способ
        chislo = random_float(num1,num2)
        server_print("[amxmodx.inc] random_float min 10.0 -> %.1f <- max 100.0",chislo)

        //Третий способ    
        server_print("[amxmodx.inc] random_float min 10.0 -> %.1f <- max 100.0",random_float(num1,num2))
        
    }


    Описание:
    Работать будем в консоли сервера.
    Выполнив команду float_random, получите следующий результат:
    float_random
    [amxmodx.inc] random_float min 0.0 -> 9.7 <- max 10.0
    [amxmodx.inc] random_float min 10.0 -> 50.5 <- max 100.0
    [amxmodx.inc] random_float min 10.0 -> 16.1 <- max 100.0

    Обратите внимания, что числа между -> <- У вас будут каждый раз разные, это и есть работа функции, для наглядности по бокам написан максимум и минимум возможных значений.

    Немного о самом коде, выполнив команду в консоли, вызовется функция flt_rndm, в которой будет получено случайное дробное число, тремя разными способами, точнее получено то одним, разница только в подстановке числа напрямую или переменной, а в третьем случае без помещения результата в переменную, сразу выводим в сообщение результат работы функции.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    dendy11

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Очень волнует вопрос, учитываются ли в поле возможных значений мин и макс? То есть, может ли в рандом флоат выпасть в нашем случае 100 или 0?

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама