- 11
- 8
- Версия SA-MP
-
- 0.3.7 (R1)
Смена погоды и времени на asi.
Большое спасибо @FYP и @SR_team за помощь.
Активация:
Погода
[ LAlt + ↑ ] и [ LAlt + ↓ ]
(+1 к значению)ㅤ(-1 от значения)
Время
[ LAlt + ← ] и [ LAlt + → ]
ㅤㅤ (+1 час)ㅤㅤㅤㅤㅤ(-1 час)
При смене значений возможны моргания текстур. Данный плагин не рекомендуется к использованию людям с эпилепсией. В дальнейшем постараюсь исправить.
Код:
Большое спасибо @FYP и @SR_team за помощь.
Активация:
Погода
[ LAlt + ↑ ] и [ LAlt + ↓ ]
(+1 к значению)ㅤ(-1 от значения)
Время
[ LAlt + ← ] и [ LAlt + → ]
ㅤㅤ (+1 час)ㅤㅤㅤㅤㅤ(-1 час)
При смене значений возможны моргания текстур. Данный плагин не рекомендуется к использованию людям с эпилепсией. В дальнейшем постараюсь исправить.
Код:
main.cpp:
#include <Windows.h>
#include <process.h>
#include <string>
#include "main.h"
std::string GetterOutput;
int TimeValue = 0;
void __cdecl MainThread(void* pArg)
{
while (true)
{
Sleep(1); //Thx FYP <3
Offset_TimeSA = TimeValue;
if ((GetAsyncKeyState(VK_LMENU)) && (GetAsyncKeyState(VK_UP)))
{
if (WeathSA >= 45) { AddMessageJumpQ((char*)"Weather now: 45", 100, NULL, false); }
else
{
WeathSA += 1;
GetterOutput = "Weather now: " + std::to_string(WeathSA);
AddMessageJumpQ((char*)&GetterOutput, 100, NULL, false);
Sleep(100);
}
}
if ((GetAsyncKeyState(VK_LMENU)) && (GetAsyncKeyState(VK_DOWN)))
{
if (WeathSA <= 0){AddMessageJumpQ((char*)"Weather now: 0", 100, NULL, false);}
else
{
WeathSA -= 1;
GetterOutput = "Weather now: " + std::to_string(WeathSA);
AddMessageJumpQ((char*)&GetterOutput, 100, NULL, false);
Sleep(100);
}
}
if ((GetAsyncKeyState(VK_LMENU)) && (GetAsyncKeyState(VK_LEFT)))
{
if (TimeValue == 23) {AddMessageJumpQ((char*)"Time now: 23", 100, NULL, false);}
else
{
TimeValue += 1;
GetterOutput = "Time now: " + std::to_string(TimeValue);
AddMessageJumpQ((char*)&GetterOutput, 100, NULL, false);
Sleep(100);
}
}
if ((GetAsyncKeyState(VK_LMENU)) && (GetAsyncKeyState(VK_RIGHT)))
{
if (TimeValue == 0){AddMessageJumpQ((char*)"Time now: 0", 100, NULL, false);}
else
{
TimeValue -= 1;
GetterOutput = "Time now: " + std::to_string(TimeValue);
AddMessageJumpQ((char*)&GetterOutput, 100, NULL, false);
Sleep(100);
}
}
}
}
BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ PVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH) _beginthread(MainThread, NULL, nullptr);
return TRUE;
}
main.h:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0
#define Offset_TimeSA *(char*)0x00B70153
#define WeathSA *(char*)0xC81320
void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief)
{
((void(__cdecl*)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}
Вложения
Последнее редактирование: