
public static void spawnTurret(string TurretType, string ModelName, float[] Origin, float[] Angles)
{
uint Ent = (uint)Lib.Call(0x001BCD10);
Lib.WriteSingle(Ent + 0x138, Origin);
Lib.WriteSingle(Ent + 0x144, Angles);
Lib.Call(0x001BE3F0, Ent, ModelName);
Lib.Call(0x001C8820, Ent, TurretType);
}
spawnTurret("pavelow_minigun_mp", "weapon_minigun", getOrigin([b]clientNumberHere[/b]), getAngles([b]clientNumberHere[/b]));
public static float[] getAngles(int client)
{
return new float[] { DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x214), DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x21
, DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x21C) };
}
public static float[] getOrigin(int client)
{
return new float[] { DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x1C), DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x20), DEX.Extension.ReadFloat(Lib.G_Client(client) + 0x24) + 45 };
}
public static UInt32 G_Client(Int32 clientIndex)
{
return 0x14E2200 + (0x3700 * (UInt32)clientIndex);
}
public static void WriteSingle(uint address, float[] input)
{
int length = input.Length;
byte[] array = new byte[length * 4];
for (int i = 0; i < length; i++)
{
ReverseBytes(BitConverter.GetBytes(input[i])).CopyTo(array, (int)(i * 4));
}
DEX.SetMemory(address, array);
}
private static byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}
void WriteVec(UInt32 address, Single[] vec)
{
for(uint i = 0, f = 0; i < vec.Length; i++, f += 4)
{
PS3.WriteSingle((address)+f,vec[i]);
}
}
Single[] ReadVec(UInt32 address, UInt32 dim)
{
Single[] vec = new Single[dim];
for(uint i = 0, f = 0; i < dim; i++, f += 4);
{
vec[i] = PS3.ReadSingle((address)+f);
}
return vec;
}
Single[] myOrigin = ReadVec(g_entity(0) + 0x18, 3);
WriteVec(g_entity(1) + 0x18, myOrigin);
Copyright © 2026, NextGenUpdate.
All Rights Reserved.