AlliedModders Donor
|
04-17-2020
, 14:06
Bot Mimic: Enum Structs (Invalid Handle)
|
#1
|
Hi all,
I am working on a project at the moment that uses "Bot Mimic" to record and play replay bots.
The coded has been updated to the new syntax however the following error gets tripped;
ERROR
Code:
[SM] Exception reported: Invalid Handle 0 (error: 4)
[SM] Blaming: surftimer.smx
[SM] Call stack trace:
[SM] [0] PushArrayArray
[SM] [1] Line 644, surftimer/replay.sp::LoadRecordFromFile
[SM] [2] Line 432, surftimer/replay.sp::PlayRecord
[SM] [3] Line 721, surftimer/replay.sp::LoadRecordReplay
[SM] [4] Line 683, surftimer/replay.sp::RefreshBot
I was wondering if anyone could possibly look at these segments of code, before/after the new syntax and ask if you would have done anything differently, or spot something I perhaps didn't that may cause the above error?
Quote:
Originally Posted by BEFORE
Code:
Handle hRecordFrames = CreateArray(view_as<int>(FrameInfo));
Handle hAdditionalTeleport = CreateArray(AT_SIZE);
int iFrame[FRAME_INFO_SIZE];
for (int i = 0; i < iTickCount; i++)
{
ReadFile(hFile, iFrame, view_as<int>(FrameInfo), 4);
PushArrayArray(hRecordFrames, iFrame, view_as<int>(FrameInfo));
|
Quote:
Originally Posted by AFTER
Code:
Handle hRecordFrames = CreateArray(sizeof(FrameInfo));
Handle hAdditionalTeleport = CreateArray(sizeof(AdditionalTeleport));
FrameInfo iFrame;
for (int i = 0; i < iTickCount; i++)
{
ReadFile(hFile, iFrame.PlayerButtons, sizeof(FrameInfo), 4);
ReadFile(hFile, iFrame.PlayerImpulse, sizeof(FrameInfo), 4);
ReadFile(hFile, view_as<int>(iFrame.ActualVelocity), sizeof(FrameInfo), 4);
ReadFile(hFile, view_as<int>(iFrame.PredictedVelocity), sizeof(FrameInfo), 4);
ReadFile(hFile, view_as<int>(iFrame.PredictedAngles), sizeof(FrameInfo), 4);
ReadFile(hFile, view_as<int>(iFrame.NewWeapon), sizeof(FrameInfo), 4);
ReadFile(hFile, iFrame.PlayerSubtype, sizeof(FrameInfo), 4);
ReadFile(hFile, iFrame.PlayerSeed, sizeof(FrameInfo), 4);
ReadFile(hFile, iFrame.AdditionalFields, sizeof(FrameInfo), 4);
ReadFile(hFile, iFrame.Pause, sizeof(FrameInfo), 4);
PushArrayArray(hRecordFrames, iFrame, sizeof(FrameInfo));
|
Quote:
Originally Posted by BEFORE
Code:
enum FrameInfo
{
playerButtons = 0,
playerImpulse,
Float:actualVelocity[3],
Float:predictedVelocity[3],
Float:predictedAngles[2],
CSWeaponID:newWeapon,
playerSubtype,
playerSeed,
additionalFields,
pause,
}
|
Quote:
Originally Posted by AFTER
Code:
enum struct FrameInfo
{
int PlayerButtons;
int PlayerImpulse;
float ActualVelocity[3];
float PredictedVelocity[3];
float PredictedAngles[2];
CSWeaponID NewWeapon;
int PlayerSubtype;
int PlayerSeed;
int AdditionalFields;
int Pause;
}
|
Last edited by LeeStrong; 04-18-2020 at 07:01.
|
|