Compare commits

...

4 Commits

Author SHA1 Message Date
UbitUmarov df7468ffa2 fix a cast 2016-09-21 14:41:14 +01:00
UbitUmarov 5648f4ae6e kick mr jenkins 2016-09-21 14:23:08 +01:00
UbitUmarov c2dfa48604 missing file 2016-09-21 14:18:14 +01:00
UbitUmarov 8b1a174430 ****DANGER**** try to make LSL_Types.key to work. bin/ScriptEngines contents must be deleted to recompile scripts. Needs more testing on all uses of key type ****DANGER**** 2016-09-21 14:04:23 +01:00
22 changed files with 1130 additions and 1058 deletions

View File

@ -567,7 +567,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
idx++; idx++;
try try
{ {
wl.normalMapTexture = new UUID(rules.GetLSLStringItem(idx).m_string); wl.normalMapTexture = new UUID(rules.GetLSLKeyItem(idx).m_string);
} }
catch (ArgumentException) catch (ArgumentException)
{ {

View File

@ -46,7 +46,7 @@ using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
@ -202,8 +202,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (returntype != typeof(UUID)) if (returntype != typeof(UUID))
MODError(String.Format("return type mismatch for {0}",fname)); MODError(String.Format("return type mismatch for {0}",fname));
UUID result = (UUID)modInvoke(fname,parms); return (UUID)modInvoke(fname,parms);
return new LSL_Key(result.ToString());
} }
public LSL_Vector modInvokeV(string fname, params object[] parms) public LSL_Vector modInvokeV(string fname, params object[] parms)
@ -394,7 +393,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
else if (lslparm is LSL_Key) else if (lslparm is LSL_Key)
{ {
if (type == typeof(UUID)) if (type == typeof(UUID))
return new UUID((LSL_Key)lslparm); return (UUID)((LSL_Key)lslparm);
} }
// ---------- Rotation ---------- // ---------- Rotation ----------
@ -435,7 +434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
else if (plist[i] is LSL_Float) else if (plist[i] is LSL_Float)
result[i] = (float)(LSL_Float)plist[i]; result[i] = (float)(LSL_Float)plist[i];
else if (plist[i] is LSL_Key) else if (plist[i] is LSL_Key)
result[i] = new UUID((LSL_Key)plist[i]); result[i] = (UUID)((LSL_Key)plist[i]);
else if (plist[i] is LSL_Rotation) else if (plist[i] is LSL_Rotation)
result[i] = (Quaternion)((LSL_Rotation)plist[i]); result[i] = (Quaternion)((LSL_Rotation)plist[i]);
else if (plist[i] is LSL_Vector) else if (plist[i] is LSL_Vector)

View File

