LootLogs

Log all items deposited and removed from storage, stash and oven containers

Total Downloads: 594 - First Release: Aug 13, 2016 - Last Update: Apr 21, 2018

5/5, 6 likes
  1. k1lly0u submitted a new resource:

    LootLogs - Log all items deposited and removed from storage, stash and oven containers

    Read more about this resource...
     
  2. k1lly0u updated LootLogs with a new update entry:

    0.1.1

     
  3. Couple of questions please:

    (a) Does everyone have access to the chat command /findid or just the Admin?
    (b) If the looted item (Storage) is destroyed, I presume the log entries will still exist, however it would have to take someone to manually scroll for it. Would this be correct?

    Many thanks.
     
  4. A) just admin
    B) didn't think of that, yes the logs would still exist. I may make another log that will record destroyed containers position and ID number. That way you should be able to work it out if you have a estimated position
     
  5. [Oxide] 22:31 [Error] Failed to call hook 'OnItemAddedToContainer' on plugin 'LootLogs v0.1.1' (ArgumentException: Name has invalid chars)
    [Oxide] 22:31 [Debug] at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
    at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
    at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
    at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
    at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0
    at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
    at System.IO.File.AppendAllText (System.String path, System.String contents) [0x00000] in <filename unknown>:0
    at ConVar.Server.Log (System.String strFilename, System.String strMessage) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.LootLogs.Log (System.String playername, System.String item, System.String type, System.String id, System.String entityname, Boolean take) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.LootLogs.OnItemAddedToContainer (.ItemContainer container, .Item item) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.LootLogs.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Core.Plugins.Plugin.CallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
     
  6. Code:
    (16:51:11) | [Oxide] 16:51 [Error] Failed to call hook 'OnItemAddedToContainer' on plugin 'LootLogs v0.1.1' (DirectoryNotFoundException: Could not find a part of the path "C:\Servers\rustserver\server\my_server_identity\oxide\data\LootLogs\BasePlayer\TheGameGamer:)_89377678_2016-08-15.txt".)(16:51:11) | [Oxide] 16:51 [Debug]   at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
      at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
      at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
      at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
      at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0
      at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
      at System.IO.File.AppendAllText (System.String path, System.String contents) [0x00000] in <filename unknown>:0
      at ConVar.Server.Log (System.String strFilename, System.String strMessage) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.Log (System.String playername, System.String item, System.String type, System.String id, System.String entityname, Boolean take) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.OnItemAddedToContainer (.ItemContainer container, .Item item) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.Plugin.CallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
    for me the error today.

    Has something to do with usernames and funny characters in it.
     
  7. I'll post a fix later, I wasn't intending on it saving base players :p
     
  8. k1lly0u updated LootLogs with a new update entry:

    0.1.2

     
  9. k1lly0u updated LootLogs with a new update entry:

    0.13

     
  10. Request:
    • Build a MySQL option for this ( or at least an option to build MySQL import files along side the normal logs )
     
  11. why a dont have log entries while i loot stackable items per 1 item or 50% item count (moved by right mouse button, moved by middle mouse button)? Or right mouse button clicking (timed looting)?
    thx.
     
  12. It looks like quarry hoppers are being logged, but I can't seem to find the id. /findid doesn't seem to work on quarries (not looking at correct type of entity).
    I made a small mod to show the entity id, but the number doesn't seem to match any "hopper" entities being logged.
     
  13. Love this. Hope somewhere down the line it evolves to be checkable without needing to access the .txt files, but such a wonderful tool!

    /findid doesn't seem to like quarries and pumpjacks, but wondering whether these might share the same id if you are looking up with boxlooters (that'd be the easy way round)?
     
  14. @k1lly0u such an awesome plugin, especially when run in conjunction with boxLooters for things like pj. Just wondering, if you plan on updating, whether there could be some kind of config to ignore certain types of containers (for example, oil barrels, food boxes) to cut down file spam.
     
  15. This is fixed in current version?
     
  16. Will there be an update to this plugin? I don't see any new entries in logs since March 9.
    Code:
    (21:58:38) | Error while compiling: LootLogs.cs(212,25): error CS1955: The member `BasePlayer.IsAdmin' cannot be used as method or delegate
    Edit: pushed my luck (as a non-coder) and replaced one instance of IsAdmin() with IsAdmin in plugin code. The plugin works now. Perhaps you could release that fix if it is enough?
     
    Last edited by a moderator: Apr 4, 2017
  17. I get the following errors.
    I guess it's because the Oxide-folder got moved to root and the plugin has the path hard coded.
    I tried to fix it myself, but without luck.
    Can someone try to fix it?
    Thanks! :)

    Code:
    (00:21:26) | Failed to call hook 'OnItemAddedToContainer' on plugin 'LootLogs v0.1.3' (DirectoryNotFoundException: Could not find a part of the path "C:\rustserver\server\rustpve\oxide\data\LootLogs\BaseOven\furnace_2617381_2017-05-07.txt".)
    (00:21:26) | at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
      at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
      at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
      at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
      at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0
      at (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool)
      at System.IO.File.AppendAllText (System.String path, System.String contents) [0x00000] in <filename unknown>:0
      at ConVar.Server.Log (System.String strFilename, System.String strMessage) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.Log (System.String playername, System.String item, System.String type, System.String id, System.String entityname, Boolean take) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.OnItemAddedToContainer (.ItemContainer container, .Item item) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.LootLogs.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00000] in <filename unknown>:0
     
  18. There is no easy solution to maintain the current structure of the logs at this stage so will need to wait for an alternative log option
     
  19. Is this dead? Not working for me.
     
  20. If anyone is interested, I changed this mod to log to an SQLite db. I log everything to a single (query-able) table with the same fields as the files and the filename encoded metadata are just fields in the table (like entityType, ItemID, etc).
    Here's the schema:

    CREATE TABLE LootLog
    ( id INTEGER NOT NULL PRIMARY KEY UNIQUE,
    entityType TEXT,
    entityId TEXT,
    entityName TEXT,
    entityOwner TEXT,
    entityOwnerID TEXT,
    entityPosition TEXT,
    eventTime TEXT,
    eventPlayerName TEXT,
    eventPlayerID TEXT,
    eventType TEXT,
    eventItem TEXT
    );

    k1llyou, I'm not sure what license this is under and how it would be best to republish. What would be best?