 |
|

22.07.2021, 20:34
|
|
Новичок
Регистрация: 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);
|
|
|

22.07.2021, 20:35
|
|
Флудер
Регистрация: 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
|
|
|

22.07.2021, 20:38
|
|
Новичок
Регистрация: 03.11.2018
Сообщений: 23
С нами:
3961687
Репутация:
3
|
|
Сообщение от SR_team
Тут надо прочитать 7 строку, и использовать CVector::y, а не CVector::fY
Тоесть мне везде где fX, нужно заменить на x?
|
|
|

22.07.2021, 20:48
|
|
Постоянный
Регистрация: 24.07.2017
Сообщений: 867
С нами:
4633764
Репутация:
148
|
|
Сообщение от Krisp
Тоесть мне везде где fX, нужно заменить на x?
Yes
|
|
|

23.07.2021, 13:23
|
|
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами:
4091290
Репутация:
213
|
|
Сообщение от MIckromax
Привет! Хочу сделать бота для сервера, а именно для водолазов, как ему задать маршрут? Напишите или скиньте какой-то туториал по этому? Если что хочу сделать в формате dll
Пачка туторов по написанию dll
|
|
|

24.07.2021, 02:16
|
|
Познавший АНТИЧАТ
Регистрация: 21.12.2016
Сообщений: 1,046
С нами:
4943565
Репутация:
168
|
|
Долго искал и до сих пор ищу ответ на интересующий меня вопрос.
Суть вопроса: как мне подключить SAMP-api к проекту?
Вот у меня есть SAMP-api. Что мне делать дальше? Как его подключить к моему проекту?
Мне нужно только 0.3.7-R1
|
|
|

24.07.2021, 07:48
|
|
Познающий
Регистрация: 06.09.2018
Сообщений: 32
С нами:
4045092
Репутация:
23
|
|
Сообщение от || NN - NoName ||
Долго искал и до сих пор ищу ответ на интересующий меня вопрос.
Суть вопроса: как мне подключить SAMP-api к проекту?
Вот у меня есть SAMP-api. Что мне делать дальше? Как его подключить к моему проекту?
Мне нужно только 0.3.7-R1
Я не совсем понимаю что ты тогда мог искать, если не смог найти как подключить статическую/динамическую библиотеку к своему проекту.
Я не знаю, что это за проект и что он генерит, но тебе в любом случае нужно подключить хидеры (.h files) в свой проект, а после этого скомпилить проект и подключить библиотеку к проекту, в зависимости от того че там и от того че ты хочешь. Если статика - то делать особо нечего, в msdn даже есть: тык
А если динамическая, то тебе решать как ты хочешь юзать её функции и как ее подключать. Но они все равно объявлены в header files, поэтому их тебе нужно все равно подключать. А далее смотришь тут
По твоим хотелкам дальше - либо явное связывание, либо неявное, либо если тебе надо чтобы все шло по маслу до того как ты вызовешь функцию из библиотеки, то используй отложенную загрузку (только не с kernel32.dll, но тебе её и не нужно отложенно загружать), но при этом не используй FreeLibrary.
Тебе я так полагаю больше неявное связывание подойдет, ибо меньше мороки.
По сути всё. И это применимо не только к твоему проекту, но и ко всем сторонним библиотекам.
|
|
|

24.07.2021, 16:25
|
|
Познавший АНТИЧАТ
Регистрация: 21.12.2016
Сообщений: 1,046
С нами:
4943565
Репутация:
168
|
|
Сообщение от .deserve
Я не совсем понимаю что ты тогда мог искать, если не смог найти как подключить статическую/динамическую библиотеку к своему проекту.
Я не знаю, что это за проект и что он генерит, но тебе в любом случае нужно подключить хидеры (.h files) в свой проект, а после этого скомпилить проект и подключить библиотеку к проекту, в зависимости от того че там и от того че ты хочешь. Если статика - то делать особо нечего, в msdn даже есть: тык
А если динамическая, то тебе решать как ты хочешь юзать её функции и как ее подключать. Но они все равно объявлены в header files, поэтому их тебе нужно все равно подключать. А далее смотришь тут
По твоим хотелкам дальше - либо явное связывание, либо неявное, либо если тебе надо чтобы все шло по маслу до того как ты вызовешь функцию из библиотеки, то используй отложенную загрузку (только не с kernel32.dll, но тебе её и не нужно отложенно загружать), но при этом не используй FreeLibrary.
Тебе я так полагаю больше неявное связывание подойдет, ибо меньше мороки.
По сути всё. И это применимо не только к твоему проекту, но и ко всем сторонним библиотекам.
Благодарю. Мне все объяснили и я сразу понял в чём была моя ошибка.
|
|
|

25.07.2021, 15:55
|
|
Постоянный
Регистрация: 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
|
|
|

25.07.2021, 15:56
|
|
Флудер
Регистрация: 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)
|
|
|
|