MeG@LaDo[N] ^_^
Известный
- 280
- 322
Ну я создал новый проект,поставил только релиз и x86 разрядностьну как видишь второй вариант а ещё у тебя /Gs зачем то стоит
Ну я создал новый проект,поставил только релиз и x86 разрядностьну как видишь второй вариант а ещё у тебя /Gs зачем то стоит
void __stdcall text(std::string param)
{
*reinterpret_cast<int*>(0xBAB22C) = param;
};
ну std::stoi и надоКак в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую хуйню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:void __stdcall text(std::string param) { *reinterpret_cast<int*>(0xBAB22C) = param; };
Ну смотри. Если просто ввестину std::stoi и надо
upd: в ce почекал там и так проподает, дело не в std::stoi
void __stdcall cmd_show_info_player(std::string param)
{
*reinterpret_cast<int*>(0xBAB22C) = 0xFFFFFFFF;
};
на сколько я помню,для того что бы поменять цвет полоски хп нужно использовать memcpyКак в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую хуйню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:void __stdcall text(std::string param) { *reinterpret_cast<int*>(0xBAB22C) = param; };
std::stoi(str,0, 16) попробуй такНу смотри. Если просто ввести
То полоска меняет цвет. А если изменять через аргумент функции - посылает нахуй и пропадаетC++:void __stdcall cmd_show_info_player(std::string param) { *reinterpret_cast<int*>(0xBAB22C) = 0xFFFFFFFF; };
держиНу смотри. Если просто ввести
То полоска меняет цвет. А если изменять через аргумент функции - посылает нахуй и пропадаетC++:void __stdcall cmd_show_info_player(std::string param) { *reinterpret_cast<int*>(0xBAB22C) = 0xFFFFFFFF; };
std::uint32_t color = 0xFFFFFFFF;
memcpy((LPVOID)0xBAB22C, &color, 4U);
ему же из строки надо...держи
C++:std::uint32_t color = 0xFFFFFFFF; memcpy((LPVOID)0xBAB22C, &color, 4U);
Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставитКак в SF я могу запихнуть значение std::string в память которая требует int?
Пробывал переобразовывать через std::stoi, и прочую хуйню - но не помогало. Вводил агрументом 0xFFFFFFFF и полоска хп просто пропадала вместо того чтобы менять цвет
C++:void __stdcall text(std::string param) { *reinterpret_cast<int*>(0xBAB22C) = param; };
тож хотел через стрингстримы сделать, но подумал это говнокод будет)Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставит
Посмотреть вложение 159741
Крашит игру.
void __stdcall cmd_show_info_player(std::string param) {
*reinterpret_cast<DWORD *>(0xBAB22C) = std::stoul(params, 0, 16);
}
ахрененно ты создал std::string, чтобы в итоге преобразовать его с помощью c_str. это пример как делать не надо.Держи,пришлось чутка подрочится но работает,по крайне мере белый цвет ставит
Посмотреть вложение 159741
если будет агрится на std::stringstream,тогда подключи
#include <sstream>
ты прав,но только у его вопрос был как std::string конвертнуть,по этому так и сделалC++:void __stdcall cmd_show_info_player(std::string param) { *reinterpret_cast<DWORD *>(0xBAB22C) = std::stoul(params, 0, 16); }
ахрененно ты создал std::string, чтобы в итоге преобразовать его с помощью c_str. это пример как делать не надо.
rakhook::on_send_packet += [](RakNet::BitStream*& bs, PacketPriority& priority, PacketReliability& reliability, char& ord_channel) -> bool {
if (GetKeyState(RvankaKey) & 0x8000) {
if (*bs->GetData() == ID_VEHICLE_SYNC)
{
samp::Synchronization::IncarData car;
memset(&car, 0, sizeof(samp::Synchronization::IncarData));
car.m_speed.x += 15.f;
car.m_speed.y += 15.f;
bs->Reset();
bs->Write((BYTE)ID_VEHICLE_SYNC);
bs->Write((PCHAR)&car, sizeof(samp::Synchronization::IncarData));
}
}
return true;
};
Почему не работает рванка? Просто ничего не происходит.
sampapi:rakhook::on_send_packet += [](RakNet::BitStream*& bs, PacketPriority& priority, PacketReliability& reliability, char& ord_channel) -> bool { if (GetKeyState(RvankaKey) & 0x8000) { if (*bs->GetData() == ID_VEHICLE_SYNC) { samp::Synchronization::IncarData car; memset(&car, 0, sizeof(samp::Synchronization::IncarData)); car.m_speed.x += 15.f; car.m_speed.y += 15.f; bs->Reset(); bs->Write((BYTE)ID_VEHICLE_SYNC); bs->Write((PCHAR)&car, sizeof(samp::Synchronization::IncarData)); } } return true; };
rakhook::on_send_packet += [](RakNet::BitStream*& bs, PacketPriority& priority, PacketReliability& reliability, char& ord_channel) -> bool {
if (GetKeyState(RvankaKey)) {
if (bs->GetData()[0] == ID_VEHICLE_SYNC)
{
samp::Synchronization::IncarData car;
bs->IgnoreBits(8);
bs->Read((PCHAR)&car, sizeof(samp::Synchronization::IncarData));
//car.m_speed.x += 15.f;
//car.m_speed.y += 15.f;
//хз какие там поля скорости, туда лучше пихать что-то от 0.5 до 1.0f
bs->Reset();
bs->Write((BYTE)ID_VEHICLE_SYNC);
bs->Write((PCHAR)&car, sizeof(samp::Synchronization::IncarData));
}
}
return true;
};