Reality DayZ Inventory Manager (C#)

thevisad

Moderator
Staff member
Due to a security concern and blatant IP theft, this software will be receiving an emergency update later today. All existing owners will receive an email on the steps to claim a new license. I apologize in regards to this, but due to the act of the individual listed below, this is a mandatory update.

http://opendayz.net/threads/net-player-movement-part-1.21267/

Just a little something I have been working on for a bit. This is written in C# and is a stand alone application for managing the databases for any and all Bliss systems. This is deployed via a setup package and the settings are saved in the registry for the database. The software will check if there is an update when it launches and there is a check update feature built into the tool.


If you’ve enabled scaling on your machine and the images in the application scaled funny, you may want to disable display scaling for this application. To do this, right-click the application’s shortcut and then click Properties. On the Compatibility tab, select Disable Display Scaling On High DPI Settings, and then click OK.


How to setup your database properly
Insert your database IP or hostname that your service provider gives you.
Insert your username and password, for HFB the username should be the same as your database name.
Insert your Database Port as provided.
Click save.
Insert your database name and click Add (add all of your databases as needed), then click save.
Bliss and non Reality builds will get a "Not our Reality" notification.
How to save a default Loadout
Launch the application, select the database you want to work with.
Select your character/loadout or fillout your inventory that you want to assign the default loadout too.
Go to the loadout screen and select Default Loadout. This is now your servers default loadout.
How to use the Loadout -> Survivor Inventory system
Launch the application, select the database you want to work with.
Select your character that you want to assign a loadout to.
Go to the loadout screen and choose the loadout to assign.
Click on Assign Loadout and the user will be assigned that loadout.
How to Use the Survivor -> Loadout Inventory System
Launch the application, select the database you want to work with.
Go to the loadout screen and choose the loadout to modify or add a new one to the system and select this.
Goto the inventory screen and select your character that you want update a loadout from.
Go back to the loadout screen and click on Save Loadout.
How to Use the Survivor Inventory System
Launch the application, select the database you want to work with.
Select your character from the list.
Fill out the characters inventory and backpack as desired.
Click the Save Inv button to save the inventory to the users survivor.
How to use the Loadout Inventory System
Launch the application, select the database you want to work with.
Goto the loadout screen and either select a load out or add a new one.
Goto the inventory screen and without selecting a character, fill out the inventory.
Go back to the loadout screen and click on Save Loadout. The loadout is now setup in the database with the inventory you selected.
Download HNGamers DayZ Inventory Manager here!

System requirements
Windows Installer 3.1
Microsoft .Net Framework 4 Client Profile (x86 or x64)
Database Access to the Bliss Server
UAC Disabled OR "Run as Administrator"

Current Features (funtional)

New Player database screen showing all aspects of the players/survivors
Loads all Bliss databases that are stored in the primary database
Loading/Saving of Backpack slots.
Loading of inventory slots with characters inventory.
Assigning/Adding/Deleting load outs
Adding/Deleting/Saving databases (registry)
Import/Export/Update/Save/Restore Default Skins items (registry and local disk for backups)
Import/Export/Update/Save/Restore Default Inventory items (registry and local disk for backups)
Completely customizable inventory(allows custom server items to be loaded)
Identified the space requirements in inventory for all items, blacks out inventory items based on space requirements.
Correctly identifies the backpack spaces and reloads based on backpack size.
Load any database and import all users in the database.
Clickable inventory slots, making loading inventory a breeze.
Editable inventory list for managing your own custom inventory.
Loading the custom load outs on the server.
Saving inventory to Player database
Saving inventory to load out database
Identifying if player has an alive survivor and loading that survivors ID.
Loading inventory space based on backpack selected
Donation screen with direct access to the Paypal site via the tool.
Changelog in the program
New Auto Updater to resolve issue with Registry settings
Web updater for Skinz/Inventory system


In Development features (semi or non functional atm)
Adding items with multiple clicks.
Map Locator for character world location


Known Issues
None?











Video load out written to the character and to the custom load out table.

Code:
[["Binocular_Vector","bizon_silenced","NVGoggles","M9SD","ItemWatch","ItemCompass","ItemFlashlight","ItemMatchbox","WeaponHolder_ItemHatchet","ItemKnife","ItemToolbox","ItemFlashlightRed","ItemGPS","ItemMap","ItemEtool"],["15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","15Rnd_9x19_M9SD","ItemBandage","ItemBandage","ItemBloodbag","ItemAntibiotic","20Rnd_762x51_DMR","30Rnd_545x39_AK","ItemMorphine","HandChemGreen","ItemHeatPack","ItemEpinephrine"]]

Video backback currently written to player and custom load out.

Code:
["DZ_Backpack_EP1",[["ItemToolbox"],[ 1]],[["HandChemGreen","30Rnd_545x39_AK","15Rnd_W1866_Slug","HandChemBlue","FoodCanPasta","8Rnd_9x18_Makarov","ItemAntibiotic","ItemBloodbag","ItemMorphine","ItemEpinephrine","ItemHeatPack","ItemBandage","HandRoadFlare"],[ 1, 4, 3, 1, 1, 3, 1, 2, 1, 1, 1, 2, 2]]]
 
Last edited:

Seven

Moderator
Staff member
Very nicely done. Only thing that would bother me is having to click each slot to assign a new item to it, too much back and forth.
Maybe change the add item button to actually add an extra item, and if you click a slot it would highlight it for editing.
 

thevisad

Moderator
Staff member
Hmm, not a bad idea, it does get a bit tedious filling out the inventory. Especially, if you have to do it multiple times for varied people.
 

thevisad

Moderator
Staff member
I have been really busy so I have not had a lot of time to work on this until today. I am hoping to be able to finish a lot of the functionality over the weekend. I could provide a download with the knowledge that it is very early alpha at this point and therefore has a few bugs.
 

thevisad

Moderator
Staff member
Updated main post with a new image of an updated gui. The inventory gui looks the same, minus the database/loadout section. I broke out all of the inventory/database/loadout options onto a new screen. Previously this all loaded via config files, it is now saves all configs in the registry. Since this is installed via OneClick application, any modifications to the config file would be lost after update, causing all the work to have to be redone. With this change, the program updates and all configs simply go across to the new install.
 

thevisad

Moderator
Staff member
  • Added inventory management
  • Added Skin management
  • Added Database management
  • Corrected some issues with the tool not properly identifying space requirements
  • Added Loadout Manager to assign/unassign users from loadouts and add and delete load outs
  • Added ability to export custom lists for skins and inventory
  • Added new backpack loading system to correctly identify and load up all inventory positions
  • Corrected minor spelling issues throughout the gui
 
My system meets the prereqs and I have UAC disabled.

Below is an error I get when launching this application. Any help would be appreciated.

Code:
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
  at DayZInventoryManager.DayZInventoryManager.loadSkinz()
  at DayZInventoryManager.DayZInventoryManager.Form1_Load(Object sender, EventArgs e)
  at System.Windows.Forms.Form.OnLoad(EventArgs e)
  at System.Windows.Forms.Form.OnCreateControl()
  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  at System.Windows.Forms.Control.CreateControl()
  at System.Windows.Forms.Control.WmShowWindow(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  at System.Windows.Forms.Form.WmShowWindow(Message& m)
  at System.Windows.Forms.Form.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.296 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
DayZInventoryManager
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/USERNAME/AppData/Local/Apps/2.0/5NDMWCXM.KTL/C1C99XBC.4H9/dayz..tion_a52b42dec56126e9_0001.0000_35ea6c30c733784f/DayZInventoryManager.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.278 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.282 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
 
Update did not help. Uninstalled and then installed fresh, no difference. Current error looks exactly the same, but is included below just in case there is a small difference I missed. (FYI, I am replacing my username with USERNAME in the error message for security reasons.)

Code:
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
  at DayZInventoryManager.DayZInventoryManager.loadSkinz()
  at DayZInventoryManager.DayZInventoryManager.DayZInventoryManager_Load(Object sender, EventArgs e)
  at System.Windows.Forms.Form.OnLoad(EventArgs e)
  at System.Windows.Forms.Form.OnCreateControl()
  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  at System.Windows.Forms.Control.CreateControl()
  at System.Windows.Forms.Control.WmShowWindow(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)
  at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  at System.Windows.Forms.Form.WmShowWindow(Message& m)
  at System.Windows.Forms.Form.WndProc(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.296 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
DayZInventoryManager
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/USERNAME/AppData/Local/Apps/2.0/5NDMWCXM.KTL/C1C99XBC.4H9/dayz..tion_a52b42dec56126e9_0001.0000_2e2792a75ece514f/DayZInventoryManager.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.278 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.282 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Management
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
 

thevisad

Moderator
Staff member
  • Worked with Bilbo524 to identify an issue with the registry writing.
  • Fixed a small bug with the donation system not setting the proper ID for the computer.
  • Identified a potential issue in Kaspersky stopping the application from writing to the registry.
 
I have had the privilege of testing the newest builds of this tool as thevisad finishes them, and I must say once the polishing is done this will be THE tool for any inventory-related tasks as a server admin. That's not to say that it isn't great now, because it is. It's amazing that it will only get better :)

Thanks to thevisad for all the hard work!
 

thevisad

Moderator
Staff member
Update 1.5

  1. Corrected issue with the inventory updater not updating the selected item properly
  2. Corrected issue with the skinz exporter not exporting the proper data
  3. Corrected mutliple visual issues with the gui forms
  4. Implemented Web updater for Skins
  5. Implemented Web updater for Inventory
  6. Added code for downloading DayZ+ and rMod inventories (ongoing development)
  7. Implemented a clear slot button to remove specific inventory items
  8. Finalized the loading and saving of the backpack inventory
  9. Major corrections to the backpack inventory loading
  10. Implemented loading the Loutout inventory into the GUI
 

Strikes

Well-Known Member
I'm attempting to get this up and running today for the first time... the program updated and loaded great but it's not making any kind of 'connection' to my DB.

I've tried some of the obvious in the Database IP: localhost/127.0.0.1 and even the actual IP of the dedicated box.

The user/pass are correct of course and I've made sure to use the port I need (it's not the default).

I then go to the pull down and select 'bliss' and hit the save button.

Then I went down to the 'DayZ Databases' area and deleted 'dayz'; then typed in my DB name below and hit 'save'. It now shows up in pull-down menus but that's about as far as I can get.

None of the "userID" fields are populating with any data.. the only feedback I get is "Cannot Connect to server. Contact administrator"
 

Strikes

Well-Known Member
I changed some permissions that were missing; now I get "Unable to connect to any of the database servers. Contact Administrator." Going to try a few more things...
 

thevisad

Moderator
Staff member
@BertxSmash - right click on the shortcut and choose run as administrator. This is mentioned in the system requirements above.
 
Top