public static class Spawner
{
#region Read + Write
private static float[] ReadFloatLength(uint Offset, int Length)
{
byte[] buffer = new byte[Length * 4];
PS3.GetMemory(Offset, buffer);
ReverseBytes(buffer);
float[] Array = new float[Length];
for (int i = 0; i < Length; i++)
{
Array[i] = BitConverter.ToSingle(buffer, (Length - 1 - i) * 4);
}
return Array;
}
private static void WriteByte(uint Offset, byte Byte)
{
byte[] buffer = new byte[1];
buffer[0] = Byte;
PS3.SetMemory(Offset, buffer);
}
private static void WriteFloatArray(uint Offset, float[] Array)
{
byte[] buffer = new byte[Array.Length * 4];
for (int Lenght = 0; Lenght < Array.Length; Lenght++)
{
ReverseBytes(BitConverter.GetBytes(Array[Lenght])).CopyTo(buffer, Lenght * 4);
}
PS3.SetMemory(Offset, buffer);
}
private static void WriteInt(uint Offset, int Value)
{
PS3.SetMemory(Offset, ReverseBytes(BitConverter.GetBytes(Value)));
}
private static byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}
#endregion
public enum Bush : uint//I will seach for these and Release them
{
CarePackage = 2,//com_plasticcase_friendly
Bomb = 3,//com_bomb_objective
Barrel = 11,//com_barrel_benzin
}
public static uint SolidModel(float[] Origin, float[] Angles, string Model = "com_plasticcase_friendly", Bush Index = Bush.CarePackage)
{
uint Entity = (uint)RPC.Call(0x01C058C);//G_Spawn
WriteFloatArray(Entity + 0x138, Origin);//Position
WriteFloatArray(Entity + 0x144, Angles);//Orientation
RPC.Call(0x01BEF5C, Entity, Model);//G_SetModel
RPC.Call(0x01B6F68, Entity); //SP_script_model
RPC.Call(0x002377B8, Entity);//SV_UnlinkEntity
WriteByte(Entity + 0x101, 4);
WriteInt(Entity + 0x8C, (int)Index);
RPC.Call(0x0022925C, Entity);//SV_SetBrushModel
RPC.Call(0x00237848, Entity);//SV_LinkEntity
return Entity;
}
public static float[] GetOrigin(uint Client)
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
public static float[] GetAngles(uint Client)
{
return ReadFloatLength(0x110a3d8 + (Client * 0x3980), 3);
}
public static float[] AnglesToForward(float[] Origin, float[] Angles, uint diff)
{
float num = ((float)Math.Sin((Angles[0] * Math.PI) / 180)) * diff;
float num1 = (float)Math.Sqrt(((diff * diff) - (num * num)));
float num2 = ((float)Math.Sin((Angles[1] * Math.PI) / 180)) * num1;
float num3 = ((float)Math.Cos((Angles[1] * Math.PI) / 180)) * num1;
return new float[] { Origin[0] + num3, Origin[1] + num2, Origin[2] - num };
}
private static uint[] STHIndexes;
public static void StairsToHeaven(uint Client, uint Stairs = 41, int Time = 200)//When you use STH you can Freeze dont make it to Fast 200 is Good time and dont to Much Staris 41 Stairs = 2 Rounds
{
uint[] Index = new uint[Stairs];
float[] Origin = GetOrigin(Client);
float[] Angles = new float[3];
for (uint i = 0; i < Stairs; )
{
Index[i] = SolidModel(AnglesToForward(Origin, Angles, 60), Angles);
Angles[1] += 18;
Origin[2] += 10;
i++;
Thread.Sleep(Time);
}
STHIndexes = Index;
}
public static void RemoveSTH()
{
for (uint i = 0; i < STHIndexes.Length; i++)
PS3.SetMemory(STHIndexes[i] + 0xF, new byte[]{ 0x2});
}
}
uint Client = Put Client Number here!;
float[] Origin = Spawner.AnglesToForward(Spawner.GetOrigin(Client), Spawner.GetAngles(Client),80);
Origin[2] += 40;//
Spawner.SolidModel(Origin, new float[] { 0, 0, 0 });
Spawner.StairsToHeaven(Put Client Number here!);
Spawner.RemoveSTH();
public static class Spawner
{
#region Read + Write
private static float[] ReadFloatLength(uint Offset, int Length)
{
byte[] buffer = new byte[Length * 4];
PS3.GetMemory(Offset, buffer);
ReverseBytes(buffer);
float[] Array = new float[Length];
for (int i = 0; i < Length; i++)
{
Array[i] = BitConverter.ToSingle(buffer, (Length - 1 - i) * 4);
}
return Array;
}
private static void WriteByte(uint Offset, byte Byte)
{
byte[] buffer = new byte[1];
buffer[0] = Byte;
PS3.SetMemory(Offset, buffer);
}
private static void WriteFloatArray(uint Offset, float[] Array)
{
byte[] buffer = new byte[Array.Length * 4];
for (int Lenght = 0; Lenght < Array.Length; Lenght++)
{
ReverseBytes(BitConverter.GetBytes(Array[Lenght])).CopyTo(buffer, Lenght * 4);
}
PS3.SetMemory(Offset, buffer);
}
private static void WriteInt(uint Offset, int Value)
{
PS3.SetMemory(Offset, ReverseBytes(BitConverter.GetBytes(Value)));
}
private static byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}
#endregion
public enum Bush : uint//I will seach for these and Release them
{
CarePackage = 2,//com_plasticcase_friendly
Bomb = 3,//com_bomb_objective
Barrel = 11,//com_barrel_benzin
}
public static uint SolidModel(float[] Origin, float[] Angles, string Model = "com_plasticcase_friendly", Bush Index = Bush.CarePackage)
{
uint Entity = (uint)RPC.Call(0x01C058C);//G_Spawn
WriteFloatArray(Entity + 0x138, Origin);//Position
WriteFloatArray(Entity + 0x144, Angles);//Orientation
RPC.Call(0x01BEF5C, Entity, Model);//G_SetModel
RPC.Call(0x01B6F68, Entity); //SP_script_model
RPC.Call(0x002377B8, Entity);//SV_UnlinkEntity
WriteByte(Entity + 0x101, 4);
WriteInt(Entity + 0x8C, (int)Index);
RPC.Call(0x0022925C, Entity);//SV_SetBrushModel
RPC.Call(0x00237848, Entity);//SV_LinkEntity
return Entity;
}
public static float[] GetOrigin(uint Client)
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
public static float[] GetAngles(uint Client)
{
return ReadFloatLength(0x110a3d8 + (Client * 0x3980), 3);
}
public static float[] AnglesToForward(float[] Origin, float[] Angles, uint diff)
{
float num = ((float)Math.Sin((Angles[0] * Math.PI) / 180)) * diff;
float num1 = (float)Math.Sqrt(((diff * diff) - (num * num)));
float num2 = ((float)Math.Sin((Angles[1] * Math.PI) / 180)) * num1;
float num3 = ((float)Math.Cos((Angles[1] * Math.PI) / 180)) * num1;
return new float[] { Origin[0] + num3, Origin[1] + num2, Origin[2] - num };
}
private static uint[] STHIndexes;
public static void StairsToHeaven(uint Client, uint Stairs = 41, int Time = 200)//When you use STH you can Freeze dont make it to Fast 200 is Good time and dont to Much Staris 41 Stairs = 2 Rounds
{
uint[] Index = new uint[Stairs];
float[] Origin = GetOrigin(Client);
float[] Angles = new float[3];
for (uint i = 0; i < Stairs; )
{
Index[i] = SolidModel(AnglesToForward(Origin, Angles, 60), Angles);
Angles[1] += 18;
Origin[2] += 10;
i++;
Thread.Sleep(Time);
}
STHIndexes = Index;
}
public static void RemoveSTH()
{
for (uint i = 0; i < STHIndexes.Length; i++)
PS3.SetMemory(STHIndexes[i] + 0xF, new byte[]{ 0x2});
}
}
uint Client = Put Client Number here!;
float[] Origin = Spawner.AnglesToForward(Spawner.GetOrigin(Client), Spawner.GetAngles(Client),80);
Origin[2] += 40;//
Spawner.SolidModel(Origin, new float[] { 0, 0, 0 });
Spawner.StairsToHeaven(Put Client Number here!);
Spawner.RemoveSTH();
public string Key_IsDown(uint ClientNum)
{
byte[] But = new byte[3];
GetMemory(0x110D5E1 + (0x3980 * ClientNum), But);
string mystring = null;
mystring = BitConverter.ToString(But);
string result = mystring.Replace("-", "");
string result1 = result.Replace(" ", "");
string key = result1;
string KeyPressed = "";
if (key == "000000")
{
KeyPressed = "NONE";
}
else if (key == "000400")
{
KeyPressed = "X";
}
else if (key == "000020")
{
KeyPressed = "[]";
}
else if (key == "000200")
{
KeyPressed = "Crouch";
}
else if (key == "000100")
{
KeyPressed = "Prone";
}
else if (key == "000400")
{
KeyPressed = "X";
}
else if (key == "000004")
{
KeyPressed = "R3";
}
else if (key == "002002")
{
KeyPressed = "L3";
}
else if (key == "004000")
{
KeyPressed = "R2";
}
else if (key == "008000")
{
KeyPressed = "L2";
}
else if (key == "080800")
{
KeyPressed = "L1";
}
else if (key == "000001")
{
KeyPressed = "R1";
}
else if (key == "000220")
{
KeyPressed = "Crouch + []";
}
else if (key == "000120")
{
KeyPressed = "Prone + []";
}
else if (key == "002006")
{
KeyPressed = "R3 + L3";
}
else if (key == "000204")
{
KeyPressed = "R3";
}
else if (key == "002202")
{
KeyPressed = "L3";
}
else if (key == "004200")
{
KeyPressed = "R2";
}
else if (key == "008200")
{
KeyPressed = "L2";
}
else if (key == "004100")
{
KeyPressed = "Prone + R2";
}
else if (key == "008100")
{
KeyPressed = "Prone + L2";
}
else if (key == "004200")
{
KeyPressed = "Crouch + R2";
}
else if (key == "008400")
{
KeyPressed = "Crouch + L2";
}
else if (key == "000201")
{
KeyPressed = "Crouch + R1";
}
else if (key == "081000")
{
KeyPressed = "Crouch + L1";
}
else if (key == "000101")
{
KeyPressed = "Prone + R1";
}
else if (key == "080900")
{
KeyPressed = "Prone + L1";
}
else if (key == "00C100")
{
KeyPressed = "Prone + R2 + L2";
}
else if (key == "00C200")
{
KeyPressed = "Crouch + R2 + L2";
}
else if (key == "00C000")
{
KeyPressed = "R2 + L2";
}
else if (key == "000104")
{
KeyPressed = "Prone + R3";
}
else if (key == "000204")
{
KeyPressed = "Crouch + R3";
}
else
{
KeyPressed = key;
}
return KeyPressed;
}
for (uint i = 0; i < 17; i++)
{
switch (Key_IsDown(i))
{
case "R1":
playerModel(i);
break;
}
}
public void playerModel(uint Client)
{
float[] Origin = entity.AnglesToForward(entity.GetOrigin(Client), entity.GetAngles(Client), 80);
Origin[2] += 40;
entity.SolidModel(Origin, new float[] { 0, 0, 0 });
iPrintln((int)Client, "Model Spawned");
}
public static uint[] mods = new uint[0x280];
public static int num = -1;
public static uint SolidModel(float[] Origin, float[] Angles, string Model = "com_plasticcase_friendly", Bush Index = Bush.CarePackage)
{
num++;
uint Entity = (uint)RPC2.Call(0x01C058C);//G_Spawn
WriteFloatArray(Entity + 0x138, Origin);//Position
WriteFloatArray(Entity + 0x144, Angles);//Orientation
RPC2.Call(0x01BEF5C, Entity, Model);//G_SetModel
RPC2.Call(0x01B6F68, Entity); //SP_script_model
RPC2.Call(0x002377B8, Entity);//SV_UnlinkEntity
WriteByte(Entity + 0x101, 4);
WriteInt(Entity + 0x8C, (int)Index);
RPC2.Call(0x0022925C, Entity);//SV_SetBrushModel
RPC2.Call(0x00237848, Entity);//SV_LinkEntity
mods[num] = Entity;
if (num >= 633)
{
RemoveObjects(); // if to many objects on the map, removes them all
num = -1;
}
return Entity;
}
public static void RemoveObjects()
{
for (uint i = 0; i < mods.Length; i++)
PS3.SetMemory(mods[i], new byte[0x280]);
}
public static uint[] mods = new uint[0x280];
public static int num = -1;
public static uint SolidModel(float[] Origin, float[] Angles, string Model = "com_plasticcase_friendly", Bush Index = Bush.CarePackage)
{
num++;
uint Entity = (uint)RPC2.Call(0x01C058C);//G_Spawn
WriteFloatArray(Entity + 0x138, Origin);//Position
WriteFloatArray(Entity + 0x144, Angles);//Orientation
RPC2.Call(0x01BEF5C, Entity, Model);//G_SetModel
RPC2.Call(0x01B6F68, Entity); //SP_script_model
RPC2.Call(0x002377B8, Entity);//SV_UnlinkEntity
WriteByte(Entity + 0x101, 4);
WriteInt(Entity + 0x8C, (int)Index);
RPC2.Call(0x0022925C, Entity);//SV_SetBrushModel
RPC2.Call(0x00237848, Entity);//SV_LinkEntity
mods[num] = Entity;
if (num >= 633)
{
RemoveObjects(); // if to many objects on the map, removes them all
num = -1;
}
return Entity;
}
public static void RemoveObjects()
{
for (uint i = 0; i < mods.Length; i++)
PS3.SetMemory(mods[i], new byte[0x280]);
}
public static void RemoveAll()
{
for (uint i = 0; i < mods.Length; i++)
PS3.SetMemory(mods[i] + 0xF, new byte[] { 0x2 });
}
public static void RemoveAll()
{
for (uint i = 0; i < mods.Length; i++)
PS3.SetMemory(mods[i] + 0xF, new byte[] { 0x2 });
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.