case WM_CHAR:
wchar_t wch;
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, (char*)&wParam, 1, &wch, 1);
io.AddInputCharacter(wch);
break;
char g_SMSMessage[5][512] = {
"",
"",
"",
"",
""
};
ImGui::InputText("1", g_SMSMessage[i], _countof(g_SMSMessage[i]));
Помогите пожалуйста ImGui не ладит с русскими символами.
Это добавил.
C++:case WM_CHAR: wchar_t wch; MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, (char*)&wParam, 1, &wch, 1); io.AddInputCharacter(wch); break;
В ImGui все нормально.
![]()
А вот, что записывается в переменную.
![]()
C++:char g_SMSMessage[5][512] = { "", "", "", "", "" }; ImGui::InputText("1", g_SMSMessage[i], _countof(g_SMSMessage[i]));
string UTF8ToANSI(string s)
{
BSTR bstrWide;
char* pszAnsi;
int nLength;
const char *pszCode = s.c_str();
nLength = MultiByteToWideChar(CP_UTF8, 0, pszCode, strlen(pszCode) + 1, NULL, NULL);
bstrWide = SysAllocStringLen(NULL, nLength);
MultiByteToWideChar(CP_UTF8, 0, pszCode, strlen(pszCode) + 1, bstrWide, nLength);
nLength = WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, NULL, 0, NULL, NULL);
pszAnsi = new char[nLength];
WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, pszAnsi, nLength, NULL, NULL);
SysFreeString(bstrWide);
string r(pszAnsi);
delete[] pszAnsi;
return r;
}
Измени тип переменной на DWORDC++:bool functeion_crash = false; ImGui::Checkbox("Крашить игроков", &functeion_crash); reg->SetRegister("crashit", REG_DWORD, &functeion_crash);
Вместо 1 и 0, в реестр сохраняется 17601 и 17602, как это исправить ?
u can hook RPC_EnterVehicle:With SFPlugin C++:
How to get the vehicle of the vehicle I enter in?
How to send it through T> {enter}?
bool CALLBACK outRPC(stRakNetHookParams *params)
{
if (params->packetId == RPCEnumeration::RPC_EnterVehicle)
{
int16 vehID;
bool asPassenger;
char buf[255];
params->bitStream->ResetReadPointer();
params->bitStream->Read(vehID);
params->bitStream->Read(asPassenger);
params->bitStream->ResetReadPointer();
sprintf(buf, "I enter the car ID: %i", vehID);
SF->getSAMP()->getPlayers()->pLocalPlayer->Say(buf);
};
return true;
};
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_RPC, outRPC); // in mainloop()
Измени тип переменной на DWORD
DWORD functeion_crash = false;
ImGui::Checkbox("Крашить игроков", &functeion_crash); << Ошибка
reg->SetRegister("crashit", REG_DWORD, &functeion_crash);
error C2664: "bool ImGui::Checkbox(const char *,bool *)": невозможно преобразовать аргумент 2 из "DWORD *" в "bool *"
у тебя обьявление функции в "DWORD" должна бить в "bool"error C2664: "bool ImGui::Checkbox(const char *,bool *)": невозможно преобразовать аргумент 2 из "DWORD *" в "bool *"
Как чисто по адресам памяти (сигнлплеер) заморозить игрока (отключить ему все анимации, например бега, прыжка и т.п.)? Я хочу сделать айрбрейк, всё работает, но анимации сильно (очень сильно) мешают, меняя направление движения.
#define FUNC_MakePlayerSafe 0x56e870
#define ACTOR_POINTER_SELF 0x00B7CD98
void GTAfunc_TogglePlayerControllable(bool bToggle)
{
DWORD func = FUNC_MakePlayerSafe;
float fTen = 10.0f;
_asm
{
mov ecx, ACTOR_POINTER_SELF
push fTen
push bToggle
call func
}
}
static bool state = false;
state ^= true;
GTAfunc_TogglePlayerControllable(state ? 1 : 0);
C++:DWORD functeion_crash = false; ImGui::Checkbox("Крашить игроков", &functeion_crash); << Ошибка reg->SetRegister("crashit", REG_DWORD, &functeion_crash);
Код:error C2664: "bool ImGui::Checkbox(const char *,bool *)": невозможно преобразовать аргумент 2 из "DWORD *" в "bool *"
https://git.prime-hack.net/SR_team/AirBreak_exe/src/branch/master/airbreak.cpp#L314Что я делаю не так? Очень странно всё работает (может я дебил, не исключено). Жмёшь стрелку вверх - едет вниз, жмёшь стрелку вниз - едет вниз, WASD вообще почти ничего не делают (только если в прыжке включить пролетит немного и остановится в воздухе).
C++:void Airbreak() { DWORD CPed = *(DWORD*)0xB6F5F0; GTAfunc_TogglePlayerControllable(1); byte mod = 20; while (1) { if (aAirbreak == 0) { break; GTAfunc_TogglePlayerControllable(0); } DWORD x = (CPed + 0x14) + 0x30; DWORD y = (CPed + 0x14) + 0x34; DWORD z = (CPed + 0x14) + 0x38; if (GetAsyncKeyState(0x57)) { // W x += mod; *(DWORD*)x = x; } if (GetAsyncKeyState(0x53)) { // S x -= mod; *(DWORD*)x = x; } if (GetAsyncKeyState(0x41)) { // A y += mod; *(DWORD*)y = y; } if (GetAsyncKeyState(0x44)) { // D y -= mod; *(DWORD*)y = y; } if (GetAsyncKeyState(VK_UP)) { // Arrow up z += mod; *(DWORD*)z = z; } if (GetAsyncKeyState(VK_DOWN)) { // Arrow down z -= mod; *(DWORD*)z = z; } // это чтоб не падал и не двигался сам по себе никуда *(DWORD*)x = x; *(DWORD*)y = y; *(DWORD*)z = z; } return; }
>> Проблема не решена. <<
ImGui::Checkbox("Крашить игроков", (bool*)&functeion_crash);
You should hook the outcomimg RPC_ServerCommamdHow can I edit a text before sending it to server?
If I type [/command someText] i want to edit it into: [/command Some text!].
I mean I want to parse and edit the text before sending it to server.