public static uint flagModel(float[] Origin, float[] Angles, string Model = "prop_flag_neutral")
{
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(0x0022925C, Entity);//SV_SetBrushModel
return Entity;
//GMTPS3 code without collisions
}
public static bool flagnum;//to exit thread
public static void Monitorflag(float[] flag, float[] teleportTo)/*here u need to put the position of flag(float[] flag) and where you want it to teleport people(float[] teleportTo)*/
{
flagnum = true;
while (flagnum == true)
{
for (int y = 0; y <= 17; y++)
{
float[] posi = GetOrigin((uint)y);
float gap = distance(posi, flag);
if (gap <= 74.26306/*the distance required to teleport*/)
{
SetOrigin(y, teleportTo);
}
}
}
}
public static float distance(float[] player, float[] Teleporter)//get distance with x y z
{
float X = player[0] - Teleporter[0];
float Y = player[1] - Teleporter[1];
float Z = player[2] - Teleporter[2];
float dis = (float)Math.Sqrt(X * X + Y * Y + Z * Z);//math function to find distance between to points
return dis;
}
public static void SetOrigin(int Client, float[] Origin)//teleports you
{
WriteSingle(0x110a280 + (0x3980 * (uint)Client) + 0x1C, Origin);
}
public static float[] GetOrigin(uint Client)//gets you position
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
Thread str = new Thread(() => Monitorflag(locationflag, teleporter));
str.Start();
public static bool inArea(int Client, float[] Origin, float Radius)
{
int dX = Math.Abs((int)Funcs.GetOrigin(Client)[0] - (int)Origin[0]);
int dY = Math.Abs((int)Funcs.GetOrigin(Client)[1] - (int)Origin[1]);
int sumOfSquares = dX * dX + dY * dY;
int distance = (int) Math.Sqrt(sumOfSquares);
if(Convert.ToInt32(Radius) >= distance)
return true;
return false;
}
public static uint flagModel(float[] Origin, float[] Angles, string Model = "prop_flag_neutral")
{
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(0x0022925C, Entity);//SV_SetBrushModel
return Entity;
//GMTPS3 code without collisions
}
public static bool flagnum;//to exit thread
public static void Monitorflag(float[] flag, float[] teleportTo)
{
flagnum = true;
while (flagnum == true)
{
for (int y = 0; y <= 17; y++)
{
float[] posi = GetOrigin((uint)y);
float gap = distance(posi, flag);
if (gap <= 74.26306/*the distance required to teleport*/)
{
SetOrigin(y, teleportTo);
}
}
}
}
public static float distance(float[] player, float[] Teleporter)
{
float X = player[0] - Teleporter[0];
float Y = player[1] - Teleporter[1];
float Z = player[2] - Teleporter[2];
float dis = (float)Math.Sqrt(X * X + Y * Y + Z * Z);//math function to find distance between to points
return dis;
}
public static void SetOrigin(int Client, float[] Origin)
{
WriteSingle(0x110a280 + (0x3980 * (uint)Client) + 0x1C, Origin);
}
public static float[] GetOrigin(uint Client)
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
Thread str = new Thread(() => Monitorflag(locationflag, teleporter));
str.Start();
public static bool inArea(int Client, float[] Origin, float Radius)
{
int dX = Math.Abs((int)Funcs.GetOrigin(Client)[0] - (int)Origin[0]);
int dY = Math.Abs((int)Funcs.GetOrigin(Client)[1] - (int)Origin[1]);
int sumOfSquares = dX * dX + dY * dY;
int distance = (int) Math.Sqrt(sumOfSquares);
if(Convert.ToInt32(Radius) >= distance)
return true;
return false;
}
public static uint flagModel(float[] Origin, float[] Angles, string Model = "prop_flag_neutral")
{
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(0x0022925C, Entity);//SV_SetBrushModel
return Entity;
//GMTPS3 code without collisions
}
public static bool flagnum;//to exit thread
public static void Monitorflag(float[] flag, float[] teleportTo)
{
flagnum = true;
while (flagnum == true)
{
for (int y = 0; y <= 17; y++)
{
float[] posi = GetOrigin((uint)y);
float gap = distance(posi, flag);
if (gap <= 74.26306/*the distance required to teleport*/)
{
SetOrigin(y, teleportTo);
}
}
}
}
public static float distance(float[] player, float[] Teleporter)
{
float X = player[0] - Teleporter[0];
float Y = player[1] - Teleporter[1];
float Z = player[2] - Teleporter[2];
float dis = (float)Math.Sqrt(X * X + Y * Y + Z * Z);//math function to find distance between to points
return dis;
}
public static void SetOrigin(int Client, float[] Origin)
{
WriteSingle(0x110a280 + (0x3980 * (uint)Client) + 0x1C, Origin);
}
public static float[] GetOrigin(uint Client)
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
Thread str = new Thread(() => Monitorflag(locationflag, teleporter));
str.Start();
public static bool inArea(int Client, float[] Origin, float Radius)
{
int dX = Math.Abs((int)Funcs.GetOrigin(Client)[0] - (int)Origin[0]);
int dY = Math.Abs((int)Funcs.GetOrigin(Client)[1] - (int)Origin[1]);
int sumOfSquares = dX * dX + dY * dY;
int distance = (int) Math.Sqrt(sumOfSquares);
if(Convert.ToInt32(Radius) >= distance)
return true;
return false;
}

