Return to post
variables
{
player:
26: indoorCamera
}
rule("INIT")
{
event
{
Ongoing - Each Player;
All;
All;
}
actions
{
Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + World Vector Of(Vector(0,
6, -1.250), Event Player, Rotation), Event Player, Event Player, True), Event Player, 80);
Create Effect(Event Player, Sphere, Color(White), Update Every Frame(Ray Cast Hit Position(Eye Position(Event Player),
Eye Position(Event Player) + Facing Direction Of(Event Player) * 3.500, All Players(Opposite Team Of(Team Of(Event Player))),
Event Player, True)), 0.150, Visible To Position and Radius);
}
}
rule("Indoors")
{
event
{
Ongoing - Each Player;
All;
All;
}
conditions
{
Distance Between(Eye Position(Event Player), Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Vector(
0, 100, 0), Event Player, Event Player, True)) <= 5.500;
}
actions
{
Wait(0.030, Abort When False);
Event Player.indoorCamera = Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Vector(0, 100, 0),
Event Player, Event Player, True);
Start Camera(Event Player, Event Player.indoorCamera, Update Every Frame(Eye Position(Event Player)), 80);
Wait Until(!Is In Line of Sight(Event Player.indoorCamera, Eye Position(Event Player), Barriers Do Not Block LOS)
|| Distance Between(Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + Vector(0, 100, 0),
Event Player, Event Player, True), Eye Position(Event Player)) > 5.500, 99999);
Loop If(!Is In Line of Sight(Event Player.indoorCamera, Eye Position(Event Player), Barriers Do Not Block LOS));
Start Camera(Event Player, Ray Cast Hit Position(Eye Position(Event Player), Eye Position(Event Player) + World Vector Of(Vector(0,
6, -1.250), Event Player, Rotation), Event Player, Event Player, True), Event Player, 80);
}
}