@ -58,7 +58,7 @@ using System.Text.RegularExpressions;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
@ -626,7 +626,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams,
int timer) int timer)
{ {
// This may be upgraded depending on the griefing or DOS // This may be upgraded depending on the griefing or DOS
@ -651,7 +651,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams,
int timer, int alpha) int timer, int alpha)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlend"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlend");
@ -673,7 +673,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams,
bool blend, int disp, int timer, int alpha, int face) bool blend, int disp, int timer, int alpha, int face)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlendFace"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureURLBlendFace");
@ -695,7 +695,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, public LSL_Key osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams,
int timer) int timer)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureData"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureData");
@ -724,7 +724,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, public LSL_Key osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams,
int timer, int alpha) int timer, int alpha)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlend"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlend");
@ -753,7 +753,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, public LSL_Key osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams,
bool blend, int disp, int timer, int alpha, int face) bool blend, int disp, int timer, int alpha, int face)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlendFace"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetDynamicTextureDataBlendFace");
@ -808,7 +808,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
// Teleport functions // Teleport functions
public void osTeleportAgent(string agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) public void osTeleportAgent(LSL_Key agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat)
{ {
// High because there is no security check. High griefer potential // High because there is no security check. High griefer potential
// //
@ -817,7 +817,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
TeleportAgent(agent, regionName, position, lookat, false); TeleportAgent(agent, regionName, position, lookat, false);
} }
private void TeleportAgent(string agent, string regionName, private void TeleportAgent(LSL_Key agent, string regionName,
LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions)
{ {
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -853,7 +853,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public void osTeleportAgent(string agent, int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) public void osTeleportAgent(LSL_Key agent, int regionGridX, int regionGridY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat)
{ {
// High because there is no security check. High griefer potential // High because there is no security check. High griefer potential
// //
@ -862,7 +862,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
TeleportAgent(agent, regionGridX, regionGridY, position, lookat, false); TeleportAgent(agent, regionGridX, regionGridY, position, lookat, false);
} }
private void TeleportAgent(string agent, int regionGridX, int regionGridY, private void TeleportAgent(LSL_Key agent, int regionGridX, int regionGridY,
LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions)
{ {
ulong regionHandle = Util.RegionGridLocToHandle((uint)regionGridX, (uint)regionGridY); ulong regionHandle = Util.RegionGridLocToHandle((uint)regionGridX, (uint)regionGridY);
@ -900,7 +900,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat) public void osTeleportAgent(LSL_Key agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat)
{ {
osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat); osTeleportAgent(agent, World.RegionInfo.RegionName, position, lookat);
} }
@ -932,7 +932,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
/// Does work if passed key (or keys if overloaded). /// Does work if passed key (or keys if overloaded).
/// </summary> /// </summary>
/// <param name="avatar"></param> /// <param name="avatar"></param>
public void osForceOtherSit(string avatar) public void osForceOtherSit(LSL_Key avatar)
{ {
CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit");
@ -947,7 +947,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
/// </summary> /// </summary>
/// <param name="avatar"></param> /// <param name="avatar"></param>
/// <param name="target"></param> /// <param name="target"></param>
public void osForceOtherSit(string avatar, string target) public void osForceOtherSit(LSL_Key avatar, string target)
{ {
CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit"); CheckThreatLevel(ThreatLevel.VeryHigh, "osForceOtherSit");
@ -958,7 +958,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ForceSit(avatar, targetID); ForceSit(avatar, targetID);
} }
public void ForceSit(string avatar, UUID targetID) public void ForceSit(LSL_Key avatar, UUID targetID)
{ {
UUID agentID; UUID agentID;
@ -985,14 +985,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
//resources based on the IP address of the clients connected. //resources based on the IP address of the clients connected.
//I think High is a good risk level for this, as it is an //I think High is a good risk level for this, as it is an
//information leak. //information leak.
public string osGetAgentIP(string agent) public string osGetAgentIP(LSL_Key agent)
{ {
CheckThreatLevel(ThreatLevel.High, "osGetAgentIP"); CheckThreatLevel(ThreatLevel.High, "osGetAgentIP");
UUID avatarID = (UUID)agent; UUID avatarID;
if (!UUID.TryParse(agent, out avatarID))
return "";
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
if (World.Entities.ContainsKey((UUID)agent) && World.Entities[avatarID] is ScenePresence) if (World.Entities.ContainsKey(avatarID) && World.Entities[avatarID] is ScenePresence)
{ {
ScenePresence target = (ScenePresence)World.Entities[avatarID]; ScenePresence target = (ScenePresence)World.Entities[avatarID];
return target.ControllingClient.RemoteEndPoint.Address.ToString(); return target.ControllingClient.RemoteEndPoint.Address.ToString();
@ -1019,14 +1021,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
// Adam's super super custom animation functions // Adam's super super custom animation functions
public void osAvatarPlayAnimation(string avatar, string animation) public void osAvatarPlayAnimation(LSL_Key avatar, string animation)
{ {
CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation"); CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarPlayAnimation");
AvatarPlayAnimation(avatar, animation); AvatarPlayAnimation(avatar, animation);
} }
private void AvatarPlayAnimation(string avatar, string animation) private void AvatarPlayAnimation(LSL_Key avatar, string animation)
{ {
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -1065,16 +1067,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
target.Animator.AddAnimation(animID, m_host.UUID); target.Animator.AddAnimation(animID, m_host.UUID);
} }
public void osAvatarStopAnimation(string avatar, string animation) public void osAvatarStopAnimation(LSL_Key avatar, string animation)
{ {
CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation"); CheckThreatLevel(ThreatLevel.VeryHigh, "osAvatarStopAnimation");
AvatarStopAnimation(avatar, animation); AvatarStopAnimation(avatar, animation);
} }
private void AvatarStopAnimation(string avatar, string animation) private void AvatarStopAnimation(LSL_Key avatar, string animation)
{ {
UUID avatarID = (UUID)avatar; UUID avatarID;
if(!UUID.TryParse(avatar, out avatarID))
return;
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -1859,7 +1863,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
private void MessageObject(UUID objUUID, string message) private void MessageObject(UUID objUUID, string message)
{ {
object[] resobj = new object[] { new LSL_Types.LSLString(m_host.UUID.ToString()), new LSL_Types.LSLString(message) }; object[] resobj = new object[] {
new LSL_Types.key(m_host.UUID),
new LSL_Types.LSLString(message) };
SceneObjectPart sceneOP = World.GetSceneObjectPart(objUUID); SceneObjectPart sceneOP = World.GetSceneObjectPart(objUUID);
@ -2143,7 +2149,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return NotecardCache.GetLines(assetID); return NotecardCache.GetLines(assetID);
} }
public string osAvatarName2Key(string firstname, string lastname) public LSL_Key osAvatarName2Key(string firstname, string lastname)
{ {
CheckThreatLevel(ThreatLevel.Low, "osAvatarName2Key"); CheckThreatLevel(ThreatLevel.Low, "osAvatarName2Key");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -2195,7 +2201,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public string osKey2Name(string id) public string osKey2Name(LSL_Key id)
{ {
CheckThreatLevel(ThreatLevel.Low, "osKey2Name"); CheckThreatLevel(ThreatLevel.Low, "osKey2Name");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -2414,17 +2420,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return retval; return retval;
} }
public string osGetAvatarHomeURI(string uuid) public string osGetAvatarHomeURI(LSL_Key id)
{ {
CheckThreatLevel(ThreatLevel.Low, "osGetAvatarHomeURI"); CheckThreatLevel(ThreatLevel.Low, "osGetAvatarHomeURI");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID uuid;
if(!UUID.TryParse(id, out uuid))
return "";
IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>(); IUserManagement userManager = m_ScriptEngine.World.RequestModuleInterface<IUserManagement>();
string returnValue = ""; string returnValue = "";
if (userManager != null) if (userManager != null)
{ {
returnValue = userManager.GetUserServerURL(new UUID(uuid), "HomeURI"); returnValue = userManager.GetUserServerURL(uuid, "HomeURI");
} }
if (returnValue == "") if (returnValue == "")
@ -2538,7 +2547,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return World.RegionInfo.RegionSettings.LoadedCreationTime; return World.RegionInfo.RegionSettings.LoadedCreationTime;
} }
public string osLoadedCreationID() public LSL_Key osLoadedCreationID()
{ {
CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationID"); CheckThreatLevel(ThreatLevel.Low, "osLoadedCreationID");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -2587,7 +2596,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return retVal; return retVal;
} }
public void osForceCreateLink(string target, int parent) public void osForceCreateLink(LSL_Key target, int parent)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink"); CheckThreatLevel(ThreatLevel.VeryLow, "osForceCreateLink");
@ -2626,7 +2635,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (module != null) if (module != null)
{ {
UUID npcId; UUID npcId;
if (UUID.TryParse(npc.m_string, out npcId)) if (UUID.TryParse(npc, out npcId))
if (module.IsNPC(npcId, World)) if (module.IsNPC(npcId, World))
return ScriptBaseClass.TRUE; return ScriptBaseClass.TRUE;
} }
@ -2642,7 +2651,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// have to get the npc module also here to set the default Not Owned // have to get the npc module also here to set the default Not Owned
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if(module == null) if(module == null)
return new LSL_Key(UUID.Zero.ToString()); return new LSL_Key(UUID.Zero);
bool owned = (module.NPCOptionFlags & NPCOptionsFlags.AllowNotOwned) == 0; bool owned = (module.NPCOptionFlags & NPCOptionsFlags.AllowNotOwned) == 0;
@ -2666,11 +2675,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{ {
if (!World.Permissions.CanRezObject(1, m_host.OwnerID, new Vector3((float)position.x, (float)position.y, (float)position.z))) if (!World.Permissions.CanRezObject(1, m_host.OwnerID, new Vector3((float)position.x, (float)position.y, (float)position.z)))
return new LSL_Key(UUID.Zero.ToString()); return new LSL_Key(UUID.Zero);
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if(module == null) if(module == null)
new LSL_Key(UUID.Zero.ToString()); new LSL_Key(UUID.Zero);
string groupTitle = String.Empty; string groupTitle = String.Empty;
UUID groupID = UUID.Zero; UUID groupID = UUID.Zero;
@ -2701,7 +2710,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (member == null) if (member == null)
{ {
OSSLError(string.Format("osNpcCreate: the object owner is not member of the object group")); OSSLError(string.Format("osNpcCreate: the object owner is not member of the object group"));
return new LSL_Key(UUID.Zero.ToString()); return new LSL_Key(UUID.Zero);
} }
groupID = m_host.GroupID; groupID = m_host.GroupID;
@ -2750,7 +2759,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
catch catch
{ {
OSSLError(string.Format("osNpcCreate: Error processing notcard '{0}'", notecard)); OSSLError(string.Format("osNpcCreate: Error processing notcard '{0}'", notecard));
return new LSL_Key(UUID.Zero.ToString()); return new LSL_Key(UUID.Zero);
} }
} }
else else
@ -2797,16 +2806,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc.ToString(), out npcId))
return new LSL_Key(UUID.Zero.ToString()); return UUID.Zero;
if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) if (!npcModule.CheckPermissions(npcId, m_host.OwnerID))
return new LSL_Key(UUID.Zero.ToString()); return UUID.Zero;
return SaveAppearanceToNotecard(npcId, notecard); return SaveAppearanceToNotecard(npcId, notecard);
} }
return new LSL_Key(UUID.Zero.ToString()); return UUID.Zero;
} }
public void osNpcLoadAppearance(LSL_Key npc, string notecard) public void osNpcLoadAppearance(LSL_Key npc, string notecard)
@ -2819,7 +2828,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return; return;
if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) if (!npcModule.CheckPermissions(npcId, m_host.OwnerID))
@ -2850,7 +2859,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (UUID.TryParse(npc.m_string, out npcId)) if (UUID.TryParse(npc, out npcId))
{ {
UUID owner = npcModule.GetOwner(npcId); UUID owner = npcModule.GetOwner(npcId);
if (owner != UUID.Zero) if (owner != UUID.Zero)
@ -2872,7 +2881,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return new LSL_Vector(0, 0, 0); return new LSL_Vector(0, 0, 0);
if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) if (!npcModule.CheckPermissions(npcId, m_host.OwnerID))
@ -2896,7 +2905,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (module != null) if (module != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return; return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
@ -2915,14 +2924,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (module != null) if (module != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return; return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
module.MoveToTarget( module.MoveToTarget(
new UUID(npc.m_string), npcId,
World, World,
target, target,
(options & ScriptBaseClass.OS_NPC_NO_FLY) != 0, (options & ScriptBaseClass.OS_NPC_NO_FLY) != 0,
@ -2940,7 +2949,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return new LSL_Rotation(Quaternion.Identity); return new LSL_Rotation(Quaternion.Identity);
if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) if (!npcModule.CheckPermissions(npcId, m_host.OwnerID))
@ -2964,7 +2973,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (npcModule != null) if (npcModule != null)
{ {
UUID npcId; UUID npcId;
if (!UUID.TryParse(npc.m_string, out npcId)) if (!UUID.TryParse(npc, out npcId))
return; return;
if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) if (!npcModule.CheckPermissions(npcId, m_host.OwnerID))
@ -2985,7 +2994,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
@ -3007,7 +3018,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
@ -3024,7 +3037,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
@ -3041,12 +3056,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
module.Sit(npcId, new UUID(target.m_string), World); module.Sit(npcId, (UUID)target, World);
} }
} }
@ -3058,7 +3075,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
@ -3077,7 +3096,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcId;
if (!UUID.TryParse(npc, out npcId))
return;
if (!module.CheckPermissions(npcId, m_host.OwnerID)) if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
@ -3096,7 +3117,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcID = new UUID(npc.m_string); UUID npcID;
if (!UUID.TryParse(npc, out npcID))
return;
if (module.CheckPermissions(npcID, m_host.OwnerID)) if (module.CheckPermissions(npcID, m_host.OwnerID))
AvatarPlayAnimation(npcID.ToString(), animation); AvatarPlayAnimation(npcID.ToString(), animation);
@ -3111,7 +3134,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcID = new UUID(npc.m_string); UUID npcID;
if (!UUID.TryParse(npc, out npcID))
return;
if (module.CheckPermissions(npcID, m_host.OwnerID)) if (module.CheckPermissions(npcID, m_host.OwnerID))
AvatarStopAnimation(npcID.ToString(), animation); AvatarStopAnimation(npcID.ToString(), animation);
@ -3126,12 +3151,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
INPCModule module = World.RequestModuleInterface<INPCModule>(); INPCModule module = World.RequestModuleInterface<INPCModule>();
if (module != null) if (module != null)
{ {
UUID npcId = new UUID(npc.m_string); UUID npcID;
if (!UUID.TryParse(npc, out npcID))
if (!module.CheckPermissions(npcId, m_host.OwnerID))
return; return;
module.Whisper(npcId, World, message, channel); if (!module.CheckPermissions(npcID, m_host.OwnerID))
return;
module.Whisper(npcID, World, message, channel);
} }
} }
@ -3367,11 +3394,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return (int)pws; return (int)pws;
} }
public void osSetSpeed(string UUID, LSL_Float SpeedModifier) public void osSetSpeed(LSL_Key UUID, LSL_Float SpeedModifier)
{ {
CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed"); CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
ScenePresence avatar = World.GetScenePresence(new UUID(UUID)); ScenePresence avatar = World.GetScenePresence((UUID)UUID);
if (avatar != null) if (avatar != null)
avatar.SpeedModifier = (float)SpeedModifier; avatar.SpeedModifier = (float)SpeedModifier;
@ -3396,23 +3423,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}); });
} }
public LSL_Float osGetHealth(string avatar) public LSL_Float osGetHealth(LSL_Key avatar)
{ {
CheckThreatLevel(ThreatLevel.None, "osGetHealth"); CheckThreatLevel(ThreatLevel.None, "osGetHealth");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
LSL_Float health = new LSL_Float(-1); LSL_Float health = new LSL_Float(-1);
ScenePresence presence = World.GetScenePresence(new UUID(avatar)); ScenePresence presence = World.GetScenePresence((UUID)avatar);
if (presence != null) health = presence.Health; if (presence != null) health = presence.Health;
return health; return health;
} }
public void osCauseDamage(string avatar, double damage) public void osCauseDamage(LSL_Key avatar, double damage)
{ {
CheckThreatLevel(ThreatLevel.High, "osCauseDamage"); CheckThreatLevel(ThreatLevel.High, "osCauseDamage");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID avatarId = new UUID(avatar); UUID avatarId = (UUID)avatar;
Vector3 pos = m_host.GetWorldPosition(); Vector3 pos = m_host.GetWorldPosition();
ScenePresence presence = World.GetScenePresence(avatarId); ScenePresence presence = World.GetScenePresence(avatarId);
@ -3435,12 +3462,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public void osCauseHealing(string avatar, double healing) public void osCauseHealing(LSL_Key avatar, double healing)
{ {
CheckThreatLevel(ThreatLevel.High, "osCauseHealing"); CheckThreatLevel(ThreatLevel.High, "osCauseHealing");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID avatarId = new UUID(avatar); UUID avatarId = (UUID)avatar;
ScenePresence presence = World.GetScenePresence(avatarId); ScenePresence presence = World.GetScenePresence(avatarId);
if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition())) if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition()))
@ -3455,12 +3482,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public void osSetHealth(string avatar, double health) public void osSetHealth(LSL_Key avatar, double health)
{ {
CheckThreatLevel(ThreatLevel.High, "osSetHealth"); CheckThreatLevel(ThreatLevel.High, "osSetHealth");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID avatarId = new UUID(avatar); UUID avatarId = (UUID)avatar;
ScenePresence presence = World.GetScenePresence(avatarId); ScenePresence presence = World.GetScenePresence(avatarId);
if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition())) if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition()))
@ -3474,25 +3501,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public void osSetHealRate(string avatar, double healrate) public void osSetHealRate(LSL_Key avatar, double healrate)
{ {
CheckThreatLevel(ThreatLevel.High, "osSetHealRate"); CheckThreatLevel(ThreatLevel.High, "osSetHealRate");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID avatarId = new UUID(avatar); UUID avatarId = (UUID)avatar;
ScenePresence presence = World.GetScenePresence(avatarId); ScenePresence presence = World.GetScenePresence(avatarId);
if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition())) if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition()))
presence.HealRate = (float)healrate; presence.HealRate = (float)healrate;
} }
public LSL_Float osGetHealRate(string avatar) public LSL_Float osGetHealRate(LSL_Key avatar)
{ {
CheckThreatLevel(ThreatLevel.None, "osGetHealRate"); CheckThreatLevel(ThreatLevel.None, "osGetHealRate");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
LSL_Float rate = new LSL_Float(0); LSL_Float rate = new LSL_Float(0);
ScenePresence presence = World.GetScenePresence(new UUID(avatar)); ScenePresence presence = World.GetScenePresence((UUID)avatar);
if (presence != null) if (presence != null)
rate = presence.HealRate; rate = presence.HealRate;
return rate; return rate;
@ -3541,13 +3568,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
else else
{ {
obj = World.GetSceneObjectPart(new UUID(prim)); obj = World.GetSceneObjectPart((UUID)prim);
if (obj == null) if (obj == null)
return; return;
} }
obj.Shape.ProjectionEntry = projection; obj.Shape.ProjectionEntry = projection;
obj.Shape.ProjectionTextureUUID = new UUID(texture); obj.Shape.ProjectionTextureUUID = (UUID)texture;
obj.Shape.ProjectionFOV = (float)fov; obj.Shape.ProjectionFOV = (float)fov;
obj.Shape.ProjectionFocus = (float)focus; obj.Shape.ProjectionFocus = (float)focus;
obj.Shape.ProjectionAmbiance = (float)amb; obj.Shape.ProjectionAmbiance = (float)amb;
@ -3570,7 +3597,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{ {
if (avatar != null && avatar.UUID != m_host.OwnerID) if (avatar != null && avatar.UUID != m_host.OwnerID)
{ {
result.Add(new LSL_String(avatar.UUID.ToString())); result.Add(new LSL_Key(avatar.UUID));
result.Add(new LSL_Vector(avatar.AbsolutePosition)); result.Add(new LSL_Vector(avatar.AbsolutePosition));
result.Add(new LSL_String(avatar.Name)); result.Add(new LSL_String(avatar.Name));
} }
@ -3630,7 +3657,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.VeryLow, "osInviteToGroup"); CheckThreatLevel(ThreatLevel.VeryLow, "osInviteToGroup");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID agent = new UUID(agentId); UUID agent = (UUID)agentId;
// groups module is required // groups module is required
IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface<IGroupsModule>(); IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface<IGroupsModule>();
@ -3665,7 +3692,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.VeryLow, "osEjectFromGroup"); CheckThreatLevel(ThreatLevel.VeryLow, "osEjectFromGroup");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
UUID agent = new UUID(agentId); UUID agent = (UUID)agentId;
// groups module is required // groups module is required
IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface<IGroupsModule>(); IGroupsModule groupsModule = m_ScriptEngine.World.RequestModuleInterface<IGroupsModule>();
@ -3765,7 +3792,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
ForceAttachToAvatarFromInventory(m_host.OwnerID, itemName, attachmentPoint); ForceAttachToAvatarFromInventory(m_host.OwnerID, itemName, attachmentPoint);
} }
public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) public void osForceAttachToOtherAvatarFromInventory(LSL_Key rawAvatarId, string itemName, int attachmentPoint)
{ {
CheckThreatLevel(ThreatLevel.VeryHigh, "osForceAttachToOtherAvatarFromInventory"); CheckThreatLevel(ThreatLevel.VeryHigh, "osForceAttachToOtherAvatarFromInventory");
@ -4064,7 +4091,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
CheckThreatLevel(ThreatLevel.High, "osSetContentType"); CheckThreatLevel(ThreatLevel.High, "osSetContentType");
if (m_UrlModule != null) if (m_UrlModule != null)
m_UrlModule.HttpContentType(new UUID(id),type); m_UrlModule.HttpContentType((UUID)id, type);
} }
/// Shout an error if the object owner did not grant the script the specified permissions. /// Shout an error if the object owner did not grant the script the specified permissions.
@ -4153,7 +4180,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
DropAttachmentAt(false, pos, rot); DropAttachmentAt(false, pos, rot);
} }
public LSL_Integer osListenRegex(int channelID, string name, string ID, string msg, int regexBitfield) public LSL_Integer osListenRegex(int channelID, string name, LSL_Key ID, string msg, int regexBitfield)
{ {
CheckThreatLevel(ThreatLevel.Low, "osListenRegex"); CheckThreatLevel(ThreatLevel.Low, "osListenRegex");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -4216,7 +4243,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public LSL_String osRequestURL(LSL_List options) public LSL_Key osRequestURL(LSL_List options)
{ {
CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL"); CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
@ -4234,7 +4261,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return UUID.Zero.ToString(); return UUID.Zero.ToString();
} }
public LSL_String osRequestSecureURL(LSL_List options) public LSL_Key osRequestSecureURL(LSL_List options)
{ {
CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL"); CheckThreatLevel(ThreatLevel.Moderate, "osRequestSecureURL");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);

View File

@ -105,7 +105,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
m_CmdManager.m_ScriptEngine.PostObjectEvent(ds.localID, m_CmdManager.m_ScriptEngine.PostObjectEvent(ds.localID,
new EventParams("dataserver", new Object[] new EventParams("dataserver", new Object[]
{ new LSL_Types.LSLString(ds.ID.ToString()), { new LSL_Types.key(ds.ID),
new LSL_Types.LSLString(reply)}, new LSL_Types.LSLString(reply)},
new DetectParams[0])); new DetectParams[0]));
} }

View File

@ -71,7 +71,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
object[] resobj = new object[] object[] resobj = new object[]
{ {
new LSL_Types.LSLString(httpInfo.ReqID.ToString()), new LSL_Types.key(httpInfo.ReqID),
new LSL_Types.LSLInteger(httpInfo.Status), new LSL_Types.LSLInteger(httpInfo.Status),
new LSL_Types.list(), new LSL_Types.list(),
new LSL_Types.LSLString(httpInfo.ResponseBody) new LSL_Types.LSLString(httpInfo.ResponseBody)

View File

@ -71,7 +71,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
{ {
new LSL_Types.LSLInteger(lInfo.GetChannel()), new LSL_Types.LSLInteger(lInfo.GetChannel()),
new LSL_Types.LSLString(lInfo.GetName()), new LSL_Types.LSLString(lInfo.GetName()),
new LSL_Types.LSLString(lInfo.GetID().ToString()), new LSL_Types.key(lInfo.GetID()),
new LSL_Types.LSLString(lInfo.GetMessage()) new LSL_Types.LSLString(lInfo.GetMessage())
}; };

View File

@ -62,10 +62,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
object[] resobj = new object[] object[] resobj = new object[]
{ {
new LSL_Types.LSLInteger(2), new LSL_Types.LSLInteger(2),
new LSL_Types.LSLString( new LSL_Types.key(rInfo.GetChannelKey()),
rInfo.GetChannelKey().ToString()), new LSL_Types.key(rInfo.GetMessageID()),
new LSL_Types.LSLString(
rInfo.GetMessageID().ToString()),
new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLString(String.Empty),
new LSL_Types.LSLInteger(rInfo.GetIntValue()), new LSL_Types.LSLInteger(rInfo.GetIntValue()),
new LSL_Types.LSLString(rInfo.GetStrVal()) new LSL_Types.LSLString(rInfo.GetStrVal())
@ -93,8 +91,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
object[] resobj = new object[] object[] resobj = new object[]
{ {
new LSL_Types.LSLInteger(3), new LSL_Types.LSLInteger(3),
new LSL_Types.LSLString(srdInfo.Channel.ToString()), new LSL_Types.key(srdInfo.Channel),
new LSL_Types.LSLString(srdInfo.GetReqID().ToString()), new LSL_Types.key(srdInfo.GetReqID()),
new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLString(String.Empty),
new LSL_Types.LSLInteger(srdInfo.Idata), new LSL_Types.LSLInteger(srdInfo.Idata),
new LSL_Types.LSLString(srdInfo.Sdata) new LSL_Types.LSLString(srdInfo.Sdata)

View File

@ -29,7 +29,7 @@ using System;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
@ -43,8 +43,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer llAbs(int i); LSL_Integer llAbs(int i);
LSL_Float llAcos(double val); LSL_Float llAcos(double val);
void llAddToLandBanList(string avatar, double hours); void llAddToLandBanList(LSL_Key avatar, double hours);
void llAddToLandPassList(string avatar, double hours); void llAddToLandPassList(LSL_Key avatar, double hours);
void llAdjustSoundVolume(double volume); void llAdjustSoundVolume(double volume);
void llAllowInventoryDrop(int add); void llAllowInventoryDrop(int add);
LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b); LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b);
@ -66,13 +66,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void llClearCameraParams(); void llClearCameraParams();
LSL_Integer llClearLinkMedia(LSL_Integer link, LSL_Integer face); LSL_Integer llClearLinkMedia(LSL_Integer link, LSL_Integer face);
LSL_Integer llClearPrimMedia(LSL_Integer face); LSL_Integer llClearPrimMedia(LSL_Integer face);
void llCloseRemoteDataChannel(string channel); void llCloseRemoteDataChannel(LSL_Key channel);
LSL_Float llCloud(LSL_Vector offset); LSL_Float llCloud(LSL_Vector offset);
void llCollisionFilter(string name, string id, int accept); void llCollisionFilter(string name, LSL_Key id, int accept);
void llCollisionSound(string impact_sound, double impact_volume); void llCollisionSound(string impact_sound, double impact_volume);
void llCollisionSprite(string impact_sprite); void llCollisionSprite(string impact_sprite);
LSL_Float llCos(double f); LSL_Float llCos(double f);
void llCreateLink(string target, int parent); void llCreateLink(LSL_Key target, int parent);
LSL_List llCSV2List(string src); LSL_List llCSV2List(string src);
LSL_List llDeleteSubList(LSL_List src, int start, int end); LSL_List llDeleteSubList(LSL_List src, int start, int end);
LSL_String llDeleteSubString(string src, int start, int end); LSL_String llDeleteSubString(string src, int start, int end);
@ -93,11 +93,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Vector llDetectedTouchST(int index); LSL_Vector llDetectedTouchST(int index);
LSL_Vector llDetectedTouchUV(int index); LSL_Vector llDetectedTouchUV(int index);
LSL_Vector llDetectedVel(int number); LSL_Vector llDetectedVel(int number);
void llDialog(string avatar, string message, LSL_List buttons, int chat_channel); void llDialog(LSL_Key avatar, string message, LSL_List buttons, int chat_channel);
void llDie(); void llDie();
LSL_String llDumpList2String(LSL_List src, string seperator); LSL_String llDumpList2String(LSL_List src, string seperator);
LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir); LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir);
void llEjectFromLand(string pest); void llEjectFromLand(LSL_Key pest);
void llEmail(string address, string subject, string message); void llEmail(string address, string subject, string message);
LSL_String llEscapeURL(string url); LSL_String llEscapeURL(string url);
LSL_Rotation llEuler2Rot(LSL_Vector v); LSL_Rotation llEuler2Rot(LSL_Vector v);
@ -107,21 +107,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Float llFrand(double mag); LSL_Float llFrand(double mag);
LSL_Key llGenerateKey(); LSL_Key llGenerateKey();
LSL_Vector llGetAccel(); LSL_Vector llGetAccel();
LSL_Integer llGetAgentInfo(string id); LSL_Integer llGetAgentInfo(LSL_Key id);
LSL_String llGetAgentLanguage(string id); LSL_String llGetAgentLanguage(string id);
LSL_List llGetAgentList(LSL_Integer scope, LSL_List options); LSL_List llGetAgentList(LSL_Integer scope, LSL_List options);
LSL_Vector llGetAgentSize(string id); LSL_Vector llGetAgentSize(LSL_Key id);
LSL_Float llGetAlpha(int face); LSL_Float llGetAlpha(int face);
LSL_Float llGetAndResetTime(); LSL_Float llGetAndResetTime();
LSL_String llGetAnimation(string id); LSL_String llGetAnimation(LSL_Key id);
LSL_List llGetAnimationList(string id); LSL_List llGetAnimationList(LSL_Key id);
LSL_Integer llGetAttached(); LSL_Integer llGetAttached();
LSL_List llGetBoundingBox(string obj); LSL_List llGetBoundingBox(LSL_Key obj);
LSL_Vector llGetCameraPos(); LSL_Vector llGetCameraPos();
LSL_Rotation llGetCameraRot(); LSL_Rotation llGetCameraRot();
LSL_Vector llGetCenterOfMass(); LSL_Vector llGetCenterOfMass();
LSL_Vector llGetColor(int face); LSL_Vector llGetColor(int face);
LSL_String llGetCreator(); LSL_Key llGetCreator();
LSL_String llGetDate(); LSL_String llGetDate();
LSL_Float llGetEnergy(); LSL_Float llGetEnergy();
LSL_String llGetEnv(LSL_String name); LSL_String llGetEnv(LSL_String name);
@ -154,19 +154,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Float llGetMassMKS(); LSL_Float llGetMassMKS();
LSL_Integer llGetMemoryLimit(); LSL_Integer llGetMemoryLimit();
void llGetNextEmail(string address, string subject); void llGetNextEmail(string address, string subject);
LSL_String llGetNotecardLine(string name, int line); LSL_Key llGetNotecardLine(string name, int line);
LSL_Key llGetNumberOfNotecardLines(string name); LSL_Key llGetNumberOfNotecardLines(string name);
LSL_Integer llGetNumberOfPrims(); LSL_Integer llGetNumberOfPrims();
LSL_Integer llGetNumberOfSides(); LSL_Integer llGetNumberOfSides();
LSL_String llGetObjectDesc(); LSL_String llGetObjectDesc();
LSL_List llGetObjectDetails(string id, LSL_List args); LSL_List llGetObjectDetails(LSL_Key id, LSL_List args);
LSL_Float llGetObjectMass(string id); LSL_Float llGetObjectMass(LSL_Key id);
LSL_String llGetObjectName(); LSL_String llGetObjectName();
LSL_Integer llGetObjectPermMask(int mask); LSL_Integer llGetObjectPermMask(int mask);
LSL_Integer llGetObjectPrimCount(string object_id); LSL_Integer llGetObjectPrimCount(LSL_Key object_id);
LSL_Vector llGetOmega(); LSL_Vector llGetOmega();
LSL_Key llGetOwner(); LSL_Key llGetOwner();
LSL_Key llGetOwnerKey(string id); LSL_Key llGetOwnerKey(LSL_Key id);
LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param); LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param);
LSL_Integer llGetParcelFlags(LSL_Vector pos); LSL_Integer llGetParcelFlags(LSL_Vector pos);
LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide); LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide);
@ -207,28 +207,28 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer llGetUnixTime(); LSL_Integer llGetUnixTime();
LSL_Vector llGetVel(); LSL_Vector llGetVel();
LSL_Float llGetWallclock(); LSL_Float llGetWallclock();
void llGiveInventory(string destination, string inventory); void llGiveInventory(LSL_Key destination, string inventory);
void llGiveInventoryList(string destination, string category, LSL_List inventory); void llGiveInventoryList(LSL_Key destination, string category, LSL_List inventory);
LSL_Integer llGiveMoney(string destination, int amount); LSL_Integer llGiveMoney(LSL_Key destination, int amount);
LSL_String llTransferLindenDollars(string destination, int amount); LSL_Key llTransferLindenDollars(LSL_Key destination, int amount);
void llGodLikeRezObject(string inventory, LSL_Vector pos); void llGodLikeRezObject(LSL_Key inventory, LSL_Vector pos);
LSL_Float llGround(LSL_Vector offset); LSL_Float llGround(LSL_Vector offset);
LSL_Vector llGroundContour(LSL_Vector offset); LSL_Vector llGroundContour(LSL_Vector offset);
LSL_Vector llGroundNormal(LSL_Vector offset); LSL_Vector llGroundNormal(LSL_Vector offset);
void llGroundRepel(double height, int water, double tau); void llGroundRepel(double height, int water, double tau);
LSL_Vector llGroundSlope(LSL_Vector offset); LSL_Vector llGroundSlope(LSL_Vector offset);
LSL_String llHTTPRequest(string url, LSL_List parameters, string body); LSL_Key llHTTPRequest(string url, LSL_List parameters, string body);
void llHTTPResponse(LSL_Key id, int status, string body); void llHTTPResponse(LSL_Key id, int status, string body);
LSL_String llInsertString(string dst, int position, string src); LSL_String llInsertString(string dst, int position, string src);
void llInstantMessage(string user, string message); void llInstantMessage(LSL_Key user, string message);
LSL_String llIntegerToBase64(int number); LSL_String llIntegerToBase64(int number);
LSL_String llKey2Name(string id); LSL_String llKey2Name(LSL_Key id);
LSL_String llGetUsername(string id); LSL_String llGetUsername(LSL_Key id);
LSL_String llRequestUsername(string id); LSL_Key llRequestUsername(LSL_Key id);
LSL_String llGetDisplayName(string id); LSL_String llGetDisplayName(LSL_Key id);
LSL_String llRequestDisplayName(string id); LSL_Key llRequestDisplayName(LSL_Key id);
void llLinkParticleSystem(int linknum, LSL_List rules); void llLinkParticleSystem(int linknum, LSL_List rules);
void llLinkSitTarget(LSL_Integer link, LSL_Vector offset, LSL_Rotation rot); void llLinkSitTarget(LSL_Integer link, LSL_Vector offset, LSL_Rotation rot);
LSL_String llList2CSV(LSL_List src); LSL_String llList2CSV(LSL_List src);
LSL_Float llList2Float(LSL_List src, int index); LSL_Float llList2Float(LSL_List src, int index);
LSL_Integer llList2Integer(LSL_List src, int index); LSL_Integer llList2Integer(LSL_List src, int index);
@ -238,7 +238,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Rotation llList2Rot(LSL_List src, int index); LSL_Rotation llList2Rot(LSL_List src, int index);
LSL_String llList2String(LSL_List src, int index); LSL_String llList2String(LSL_List src, int index);
LSL_Vector llList2Vector(LSL_List src, int index); LSL_Vector llList2Vector(LSL_List src, int index);
LSL_Integer llListen(int channelID, string name, string ID, string msg); LSL_Integer llListen(int channelID, string name, LSL_Key ID, string msg);
void llListenControl(int number, int active); void llListenControl(int number, int active);
void llListenRemove(int number); void llListenRemove(int number);
LSL_Integer llListFindList(LSL_List src, LSL_List test); LSL_Integer llListFindList(LSL_List src, LSL_List test);
@ -247,29 +247,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end); LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end);
LSL_List llListSort(LSL_List src, int stride, int ascending); LSL_List llListSort(LSL_List src, int stride, int ascending);
LSL_Float llListStatistics(int operation, LSL_List src); LSL_Float llListStatistics(int operation, LSL_List src);
void llLoadURL(string avatar_id, string message, string url); void llLoadURL(LSL_Key avatar_id, string message, string url);
LSL_Float llLog(double val); LSL_Float llLog(double val);
LSL_Float llLog10(double val); LSL_Float llLog10(double val);
void llLookAt(LSL_Vector target, double strength, double damping); void llLookAt(LSL_Vector target, double strength, double damping);
void llLoopSound(string sound, double volume); void llLoopSound(string sound, double volume);
void llLoopSoundMaster(string sound, double volume); void llLoopSoundMaster(string sound, double volume);
void llLoopSoundSlave(string sound, double volume); void llLoopSoundSlave(string sound, double volume);
LSL_Integer llManageEstateAccess(int action, string avatar); LSL_Integer llManageEstateAccess(int action, LSL_Key avatar);
void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset); void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset);
void llMakeFire(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset); void llMakeFire(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset);
void llMakeFountain(int particles, double scale, double vel, double lifetime, double arc, int bounce, string texture, LSL_Vector offset, double bounce_offset); void llMakeFountain(int particles, double scale, double vel, double lifetime, double arc, int bounce, string texture, LSL_Vector offset, double bounce_offset);
void llMakeSmoke(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset); void llMakeSmoke(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset);
void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at); void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at);
LSL_String llMD5String(string src, int nonce); LSL_String llMD5String(string src, int nonce);
LSL_String llSHA1String(string src); LSL_String llSHA1String(string src);
void llMessageLinked(int linknum, int num, string str, string id); void llMessageLinked(int linknum, int num, string str, LSL_Key id);
void llMinEventDelay(double delay); void llMinEventDelay(double delay);
void llModifyLand(int action, int brush); void llModifyLand(int action, int brush);
LSL_Integer llModPow(int a, int b, int c); LSL_Integer llModPow(int a, int b, int c);
void llMoveToTarget(LSL_Vector target, double tau); void llMoveToTarget(LSL_Vector target, double tau);
void llOffsetTexture(double u, double v, int face); void llOffsetTexture(double u, double v, int face);
void llOpenRemoteDataChannel(); void llOpenRemoteDataChannel();
LSL_Integer llOverMyLand(string id); LSL_Integer llOverMyLand(LSL_Key id);
void llOwnerSay(string msg); void llOwnerSay(string msg);
void llParcelMediaCommandList(LSL_List commandList); void llParcelMediaCommandList(LSL_List commandList);
LSL_List llParcelMediaQuery(LSL_List aList); LSL_List llParcelMediaQuery(LSL_List aList);
@ -283,25 +283,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void llPointAt(LSL_Vector pos); void llPointAt(LSL_Vector pos);
LSL_Float llPow(double fbase, double fexponent); LSL_Float llPow(double fbase, double fexponent);
void llPreloadSound(string sound); void llPreloadSound(string sound);
void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local); void llPushObject(LSL_Key target, LSL_Vector impulse, LSL_Vector ang_impulse, int local);
void llRefreshPrimURL(); void llRefreshPrimURL();
void llRegionSay(int channelID, string text); void llRegionSay(int channelID, string text);
void llRegionSayTo(string target, int channelID, string text); void llRegionSayTo(LSL_Key target, int channelID, string text);
void llReleaseCamera(string avatar); void llReleaseCamera(string avatar);
void llReleaseControls(); void llReleaseControls();
void llReleaseURL(string url); void llReleaseURL(string url);
void llRemoteDataReply(string channel, string message_id, string sdata, int idata); void llRemoteDataReply(LSL_Key channel, LSL_Key message_id, string sdata, int idata);
void llRemoteDataSetRegion(); void llRemoteDataSetRegion();
void llRemoteLoadScript(string target, string name, int running, int start_param); void llRemoteLoadScript(LSL_Key target, string name, int running, int start_param);
void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param); void llRemoteLoadScriptPin(LSL_Key target, string name, int pin, int running, int start_param);
void llRemoveFromLandBanList(string avatar); void llRemoveFromLandBanList(LSL_Key avatar);
void llRemoveFromLandPassList(string avatar); void llRemoveFromLandPassList(LSL_Key avatar);
void llRemoveInventory(string item); void llRemoveInventory(string item);
void llRemoveVehicleFlags(int flags); void llRemoveVehicleFlags(int flags);
LSL_Key llRequestAgentData(string id, int data); LSL_Key llRequestAgentData(LSL_Key id, int data);
LSL_Key llRequestInventoryData(string name); LSL_Key llRequestInventoryData(string name);
void llRequestPermissions(string agent, int perm); void llRequestPermissions(LSL_Key agent, int perm);
LSL_String llRequestSecureURL(); LSL_Key llRequestSecureURL();
LSL_Key llRequestSimulatorData(string simulator, int data); LSL_Key llRequestSimulatorData(string simulator, int data);
LSL_Key llRequestURL(); LSL_Key llRequestURL();
void llResetLandBanList(); void llResetLandBanList();
@ -323,15 +323,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer llRotTarget(LSL_Rotation rot, double error); LSL_Integer llRotTarget(LSL_Rotation rot, double error);
void llRotTargetRemove(int number); void llRotTargetRemove(int number);
LSL_Integer llRound(double f); LSL_Integer llRound(double f);
LSL_Integer llSameGroup(string agent); LSL_Integer llSameGroup(LSL_Key agent);
void llSay(int channelID, string text); void llSay(int channelID, string text);
void llScaleTexture(double u, double v, int face); void llScaleTexture(double u, double v, int face);
LSL_Integer llScriptDanger(LSL_Vector pos); LSL_Integer llScriptDanger(LSL_Vector pos);
void llScriptProfiler(LSL_Integer flag); void llScriptProfiler(LSL_Integer flag);
LSL_Key llSendRemoteData(string channel, string dest, int idata, string sdata); LSL_Key llSendRemoteData(LSL_Key channel, string dest, int idata, string sdata);
void llSensor(string name, string id, int type, double range, double arc); void llSensor(string name, LSL_Key id, int type, double range, double arc);
void llSensorRemove(); void llSensorRemove();
void llSensorRepeat(string name, string id, int type, double range, double arc, double rate); void llSensorRepeat(string name, LSL_Key id, int type, double range, double arc, double rate);
void llSetAlpha(double alpha, int face); void llSetAlpha(double alpha, int face);
void llSetBuoyancy(double buoyancy); void llSetBuoyancy(double buoyancy);
void llSetCameraAtOffset(LSL_Vector offset); void llSetCameraAtOffset(LSL_Vector offset);
@ -410,16 +410,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_Integer llTarget(LSL_Vector position, double range); LSL_Integer llTarget(LSL_Vector position, double range);
void llTargetOmega(LSL_Vector axis, double spinrate, double gain); void llTargetOmega(LSL_Vector axis, double spinrate, double gain);
void llTargetRemove(int number); void llTargetRemove(int number);
void llTeleportAgentHome(string agent); void llTeleportAgentHome(LSL_Key agent);
void llTeleportAgent(string agent, string simname, LSL_Vector pos, LSL_Vector lookAt); void llTeleportAgent(LSL_Key agent, string simname, LSL_Vector pos, LSL_Vector lookAt);
void llTeleportAgentGlobalCoords(string agent, LSL_Vector global, LSL_Vector pos, LSL_Vector lookAt); void llTeleportAgentGlobalCoords(LSL_Key agent, LSL_Vector global, LSL_Vector pos, LSL_Vector lookAt);
void llTextBox(string avatar, string message, int chat_channel); void llTextBox(LSL_Key avatar, string message, int chat_channel);
LSL_String llToLower(string source); LSL_String llToLower(string source);
LSL_String llToUpper(string source); LSL_String llToUpper(string source);
void llTriggerSound(string sound, double volume); void llTriggerSound(string sound, double volume);
void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, LSL_Vector bottom_south_west); void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, LSL_Vector bottom_south_west);
LSL_String llUnescapeURL(string url); LSL_String llUnescapeURL(string url);
void llUnSit(string id); void llUnSit(LSL_Key id);
LSL_Float llVecDist(LSL_Vector a, LSL_Vector b); LSL_Float llVecDist(LSL_Vector a, LSL_Vector b);
LSL_Float llVecMag(LSL_Vector v); LSL_Float llVecMag(LSL_Vector v);
LSL_Vector llVecNorm(LSL_Vector v); LSL_Vector llVecNorm(LSL_Vector v);

