- 6
- 0
В общем, я тупой человек, и пытаюсь освоить PluginSDK (что уже несовместимо чета)
Короче без чата гпт я не могу, но мы вдвоем не можем понять в чем проблема.
Проблема в том, что тригербот очень криво работает, а именно видит нужного педа по которому стрелять нужно только когда выхожу с прицела.
Так-же, возможно, не работает эмуляция выстрела, но я хз.
Вот код:
И да, я знаю что я говнокодер, так что можете не напоминать это.
Короче без чата гпт я не могу, но мы вдвоем не можем понять в чем проблема.
Проблема в том, что тригербот очень криво работает, а именно видит нужного педа по которому стрелять нужно только когда выхожу с прицела.
Так-же, возможно, не работает эмуляция выстрела, но я хз.
Вот код:
TriggerBot.cpp:
#include "TriggerBot.h"
#include "plugin.h"
#include "CPad.h"
#include "CPlayerPed.h"
#include "CWorld.h"
#include "CVector.h"
#include "CEntity.h"
#include "CColPoint.h"
#include "CCamera.h"
#include "CPools.h"
#include "sampapi/sampapi.h"
#include "sampapi/0.3.7-R1/CChat.h"
using namespace sampapi::v037r1;
bool JK_TriggerIsEnable = false;
void MouseLeftClick() {
INPUT input[2] = {};
input[0].type = INPUT_MOUSE;
input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
input[1].type = INPUT_MOUSE;
input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(2, input, sizeof(INPUT));
}
void TriggerBot::Update() {
if (!JK_TriggerIsEnable) return;
CPlayerPed* player = FindPlayerPed();
if (!player || !player->IsAlive()) return;
CVector camPos = *TheCamera.GetGameCamPosition();
CVector camFront = TheCamera.m_aCams[0].m_vecFront;
camFront.Normalise();
CVector targetPos = camPos + (camFront * 100.0f);
CColPoint colPoint;
CEntity* hitEntity = nullptr;
bool hit = CWorld::ProcessLineOfSight(camPos, targetPos, colPoint, hitEntity,
true, // buildings
true, // vehicles
true, // peds <- исправлено
false, // objects
false, // dummies
false, // seeThroughStuff
false, // cameraObjects
false // unknownFlag
);
if (hit && hitEntity && hitEntity->m_nType == ENTITY_TYPE_PED && hitEntity != player) {
CPed* ped = reinterpret_cast<CPed*>(hitEntity);
if (ped && ped->IsAlive()) {
MouseLeftClick();
RefChat()->AddChatMessage("TRIGGERBOT", 0xFF0000FF, "Shooting at target...");
return;
}
}
}
void TriggerBot::RenderUI()
{
ImGui::Checkbox("TriggerBot", &JK_TriggerIsEnable);
}
И да, я знаю что я говнокодер, так что можете не напоминать это.