Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для vasyok28
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.08.2015
    Сообщений
    106
    Репутация:
    8 ±

    randomfear() - Рандом с вероятностью

    Описание: С помощью данной функции можно реализовать рандом с вероятностью.

    Сам код:
    PHP код:
    randomfear(array[], size_w sizeof(array)) 

        if(
    size_w 1) return -1;
        new 
    sum 0result 0

        for(new 
    size_w 1> -1i--)
        {
            
    sum += array[i];
            if(
    random(sum) < array[i])
            {
                
    result i;
            }
        }
        return 
    result;

    Пример:
    PHP код:
    new array[] = {531575010};

    for(new 
    i10i++)
    {
        
    printf("%d"randomfear(array));

    Результат: 4 | 5 | 4 | 4 | 4 | 2 | 4 | 3 | 5 | 4

    П.С писал для себя, может кому понадобится. На порталах не нашел данную функцию, либо плохо искал. Если уже есть, удалите пожалуйста))))
    Последний раз редактировалось vasyok28; 11.04.2017 в 12:12.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    randomfear(array[], size_w sizeof(array))
    {
        if(
    size_w 1) return -1;
        new 
    sum 0;

        for(new 
    size_w 10i--)
        {
            
    sum += array[i];
            if(
    random(sum) < array[i])
            {
                return  
    i// нашли число? закончили.. или же надо дальше было искать?
            
    }
        }

    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  3. #3
    Аватар для vasyok28
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.08.2015
    Сообщений
    106
    Репутация:
    8 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    PHP код:
    randomfear(array[], size_w sizeof(array))
    {
        if(
    size_w 1) return -1;
        new 
    sum 0;

        for(new 
    size_w 10i--)
        {
            
    sum += array[i];
            if(
    random(sum) < array[i])
            {
                return  
    i// нашли число? закончили.. или же надо дальше было искать?
            
    }
        }

    Попробуйте:
    PHP код:
    new array[] = {505050};

    for(new 
    i10i++) 

        
    printf("%d"randomfear(array)); 


 

 

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

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

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

Ваши права

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