- 666
- 296
drawlist, в гугле и гитхабе имгуи должны быть примерыКак рисоаать имгуи рендером вне окна имгуи(просто текст выводить)? ( sf api)
после нюфрейма вот пример а ваще можно было и гуглом воспользоватся =)Как рисоаать имгуи рендером вне окна имгуи(просто текст выводить)? ( sf api)
const auto drawlist = ImGui::GetBackgroundDrawList();
drawlist->AddRectFilled(ImVec2(0, 0), ImVec2(text_size.x + 20.0f, text_size.y + 20.0f), ImGui::GetColorU32(ImVec4(0.7, 0.7, 0.7, 0.65)), 3.0f);
drawlist->AddText(ImVec2(10.0f, 10.0f), ImGui::GetColorU32(ImVec4(1.0f, 1.0f, 1.0f, 1.0f)), test.data());
тут почекай https://github.com/hertanion/Open-SAMPЕсть список всех существующих AnimFlags в онфут синхре?
Так и не нашёл.
Есть список всех существующих AnimFlags в онфут синхре?
union {
struct {
uint16_t id;
uint8_t frameDelta;
union {
struct {
bool loop : 1;
bool lockX : 1;
bool lockY : 1;
bool freeze : 1;
uint8_t time : 2;
uint8_t _unused : 1;
bool regular : 1;
};
uint8_t value;
} flags;
} animation;
struct {
uint16_t animationId;
uint16_t animationFlags;
};
};
Это же просто структура рпс. Ааааа!! Т.е. получается animationFlags это просто дополнительные параметры этих рпс, токо упакованные в один интеджер вот это дааа....C++:union { struct { uint16_t id; uint8_t frameDelta; union { struct { bool loop : 1; bool lockX : 1; bool lockY : 1; bool freeze : 1; uint8_t time : 2; uint8_t _unused : 1; bool regular : 1; }; uint8_t value; } flags; } animation; struct { uint16_t animationId; uint16_t animationFlags; }; };
void CPed::GiveWeapon(int nWeapon, int nAmmo) {
((void(__thiscall*)(CPed*, int, int))GetAddress(0xAA060))(this, nWeapon, nAmmo);
}
AEF00всем ку, кароче юзаю samp api, там у класса CPed для R1 есть метод GiveWeapon
а у R3-1 нету, немогли бы вы пожалуйста дать адресс этой функции у класса CPed для R3-1C++:void CPed::GiveWeapon(int nWeapon, int nAmmo) { ((void(__thiscall*)(CPed*, int, int))GetAddress(0xAA060))(this, nWeapon, nAmmo); }
Допустим про безымянные классы я кое что слышал, а можешь пояснить для чего нужны безымянные классы, у которых нет ни одного экземпляра? Как происходит обращение к ним?C++:union { struct { uint16_t id; uint8_t frameDelta; union { struct { bool loop : 1; bool lockX : 1; bool lockY : 1; bool freeze : 1; uint8_t time : 2; uint8_t _unused : 1; bool regular : 1; }; uint8_t value; } flags; } animation; struct { uint16_t animationId; uint16_t animationFlags; }; };
struct {
uint16_t animationId;
uint16_t animationFlags;
};
Обычно используются в union-ах и позволяют указать компилятору, что два больших экземпляра распологаются на одинаковом участке памятиля чего нужны безымянные классы, у которых нет ни одного экземпляра
Ничего особенного, просто как к обычным полям классаКак происходит обращение к ним?
C++:union { struct { uint16_t id; uint8_t frameDelta; union { struct { bool loop : 1; bool lockX : 1; bool lockY : 1; bool freeze : 1; uint8_t time : 2; uint8_t _unused : 1; bool regular : 1; }; uint8_t value; } flags; } animation; struct { uint16_t animationId; uint16_t animationFlags; }; };
Да в общем добавил эту байду в stOnFootData, переписал код под унионы и всё заработало как часы. Странно, что в сампфунксе изначально этого нет, постоянно приходится что-то списывать с мунлоадера, вроде делали это всё одни и те же люди, а по факту мун сделан напорядок качественнее, чем сф.Обычно используются в union-ах и позволяют указать компилятору, что два больших экземпляра распологаются на одинаковом участке памяти
Ничего особенного, просто как к обычным полям класса
эти данные стали известны гораздо позже, чем вышла последняя версия сфа на 0.3.7 R1Да в общем добавил эту байду в stOnFootData, переписал код под унионы и всё заработало как часы. Странно, что в сампфунксе изначально этого нет, постоянно приходится что-то списывать с мунлоадера, вроде делали это всё одни и те же люди, а по факту мун сделан напорядок качественнее, чем сф.
и прикреплен код:For your system/game that already has Lua or uses an in-house or pre-rolled Lua system (LuaBridge, kaguya, Luwra, etc.), but you’d still like sol3 and nice things:
#define SOL_ALL_SAFETIES_ON 1
#include <sol/sol.hpp>
#include <iostream>
int use_sol2(lua_State* L) {
sol::state_view lua(L);
lua.script("print('bark bark bark!')");
return 0;
}
int main(int, char*[]) {
std::cout << "=== opening sol::state_view on raw Lua ===" << std::endl;
lua_State* L = luaL_newstate();
luaL_openlibs(L);
lua_pushcclosure(L, &use_sol2, 0);
lua_setglobal(L, "use_sol2");
if (luaL_dostring(L, "use_sol2()")) {
lua_error(L);
return -1;
}
std::cout << std::endl;
return 0;
}