Z3roKwq
Известный
- 291
- 154
нихуя чо ты придумал а зачем
мб твоя функа isLocalPlayerInCar хуйня?
Пхах, неа, функа нормально работает, чтение из памяти тоже, проблема именно с записью
нихуя чо ты придумал а зачем
мб твоя функа isLocalPlayerInCar хуйня?
ну, добавь отладочные строки, проверь, выполняется ли вообще твоя проверкаПхах, неа, функа нормально работает, чтение из памяти тоже, проблема именно с записью
ну, добавь отладочные строки, проверь, выполняется ли вообще твоя проверка
Потому что хуйню делаешь. Протект памяти на запись не снятый. Плюс копирование из памяти в другую область памяти не есть чтением.Пхах, неа, функа нормально работает, чтение из памяти тоже, проблема именно с записью
насчет "чтения" согласен, но как я понял протекцию там вроде не нужно снимать, я прикреплял исходник на луа там выключено снятие протекции памятиПотому что хуйню делаешь. Протект памяти на запись не снятый. Плюс копирование из памяти в другую область памяти не есть чтением.
На луа вполне возможно снимается автоматом.насчет "чтения" согласен, но как я понял протекцию там вроде не нужно снимать, я прикреплял исходник на луа там выключено снятие протекции памяти
бля я уже заебался с этой залупой сидеть, и так и сяк пробовал, не хочет работать и все, буду оооооооооооочень благодарен если предоставите хотяб пример кодаНа луа вполне возможно снимается автоматом.
Читай топик. Тысячу раз тут отвечали ужебля я уже заебался с этой залупой сидеть, и так и сяк пробовал, не хочет работать и все, буду оооооооооооочень благодарен если предоставите хотяб пример кода
Помогите переписать no gears с луа
Lua:if isCharInAnyCar(PLAYER_PED) then header = getCarModel(storeCarCharIsInNoSave(PLAYER_PED)) header = memory.getint32(header * 0x4 + 0xA9B0C8, false) header = memory.getint16(header + 0x4A, false) memory.setint8(header * 0xE0 + 0xC2B9DC + 0x74, 1, false) end
пробовал
C++:typedef unsigned long Uint; inline Uint bit_set(Uint number, Uint n) { return number | ((Uint)1 << n); } if (isLocalPlayerInCar()) { int car_model = SF->getSAMP()->getVehicles()->sampVehicle[SF->getSAMP()->getPlayers()->localPlayerInfo.data->inCarData.vehicleId]->gtaVehicle->base.model_alt_id; car_model = readUInt32FromMemory(reinterpret_cast<void*>(car_model * 0x4 + 0xA9B0C8)); car_model = readUInt16FromMemory(reinterpret_cast<void*>(car_model + 0x4A)); bit_set((car_model * 0xE0 + 0xC2B9DC + 0x74), 1); }
но результата не дало
auto car{ *reinterpret_cast<unsigned*>(0xBA18FC) };
if (car) {
auto model_id{ *reinterpret_cast<unsigned short*>(car + 0x22) };
auto model{ *reinterpret_cast<unsigned*>(model_id * 0x4 + 0xA9B0C8) };
auto handling_id{ *reinterpret_cast<unsigned short*>(model + 0x4A) };
*reinterpret_cast<unsigned char*>(handling_id * 0xE0 + 0xC2B9DC + 0x74) = 1;
}
if trigger and not isCharOnAnyBike(playerPed) and not isCharDead(playerPed) then
local int = readMemory(0xB6F3B8, 4, 0)
int=int + 0x79C
local intS = readMemory(int, 4, 0)
if intS > 0 then
local lol = 0xB73458
lol=lol + 34
writeMemory(lol, 4, 255, 0)
wait(100)
local int = readMemory(0xB6F3B8, 4, 0)
int=int + 0x79C
writeMemory(int, 4, 0, 0)
end
end
покажи свою реализациюЕсть код на луа, хотелось бы переписать на плюсы, но чето опять идет не так
Ориг код:if trigger and not isCharOnAnyBike(playerPed) and not isCharDead(playerPed) then local int = readMemory(0xB6F3B8, 4, 0) int=int + 0x79C local intS = readMemory(int, 4, 0) if intS > 0 then local lol = 0xB73458 lol=lol + 34 writeMemory(lol, 4, 255, 0) wait(100) local int = readMemory(0xB6F3B8, 4, 0) int=int + 0x79C writeMemory(int, 4, 0, 0) end end
я пытался переписать, но оно детектит что игрок в прицеле, но не стреляет как в оригинале
покажи свою реализацию
if (isEnabled) {
static int xuy = 0;
if (xuy == 0) {
unsigned idk1 = *reinterpret_cast<unsigned*>(0xB6F3B8);
idk1 += 0x79C;
unsigned idk1S = *reinterpret_cast<unsigned*>(idk1);
if (idk1S > 0) {
unsigned lox = 0xB73458;
lox += 34;
*reinterpret_cast<unsigned*>(lox) = 255;
xuy += 1;
}
}
else {
if (xuy > 10) {
xuy = 0;
unsigned pizda = *reinterpret_cast<unsigned*>(0xB6F3B8);
pizda += 0x79C;
*reinterpret_cast<unsigned*>(pizda) = 0;
}
else {
xuy += 1;
}
}
}
Как минимум у тебя оно не может быть меньше нуля ибо это unsignedunsigned idk1S = *reinterpret_cast<unsigned*>(idk1); if (idk1S > 0) {
unsigned lox = 0xB73458;
lox += 34;
unsigned idk1 = *reinterpret_cast<unsigned*>(0xB6F3B8); idk1 += 0x79C; unsigned idk1S = *reinterpret_cast<unsigned*>(idk1);