View File

@ -30,7 +30,7 @@ using OpenSim.Region.ScriptEngine.Interfaces;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;

View File

@ -29,14 +29,13 @@ using System;
using System.Collections; using System.Collections;
using OpenSim.Region.ScriptEngine.Interfaces; using OpenSim.Region.ScriptEngine.Interfaces;
using key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
{ {
@ -117,15 +116,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void CheckThreatLevel(ThreatLevel level, string function); void CheckThreatLevel(ThreatLevel level, string function);
//OpenSim functions //OpenSim functions
string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer); LSL_Key osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer);
string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, LSL_Key osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams,
int timer, int alpha); int timer, int alpha);
string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, LSL_Key osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams,
bool blend, int disp, int timer, int alpha, int face); bool blend, int disp, int timer, int alpha, int face);
string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer); LSL_Key osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer);
string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams, LSL_Key osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams,
int timer, int alpha); int timer, int alpha);
string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, LSL_Key osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams,
bool blend, int disp, int timer, int alpha, int face); bool blend, int disp, int timer, int alpha, int face);
LSL_Float osGetTerrainHeight(int x, int y); LSL_Float osGetTerrainHeight(int x, int y);
@ -143,20 +142,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void osSetParcelSIPAddress(string SIPAddress); void osSetParcelSIPAddress(string SIPAddress);
// Avatar Info Commands // Avatar Info Commands
string osGetAgentIP(string agent); string osGetAgentIP(LSL_Key agent);
LSL_List osGetAgents(); LSL_List osGetAgents();
// Teleport commands // Teleport commands
void osTeleportAgent(string agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportAgent(LSL_Key agent, string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
void osTeleportAgent(string agent, int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportAgent(LSL_Key agent, int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
void osTeleportAgent(string agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportAgent(LSL_Key agent, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
void osTeleportOwner(string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportOwner(string regionName, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
void osTeleportOwner(int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportOwner(int regionX, int regionY, LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat); void osTeleportOwner(LSL_Types.Vector3 position, LSL_Types.Vector3 lookat);
// Animation commands // Animation commands
void osAvatarPlayAnimation(string avatar, string animation); void osAvatarPlayAnimation(LSL_Key avatar, string animation);
void osAvatarStopAnimation(string avatar, string animation); void osAvatarStopAnimation(LSL_Key avatar, string animation);
#region Attachment commands #region Attachment commands
@ -185,7 +184,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// <param name='rawAvatarId'>The UUID of the avatar to which to attach. Nothing happens if this is not a UUID</para> /// <param name='rawAvatarId'>The UUID of the avatar to which to attach. Nothing happens if this is not a UUID</para>
/// <param name='itemName'>The name of the item. If this is not found then a warning is said to the owner</param> /// <param name='itemName'>The name of the item. If this is not found then a warning is said to the owner</param>
/// <param name='attachment'>The attachment point. For example, ATTACH_CHEST</param> /// <param name='attachment'>The attachment point. For example, ATTACH_CHEST</param>
void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint); void osForceAttachToOtherAvatarFromInventory(LSL_Key rawAvatarId, string itemName, int attachmentPoint);
/// <summary> /// <summary>
/// Detach the object containing this script from the avatar it is attached to without checking for PERMISSION_ATTACH /// Detach the object containing this script from the avatar it is attached to without checking for PERMISSION_ATTACH
@ -234,18 +233,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
string osSetPenCap(string drawList, string direction, string type); string osSetPenCap(string drawList, string direction, string type);
string osDrawImage(string drawList, int width, int height, string imageUrl); string osDrawImage(string drawList, int width, int height, string imageUrl);
vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize); vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize);
void osSetStateEvents(int events); void osSetStateEvents(int events);
double osList2Double(LSL_Types.list src, int index); double osList2Double(LSL_Types.list src, int index);
void osSetRegionWaterHeight(double height); void osSetRegionWaterHeight(double height);
void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour); void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour);
void osSetEstateSunSettings(bool sunFixed, double sunHour); void osSetEstateSunSettings(bool sunFixed, double sunHour);
double osGetCurrentSunHour(); double osGetCurrentSunHour();
double osGetSunParam(string param); double osGetSunParam(string param);
double osSunGetParam(string param); // Deprecated double osSunGetParam(string param); // Deprecated
void osSetSunParam(string param, double value); void osSetSunParam(string param, double value);
void osSunSetParam(string param, double value); // Deprecated void osSunSetParam(string param, double value); // Deprecated
// Wind Module Functions // Wind Module Functions
string osWindActiveModelPluginName(); string osWindActiveModelPluginName();
@ -258,24 +257,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void osSetParcelDetails(vector pos, LSL_List rules); void osSetParcelDetails(vector pos, LSL_List rules);
void osParcelSetDetails(vector pos, LSL_List rules); // Deprecated void osParcelSetDetails(vector pos, LSL_List rules); // Deprecated
string osGetScriptEngineName(); string osGetScriptEngineName();
string osGetSimulatorVersion(); string osGetSimulatorVersion();
LSL_Integer osCheckODE(); LSL_Integer osCheckODE();
string osGetPhysicsEngineType(); string osGetPhysicsEngineType();
string osGetPhysicsEngineName(); string osGetPhysicsEngineName();
Object osParseJSONNew(string JSON); Object osParseJSONNew(string JSON);
Hashtable osParseJSON(string JSON); Hashtable osParseJSON(string JSON);
void osMessageObject(key objectUUID,string message); void osMessageObject(LSL_Key objectUUID, string message);
void osMakeNotecard(string notecardName, LSL_Types.list contents); void osMakeNotecard(string notecardName, LSL_Types.list contents);
string osGetNotecardLine(string name, int line); string osGetNotecardLine(string name, int line);
string osGetNotecard(string name); string osGetNotecard(string name);
int osGetNumberOfNotecardLines(string name); int osGetNumberOfNotecardLines(string name);
string osAvatarName2Key(string firstname, string lastname); LSL_Key osAvatarName2Key(string firstname, string lastname);
string osKey2Name(string id); string osKey2Name(LSL_Key id);
// Grid Info Functions // Grid Info Functions
string osGetGridNick(); string osGetGridNick();
@ -285,16 +285,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
string osGetGridGatekeeperURI(); string osGetGridGatekeeperURI();
string osGetGridCustom(string key); string osGetGridCustom(string key);
string osGetAvatarHomeURI(string uuid); string osGetAvatarHomeURI(LSL_Key uuid);
LSL_String osFormatString(string str, LSL_List strings); LSL_String osFormatString(string str, LSL_List strings);
LSL_List osMatchString(string src, string pattern, int start); LSL_List osMatchString(string src, string pattern, int start);
LSL_String osReplaceString(string src, string pattern, string replace, int count, int start); LSL_String osReplaceString(string src, string pattern, string replace, int count, int start);
// Information about data loaded into the region // Information about data loaded into the region
string osLoadedCreationDate(); string osLoadedCreationDate();
string osLoadedCreationTime(); string osLoadedCreationTime();
string osLoadedCreationID(); LSL_Key osLoadedCreationID();
LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules); LSL_List osGetLinkPrimitiveParams(int linknumber, LSL_List rules);
@ -303,7 +303,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// </summary> /// </summary>
/// <param name='target'></param> /// <param name='target'></param>
/// <param name='parent'></param> /// <param name='parent'></param>
void osForceCreateLink(string target, int parent); void osForceCreateLink(LSL_Key target, int parent);
/// <summary> /// <summary>
/// Identical to llBreakLink() but does not require permission from the owner. /// Identical to llBreakLink() but does not require permission from the owner.
@ -323,13 +323,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// <returns>TRUE if the key belongs to an npc in the scene. FALSE otherwise.</returns> /// <returns>TRUE if the key belongs to an npc in the scene. FALSE otherwise.</returns>
LSL_Integer osIsNpc(LSL_Key npc); LSL_Integer osIsNpc(LSL_Key npc);
key osNpcCreate(string user, string name, vector position, string notecard); LSL_Key osNpcCreate(string user, string name, vector position, string notecard);
key osNpcCreate(string user, string name, vector position, string notecard, int options); LSL_Key osNpcCreate(string user, string name, vector position, string notecard, int options);
LSL_Key osNpcSaveAppearance(key npc, string notecard); LSL_Key osNpcSaveAppearance(LSL_Key npc, string notecard);
void osNpcLoadAppearance(key npc, string notecard); void osNpcLoadAppearance(LSL_Key npc, string notecard);
vector osNpcGetPos(key npc); vector osNpcGetPos(LSL_Key npc);
void osNpcMoveTo(key npc, vector position); void osNpcMoveTo(LSL_Key npc, vector position);
void osNpcMoveToTarget(key npc, vector target, int options); void osNpcMoveToTarget(LSL_Key npc, vector target, int options);
/// <summary> /// <summary>
/// Get the owner of the NPC /// Get the owner of the NPC
@ -338,46 +338,47 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// <returns> /// <returns>
/// The owner of the NPC for an owned NPC. The NPC's agent id for an unowned NPC. UUID.Zero if the key is not an npc. /// The owner of the NPC for an owned NPC. The NPC's agent id for an unowned NPC. UUID.Zero if the key is not an npc.
/// </returns> /// </returns>
LSL_Key osNpcGetOwner(key npc); LSL_Key osNpcGetOwner(LSL_Key npc);
rotation osNpcGetRot(LSL_Key npc);
void osNpcSetRot(LSL_Key npc, rotation rot);
void osNpcStopMoveToTarget(LSL_Key npc);
void osNpcSay(LSL_Key npc, string message);
void osNpcSay(LSL_Key npc, int channel, string message);
void osNpcShout(LSL_Key npc, int channel, string message);
void osNpcSit(LSL_Key npc, LSL_Key target, int options);
void osNpcStand(LSL_Key npc);
void osNpcRemove(LSL_Key npc);
void osNpcPlayAnimation(LSL_Key npc, string animation);
void osNpcStopAnimation(LSL_Key npc, string animation);
void osNpcTouch(LSL_Key npcLSL_Key, LSL_Key object_key, LSL_Integer link_num);
void osNpcWhisper(LSL_Key npc, int channel, string message);
rotation osNpcGetRot(key npc); LSL_Key osOwnerSaveAppearance(string notecard);
void osNpcSetRot(LSL_Key npc, rotation rot); LSL_Key osAgentSaveAppearance(LSL_Key agentId, string notecard);
void osNpcStopMoveToTarget(LSL_Key npc);
void osNpcSay(key npc, string message);
void osNpcSay(key npc, int channel, string message);
void osNpcShout(key npc, int channel, string message);
void osNpcSit(key npc, key target, int options);
void osNpcStand(LSL_Key npc);
void osNpcRemove(key npc);
void osNpcPlayAnimation(LSL_Key npc, string animation);
void osNpcStopAnimation(LSL_Key npc, string animation);
void osNpcTouch(LSL_Key npcLSL_Key, LSL_Key object_key, LSL_Integer link_num);
void osNpcWhisper(key npc, int channel, string message);
LSL_Key osOwnerSaveAppearance(string notecard); LSL_String osGetGender(LSL_Key rawAvatarId);
LSL_Key osAgentSaveAppearance(key agentId, string notecard); LSL_Key osGetMapTexture();
LSL_Key osGetRegionMapTexture(string regionName);
LSL_List osGetRegionStats();
vector osGetRegionSize();
key osGetGender(LSL_Key rawAvatarId); int osGetSimulatorMemory();
key osGetMapTexture(); void osKickAvatar(string FirstName, string SurName, string alert);
key osGetRegionMapTexture(string regionName); void osSetSpeed(LSL_Key UUID, LSL_Float SpeedModifier);
LSL_List osGetRegionStats(); LSL_Float osGetHealth(LSL_Key avatar);
vector osGetRegionSize(); void osCauseHealing(LSL_Key avatar, double healing);
void osSetHealth(LSL_Key avatar, double health);
int osGetSimulatorMemory(); void osSetHealRate(LSL_Key avatar, double health);
void osKickAvatar(string FirstName,string SurName,string alert); LSL_Float osGetHealRate(LSL_Key avatar);
void osSetSpeed(string UUID, LSL_Float SpeedModifier); void osCauseDamage(LSL_Key avatar, double damage);
LSL_Float osGetHealth(string avatar); void osForceOtherSit(LSL_Key avatar);
void osCauseHealing(string avatar, double healing); void osForceOtherSit(LSL_Key avatar, string target);
void osSetHealth(string avatar, double health); LSL_List osGetPrimitiveParams(LSL_Key prim, LSL_List rules);
void osSetHealRate(string avatar, double health); void osSetPrimitiveParams(LSL_Key prim, LSL_List rules);
LSL_Float osGetHealRate(string avatar); void osSetProjectionParams(bool projection, LSL_Key texture, double fov,
void osCauseDamage(string avatar, double damage); double focus, double amb);
void osForceOtherSit(string avatar); void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov,
void osForceOtherSit(string avatar, string target); double focus, double amb);
LSL_List osGetPrimitiveParams(LSL_Key prim, LSL_List rules);
void osSetPrimitiveParams(LSL_Key prim, LSL_List rules);
void osSetProjectionParams(bool projection, LSL_Key texture, double fov, double focus, double amb);
void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb);
LSL_List osGetAvatarList(); LSL_List osGetAvatarList();
@ -463,7 +464,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// OS_LISTEN_REGEX_MESSAGE /// OS_LISTEN_REGEX_MESSAGE
/// </param> /// </param>
/// <returns></returns> /// <returns></returns>
LSL_Integer osListenRegex(int channelID, string name, string ID, LSL_Integer osListenRegex(int channelID, string name, LSL_Key ID,
string msg, int regexBitfield); string msg, int regexBitfield);
/// <summary> /// <summary>
@ -474,8 +475,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
/// <returns>boolean</returns> /// <returns>boolean</returns>
LSL_Integer osRegexIsMatch(string input, string pattern); LSL_Integer osRegexIsMatch(string input, string pattern);
LSL_String osRequestURL(LSL_List options); LSL_Key osRequestURL(LSL_List options);
LSL_String osRequestSecureURL(LSL_List options); LSL_Key osRequestSecureURL(LSL_List options);
void osCollisionSound(string impact_sound, double impact_volume); void osCollisionSound(string impact_sound, double impact_volume);
void osVolumeDetect(int detect); void osVolumeDetect(int detect);
} }

