HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #5381  
Старый 22.07.2021, 20:34
Krisp
Новичок
Регистрация: 03.11.2018
Сообщений: 23
С нами: 3961687

Репутация: 3
По умолчанию

А чё тут конкретно вписать надо?

code:





Код:
#pragma once
#include "PluginBase.h"
#include "RenderWare.h"

class CVector {
public:
    float x, y, z;

    CVector();
    CVector(float X, float Y, float Z);

    inline CVector(CVector const& src) {
        x = src.x; y = src.y; z = src.z;
    }

    inline CVector(RwV3d const &right) {
        FromRwV3d(right);
    }

    // Returns length of vector
    float Magnitude();

    // Returns length of 2d vector
    float Magnitude2D();

    // Normalises a vector
    void Normalise();

    // Normalises a vector and returns length
    float NormaliseAndMag();

    // Performs cross calculation
    void Cross(const CVector& left, const CVector &right);

    // Adds left + right and stores result
    void Sum(const CVector& left, const CVector &right);

    // Subtracts left - right and stores result
    void Difference(const CVector& left, const CVector &right);

    void operator=(const CVector& right);
    void operator+=(const CVector& right);
    void operator-=(const CVector& right);
    void operator *= (float multiplier);
    void operator /= (float divisor);

    // matrix * vector multiplication
    void FromMultiply(class CMatrix  const& matrix, CVector const& vector);
    void FromMultiply3x3(class CMatrix  const& matrix, CVector const& vector);

    inline void Set(float X, float Y, float Z) {
        x = X; y = Y; z = Z;
    }

    inline RwV3d ToRwV3d() const {
        return{ x, y, z };
    }

    inline void FromRwV3d(RwV3d const &rwvec) {
        x = rwvec.x; y = rwvec.y; z = rwvec.z;
    }
};

inline CVector operator-(const CVector& vecOne, const CVector& vecTwo) {
    return CVector(vecOne.x - vecTwo.x, vecOne.y - vecTwo.y, vecOne.z - vecTwo.z);
}

inline CVector operator+(const CVector& vecOne, const CVector& vecTwo) {
    return CVector(vecOne.x + vecTwo.x, vecOne.y + vecTwo.y, vecOne.z + vecTwo.z);
}

inline CVector operator*(const CVector& vec, float multiplier) {
    return CVector(vec.x * multiplier, vec.y * multiplier, vec.z * multiplier);
}

inline CVector operator*(float multiplier, const CVector& vec) {
    return CVector(vec.x * multiplier, vec.y * multiplier, vec.z * multiplier);
}

inline float DistanceBetweenPoints(const CVector &pointOne, const CVector &pointTwo) {
    CVector diff = pointTwo - pointOne;
    return diff.Magnitude();
}

VALIDATE_SIZE(CVector, 0xC);
 
Ответить с цитированием

  #5382  
Старый 22.07.2021, 20:35
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от Krisp  

А чё тут конкретно вписать надо?

code:





Код:
#pragma once
#include "PluginBase.h"
#include "RenderWare.h"

class CVector {
public:
    float x, y, z;

    CVector();
    CVector(float X, float Y, float Z);

    inline CVector(CVector const& src) {
        x = src.x; y = src.y; z = src.z;
    }

    inline CVector(RwV3d const &right) {
        FromRwV3d(right);
    }

    // Returns length of vector
    float Magnitude();

    // Returns length of 2d vector
    float Magnitude2D();

    // Normalises a vector
    void Normalise();

    // Normalises a vector and returns length
    float NormaliseAndMag();

    // Performs cross calculation
    void Cross(const CVector& left, const CVector &right);

    // Adds left + right and stores result
    void Sum(const CVector& left, const CVector &right);

    // Subtracts left - right and stores result
    void Difference(const CVector& left, const CVector &right);

    void operator=(const CVector& right);
    void operator+=(const CVector& right);
    void operator-=(const CVector& right);
    void operator *= (float multiplier);
    void operator /= (float divisor);

    // matrix * vector multiplication
    void FromMultiply(class CMatrix  const& matrix, CVector const& vector);
    void FromMultiply3x3(class CMatrix  const& matrix, CVector const& vector);

    inline void Set(float X, float Y, float Z) {
        x = X; y = Y; z = Z;
    }

    inline RwV3d ToRwV3d() const {
        return{ x, y, z };
    }

    inline void FromRwV3d(RwV3d const &rwvec) {
        x = rwvec.x; y = rwvec.y; z = rwvec.z;
    }
};

