only accept npc UUIDs to osNpc* functions, not names (except for create)
parent
cace6eaa8a
commit
ee22569c92
|
@ -2153,7 +2153,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
/// <param name="avatar"></param>
|
/// <param name="avatar"></param>
|
||||||
/// <param name="notecardName">The name of the notecard to which to save the appearance.</param>
|
/// <param name="notecardName">The name of the notecard to which to save the appearance.</param>
|
||||||
/// <returns>The asset ID of the notecard saved.</returns>
|
/// <returns>The asset ID of the notecard saved.</returns>
|
||||||
public LSL_Key osNpcSaveAppearance(string avatar, string notecardName)
|
public LSL_Key osNpcSaveAppearance(LSL_Key npc, string notecardName)
|
||||||
{
|
{
|
||||||
CheckThreatLevel(ThreatLevel.High, "osNpcSaveAppearance");
|
CheckThreatLevel(ThreatLevel.High, "osNpcSaveAppearance");
|
||||||
|
|
||||||
|
@ -2161,20 +2161,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
if (npcModule != null)
|
if (npcModule != null)
|
||||||
{
|
{
|
||||||
UUID avatarId = UUID.Zero;
|
UUID npcId = new UUID(npc.m_string);
|
||||||
if (!UUID.TryParse(avatar, out avatarId))
|
|
||||||
|
if (!npcModule.IsNPC(npcId, m_host.ParentGroup.Scene))
|
||||||
return new LSL_Key(UUID.Zero.ToString());
|
return new LSL_Key(UUID.Zero.ToString());
|
||||||
|
|
||||||
if (!npcModule.IsNPC(avatarId, m_host.ParentGroup.Scene))
|
return SaveAppearanceToNotecard(npcId, notecardName);
|
||||||
return new LSL_Key(UUID.Zero.ToString());
|
|
||||||
|
|
||||||
return SaveAppearanceToNotecard(avatarId, notecardName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new LSL_Key(UUID.Zero.ToString());
|
return new LSL_Key(UUID.Zero.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcLoadAppearance(string avatar, string notecardNameOrUuid)
|
public void osNpcLoadAppearance(LSL_Key npc, string notecardNameOrUuid)
|
||||||
{
|
{
|
||||||
CheckThreatLevel(ThreatLevel.High, "osNpcLoadAppearance");
|
CheckThreatLevel(ThreatLevel.High, "osNpcLoadAppearance");
|
||||||
|
|
||||||
|
@ -2182,11 +2180,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
if (npcModule != null)
|
if (npcModule != null)
|
||||||
{
|
{
|
||||||
UUID avatarId = UUID.Zero;
|
UUID npcId = new UUID(npc.m_string);
|
||||||
if (!UUID.TryParse(avatar, out avatarId))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!npcModule.IsNPC(avatarId, m_host.ParentGroup.Scene))
|
if (!npcModule.IsNPC(npcId, m_host.ParentGroup.Scene))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
string appearanceSerialized = LoadNotecard(notecardNameOrUuid);
|
string appearanceSerialized = LoadNotecard(notecardNameOrUuid);
|
||||||
|
@ -2197,7 +2193,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
AvatarAppearance appearance = new AvatarAppearance();
|
AvatarAppearance appearance = new AvatarAppearance();
|
||||||
appearance.Unpack(appearanceOsd);
|
appearance.Unpack(appearanceOsd);
|
||||||
|
|
||||||
npcModule.SetNPCAppearance(avatarId, appearance, m_host.ParentGroup.Scene);
|
npcModule.SetNPCAppearance(npcId, appearance, m_host.ParentGroup.Scene);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2213,7 +2209,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcMoveToTarget(LSL_Key npc, LSL_Vector position, int moveParams)
|
public void osNpcMoveToTarget(LSL_Key npc, LSL_Vector position, int options)
|
||||||
{
|
{
|
||||||
CheckThreatLevel(ThreatLevel.High, "osNpcMoveToTarget");
|
CheckThreatLevel(ThreatLevel.High, "osNpcMoveToTarget");
|
||||||
|
|
||||||
|
@ -2225,8 +2221,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
new UUID(npc.m_string),
|
new UUID(npc.m_string),
|
||||||
World,
|
World,
|
||||||
pos,
|
pos,
|
||||||
(moveParams & ScriptBaseClass.OS_NPC_NO_FLY) != 0,
|
(options & ScriptBaseClass.OS_NPC_NO_FLY) != 0,
|
||||||
(moveParams & ScriptBaseClass.OS_NPC_LAND_AT_TARGET) != 0);
|
(options & ScriptBaseClass.OS_NPC_LAND_AT_TARGET) != 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -170,10 +170,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
||||||
|
|
||||||
|
|
||||||
key osNpcCreate(string user, string name, vector position, key cloneFrom);
|
key osNpcCreate(string user, string name, vector position, key cloneFrom);
|
||||||
LSL_Key osNpcSaveAppearance(string avatar, string notecardName);
|
LSL_Key osNpcSaveAppearance(key npc, string notecardName);
|
||||||
void osNpcLoadAppearance(string avatar, string notecardNameOrUuid);
|
void osNpcLoadAppearance(key npc, string notecardNameOrUuid);
|
||||||
void osNpcMoveTo(key npc, vector position);
|
void osNpcMoveTo(key npc, vector position);
|
||||||
void osNpcMoveToTarget(key npc, vector position, int noFly);
|
void osNpcMoveToTarget(key npc, vector position, int options);
|
||||||
void osNpcStopMoveTo(LSL_Key npc);
|
void osNpcStopMoveTo(LSL_Key npc);
|
||||||
void osNpcSay(key npc, string message);
|
void osNpcSay(key npc, string message);
|
||||||
void osNpcRemove(key npc);
|
void osNpcRemove(key npc);
|
||||||
|
|
|
@ -483,14 +483,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
return m_OSSL_Functions.osNpcCreate(user, name, position, cloneFrom);
|
return m_OSSL_Functions.osNpcCreate(user, name, position, cloneFrom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public key osNpcSaveAppearance(string avatar, string notecardName)
|
public key osNpcSaveAppearance(key npc, string notecardName)
|
||||||
{
|
{
|
||||||
return m_OSSL_Functions.osNpcSaveAppearance(avatar, notecardName);
|
return m_OSSL_Functions.osNpcSaveAppearance(npc, notecardName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcLoadAppearance(string avatar, string notecardNameOrUuid)
|
public void osNpcLoadAppearance(key npc, string notecardNameOrUuid)
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osNpcLoadAppearance(avatar, notecardNameOrUuid);
|
m_OSSL_Functions.osNpcLoadAppearance(npc, notecardNameOrUuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcMoveTo(key npc, vector position)
|
public void osNpcMoveTo(key npc, vector position)
|
||||||
|
@ -498,9 +498,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
m_OSSL_Functions.osNpcMoveTo(npc, position);
|
m_OSSL_Functions.osNpcMoveTo(npc, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcMoveToTarget(key npc, vector position, int noFly)
|
public void osNpcMoveToTarget(key npc, vector position, int options)
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osNpcMoveToTarget(npc, position, noFly);
|
m_OSSL_Functions.osNpcMoveToTarget(npc, position, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void osNpcStopMoveTo(LSL_Key npc)
|
public void osNpcStopMoveTo(LSL_Key npc)
|
||||||
|
|
Loading…
Reference in New Issue