View File

@ -29,6 +29,7 @@ using System;
using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSLInteger = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSLInteger = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSLKey = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
{ {
@ -540,7 +541,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public static readonly LSLInteger PAY_HIDE = new LSLInteger(-1); public static readonly LSLInteger PAY_HIDE = new LSLInteger(-1);
public static readonly LSLInteger PAY_DEFAULT = new LSLInteger(-2); public static readonly LSLInteger PAY_DEFAULT = new LSLInteger(-2);
public const string NULL_KEY = "00000000-0000-0000-0000-000000000000"; public static readonly LSLKey NULL_KEY = new LSLKey("00000000-0000-0000-0000-000000000000");
public const string EOF = "\n\n\n"; public const string EOF = "\n\n\n";
public const double PI = 3.14159274f; public const double PI = 3.14159274f;
public const double TWO_PI = 6.28318548f; public const double TWO_PI = 6.28318548f;

View File

@ -37,7 +37,7 @@ using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
@ -75,12 +75,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llAcos(val); return m_LSL_Functions.llAcos(val);
} }
public void llAddToLandBanList(string avatar, double hours) public void llAddToLandBanList(LSL_Key avatar, double hours)
{ {
m_LSL_Functions.llAddToLandBanList(avatar, hours); m_LSL_Functions.llAddToLandBanList(avatar, hours);
} }
public void llAddToLandPassList(string avatar, double hours) public void llAddToLandPassList(LSL_Key avatar, double hours)
{ {
m_LSL_Functions.llAddToLandPassList(avatar, hours); m_LSL_Functions.llAddToLandPassList(avatar, hours);
} }
@ -175,7 +175,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llClearCameraParams(); m_LSL_Functions.llClearCameraParams();
} }
public void llCloseRemoteDataChannel(string channel) public void llCloseRemoteDataChannel(LSL_Key channel)
{ {
m_LSL_Functions.llCloseRemoteDataChannel(channel); m_LSL_Functions.llCloseRemoteDataChannel(channel);
} }
@ -185,7 +185,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llCloud(offset); return m_LSL_Functions.llCloud(offset);
} }
public void llCollisionFilter(string name, string id, int accept) public void llCollisionFilter(string name, LSL_Key id, int accept)
{ {
m_LSL_Functions.llCollisionFilter(name, id, accept); m_LSL_Functions.llCollisionFilter(name, id, accept);
} }
@ -205,7 +205,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llCos(f); return m_LSL_Functions.llCos(f);
} }
public void llCreateLink(string target, int parent) public void llCreateLink(LSL_Key target, int parent)
{ {
m_LSL_Functions.llCreateLink(target, parent); m_LSL_Functions.llCreateLink(target, parent);
} }
@ -310,7 +310,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llDetectedVel(number); return m_LSL_Functions.llDetectedVel(number);
} }
public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel) public void llDialog(LSL_Key avatar, string message, LSL_List buttons, int chat_channel)
{ {
m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel); m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel);
} }
@ -331,7 +331,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llEdgeOfWorld(pos, dir); return m_LSL_Functions.llEdgeOfWorld(pos, dir);
} }
public void llEjectFromLand(string pest) public void llEjectFromLand(LSL_Key pest)
{ {
m_LSL_Functions.llEjectFromLand(pest); m_LSL_Functions.llEjectFromLand(pest);
} }
@ -381,7 +381,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetAccel(); return m_LSL_Functions.llGetAccel();
} }
public LSL_Integer llGetAgentInfo(string id) public LSL_Integer llGetAgentInfo(LSL_Key id)
{ {
return m_LSL_Functions.llGetAgentInfo(id); return m_LSL_Functions.llGetAgentInfo(id);
} }
@ -396,7 +396,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetAgentList(scope, options); return m_LSL_Functions.llGetAgentList(scope, options);
} }
public LSL_Vector llGetAgentSize(string id) public LSL_Vector llGetAgentSize(LSL_Key id)
{ {
return m_LSL_Functions.llGetAgentSize(id); return m_LSL_Functions.llGetAgentSize(id);
} }
@ -411,12 +411,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetAndResetTime(); return m_LSL_Functions.llGetAndResetTime();
} }
public LSL_String llGetAnimation(string id) public LSL_String llGetAnimation(LSL_Key id)
{ {
return m_LSL_Functions.llGetAnimation(id); return m_LSL_Functions.llGetAnimation(id);
} }
public LSL_List llGetAnimationList(string id) public LSL_List llGetAnimationList(LSL_Key id)
{ {
return m_LSL_Functions.llGetAnimationList(id); return m_LSL_Functions.llGetAnimationList(id);
} }
@ -426,7 +426,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetAttached(); return m_LSL_Functions.llGetAttached();
} }
public LSL_List llGetBoundingBox(string obj) public LSL_List llGetBoundingBox(LSL_Key obj)
{ {
return m_LSL_Functions.llGetBoundingBox(obj); return m_LSL_Functions.llGetBoundingBox(obj);
} }
@ -451,7 +451,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetColor(face); return m_LSL_Functions.llGetColor(face);
} }
public LSL_String llGetCreator() public LSL_Key llGetCreator()
{ {
return m_LSL_Functions.llGetCreator(); return m_LSL_Functions.llGetCreator();
} }
@ -606,7 +606,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llGetNextEmail(address, subject); m_LSL_Functions.llGetNextEmail(address, subject);
} }
public LSL_String llGetNotecardLine(string name, int line) public LSL_Key llGetNotecardLine(string name, int line)
{ {
return m_LSL_Functions.llGetNotecardLine(name, line); return m_LSL_Functions.llGetNotecardLine(name, line);
} }
@ -631,12 +631,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetObjectDesc(); return m_LSL_Functions.llGetObjectDesc();
} }
public LSL_List llGetObjectDetails(string id, LSL_List args) public LSL_List llGetObjectDetails(LSL_Key id, LSL_List args)
{ {
return m_LSL_Functions.llGetObjectDetails(id, args); return m_LSL_Functions.llGetObjectDetails(id, args);
} }
public LSL_Float llGetObjectMass(string id) public LSL_Float llGetObjectMass(LSL_Key id)
{ {
return m_LSL_Functions.llGetObjectMass(id); return m_LSL_Functions.llGetObjectMass(id);
} }
@ -651,7 +651,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetObjectPermMask(mask); return m_LSL_Functions.llGetObjectPermMask(mask);
} }
public LSL_Integer llGetObjectPrimCount(string object_id) public LSL_Integer llGetObjectPrimCount(LSL_Key object_id)
{ {
return m_LSL_Functions.llGetObjectPrimCount(object_id); return m_LSL_Functions.llGetObjectPrimCount(object_id);
} }
@ -666,7 +666,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetOwner(); return m_LSL_Functions.llGetOwner();
} }
public LSL_Key llGetOwnerKey(string id) public LSL_Key llGetOwnerKey(LSL_Key id)
{ {
return m_LSL_Functions.llGetOwnerKey(id); return m_LSL_Functions.llGetOwnerKey(id);
} }
@ -871,27 +871,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetWallclock(); return m_LSL_Functions.llGetWallclock();
} }
public void llGiveInventory(string destination, string inventory) public void llGiveInventory(LSL_Key destination, string inventory)
{ {
m_LSL_Functions.llGiveInventory(destination, inventory); m_LSL_Functions.llGiveInventory(destination, inventory);
} }
public void llGiveInventoryList(string destination, string category, LSL_List inventory) public void llGiveInventoryList(LSL_Key destination, string category, LSL_List inventory)
{ {
m_LSL_Functions.llGiveInventoryList(destination, category, inventory); m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
} }
public LSL_Integer llGiveMoney(string destination, int amount) public LSL_Integer llGiveMoney(LSL_Key destination, int amount)
{ {
return m_LSL_Functions.llGiveMoney(destination, amount); return m_LSL_Functions.llGiveMoney(destination, amount);
} }
public LSL_String llTransferLindenDollars(string destination, int amount) public LSL_Key llTransferLindenDollars(LSL_Key destination, int amount)
{ {
return m_LSL_Functions.llTransferLindenDollars(destination, amount); return m_LSL_Functions.llTransferLindenDollars(destination, amount);
} }
public void llGodLikeRezObject(string inventory, LSL_Vector pos) public void llGodLikeRezObject(LSL_Key inventory, LSL_Vector pos)
{ {
m_LSL_Functions.llGodLikeRezObject(inventory, pos); m_LSL_Functions.llGodLikeRezObject(inventory, pos);
} }
@ -921,7 +921,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGroundSlope(offset); return m_LSL_Functions.llGroundSlope(offset);
} }
public LSL_String llHTTPRequest(string url, LSL_List parameters, string body) public LSL_Key llHTTPRequest(string url, LSL_List parameters, string body)
{ {
return m_LSL_Functions.llHTTPRequest(url, parameters, body); return m_LSL_Functions.llHTTPRequest(url, parameters, body);
} }
@ -936,7 +936,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llInsertString(dst, position, src); return m_LSL_Functions.llInsertString(dst, position, src);
} }
public void llInstantMessage(string user, string message) public void llInstantMessage(LSL_Key user, string message)
{ {
m_LSL_Functions.llInstantMessage(user, message); m_LSL_Functions.llInstantMessage(user, message);
} }
@ -946,27 +946,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llIntegerToBase64(number); return m_LSL_Functions.llIntegerToBase64(number);
} }
public LSL_String llKey2Name(string id) public LSL_String llKey2Name(LSL_Key id)
{ {
return m_LSL_Functions.llKey2Name(id); return m_LSL_Functions.llKey2Name(id);
} }
public LSL_String llGetUsername(string id) public LSL_String llGetUsername(LSL_Key id)
{ {
return m_LSL_Functions.llGetUsername(id); return m_LSL_Functions.llGetUsername(id);
} }
public LSL_String llRequestUsername(string id) public LSL_Key llRequestUsername(LSL_Key id)
{ {
return m_LSL_Functions.llRequestUsername(id); return m_LSL_Functions.llRequestUsername(id);
} }
public LSL_String llGetDisplayName(string id) public LSL_String llGetDisplayName(LSL_Key id)
{ {
return m_LSL_Functions.llGetDisplayName(id); return m_LSL_Functions.llGetDisplayName(id);
} }
public LSL_String llRequestDisplayName(string id) public LSL_Key llRequestDisplayName(LSL_Key id)
{ {
return m_LSL_Functions.llRequestDisplayName(id); return m_LSL_Functions.llRequestDisplayName(id);
} }
@ -1026,7 +1026,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llList2Vector(src, index); return m_LSL_Functions.llList2Vector(src, index);
} }
public LSL_Integer llListen(int channelID, string name, string ID, string msg) public LSL_Integer llListen(int channelID, string name, LSL_Key ID, string msg)
{ {
return m_LSL_Functions.llListen(channelID, name, ID, msg); return m_LSL_Functions.llListen(channelID, name, ID, msg);
} }
@ -1071,7 +1071,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llListStatistics(operation, src); return m_LSL_Functions.llListStatistics(operation, src);
} }
public void llLoadURL(string avatar_id, string message, string url) public void llLoadURL(LSL_Key avatar_id, string message, string url)
{ {
m_LSL_Functions.llLoadURL(avatar_id, message, url); m_LSL_Functions.llLoadURL(avatar_id, message, url);
} }
@ -1106,7 +1106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llLoopSoundSlave(sound, volume); m_LSL_Functions.llLoopSoundSlave(sound, volume);
} }
public LSL_Integer llManageEstateAccess(int action, string avatar) public LSL_Integer llManageEstateAccess(int action, LSL_Key avatar)
{ {
return m_LSL_Functions.llManageEstateAccess(action, avatar); return m_LSL_Functions.llManageEstateAccess(action, avatar);
} }
@ -1146,7 +1146,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llSHA1String(src); return m_LSL_Functions.llSHA1String(src);
} }
public void llMessageLinked(int linknum, int num, string str, string id) public void llMessageLinked(int linknum, int num, string str, LSL_Key id)
{ {
m_LSL_Functions.llMessageLinked(linknum, num, str, id); m_LSL_Functions.llMessageLinked(linknum, num, str, id);
} }
@ -1181,7 +1181,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llOpenRemoteDataChannel(); m_LSL_Functions.llOpenRemoteDataChannel();
} }
public LSL_Integer llOverMyLand(string id) public LSL_Integer llOverMyLand(LSL_Key id)
{ {
return m_LSL_Functions.llOverMyLand(id); return m_LSL_Functions.llOverMyLand(id);
} }
@ -1251,7 +1251,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llPreloadSound(sound); m_LSL_Functions.llPreloadSound(sound);
} }
public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local) public void llPushObject(LSL_Key target, LSL_Vector impulse, LSL_Vector ang_impulse, int local)
{ {
m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local); m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local);
} }
@ -1266,7 +1266,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llRegionSay(channelID, text); m_LSL_Functions.llRegionSay(channelID, text);
} }
public void llRegionSayTo(string key, int channelID, string text) public void llRegionSayTo(LSL_Key key, int channelID, string text)
{ {
m_LSL_Functions.llRegionSayTo(key, channelID, text); m_LSL_Functions.llRegionSayTo(key, channelID, text);
} }
@ -1296,22 +1296,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llRemoteDataSetRegion(); m_LSL_Functions.llRemoteDataSetRegion();
} }
public void llRemoteLoadScript(string target, string name, int running, int start_param) public void llRemoteLoadScript(LSL_Key target, string name, int running, int start_param)
{ {
m_LSL_Functions.llRemoteLoadScript(target, name, running, start_param); m_LSL_Functions.llRemoteLoadScript(target, name, running, start_param);
} }
public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) public void llRemoteLoadScriptPin(LSL_Key target, string name, int pin, int running, int start_param)
{ {
m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param); m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param);
} }
public void llRemoveFromLandBanList(string avatar) public void llRemoveFromLandBanList(LSL_Key avatar)
{ {
m_LSL_Functions.llRemoveFromLandBanList(avatar); m_LSL_Functions.llRemoveFromLandBanList(avatar);
} }
public void llRemoveFromLandPassList(string avatar) public void llRemoveFromLandPassList(LSL_Key avatar)
{ {
m_LSL_Functions.llRemoveFromLandPassList(avatar); m_LSL_Functions.llRemoveFromLandPassList(avatar);
} }
@ -1326,7 +1326,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llRemoveVehicleFlags(flags); m_LSL_Functions.llRemoveVehicleFlags(flags);
} }
public LSL_Key llRequestAgentData(string id, int data) public LSL_Key llRequestAgentData(LSL_Key id, int data)
{ {
return m_LSL_Functions.llRequestAgentData(id, data); return m_LSL_Functions.llRequestAgentData(id, data);
} }
@ -1336,7 +1336,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llRequestInventoryData(name); return m_LSL_Functions.llRequestInventoryData(name);
} }
public void llRequestPermissions(string agent, int perm) public void llRequestPermissions(LSL_Key agent, int perm)
{ {
m_LSL_Functions.llRequestPermissions(agent, perm); m_LSL_Functions.llRequestPermissions(agent, perm);
} }
@ -1450,7 +1450,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llRound(f); return m_LSL_Functions.llRound(f);
} }
public LSL_Integer llSameGroup(string agent) public LSL_Integer llSameGroup(LSL_Key agent)
{ {
return m_LSL_Functions.llSameGroup(agent); return m_LSL_Functions.llSameGroup(agent);
} }
@ -1475,12 +1475,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llScriptProfiler(flags); m_LSL_Functions.llScriptProfiler(flags);
} }
public LSL_Key llSendRemoteData(string channel, string dest, int idata, string sdata) public LSL_Key llSendRemoteData(LSL_Key channel, string dest, int idata, string sdata)
{ {
return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata); return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata);
} }
public void llSensor(string name, string id, int type, double range, double arc) public void llSensor(string name, LSL_Key id, int type, double range, double arc)
{ {
m_LSL_Functions.llSensor(name, id, type, range, arc); m_LSL_Functions.llSensor(name, id, type, range, arc);
} }
@ -1490,7 +1490,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llSensorRemove(); m_LSL_Functions.llSensorRemove();
} }
public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) public void llSensorRepeat(string name, LSL_Key id, int type, double range, double arc, double rate)
{ {
m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate); m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate);
} }
@ -1881,22 +1881,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_LSL_Functions.llTargetRemove(number); m_LSL_Functions.llTargetRemove(number);
} }
public void llTeleportAgent(string agent, string simname, LSL_Vector pos, LSL_Vector lookAt) public void llTeleportAgent(LSL_Key agent, string simname, LSL_Vector pos, LSL_Vector lookAt)
{ {
m_LSL_Functions.llTeleportAgent(agent, simname, pos, lookAt); m_LSL_Functions.llTeleportAgent(agent, simname, pos, lookAt);
} }
public void llTeleportAgentGlobalCoords(string agent, LSL_Vector global, LSL_Vector pos, LSL_Vector lookAt) public void llTeleportAgentGlobalCoords(LSL_Key agent, LSL_Vector global, LSL_Vector pos, LSL_Vector lookAt)
{ {
m_LSL_Functions.llTeleportAgentGlobalCoords(agent, global, pos, lookAt); m_LSL_Functions.llTeleportAgentGlobalCoords(agent, global, pos, lookAt);
} }
public void llTeleportAgentHome(string agent) public void llTeleportAgentHome(LSL_Key agent)
{ {
m_LSL_Functions.llTeleportAgentHome(agent); m_LSL_Functions.llTeleportAgentHome(agent);
} }
public void llTextBox(string avatar, string message, int chat_channel) public void llTextBox(LSL_Key avatar, string message, int chat_channel)
{ {
m_LSL_Functions.llTextBox(avatar, message, chat_channel); m_LSL_Functions.llTextBox(avatar, message, chat_channel);
} }
@ -1926,7 +1926,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llUnescapeURL(url); return m_LSL_Functions.llUnescapeURL(url);
} }
public void llUnSit(string id) public void llUnSit(LSL_Key id)
{ {
m_LSL_Functions.llUnSit(id); m_LSL_Functions.llUnSit(id);
} }