inline CVector operator-(const CVector& vecOne, const CVector& vecTwo) {
    return CVector(vecOne.x - vecTwo.x, vecOne.y - vecTwo.y, vecOne.z - vecTwo.z);
}

inline CVector operator+(const CVector& vecOne, const CVector& vecTwo) {
    return CVector(vecOne.x + vecTwo.x, vecOne.y + vecTwo.y, vecOne.z + vecTwo.z);
}

inline CVector operator*(const CVector& vec, float multiplier) {
    return CVector(vec.x * multiplier, vec.y * multiplier, vec.z * multiplier);
}

inline CVector operator*(float multiplier, const CVector& vec) {
    return CVector(vec.x * multiplier, vec.y * multiplier, vec.z * multiplier);
}

inline float DistanceBetweenPoints(const CVector &pointOne, const CVector &pointTwo) {
    CVector diff = pointTwo - pointOne;
    return diff.Magnitude();
}

VALIDATE_SIZE(CVector, 0xC);

Тут надо прочитать 7 строку, и использовать CVector::y, а не CVector::fY
 
Ответить с цитированием

  #5383  
Старый 22.07.2021, 20:38
Krisp
Новичок
Регистрация: 03.11.2018
Сообщений: 23
С нами: 3961687

Репутация: 3
По умолчанию

Цитата:
Сообщение от SR_team  

Тут надо прочитать 7 строку, и использовать CVector::y, а не CVector::fY
Тоесть мне везде где fX, нужно заменить на x?
 
Ответить с цитированием

  #5384  
Старый 22.07.2021, 20:48
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Цитата:
Сообщение от Krisp  

Тоесть мне везде где fX, нужно заменить на x?
Yes
 
Ответить с цитированием

  #5385  
Старый 23.07.2021, 13:23
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

Репутация: 213
По умолчанию

Цитата:
Сообщение от MIckromax  

Привет! Хочу сделать бота для сервера, а именно для водолазов, как ему задать маршрут? Напишите или скиньте какой-то туториал по этому? Если что хочу сделать в формате dll
Пачка туторов по написанию dll
 
Ответить с цитированием

  #5386  
Старый 24.07.2021, 02:16
|| NN - NoName ||
Познавший АНТИЧАТ
Регистрация: 21.12.2016
Сообщений: 1,046
С нами: 4943565

Репутация: 168


По умолчанию

Долго искал и до сих пор ищу ответ на интересующий меня вопрос.

Суть вопроса: как мне подключить SAMP-api к проекту?

Вот у меня есть SAMP-api. Что мне делать дальше? Как его подключить к моему проекту?







Мне нужно только 0.3.7-R1
 
Ответить с цитированием

  #5387  
Старый 24.07.2021, 07:48
.deserve
Познающий
Регистрация: 06.09.2018
Сообщений: 32
С нами: 4045092

Репутация: 23
По умолчанию

Цитата:
Сообщение от || NN - NoName ||  

Долго искал и до сих пор ищу ответ на интересующий меня вопрос.

Суть вопроса: как мне подключить SAMP-api к проекту?

Вот у меня есть SAMP-api. Что мне делать дальше? Как его подключить к моему проекту?

Мне нужно только 0.3.7-R1
Я не совсем понимаю что ты тогда мог искать, если не смог найти как подключить статическую/динамическую библиотеку к своему проекту.

Я не знаю, что это за проект и что он генерит, но тебе в любом случае нужно подключить хидеры (.h files) в свой проект, а после этого скомпилить проект и подключить библиотеку к проекту, в зависимости от того че там и от того че ты хочешь. Если статика - то делать особо нечего, в msdn даже есть: тык

А если динамическая, то тебе решать как ты хочешь юзать её функции и как ее подключать. Но они все равно объявлены в header files, поэтому их тебе нужно все равно подключать. А далее смотришь тут

По твоим хотелкам дальше - либо явное связывание, либо неявное, либо если тебе надо чтобы все шло по маслу до того как ты вызовешь функцию из библиотеки, то используй отложенную загрузку (только не с kernel32.dll, но тебе её и не нужно отложенно загружать), но при этом не используй FreeLibrary.

Тебе я так полагаю больше неявное связывание подойдет, ибо меньше мороки.

По сути всё. И это применимо не только к твоему проекту, но и ко всем сторонним библиотекам.
 
Ответить с цитированием

  #5388  
