Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
Ruby » 07 июл 2019, 13:13
Как будет UTIL_SharedRandomFloat на amxx?
- Код: Выделить всё
float UTIL_SharedRandomFloat(unsigned int seed, float low, float high)
{
unsigned int range = high - low;
U_Srand((unsigned int)seed + *(unsigned int *)&low + *(unsigned int *)&high);
U_Random();
U_Random();
if (range)
{
int tensixrand = U_Random() & 0xFFFFu;
float offset = float(tensixrand) / 0x10000u;
return (low + offset * range);
}
return low;
}
-
Ruby
-
- Сообщения: 4
- Зарегистрирован: 07 июл 2019, 13:03
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Я ничего не знаю
fl0wer » 07 июл 2019, 14:33
random_float
-
fl0wer
-
- Сообщения: 1687
- Зарегистрирован: 27 фев 2011, 21:35
- Откуда: Россия, Ижевск
- Благодарил (а): 240 раз.
- Поблагодарили: 508 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: C++, Java, PAWN
-
Ruby » 07 июл 2019, 15:35
Есть код:
- Код: Выделить всё
x = UTIL_SharedRandomFloat(shared_rand, -0.5, 0.5) + UTIL_SharedRandomFloat(shared_rand + 1, -0.5, 0.5);
y = UTIL_SharedRandomFloat(shared_rand + 2, -0.5, 0.5) + UTIL_SharedRandomFloat(shared_rand + 3, -0.5, 0.5);
А как быть с первым значением? (shared_rand)
- Код: Выделить всё
y = shared_rand + 2 + random_float( -0.5, 0.5 ) + shared_rand + 3 + random_float( -0.5, 0.5 );
или нет?
-
Ruby
-
- Сообщения: 4
- Зарегистрирован: 07 июл 2019, 13:03
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Я ничего не знаю
Mistrick » 07 июл 2019, 17:04
Вы должны зарегистрироваться, чтобы видеть ссылки. ... .cpp#L4829
Семя рандома берется из CmdStart форварда.
Внутри вашей UTIL_SharedRandomFloat еще U_Srand, U_Random им аналогов в амхх нет. Скопировать поведение вы не сможете.
-
Mistrick
-
- Сообщения: 2940
- Зарегистрирован: 04 ноя 2012, 18:15
- Благодарил (а): 43 раз.
- Поблагодарили: 1247 раз.
- Языки программирования: PAWN
С/С++(few above zero)
Ruby » 07 июл 2019, 19:07
Немного погуглив прочёл, что семя используется для того, чтобы каждый раз числа генерировались не по определенному шаблону. Так ведь?
А random_float генерирует числа также по определенному шаблону или нет? (Нет возможности проверить)
Если нет, то можно просто его использовать?
-
Ruby
-
- Сообщения: 4
- Зарегистрирован: 07 июл 2019, 13:03
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Я ничего не знаю
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3