diff options
Diffstat (limited to 'OpenSim.RegionServer/SimClient.cs')
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index 58cc625..6c64731 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs | |||
@@ -436,6 +436,32 @@ namespace OpenSim | |||
436 | this.OutPacket(replytask); | 436 | this.OutPacket(replytask); |
437 | } | 437 | } |
438 | break; | 438 | break; |
439 | case PacketType.UpdateTaskInventory: | ||
440 | Console.WriteLine(Pack.ToString()); | ||
441 | UpdateTaskInventoryPacket updatetask = (UpdateTaskInventoryPacket)Pack; | ||
442 | AgentInventory myinventory = this.m_inventoryCache.GetAgentsInventory(this.AgentID); | ||
443 | if (myinventory != null) | ||
444 | { | ||
445 | if (myinventory.InventoryItems[updatetask.InventoryData.ItemID] != null) | ||
446 | { | ||
447 | if (myinventory.InventoryItems[updatetask.InventoryData.ItemID].Type == 7) | ||
448 | { | ||
449 | LLUUID noteaid = myinventory.InventoryItems[updatetask.InventoryData.ItemID].AssetID; | ||
450 | AssetBase assBase = this.m_assetCache.GetAsset(noteaid); | ||
451 | if (assBase != null) | ||
452 | { | ||
453 | foreach (Entity ent in m_world.Entities.Values) | ||
454 | { | ||
455 | if (ent.localid == updatetask.UpdateData.LocalID) | ||
456 | { | ||
457 | this.m_world.AddScript(ent, Helpers.FieldToString(assBase.Data)); | ||
458 | } | ||
459 | } | ||
460 | } | ||
461 | } | ||
462 | } | ||
463 | } | ||
464 | break; | ||
439 | case PacketType.AgentAnimation: | 465 | case PacketType.AgentAnimation: |
440 | //Console.WriteLine(Pack.ToString()); | 466 | //Console.WriteLine(Pack.ToString()); |
441 | break; | 467 | break; |