View File

@ -38,10 +38,10 @@ using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces;
using integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
using key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.key;
using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
@ -141,7 +141,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osList2Double(src, index); return m_OSSL_Functions.osList2Double(src, index);
} }
public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams,
int timer) int timer)
{ {
return m_OSSL_Functions.osSetDynamicTextureURL(dynamicID, contentType, url, extraParams, timer); return m_OSSL_Functions.osSetDynamicTextureURL(dynamicID, contentType, url, extraParams, timer);
@ -153,7 +153,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osSetDynamicTextureData(dynamicID, contentType, data, extraParams, timer); return m_OSSL_Functions.osSetDynamicTextureData(dynamicID, contentType, data, extraParams, timer);
} }
public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams,
int timer, int alpha) int timer, int alpha)
{ {
return m_OSSL_Functions.osSetDynamicTextureURLBlend(dynamicID, contentType, url, extraParams, timer, alpha); return m_OSSL_Functions.osSetDynamicTextureURLBlend(dynamicID, contentType, url, extraParams, timer, alpha);
@ -165,14 +165,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osSetDynamicTextureDataBlend(dynamicID, contentType, data, extraParams, timer, alpha); return m_OSSL_Functions.osSetDynamicTextureDataBlend(dynamicID, contentType, data, extraParams, timer, alpha);
} }
public string osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams, public LSL_Key osSetDynamicTextureURLBlendFace(string dynamicID, string contentType, string url, string extraParams,
bool blend, int disp, int timer, int alpha, int face) bool blend, int disp, int timer, int alpha, int face)
{ {
return m_OSSL_Functions.osSetDynamicTextureURLBlendFace(dynamicID, contentType, url, extraParams, return m_OSSL_Functions.osSetDynamicTextureURLBlendFace(dynamicID, contentType, url, extraParams,
blend, disp, timer, alpha, face); blend, disp, timer, alpha, face);
} }
public string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, public LSL_Key osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams,
bool blend, int disp, int timer, int alpha, int face) bool blend, int disp, int timer, int alpha, int face)
{ {
return m_OSSL_Functions.osSetDynamicTextureDataBlendFace(dynamicID, contentType, data, extraParams, return m_OSSL_Functions.osSetDynamicTextureDataBlendFace(dynamicID, contentType, data, extraParams,
@ -241,12 +241,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
// Teleport Functions // Teleport Functions
public void osTeleportAgent(string agent, string regionName, vector position, vector lookat) public void osTeleportAgent(LSL_Key agent, string regionName, vector position, vector lookat)
{ {
m_OSSL_Functions.osTeleportAgent(agent, regionName, position, lookat); m_OSSL_Functions.osTeleportAgent(agent, regionName, position, lookat);
} }
public void osTeleportAgent(string agent, int regionX, int regionY, vector position, vector lookat) public void osTeleportAgent(LSL_Key agent, int regionX, int regionY, vector position, vector lookat)
{ {
m_OSSL_Functions.osTeleportAgent(agent, regionX, regionY, position, lookat); m_OSSL_Functions.osTeleportAgent(agent, regionX, regionY, position, lookat);
} }
@ -272,7 +272,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
} }
// Avatar info functions // Avatar info functions
public string osGetAgentIP(string agent) public string osGetAgentIP(LSL_Key agent)
{ {
return m_OSSL_Functions.osGetAgentIP(agent); return m_OSSL_Functions.osGetAgentIP(agent);
} }
@ -284,12 +284,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
// Animation Functions // Animation Functions
public void osAvatarPlayAnimation(string avatar, string animation) public void osAvatarPlayAnimation(LSL_Key avatar, string animation)
{ {
m_OSSL_Functions.osAvatarPlayAnimation(avatar, animation); m_OSSL_Functions.osAvatarPlayAnimation(avatar, animation);
} }
public void osAvatarStopAnimation(string avatar, string animation) public void osAvatarStopAnimation(LSL_Key avatar, string animation)
{ {
m_OSSL_Functions.osAvatarStopAnimation(avatar, animation); m_OSSL_Functions.osAvatarStopAnimation(avatar, animation);
} }
@ -306,7 +306,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_OSSL_Functions.osForceAttachToAvatarFromInventory(itemName, attachmentPoint); m_OSSL_Functions.osForceAttachToAvatarFromInventory(itemName, attachmentPoint);
} }
public void osForceAttachToOtherAvatarFromInventory(string rawAvatarId, string itemName, int attachmentPoint) public void osForceAttachToOtherAvatarFromInventory(LSL_Key rawAvatarId, string itemName, int attachmentPoint)
{ {
m_OSSL_Functions.osForceAttachToOtherAvatarFromInventory(rawAvatarId, itemName, attachmentPoint); m_OSSL_Functions.osForceAttachToOtherAvatarFromInventory(rawAvatarId, itemName, attachmentPoint);
} }
@ -480,12 +480,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetNumberOfNotecardLines(name); return m_OSSL_Functions.osGetNumberOfNotecardLines(name);
} }
public string osAvatarName2Key(string firstname, string lastname) public key osAvatarName2Key(string firstname, string lastname)
{ {
return m_OSSL_Functions.osAvatarName2Key(firstname, lastname); return m_OSSL_Functions.osAvatarName2Key(firstname, lastname);
} }
public string osKey2Name(string id) public string osKey2Name(LSL_Key id)
{ {
return m_OSSL_Functions.osKey2Name(id); return m_OSSL_Functions.osKey2Name(id);
} }
@ -520,7 +520,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetGridCustom(key); return m_OSSL_Functions.osGetGridCustom(key);
} }
public string osGetAvatarHomeURI(string uuid) public string osGetAvatarHomeURI(LSL_Key uuid)
{ {
return m_OSSL_Functions.osGetAvatarHomeURI(uuid); return m_OSSL_Functions.osGetAvatarHomeURI(uuid);
} }
@ -562,7 +562,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetLinkPrimitiveParams(linknumber, rules); return m_OSSL_Functions.osGetLinkPrimitiveParams(linknumber, rules);
} }
public void osForceCreateLink(string target, int parent) public void osForceCreateLink(LSL_Key target, int parent)
{ {
m_OSSL_Functions.osForceCreateLink(target, parent); m_OSSL_Functions.osForceCreateLink(target, parent);
} }
@ -925,47 +925,47 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert); m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert);
} }
public void osSetSpeed(string UUID, LSL_Float SpeedModifier) public void osSetSpeed(LSL_Key UUID, LSL_Float SpeedModifier)
{ {
m_OSSL_Functions.osSetSpeed(UUID, SpeedModifier); m_OSSL_Functions.osSetSpeed(UUID, SpeedModifier);
} }
public LSL_Float osGetHealth(string avatar) public LSL_Float osGetHealth(LSL_Key avatar)
{ {
return m_OSSL_Functions.osGetHealth(avatar); return m_OSSL_Functions.osGetHealth(avatar);
} }
public void osCauseDamage(string avatar, double damage) public void osCauseDamage(LSL_Key avatar, double damage)
{ {
m_OSSL_Functions.osCauseDamage(avatar, damage); m_OSSL_Functions.osCauseDamage(avatar, damage);
} }
public void osCauseHealing(string avatar, double healing) public void osCauseHealing(LSL_Key avatar, double healing)
{ {
m_OSSL_Functions.osCauseHealing(avatar, healing); m_OSSL_Functions.osCauseHealing(avatar, healing);
} }
public void osSetHealth(string avatar, double health) public void osSetHealth(LSL_Key avatar, double health)
{ {
m_OSSL_Functions.osSetHealth(avatar, health); m_OSSL_Functions.osSetHealth(avatar, health);
} }
public void osSetHealRate(string avatar, double health) public void osSetHealRate(LSL_Key avatar, double health)
{ {
m_OSSL_Functions.osSetHealRate(avatar, health); m_OSSL_Functions.osSetHealRate(avatar, health);
} }
public LSL_Float osGetHealRate(string avatar) public LSL_Float osGetHealRate(LSL_Key avatar)
{ {
return m_OSSL_Functions.osGetHealRate(avatar); return m_OSSL_Functions.osGetHealRate(avatar);
} }
public void osForceOtherSit(string avatar) public void osForceOtherSit(LSL_Key avatar)
{ {
m_OSSL_Functions.osForceOtherSit(avatar); m_OSSL_Functions.osForceOtherSit(avatar);
} }
public void osForceOtherSit(string avatar, string target) public void osForceOtherSit(LSL_Key avatar, string target)
{ {
m_OSSL_Functions.osForceOtherSit(avatar, target); m_OSSL_Functions.osForceOtherSit(avatar, target);
} }
@ -1070,7 +1070,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
m_OSSL_Functions.osForceDropAttachmentAt(pos, rot); m_OSSL_Functions.osForceDropAttachmentAt(pos, rot);
} }
public LSL_Integer osListenRegex(int channelID, string name, string ID, string msg, int regexBitfield) public LSL_Integer osListenRegex(int channelID, string name, LSL_Key ID, string msg, int regexBitfield)
{ {
return m_OSSL_Functions.osListenRegex(channelID, name, ID, msg, regexBitfield); return m_OSSL_Functions.osListenRegex(channelID, name, ID, msg, regexBitfield);
} }
@ -1080,12 +1080,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osRegexIsMatch(input, pattern); return m_OSSL_Functions.osRegexIsMatch(input, pattern);
} }
public LSL_String osRequestURL(LSL_List options) public LSL_Key osRequestURL(LSL_List options)
{ {
return m_OSSL_Functions.osRequestURL(options); return m_OSSL_Functions.osRequestURL(options);
} }
public LSL_String osRequestSecureURL(LSL_List options) public LSL_Key osRequestSecureURL(LSL_List options)
{ {
return m_OSSL_Functions.osRequestSecureURL(options); return m_OSSL_Functions.osRequestSecureURL(options);
} }

