void fnc_Check_Players_Zone()
{
vector coords_zone = "0 0 0";
float dist_zone = 100;
vector coords_tp = "0 0 0";
array<Man> players = new array<Man>;
GetGame().GetPlayers( players );
for ( int i = 0; i < players.Count(); i++ )
{
Man player = players.Get(i);
if( player )
{
PlayerIdentity p_identity = player.GetIdentity();
if(p_identity)
{
private string Name_P = p_identity.GetName();
private string UID_P = p_identity.GetPlainId();
if(Check_player_in_zone(player,coords_zone,dist_zone))
{
(PlayerBase.Cast(player)).SetPosition(coords_tp);
Print("Player " + Name_P + "(" + UID_P + ") teleported to " + coords_tp.ToString());
} else
{
//Print("");
}
}
}
}
players.Clear();
}
bool Check_player_in_zone(Man player, vector coords_zone, float dist_zone)
{
PlayerIdentity p_identity = player.GetIdentity();
private vector coords_player = player.GetPosition();
if ( (vector.Distance(coords_player, coords_zone)) < dist_zone )
{
return true;
} else
{
return false;
}
}
Остается тока вызов дописать для функции fnc_Check_Players_Zone() и заполнить параметры
vector coords_zone = "0 0 0";
float dist_zone = 100;
vector coords_tp = "0 0 0";