16.11.2014, 16:57
if(vehicleid < 1 || vehicleid >= 2000) return 0;
Can't vehicle ID be 2000? shouldn't that be vehicleid > 2000
GetVehicleCab will get vehicle ID from trailer id.
Can't vehicle ID be 2000? shouldn't that be vehicleid > 2000
pawn Код:
signed __int16 __thiscall CVehiclePool__AddVehicle(void *this, signed int modelid, int a3, int a4, int a5, int a6, int a7)
{
void *v7; // esi@1
signed int vehicleid; // edi@3
signed __int16 result; // ax@6
int v10; // eax@9
v7 = this;
if ( modelid < 400 || modelid > 611 )
goto fail;
vehicleid = 1;
while ( *((_DWORD *)this + (unsigned __int16)vehicleid + 2053) )
{
++vehicleid;
if ( (_WORD)vehicleid == 2000 )
goto fail;
}
if ( (_WORD)vehicleid != 2000
&& (!operator new(0x100u) ? (v10 = 0) : (v10 = sub_492E30(modelid, a3, a4, a5, a6, a7)),
*((_DWORD *)v7 + (unsigned __int16)vehicleid + 4053) = v10,
v10) )
{
++*((_BYTE *)v7 + (unsigned __int8)(modelid + 112));
*(_WORD *)(*((_DWORD *)v7 + (unsigned __int16)vehicleid + 4053) + 100) = vehicleid;
*((_DWORD *)v7 + (unsigned __int16)vehicleid + 2053) = 1;
*((_DWORD *)v7 + (unsigned __int16)vehicleid + 53) = 0;
result = vehicleid;
}
else
{
fail:
result = -1;
}
return result;
}
GetVehicleCab will get vehicle ID from trailer id.