public static uint flagModel(float[] Origin, float[] Angles, string Model = "prop_flag_neutral")
{
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(0x0022925C, Entity);//SV_SetBrushModel
return Entity;
//GMTPS3 code without collisions
}
public static bool flagnum;//to exit thread
public static void Monitorflag(float[] flag, float[] teleportTo)/*here u need to put the position of flag(float[] flag) and where you want it to teleport people(float[] teleportTo)*/
{
flagnum = true;
while (flagnum == true)
{
for (int y = 0; y <= 17; y++)
{
float[] posi = GetOrigin((uint)y);
float gap = distance(posi, flag);
if (gap <= 74.26306/*the distance required to teleport*/)
{
SetOrigin(y, teleportTo);
}
}
}
}
public static float distance(float[] player, float[] Teleporter)//get distance with x y z
{
float X = player[0] - Teleporter[0];
float Y = player[1] - Teleporter[1];
float Z = player[2] - Teleporter[2];
float dis = (float)Math.Sqrt(X * X + Y * Y + Z * Z);//math function to find distance between to points
return dis;
}
public static void SetOrigin(int Client, float[] Origin)//teleports you
{
WriteSingle(0x110a280 + (0x3980 * (uint)Client) + 0x1C, Origin);
}
public static float[] GetOrigin(uint Client)//gets you position
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
Thread str = new Thread(() => Monitorflag(locationflag, teleporter));
str.Start();
public static bool inArea(int Client, float[] Origin, float Radius)
{
int dX = Math.Abs((int)Funcs.GetOrigin(Client)[0] - (int)Origin[0]);
int dY = Math.Abs((int)Funcs.GetOrigin(Client)[1] - (int)Origin[1]);
int sumOfSquares = dX * dX + dY * dY;
int distance = (int) Math.Sqrt(sumOfSquares);
if(Convert.ToInt32(Radius) >= distance)
return true;
return false;
}
public static uint flagModel(float[] Origin, float[] Angles, string Model = "prop_flag_neutral")
{
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(0x0022925C, Entity);//SV_SetBrushModel
return Entity;
//GMTPS3 code without collisions
}
public static bool flagnum;//to exit thread
public static void Monitorflag(float[] flag, float[] teleportTo)/*here u need to put the position of flag(float[] flag) and where you want it to teleport people(float[] teleportTo)*/
{
flagnum = true;
while (flagnum == true)
{
for (int y = 0; y <= 17; y++)
{
float[] posi = GetOrigin((uint)y);
float gap = distance(posi, flag);
if (gap <= 74.26306/*the distance required to teleport*/)
{
SetOrigin(y, teleportTo);
}
}
}
}
public static float distance(float[] player, float[] Teleporter)//get distance with x y z
{
float X = player[0] - Teleporter[0];
float Y = player[1] - Teleporter[1];
float Z = player[2] - Teleporter[2];
float dis = (float)Math.Sqrt(X * X + Y * Y + Z * Z);//math function to find distance between to points
return dis;
}
public static void SetOrigin(int Client, float[] Origin)//teleports you
{
WriteSingle(0x110a280 + (0x3980 * (uint)Client) + 0x1C, Origin);
}
public static float[] GetOrigin(uint Client)//gets you position
{
return ReadFloatLength(0x110a29c + (Client * 0x3980), 3);
}
Thread str = new Thread(() => Monitorflag(locationflag, teleporter));
str.Start();
public static bool inArea(int Client, float[] Origin, float Radius)
{
int dX = Math.Abs((int)Funcs.GetOrigin(Client)[0] - (int)Origin[0]);
int dY = Math.Abs((int)Funcs.GetOrigin(Client)[1] - (int)Origin[1]);
int sumOfSquares = dX * dX + dY * dY;
int distance = (int) Math.Sqrt(sumOfSquares);
if(Convert.ToInt32(Radius) >= distance)
return true;
return false;
}
I made something similar to this awhile back, I was going to put it in mine and ASC-NGU's recent menu release but I decided to wait to release it and now look what happened lol
Copyright © 2026, NextGenUpdate.
All Rights Reserved.