Другое С/С++ Вопрос - Ответ

Ranto

Участник
45
1
C++:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
    setlocale(0, "");
    /*7*/ int a, b;
    cout << "Введите первое число: ";
    cin >> a;
    cout << "Введите второе число: ";
    cin >> b;
    /*12*/  int c = a + b; //
    cout << "Сумма чисел = " << c << endl;
    _getch();
    return 0;

}
 
Последнее редактирование:

imring

Ride the Lightning
Всефорумный модератор
2,362
2,539
пытаюсь перевести с lua на c++, но чет хуево получается
Lua:
-- lua code
local callback = ffi.cast('void(__thiscall *)(void *_this, char *killer, char *killed, uint32_t clKiller, uint32_t clKilled, uint8_t reason)', hook)
local detour_addr = tonumber(ffi.cast('uintptr_t', callback))
local hook_addr = getModuleHandle('samp.dll') + 0x2B2A3B
memory.setint8(hook_addr, 0xE8, true)
memory.setuint32(hook_addr + 1, detour_addr - hook_addr - 5, true)
C++:
// c++ code
void(__thiscall* callback)(void*, char*, char*, uint32_t, uint32_t, uint8_t) =
    (void(__thiscall *) (void *_this, char *killer, char *killed, uint32_t clKiller, uint32_t clKilled, uint8_t reason))
    (hook);
uintptr_t detour_addr = (uintptr_t)callback;
uintptr_t hook_addr = (uintptr_t)GetModuleHandleA("samp.dll") + 0x2B2A3B;
*reinterpret_cast<INT8 *>(hook_addr) = (INT8)0xE8;
*reinterpret_cast<DWORD *>(hook_addr + 1) = detour_addr - hook_addr - 5;
виснет игра из-за этой строки:
C++:
*reinterpret_cast<INT8 *>(hook_addr) = (INT8)0xE8;
 

ehxqu

Известный
Проверенный
177
154
хотел попробовать написать аммохак
в чем проблема? не работает


Код:
void OnTimer(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime)
{
    if (GetAsyncKeyState(0x2E) & 0x8000) //если нажал на delete
    {
        DWORD CPED = *(DWORD*)0xB6F5F0; //CPed
        DWORD CWeaponSlot = *(DWORD*)(CPED + 0x0718); //CPed.m_cWeaponSlot
        DWORD CWeaponSlot1 = *(DWORD*)(CWeaponSlot * 0x1C);
        DWORD CWeaponSlots = *(DWORD*)(CPED + 0x5A0); //CPed.m_aclWeaponSlots
        DWORD CWeaponState = *(DWORD*)(CWeaponSlots + CWeaponSlot1);
        *(DWORD*)(CWeaponState + 0xC) += 40;
    }
}
 
Последнее редактирование:

CarLCas

Известный
161
118
пытаюсь перевести с lua на c++, но чет хуево получается
Lua:
-- lua code
local callback = ffi.cast('void(__thiscall *)(void *_this, char *killer, char *killed, uint32_t clKiller, uint32_t clKilled, uint8_t reason)', hook)
local detour_addr = tonumber(ffi.cast('uintptr_t', callback))
local hook_addr = getModuleHandle('samp.dll') + 0x2B2A3B
memory.setint8(hook_addr, 0xE8, true)
memory.setuint32(hook_addr + 1, detour_addr - hook_addr - 5, true)
C++:
// c++ code
void(__thiscall* callback)(void*, char*, char*, uint32_t, uint32_t, uint8_t) =
    (void(__thiscall *) (void *_this, char *killer, char *killed, uint32_t clKiller, uint32_t clKilled, uint8_t reason))
    (hook);
uintptr_t detour_addr = (uintptr_t)callback;
uintptr_t hook_addr = (uintptr_t)GetModuleHandleA("samp.dll") + 0x2B2A3B;
*reinterpret_cast<INT8 *>(hook_addr) = (INT8)0xE8;
*reinterpret_cast<DWORD *>(hook_addr + 1) = detour_addr - hook_addr - 5;
виснет игра из-за этой строки:
C++:
*reinterpret_cast<INT8 *>(hook_addr) = (INT8)0xE8;
Перед записью в память установи права на запись при помощи VirtualProtect, после как закончишь восстанови предыдущие права.
 

Ranto

Участник
45
1
хотел попробовать написать аммохак
в чем проблема? не работает


Код:
void OnTimer(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime)
{
    if (GetAsyncKeyState(0x2E) & 0x8000) //если нажал на delete
    {
        DWORD CPED = *(DWORD*)0xB6F5F0; //CPed
        DWORD CWeaponSlot = *(DWORD*)(CPED + 0x0718); //CPed.m_cWeaponSlot
        DWORD CWeaponSlot1 = *(DWORD*)(CWeaponSlot * 0x1C);
        DWORD CWeaponSlots = *(DWORD*)(CPED + 0x5A0); //CPed.m_aclWeaponSlots
        DWORD CWeaponState = *(DWORD*)(CWeaponSlots + CWeaponSlot1);
        *(DWORD*)(CWeaponState + 0xC) += 40;
    }
}

чекни у него видосы, вроде код похожий так что давай
 

-raymond-

Известный
110
9
крашит

C++:
void narko_usable()
{
    char fmttext[13];
    int id = SF->getSAMP()->getPlayers()->sLocalPlayerID;
    stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[id];
    int integer_health = (int)pPlayer->pPlayerData->fActorHealth;
    sprintf(fmttext, "/usedrugs %d", 160-integer_health/10);
    stLocalPlayer *player = SF->getSAMP()->getPlayers()->pLocalPlayer;
    player->Say(fmttext);
    timer = GetTickCount() + 60000;
}
 

Dark_Knight

Me, me and me.
Друг
4,075
2,091
Ты получаешь с удаленной структуры игрока по айди локального игрока. Так нельзя. У удаленных игроков и локального разные структуры.
 

Ranto

Участник
45
1
Можете показать нормальный показ текущего времени? Что бы было все как по часам, а то мне какую дичь прислали, выдаёт левое время..
 

CleanLegend

Известный
Всефорумный модератор
476
934
Можете показать нормальный показ текущего времени? Что бы было все как по часам, а то мне какую дичь прислали, выдаёт левое время..
C++:
char Clock[32];
    SYSTEMTIME    time;
    GetLocalTime(&time);
    snprintf(Clock, sizeof(Clock) - 1, " %02d:%02d:%02d", time.wHour, time.wMinute, time.wSecond);
 
  • Нравится
Реакции: Ranto