Using rdr3_discoveries/AI/EVENTS at master · femga/rdr3_discoveries · GitHub as a guide for data structure, I’m able to capture EVENT_CRIME_CONFIRMED
but the only crime type hash ever returned is CRIME_ASSAULT
. As well, the witness returned is only the ped murdered/injured. I have verified through many methods of murder that nothing else is ever thrown. Printing GetEventAtIndex(0, index)
verbose, I can neither find the other crime events such as EVENT_CRIME_REPORTED
, EVENT_CRIME_WITNESSED
, or EVENT_POTENTIAL_CRIME
.
The code in question I am using to grab the above event (using DataView for buffer structure):
Citizen.CreateThread(function()
while true do
Citizen.Wait(10)
local size = GetNumberOfEvents(0) -- get number of events for EVENT GROUP 0 (SCRIPT_EVENT_QUEUE_AI). Check table below.
if size > 0 then
for i = 0, size - 1 do
local eventAtIndex = GetEventAtIndex(0, i)
if eventAtIndex == 1924269094 then -- if eventAtIndex == GetHashKey("EVENT_CRIME_CONFIRMED")
local eventDataSize = 3
local eventDataStruct = DataView.ArrayBuffer(24) -- buffer must be 8*eventDataSize or bigger
eventDataStruct:SetInt32(0 ,0) -- 8*0 offset for 0 element of eventData
eventDataStruct:SetInt32(8 ,0) -- 8*1 offset for 1 element of eventData
eventDataStruct:SetInt32(16 ,0) -- 8*2 offset for 2 element of eventData
local is_data_exists = Citizen.InvokeNative(0x57EC5FA4D4D6AFCA,0,i,eventDataStruct:Buffer(),eventDataSize) -- GET_EVENT_DATA
if is_data_exists then
print("0: crime type hash "..eventDataStruct:GetInt32(0))
print("1: criminal ped id "..eventDataStruct:GetInt32(8))
print("2: witness: "..eventDataStruct:GetInt32(16))
end
end
end
end
end
end)
Has anyone else experimented with this?