View File

@ -168,6 +168,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
} }
else if (field.FieldType == typeof(LSL_Types.LSLInteger) || else if (field.FieldType == typeof(LSL_Types.LSLInteger) ||
field.FieldType == typeof(LSL_Types.LSLString) || field.FieldType == typeof(LSL_Types.LSLString) ||
field.FieldType == typeof(LSL_Types.key) ||
field.FieldType == typeof(LSL_Types.LSLFloat) || field.FieldType == typeof(LSL_Types.LSLFloat) ||
field.FieldType == typeof(Int32) || field.FieldType == typeof(Int32) ||
field.FieldType == typeof(Double) || field.FieldType == typeof(Double) ||
@ -199,6 +200,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
Array.Copy(data, 0, v.Data, 0, data.Length); Array.Copy(data, 0, v.Data, 0, data.Length);
m_Fields[var.Key].SetValue(this, v); m_Fields[var.Key].SetValue(this, v);
} }
else if(m_Fields[var.Key].FieldType == typeof(LSL_Types.key))
{
if(var.Value.GetType() == typeof(LSL_Types.LSLString))
{
m_Fields[var.Key].SetValue(this, (object)((LSL_Types.key)var.Value.ToString()));
}
else
m_Fields[var.Key].SetValue(this, var.Value);
}
else if (m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLInteger) || else if (m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLInteger) ||
m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLString) || m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLString) ||
m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLFloat) || m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLFloat) ||

