aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/OpenSim.Region/World/scripting/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/OpenSim.Region/World/scripting/Scripts')
-rw-r--r--OpenSim/OpenSim.Region/World/scripting/Scripts/FollowRandomAvatar.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/OpenSim/OpenSim.Region/World/scripting/Scripts/FollowRandomAvatar.cs b/OpenSim/OpenSim.Region/World/scripting/Scripts/FollowRandomAvatar.cs
new file mode 100644
index 0000000..9c0146b
--- /dev/null
+++ b/OpenSim/OpenSim.Region/World/scripting/Scripts/FollowRandomAvatar.cs
@@ -0,0 +1,37 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5
6namespace OpenSim.Region.Scripting
7{
8 public class FollowRandomAvatar : Script
9 {
10 public FollowRandomAvatar()
11 : base(LLUUID.Random())
12 {
13 OnFrame += MyOnFrame;
14 }
15
16 private void MyOnFrame(IScriptContext context)
17 {
18 LLVector3 pos = context.Entity.Pos;
19
20 IScriptReadonlyEntity avatar;
21
22 if (context.TryGetRandomAvatar(out avatar))
23 {
24 LLVector3 avatarPos = avatar.Pos;
25
26 float x = pos.X + ((float)avatarPos.X.CompareTo(pos.X)) / 2;
27 float y = pos.Y + ((float)avatarPos.Y.CompareTo(pos.Y)) / 2;
28
29 LLVector3 newPos = new LLVector3(x, y, pos.Z);
30
31 context.Entity.Pos = newPos;
32 }
33 }
34 }
35
36
37}