Старый 24.07.2021, 16:25
|| NN - NoName ||
Познавший АНТИЧАТ
Регистрация: 21.12.2016
Сообщений: 1,046
С нами: 4943565

Репутация: 168


По умолчанию

Цитата:
Сообщение от .deserve  

Я не совсем понимаю что ты тогда мог искать, если не смог найти как подключить статическую/динамическую библиотеку к своему проекту.

Я не знаю, что это за проект и что он генерит, но тебе в любом случае нужно подключить хидеры (.h files) в свой проект, а после этого скомпилить проект и подключить библиотеку к проекту, в зависимости от того че там и от того че ты хочешь. Если статика - то делать особо нечего, в msdn даже есть: тык
А если динамическая, то тебе решать как ты хочешь юзать её функции и как ее подключать. Но они все равно объявлены в header files, поэтому их тебе нужно все равно подключать. А далее смотришь тут
По твоим хотелкам дальше - либо явное связывание, либо неявное, либо если тебе надо чтобы все шло по маслу до того как ты вызовешь функцию из библиотеки, то используй отложенную загрузку (только не с kernel32.dll, но тебе её и не нужно отложенно загружать), но при этом не используй FreeLibrary.
Тебе я так полагаю больше неявное связывание подойдет, ибо меньше мороки.
По сути всё. И это применимо не только к твоему проекту, но и ко всем сторонним библиотекам.
Благодарю. Мне все объяснили и я сразу понял в чём была моя ошибка.
 
Ответить с цитированием

  #5389  
Старый 25.07.2021, 15:55
loganhackerdff
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами: 4633764

Репутация: 148


По умолчанию

Привет всем

мне нужна хелпа с имги

у меня есть функция получения названия раскладки:

C++:





Код:
std
::
string
GetKeyBoardLocaleName
(
)
{
char
OutBuff
[
16
]
;
GetKeyboardLayoutNameA
(
OutBuff
)
;
char
buffer
[
255
]
;
GetLocaleInfoA
(
strtol
(
OutBuff
,
(
char
*
*
)
OutBuff
[
strlen
(
OutBuff
)
]
,
16
)
,
LOCALE_SLANGUAGE
,
buffer
,
sizeof
(
buffer
)
/
sizeof
(
char
)
)
;
return
buffer
;
}


Я также загуражю шрифт с поддержкой Кирилицы, русский текст у меня рисуеться, но вот вместо названия раскладки знаки вопроса

C++:





Код:
char
szBuffer
[
128
]
;
sprintf
(
szBuffer
,
(
const
char
*
)
u8
"Раскладка: %s"
,
GetKeyBoardLocaleName
(
)
.
c_str
(
)
)
;
ImGui
::
TextColored
(
ImVec4
(
m_v4Color
.
x
,
m_v4Color
.
y
,
m_v4Color
.
z
,
1.f
)
,
szBuffer
)
;


В MessageBoxA() текст выводиться, раньше я рендерил через Font на SF, сейчас всё через ImGui
 
Ответить с цитированием

  #5390  
Старый 25.07.2021, 15:56
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от loganhackerdff  

Привет всем
мне нужна хелпа с имги
у меня есть функция получения названия раскладки:

C++:





Код:
std
::
string
GetKeyBoardLocaleName
(
)
{
char
OutBuff
[
16
]
;
GetKeyboardLayoutNameA
(
OutBuff
)
;
char
buffer
[
255
]
;
GetLocaleInfoA
(
strtol
(
OutBuff
,
(
char
*
*
)
OutBuff
[
strlen
(
OutBuff
)
]
,
16
)
,
LOCALE_SLANGUAGE
,
buffer
,
sizeof
(
buffer
)
/
sizeof
(
char
)
)
;
return
buffer
;
}


Я также загуражю шрифт с поддержкой Кирилицы, русский текст у меня рисуеться, но вот вместо названия раскладки знаки вопроса

C++:





Код:
char
szBuffer
[
128
]
;
sprintf
(
szBuffer
,
(
const
char
*
)
u8
"Раскладка: %s"
,
GetKeyBoardLocaleName
(
)
.
c_str
(
)
)
;
ImGui
::
TextColored
(
ImVec4
(
m_v4Color
.
x
,
m_v4Color
.
y
,
m_v4Color
.
z
,
1.f
)
,
szBuffer
)
;

у тебя слово "Раскладка" в UTF-8, а GetLocaleInfoA отдает cp1251
 
Ответить с цитированием
Ответ





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


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.