View File

@ -957,6 +957,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
{ {
c.Value = "new LSL_Types.LSLString(\""+c.Value+"\")"; c.Value = "new LSL_Types.LSLString(\""+c.Value+"\")";
} }
else if ("LSL_Types.key" == c.Type)
{
c.Value = "new LSL_Types.key(\""+c.Value+"\")";
}
Generate(c.Value, c, sb); Generate(c.Value, c, sb);
} }

View File

@ -54,8 +54,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
m_datatypeLSL2OpenSim = new Dictionary<string, string>(); m_datatypeLSL2OpenSim = new Dictionary<string, string>();
m_datatypeLSL2OpenSim.Add("integer", "LSL_Types.LSLInteger"); m_datatypeLSL2OpenSim.Add("integer", "LSL_Types.LSLInteger");
m_datatypeLSL2OpenSim.Add("float", "LSL_Types.LSLFloat"); m_datatypeLSL2OpenSim.Add("float", "LSL_Types.LSLFloat");
//m_datatypeLSL2OpenSim.Add("key", "LSL_Types.key"); // key doesn't seem to be used m_datatypeLSL2OpenSim.Add("key", "LSL_Types.key"); // key doesn't seem to be used
m_datatypeLSL2OpenSim.Add("key", "LSL_Types.LSLString");
m_datatypeLSL2OpenSim.Add("string", "LSL_Types.LSLString"); m_datatypeLSL2OpenSim.Add("string", "LSL_Types.LSLString");
m_datatypeLSL2OpenSim.Add("vector", "LSL_Types.Vector3"); m_datatypeLSL2OpenSim.Add("vector", "LSL_Types.Vector3");
m_datatypeLSL2OpenSim.Add("rotation", "LSL_Types.Quaternion"); m_datatypeLSL2OpenSim.Add("rotation", "LSL_Types.Quaternion");
@ -174,8 +173,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
case "float": case "float":
return new Constant(p, constantType, "0.0"); return new Constant(p, constantType, "0.0");
case "string": case "string":
case "key":
return new Constant(p, constantType, ""); return new Constant(p, constantType, "");
case "key":
return new Constant(p, "key", "");
case "list": case "list":
ArgumentList al = new ArgumentList(p); ArgumentList al = new ArgumentList(p);
return new ListConstant(p, al); return new ListConstant(p, al);

