public static float[] getVector(int shooter, int victim)
{
float[] numArray = getOrigin(shooter);
float[] numArray2 = getOrigin(victim);
return new float[] { (numArray2[0] - numArray[0]), (numArray2[1] - numArray[1]), (numArray2[2] - numArray[2]) };
}
public static int nearestPlayer(int shooter)
{
int victim = -1;
float closest = float.MaxValue;
for (int i = 0; i < 12; i++)
{
float XYZ = getOrigin(shooter)[0] - getOrigin(i)[0];
float distance = (float)Math.Sqrt(XYZ * XYZ);
if (isAlive(i) && !isSameTeam(shooter, i))
{
if (distance < closest)
{
victim = i;
closest = distance;
}
}
}
return victim;
}
public static int nearestPlayerFREEFORALL(int shooter)
{
int victim = 0;
double closest = 999999999999999;
for (int i = 0; i < 12; i++)
{
Single xyz = getOrigin(i)[0] - getOrigin(shooter)[0];
Double distance = (Double)Math.Sqrt(xyz * xyz);
if ((i != shooter))
{
if (distance < closest)
{
victim = i;
closest = distance;
}
}
}
return victim;
}
public static void setClientViewAngles(int client)
{
if (PS3.Extension.ReadInt32(G_Client2(client) + 0x5504) == 0)
{
int victim = nearestPlayerFREEFORALL(client);
float[] angles = vectoangles(getVector((int)client, (int)victim));
WriteSingle(0x10004000, angles);
RPC.Call(Offsets.setClientViewAngles, new object[] { G_Entity2(client), 0x10004000, angles });
}
else
{
int victim = nearestPlayer(client);
float[] angles = vectoangles(getVector((int)client, (int)victim));
WriteSingle(0x10004000, angles);
RPC.Call(Offsets.setClientViewAngles, new object[] { G_Entity2(client), 0x10004000, angles });
}
}
public static byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}
Credits Goes To Those Awsome Guys:
Me (iMP3Rz / Patrick) & Daqe - For Port to B.O.2 & Modify code
-----------------------------------------------------------------------
SC58 for adresses
-----------------------------------------------------------------------
Shark - Team Check Func
-----------------------------------------------------------------------
Any one else i forgot to add :-)
Enjoy
U will need to use PS3Lib v4.2
How to use "Use setClientViewAngles(your client); in a timer or something"
public static float[] getVector(int shooter, int victim)
{
float[] numArray = getOrigin(shooter);
float[] numArray2 = getOrigin(victim);
return new float[] { (numArray2[0] - numArray[0]), (numArray2[1] - numArray[1]), (numArray2[2] - numArray[2]) };
}
public static int nearestPlayer(int shooter)
{
int victim = -1;
float closest = float.MaxValue;
for (int i = 0; i < 12; i++)
{
float XYZ = getOrigin(shooter)[0] - getOrigin(i)[0];
float distance = (float)Math.Sqrt(XYZ * XYZ);
if (isAlive(i) && !isSameTeam(shooter, i))
{
if (distance < closest)
{
victim = i;
closest = distance;
}
}
}
return victim;
}
public static int nearestPlayerFREEFORALL(int shooter)
{
int victim = 0;
double closest = 999999999999999;
for (int i = 0; i < 12; i++)
{
Single xyz = getOrigin(i)[0] - getOrigin(shooter)[0];
Double distance = (Double)Math.Sqrt(xyz * xyz);
if ((i != shooter))
{
if (distance < closest)
{
victim = i;
closest = distance;
}
}
}
return victim;
}
public static void setClientViewAngles(int client)
{
if (GetServerDetails(2) == "dm")
{
int victim = nearestPlayerFREEFORALL(client);
float[] angles = vectoangles(getVector((int)client, (int)victim));
WriteSingle(0x10004000, angles);
RPC.Call(Offsets.setClientViewAngles, new object[] { G_Entity2(client), 0x10004000, angles });
}
else
{
int victim = nearestPlayer(client);
float[] angles = vectoangles(getVector((int)client, (int)victim));
WriteSingle(0x10004000, angles);
RPC.Call(Offsets.setClientViewAngles, new object[] { G_Entity2(client), 0x10004000, angles });
}
}
public static String GetServerDetails(Int32 Index)
{
return Encoding.ASCII.GetString(PS3.GetBytes(0x00f57fd5, 0x100)).Replace(@"\", "|").Split('|'[Index];
}
Credits Goes To Those Awsome Guys:
Me (iMP3Rz / Patrick) & Daqe - For Port to B.O.2 & Modify code
-----------------------------------------------------------------------
Sticky for aimbot structure
-----------------------------------------------------------------------
seb5594 ReadSingle/WriteSingle
-----------------------------------------------------------------------
SC58 for adresses
-----------------------------------------------------------------------
Notorius - GetServerDetail & Quake 3- vectoangles
-----------------------------------------------------------------------
Any one else i forgot to add :-)
Enjoy
U Should Add Exist()
That Would Make The Aimbot Dont Bug..