Другое С/С++ Вопрос - Ответ

sc6ut

неизвестный
Модератор
382
1,075
попробовал проиграть звук в позиции игрока по айди через bass.lib, но не работает, то есть звук проигрывается, но не в позиции игрока. может кто-то знает как исправить?
C++:
float* pos = SF->getSAMP()->getPlayers()->GetOnFootData(wPlayerID)->fPosition;
BASS_ChannelSet3DAttributes(stream, BASS_3DMODE_NORMAL, 0.0f, 0.0f, -1, -1, -1);
BASS_Apply3D();
BASS_ChannelSet3DPosition(stream, new BASS_3DVECTOR(pos[0], pos[1], pos[2]), NULL, NULL);
BASS_Apply3D();
BASS_ChannelPlay(stream, TRUE);
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Первые 2 вызова не нужны тебе и для расчетов тебе надо юзать еще вот эту функцию насколько я понял. Посмотри как реализованно в samp voice еще
 
  • Нравится
Реакции: sc6ut

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
попробовал проиграть звук в позиции игрока по айди через bass.lib, но не работает, то есть звук проигрывается, но не в позиции игрока. может кто-то знает как исправить?
C++:
float* pos = SF->getSAMP()->getPlayers()->GetOnFootData(wPlayerID)->fPosition;
BASS_ChannelSet3DAttributes(stream, BASS_3DMODE_NORMAL, 0.0f, 0.0f, -1, -1, -1);
BASS_Apply3D();
BASS_ChannelSet3DPosition(stream, new BASS_3DVECTOR(pos[0], pos[1], pos[2]), NULL, NULL);
BASS_Apply3D();
BASS_ChannelPlay(stream, TRUE);
C++:
BASS_Set3DPosition(ListenerPosition, 0, 0, 0); // Установка позиции слушателя
BASS_ChannelSet3DPosition(channel, &Pos, NULL, NULL); // Установка позиции Канала
BASS_Apply3D();
 
  • Нравится
Реакции: legendabrn и sc6ut

frosjkee

Активный
122
25
*(DWORD*)((g_dwSAMP_Addr + 0x215AC8)
Carcols.dat samp.dll(0.3.7) - 0x215AC8 адрес не для всех версий, на р3 какой может у кого есть
 

tor1

Активный
158
42
Помогите плз, если кто-то сталкивался.
Почему у меня SFPlugin проекте не видит стандартные библиотеки, точнее пишет cant open в error listе, пытался добавить их путь вручную - тоже самое
Может ли быть из-за этого вот этого и как фиксить? Пытался менять под свой билд в самом проекте - библиотеки не видит
1613580710521.png
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
Помогите плз, если кто-то сталкивался.
Почему у меня SFPlugin проекте не видит стандартные библиотеки, точнее пишет cant open в error listе, пытался добавить их путь вручную - тоже самое
Может ли быть из-за этого вот этого и как фиксить? Пытался менять под свой билд в самом проекте - библиотеки не видит
Посмотреть вложение 86661
Тебе решение проблемы написало.....
 

Fomikus

Известный
Проверенный
472
341
Крч, регаю команду > отправляю в неё строку ( К примеру - "423 758" )
Как получить 2 числа в 2 переменные?
С первым все просто, второе - хз.
regex отказывается хавать. (Ну тут скорее всего я кривой)
 

Fomikus

Известный
Проверенный
472
341
Как перевести цвет игрока в хекс?
Lua:
--Lua
color = ("%06X"):format(bit.band(sampGetPlayerColor(id), 0xFFFFFF))
 

checkdasound

Известный
Проверенный
963
406
Как перевести цвет игрока в хекс?
Lua:
--Lua
color = ("%06X"):format(bit.band(sampGetPlayerColor(id), 0xFFFFFF))
если тебе нужно цвет игрока цифрами перевести в 0x..., то это dec to hex.
C++:
std::string DecimalToHeximal(int dec)
{
    char hex[20];
    _itoa(dec, hex, 16);
    return hex;
}
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
если тебе нужно цвет игрока цифрами перевести в 0x..., то это dec to hex.
C++:
std::string DecimalToHeximal(int dec)
{
    char hex[20];
    _itoa(dec, hex, 16);
    return hex;
}
Застрелись.
C++:
std::string IntToHexString(unsigned int digit) {
    std::stringstream Hex;
    Hex << std::setw(8) << std::hex << digit;
    return Hex.str();
}

Либо на C++20:
C++:
inline std::string IntToHexString(unsigned int digit) {
    return std::format("{:08X}", digit);
}
 

kin4stat

mq-team
Всефорумный модератор
2,730
4,710
Так то его метод быстрее стрима.

А самый быстрый вариант с to_chars/from_chsrs https://en.cppreference.com/w/cpp/utility/to_chars
Быстрее, но _itoa это платформозависимая функция, так еще из Си, а также она не может добавить незначащих нулей в начало
to_chars не умеет в добавление нулей в начало и конвертация в hex, а также не особо неудобен в использовании
UPD: to_chars имеет fmt, в котором можно обозначить hex, но все также не умеет в добавление незначащих нулей