View File

@ -419,7 +419,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
if (m_stateSource == StateSource.AttachedRez) if (m_stateSource == StateSource.AttachedRez)
{ {
PostEvent(new EventParams("attach", PostEvent(new EventParams("attach",
new object[] { new LSL_Types.LSLString(m_AttachedAvatar.ToString()) }, new DetectParams[0])); new object[] { new LSL_Types.key(m_AttachedAvatar) }, new DetectParams[0]));
} }
else if (m_stateSource == StateSource.RegionStart) else if (m_stateSource == StateSource.RegionStart)
{ {
@ -454,7 +454,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
if (m_stateSource == StateSource.AttachedRez) if (m_stateSource == StateSource.AttachedRez)
{ {
PostEvent(new EventParams("attach", PostEvent(new EventParams("attach",
new object[] { new LSL_Types.LSLString(m_AttachedAvatar.ToString()) }, new DetectParams[0])); new object[] { new LSL_Types.key(m_AttachedAvatar) }, new DetectParams[0]));
} }
} }
} }

View File

@ -562,7 +562,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
else if (o is LSL_Types.LSLString) else if (o is LSL_Types.LSLString)
size += ((LSL_Types.LSLString)o).m_string == null ? 0 : ((LSL_Types.LSLString)o).m_string.Length; size += ((LSL_Types.LSLString)o).m_string == null ? 0 : ((LSL_Types.LSLString)o).m_string.Length;
else if (o is LSL_Types.key) else if (o is LSL_Types.key)
size += ((LSL_Types.key)o).value.Length; size += ((LSL_Types.key)o).m_string.Length;
else if (o is LSL_Types.Vector3) else if (o is LSL_Types.Vector3)
size += 32; size += 32;
else if (o is LSL_Types.Quaternion) else if (o is LSL_Types.Quaternion)
@ -653,7 +653,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
{ {
if (Data[itemIndex] is LSL_Types.key) if (Data[itemIndex] is LSL_Types.key)
{ {
return (LSL_Types.key)Data[itemIndex]; return new LSL_Types.LSLString(Data[itemIndex].ToString());
} }
else else
{ {
@ -661,6 +661,18 @@ namespace OpenSim.Region.ScriptEngine.Shared
} }
} }
public LSL_Types.key GetLSLKeyItem(int itemIndex)
{
if (Data[itemIndex] is LSL_Types.key)
{
return (LSL_Types.key)Data[itemIndex];
}
else
{
return new LSL_Types.key(Data[itemIndex].ToString());
}
}
public LSL_Types.LSLInteger GetLSLIntegerItem(int itemIndex) public LSL_Types.LSLInteger GetLSLIntegerItem(int itemIndex)
{ {
if (Data[itemIndex] is LSL_Types.LSLInteger) if (Data[itemIndex] is LSL_Types.LSLInteger)
@ -982,12 +994,11 @@ namespace OpenSim.Region.ScriptEngine.Shared
} }
int ret = 0; int ret = 0;
if (left is key) if (left is key)
{ {
key l = (key)left; key l = (key)left;
key r = (key)right; key r = (key)right;
ret = String.CompareOrdinal(l.value, r.value); ret = String.CompareOrdinal(l.m_string, r.m_string);
} }
else if (left is LSLString) else if (left is LSLString)
{ {
@ -1416,48 +1427,51 @@ namespace OpenSim.Region.ScriptEngine.Shared
[Serializable] [Serializable]
public struct key public struct key
{ {
public string value; public string m_string;
#region Constructors #region Constructors
public key(string s) public key(string s)
{ {
value = s; m_string = s;
}
public key(LSLString s)
{
m_string = s.m_string;
}
public key(UUID val)
{
m_string = val.ToString();
}
public key(key val)
{
m_string = val.m_string;
} }
#endregion #endregion
#region Methods #region Methods
static public bool Parse2Key(string s)
{
Regex isuuid = new Regex(@"^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$", RegexOptions.Compiled);
if (isuuid.IsMatch(s))
{
return true;
}
else
{
return false;
}
}
#endregion #endregion
#region Operators #region Operators
static public implicit operator Boolean(key k) static public implicit operator Boolean(key k)
{ {
if (k.value.Length == 0) if (String.IsNullOrEmpty(k.m_string))
{
return false; return false;
}
if (k.value == "00000000-0000-0000-0000-000000000000") int len = k.m_string.Length;
{ if(len != 36 && len != 32)
return false; return false;
}
if (k.m_string == "00000000-0000-0000-0000-000000000000")
return false;
Regex isuuid = new Regex(@"^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$", RegexOptions.Compiled); Regex isuuid = new Regex(@"^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$", RegexOptions.Compiled);
if (isuuid.IsMatch(k.value)) if (isuuid.IsMatch(k.m_string))
{ {
return true; return true;
} }
@ -1482,23 +1496,43 @@ namespace OpenSim.Region.ScriptEngine.Shared
return new key(s); return new key(s);
} }
static public implicit operator String(key k) static public implicit operator key(LSLString s)
{ {
return k.value; return new key(s);
}
static public implicit operator key(UUID id)
{
return new key(id);
}
// warning some funtions have versions for string and UUID paramenters
// a cast must be used on those
// like GetSceneObjectPart()
static public implicit operator string(key k)
{
return k.m_string;
} }
static public implicit operator LSLString(key k) static public implicit operator LSLString(key k)
{ {
return k.value; return new LSLString(k.m_string);
} }
static public implicit operator UUID(key k)
{
UUID uuid;
UUID.TryParse(k, out uuid);
return uuid;
}
public static bool operator ==(key k1, key k2) public static bool operator ==(key k1, key k2)
{ {
return k1.value == k2.value; return (k1.m_string == k2.m_string);
} }
public static bool operator !=(key k1, key k2) public static bool operator !=(key k1, key k2)
{ {
return k1.value != k2.value; return (k1.m_string != k2.m_string);
} }
#endregion #endregion
@ -1507,17 +1541,17 @@ namespace OpenSim.Region.ScriptEngine.Shared
public override bool Equals(object o) public override bool Equals(object o)
{ {
return o.ToString() == value; return (m_string == o.ToString());
} }
public override int GetHashCode() public override int GetHashCode()
{ {
return value.GetHashCode(); return m_string.GetHashCode();
} }
public override string ToString() public override string ToString()
{ {
return value; return m_string;
} }
#endregion #endregion
@ -1560,14 +1594,23 @@ namespace OpenSim.Region.ScriptEngine.Shared
#region Operators #region Operators
static public implicit operator Boolean(LSLString s) static public implicit operator Boolean(LSLString s)
{ {
if (s.m_string.Length == 0) if(s.m_string.Length == 0)
{
return false; return false;
} return true;
else }
{
public static bool operator true(LSLString s)
{
if(s.m_string.Length == 0)
return false;
return true;
}
public static bool operator false(LSLString s)
{
if(s.m_string.Length == 0)
return true; return true;
} return false;
} }
static public implicit operator String(LSLString s) static public implicit operator String(LSLString s)
@ -1619,6 +1662,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
{ {
return new LSLString(d); return new LSLString(d);
} }
static public explicit operator LSLString(int i) static public explicit operator LSLString(int i)
{ {
@ -1683,7 +1727,6 @@ namespace OpenSim.Region.ScriptEngine.Shared
public int IndexOf(string value) { return m_string.IndexOf(value); } public int IndexOf(string value) { return m_string.IndexOf(value); }
public int Length { get { return m_string.Length; } } public int Length { get { return m_string.Length; } }
#endregion #endregion
} }
@ -2188,7 +2231,6 @@ namespace OpenSim.Region.ScriptEngine.Shared
return value.GetHashCode(); return value.GetHashCode();
} }
#endregion #endregion
} }
} }

View File

@ -138,7 +138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
string notecardName = "appearanceNc"; string notecardName = "appearanceNc";
osslApi.osAgentSaveAppearance(new LSL_Types.LSLString(nonOwnerId.ToString()), notecardName); osslApi.osAgentSaveAppearance(new LSL_Types.key(nonOwnerId.ToString()), notecardName);
IList<TaskInventoryItem> items = part.Inventory.GetInventoryItems(notecardName); IList<TaskInventoryItem> items = part.Inventory.GetInventoryItems(notecardName);
Assert.That(items.Count, Is.EqualTo(1)); Assert.That(items.Count, Is.EqualTo(1));

View File

@ -230,7 +230,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{ {
myScriptEngine.PostObjectEvent(localID, new EventParams( myScriptEngine.PostObjectEvent(localID, new EventParams(
"money", new object[] { "money", new object[] {
new LSL_Types.LSLString(agentID.ToString()), new LSL_Types.key(agentID),
new LSL_Types.LSLInteger(amount) }, new LSL_Types.LSLInteger(amount) },
new DetectParams[0])); new DetectParams[0]));
} }
@ -349,7 +349,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{ {
myScriptEngine.PostScriptEvent(itemID, new EventParams( myScriptEngine.PostScriptEvent(itemID, new EventParams(
"control",new object[] { "control",new object[] {
new LSL_Types.LSLString(agentID.ToString()), new LSL_Types.key(agentID),
new LSL_Types.LSLInteger(held), new LSL_Types.LSLInteger(held),
new LSL_Types.LSLInteger(change)}, new LSL_Types.LSLInteger(change)},
new DetectParams[0])); new DetectParams[0]));
@ -416,7 +416,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{ {
myScriptEngine.PostObjectEvent(part.LocalId, new EventParams( myScriptEngine.PostObjectEvent(part.LocalId, new EventParams(
"attach",new object[] { "attach",new object[] {
new LSL_Types.LSLString(avatar.ToString()) }, new LSL_Types.key(avatar) },
new DetectParams[0])); new DetectParams[0]));
} }
} }

View File

@ -1781,6 +1781,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine
lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]); lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]);
else if (p[i] is float) else if (p[i] is float)
lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
else if (p[i] is UUID)
lsl_p[i] = new LSL_Types.key((UUID)p[i]);
else else
lsl_p[i] = p[i]; lsl_p[i] = p[i];
} }
@ -1807,6 +1809,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine
lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]); lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]);
else if (p[i] is float) else if (p[i] is float)
lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
else if (p[i] is UUID)
lsl_p[i] = new LSL_Types.key((UUID)p[i]);
else else
lsl_p[i] = p[i]; lsl_p[i] = p[i];
} }