Make dataserver() return a 0 when agent id offline, instead of a timeout

avinationmerge
Melanie Thielker 2010-06-20 06:23:08 +02:00
parent 04b60aa490
commit 76b59b8df7
1 changed files with 4 additions and 5 deletions

View File

@ -4232,22 +4232,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
UUID uuid = (UUID)id;
UserAccount account = World.UserAccountService.GetUserAccount(World.RegionInfo.ScopeID, uuid);
if (account == null)
return UUID.Zero.ToString();
PresenceInfo pinfo = null;
PresenceInfo[] pinfos = World.PresenceService.GetAgents(new string[] { uuid.ToString() });
if (pinfos != null && pinfos.Length > 0)
pinfo = pinfos[0];
if (pinfo == null)
return UUID.Zero.ToString();
string reply = String.Empty;
switch (data)
{
case 1: // DATA_ONLINE (0|1)
// TODO: implement fetching of this information
if (pinfo != null)
if (pinfo != null && pinfo.RegionID != UUID.Zero)
reply = "1";
else
reply = "0";