Jump to content
code34

OO PDW - oriented object Persistent Data World

Recommended Posts

can you give more informations ? :D

I tried so save all that dressed on the players, i.e. weapons, modules, weapons, uniforms, shops, the backpack, in the backpack, items in the uniform, headwear, gadgets. Wrote in initSrever.sqf the code above, installed OO on a PDW source. The entry in the DB is, that is, a DB file with the right information, go out from the server data in place, I go to the server data is overwritten on a clean player, but not read from the database that is saved the user is not loaded from the database ((((.

Share this post


Link to post
Share on other sites

do you have any errors in you arma logs ?

Share this post


Link to post
Share on other sites

Sample mission works like a charm with @inidbi2 addon.

 

Great job, and thank you code34 !

Share this post


Link to post
Share on other sites

Does this self clean? In other words if I'm saving an object and that object gets destroyed in the course of the mission, will the database entry get deleted so that after a restart it doesn't reappear again when the database is reloaded?

 

If not, how do I go about getting rid of objects saved into the database. Specifically ones saved using "saveObjects" call _pdw; function? Or if I remove an object from my setIncludingObjects list and add it to my setExcludingObjects list how do I remove that item from the database?

 

As you can see I'm struggling with the management of the database ATM. Any help would be appreciated!!

Share this post


Link to post
Share on other sites

Hello Cdn,

 

To answer to your first question, nope :(

 

i dont try this kind of usecase perphaps using an objnull object to replace it.

Share this post


Link to post
Share on other sites
Guest

hey man first off great work, we've come up with a great script system at my community to fully utilize this and it works excellently.

I have some questions i was hoping you could help me answer

is it possible to create multiple databases for different missions? right now we use the inidb option for our world data and profile for player data but

if you use either on another mission it loads the content from previous missions using OO PDW. It would be very helpful if there was a way to differentiate

between missions.

also some objects seem to 'move' a bit when loaded back in. I think it's because they are rotated after being positioned and not all objects pivot point matches their origin point.

I'm theorizing but i canst think of another explanation atm.

anyway good work man look forward to hearing back ;)

Share this post


Link to post
Share on other sites

Tried the demo mission and it deletes all objects and inventory but doesn't restore anything. I am using latest @inidbi2 and the mission on your github.  Sample of RPT below.  


case ((_access >= 2) && {(_>
12:08:32   Error Undefined variable in expression: _result
12:08:32 File D:\users\sinner\Documents\Arma 3\missions\oo_pdw.altis\oo_pdw.sqf, line 90
12:08:32 Error in expression <space getVariable [_class, {nil}]));
if(_array isequalto []) exitwith {false};

>
12:08:32   Error position: <_array isequalto []) exitwith {false};

>
12:08:32   Error Undefined variable in expression: _array
12:08:32 File D:\users\sinner\Documents\Arma 3\missions\oo_pdw.altis\oo_pdw.sqf, line 546
12:08:32 Error in expression <ariable [_class, {nil}]));

_headgear = _array select 0;
_goggles = _array selec>
12:08:32   Error position: <_array select 0;
_goggles = _array selec>
12:08:32   Error Undefined variable in expression: _array
12:08:32 File D:\users\sinner\Documents\Arma 3\missions\oo_pdw.altis\oo_pdw.sqf, line 550
12:08:39 "IniDBI: read failed data type parameter must be ARRAY SCALAR STRING BOOL"
12:08:39 Error in expression <y;
};
 

Share this post


Link to post
Share on other sites

Hey Code34! The release of Apex has brought us multi slot items such as the helmet/NVG combination. This seems to confuse inidbi2 and this mod. Any chance of an update to address this?

Share this post


Link to post
Share on other sites

hi dudes,

 

does it need apex, to solve the issue ?

 

to synnr do you use apex ?

 

to burnes15th, thanks for reporting issue and evolving request. Currently i work on launching new project,  so i have to delay the release, but i will take in account your request and try to insert them in next release.

Share this post


Link to post
Share on other sites

If your referring to the multislot items then I'm guessing yes you'll need Apex because the multislot items are part of that DLC. Also have you considered using (and I haven't looked at your code) in using BIS_fnc_saveInventory and BIS_fnc_loadInventory for storing/restoring from the array's they create? I also believe that script commands are in development as well. setUnitLoadout and getUnitLoadout. This would make it easier to store and Bis maintains it's functionality with updates requiring less maintenance for your script.

 

Also when you restore objects like vehicles can you clear the cargo before restoring it's inventory because right now the vehicles inventory is increased by the stock amount on every server reboot? This adds up to hundreds of first aid kits etc. The commands would be clearWeaponCargoGlobal, clearMagazineCargoGlobal, clearItemCargoGlobal and clearBackpackCargoGlobal.

If this is already done then it's not working for me!!

Share this post


Link to post
Share on other sites

Thank you cdn_bigdogg for this nice feedback, i will use it for the next release :)

Share this post


Link to post
Share on other sites

Alright first off, I love this system, it's the first time i've ever successfully gotten anything to write to a DB of any kind.

 

However I cannot load anything.  I've set up the mission use a save loop for player position and loadout, both write just fine, but i cannot for the life of me get it to load the data when a player connects, and on only the player.  I've set it up like this:

 

init.sqf

if !(isMultiplayer) then {
	{_x disableAI "MOVE";} forEach allUnits;

};

call compilefinal preprocessFileLineNumbers "oo_pdw.sqf";

execVM "load.sqf";
cefcom_load = {
		//private ["_unit"];
		_unit = _this select 0;
		_pdw = ["new", "inidbi"] call OO_PDW;
		_bool = ["loadPlayer", _unit] call _pdw;
		_bool = ["loadInventory", [getPlayerUID _unit, _unit]] call _pdw;
};



[["Leg_Hellcat_401","Leg_Hellcat_402","Leg_Hellcat_403","Leg_Hellcat_404","Leg_Hellcat_405","Leg_Hellcat_406","Leg_Hellcat_407","Leg_Hellcat_408","Leg_Hellcat_409","Leg_Hellcat_410","Leg_C130J","Leg_C130J_2","Leg_AH6M_302","Leg_AH6M_301"],["LEG_Pilot"], "You are not qualified to fly",false,false,true] execVM "scripts\restrictVehicles.sqf";

/*
if(isMultiplayer) then
{
	execVM "statSave\loadAccount.sqf";
	execVM "statSave\saveLoop.sqf";
};
*/


while { true } do {
  _units = allUnits - ( playableUnits + switchableUnits );
  {
    if(((side _x) == east) || ((side _x) == resistance))then {
    if(isNil { _x getVariable "unitHasFSM" } && {!captive _x}) then {
        _x execFSM "aegis_surrender.fsm";
        _x setVariable ["unitHasFSM", true];
        sleep 1;
    };
   };
  } forEach _units;
};
sleep 1;


if (isDedicated) then { nul = [] execVM "serverSave.sqf"; };

load.sqf

[player] call cefcom_load;

serverSave.sqf

while {true} do
		{		
				_pdw = ["new", "inidbi"] call OO_PDW;
				sleep 10;
				"savePlayers" call _pdw;
		};
		

for whatever reason I get the following error on connection: https://www.dropbox.com/s/vovebyhg7w5efww/arma3%202016-09-02%2012-47-40-63.jpg?dl=0

 

and if i use debug to manually launch load.sqf it tells me PDW requires INIDBI

 

All mods are running properly as can be seen from the ini file writing correctly.

 

I made 2 changes to the oo_pdw.sqf

 

I made the inventory use getUnitLoadout / setUnitLoadout 

 

and I changed the label for inventory to also use the player ID.

 

any help would be greatly appreciated.  

Share this post


Link to post
Share on other sites

Like cdn_biggdogg I'm getting the default inventory on all of my crates. was wondering if their was any projection on the date that might get fixed, or perhaps a work around. 

 

 

 

to burnes15th, thanks for reporting issue and evolving request. Currently i work on launching new project,  so i have to delay the release, but i will take in account your request and try to insert them in next release.

 

Also any chance this new release has to do with persistence? If its a new system I might want to wait for it before I get to deep into the older one. Any help would be greatly appreciated.

Share this post


Link to post
Share on other sites

Like cdn_biggdogg I'm getting the default inventory on all of my crates. was wondering if their was any projection on the date that might get fixed, or perhaps a work around.

 

I found the problem with this. If you open up the oo_pdw.sqf and look for the section that says:

 

PUBLIC FUNCTION("string","loadObject") {

            private ["_array", "_name", "_object", "_objectPart", "_objectDamage", "_item", "_count"];

 

and find the line below it that says:

 

MEMBER("ClearObject", _this);

 

and change it to

 

MEMBER("ClearObject", _object);

 

Should fix the problem of not clearing the inventory!

  • Like 1

Share this post


Link to post
Share on other sites

I found the problem with this. If you open up the oo_pdw.sqf and look for the section that says:

 

PUBLIC FUNCTION("string","loadObject") {

            private ["_array", "_name", "_object", "_objectPart", "_objectDamage", "_item", "_count"];

 

and find the line below it that says:

 

MEMBER("ClearObject", _this);

 

and change it to

 

MEMBER("ClearObject", _object);

 

Should fix the problem of not clearing the inventory!

 

I'm going to give this a shot tonight when I get home. you sir are a saint and a scholar! I appreciate you sharing that because it was driving me nuts, and I'm sure a lot of other people that read this will too.

 

Tried it out last night worked like a charm, thanks again!

Edited by TheDragon117

Share this post


Link to post
Share on other sites

Hello

 

I need big help, i followed the install instruction, but after that its beyond my knowledge, i dont know how to script, etc. I want the player to be able to disconnect and reconnect while keeping their gear and also spawn where they disconnected. If someone can help me, i would apreciate it. By pointing out tutorial or directly helping me here.

Share this post


Link to post
Share on other sites

Quick question before I delve into this and possibly INIDBI2: Will this, or the combo of the two, allow me to "save" multiplayer games on a non-dedicated server?  I play almost nightly with a few friends and have to manually update missions in the editor if they take us more than one session to finish.  A method of truly saving the game would be amazing, and that's what this looks like.  I just wanted to check on the non-dedicated server aspect.

 

Thank you,

 

-Doc

Share this post


Link to post
Share on other sites
On 1/17/2017 at 5:51 AM, James Higs said:

Hello

 

I need big help, i followed the install instruction, but after that its beyond my knowledge, i dont know how to script, etc. I want the player to be able to disconnect and reconnect while keeping their gear and also spawn where they disconnected. If someone can help me, i would apreciate it. By pointing out tutorial or directly helping me here.

 

On 2/8/2017 at 4:48 AM, doc. caliban said:

Quick question before I delve into this and possibly INIDBI2: Will this, or the combo of the two, allow me to "save" multiplayer games on a non-dedicated server?  I play almost nightly with a few friends and have to manually update missions in the editor if they take us more than one session to finish.  A method of truly saving the game would be amazing, and that's what this looks like.  I just wanted to check on the non-dedicated server aspect.

 

Thank you,

 

-Doc

Sadly, Code34 does not care about anybody who does not know how to code, so our questions will not be answered here.

It is unlikely they will be answered anywhere else either, due to this selfish nature of scripters in Arma.

Share this post


Link to post
Share on other sites

Hi Dudes

 

Just release the new version 0.8

 

changelogs:

            - fix private keywords
            - fix array reference
            - fix clearcargo
            - add setSaveName method to use pdw with differents missions :)

 

Quote

Hey Code34! The release of Apex has brought us multi slot items such as the helmet/NVG combination. This seems to confuse inidbi2 and this mod. Any chance of an update to address this?

 

sorry for this part,  i dont have apex, i cant investigate :( Do you know how multi slots works, what command to use ?

 

Quote

Sadly, Code34 does not care about anybody who does not know how to code, so our questions will not be answered here.

It is unlikely they will be answered anywhere else either, due to this selfish nature of scripters in Arma.

 

I spend so much time to help, this bullshit makes me sick.

  • Like 1

Share this post


Link to post
Share on other sites

Thank you for the update Code. I think the vast majority of us REALLY APPRECIATE the work you do.

 

Thank you.

Fire

  • Like 1

Share this post


Link to post
Share on other sites

Hi Dudes

 

Just release the new version 0.9

 

changelog :

            - update oop.h
            - add setIncludingTypes method from contributor: [LTC] Vegas =21st=
            - add debug entry points

  • Like 2

Share this post


Link to post
Share on other sites
On 30/10/2017 at 4:56 AM, FireWalker said:

Thank you for the update Code. I think the vast majority of us REALLY APPRECIATE the work you do.

 

Thank you.

Fire

I'm afraid I belong to the tiny minority of curious without any clue about the possible usage of that for Arma scripts. Not saying it's not brilliant. Just far above my head, but, as I said, I'm a curious guy.

  • Like 1

Share this post


Link to post
Share on other sites
On 11/3/2016 at 9:22 AM, cdn_biggdogg said:

 

I found the problem with this. If you open up the oo_pdw.sqf and look for the section that says:

 

PUBLIC FUNCTION("string","loadObject") {

            private ["_array", "_name", "_object", "_objectPart", "_objectDamage", "_item", "_count"];

 

and find the line below it that says:

 

MEMBER("ClearObject", _this);

 

and change it to

 

MEMBER("ClearObject", _object);

 

Should fix the problem of not clearing the inventory!

 

Thank you, I had the same issue with the latest version so it appears to still be a problem.  

Has anyone run I to an issue with the delete all objects removing the Zeus game module?

If I delete all objects and then load in all saved objects I am no longer able to access the Zeus interface in game.

Share this post


Link to post
Share on other sites
On 3/16/2018 at 1:23 PM, code34 said:

 

Where do you retrieve this version ? The official repository is here and up to date

https://github.com/code34/oo_pdw.Altis/blob/master/oo_pdw.sqf

I used the Dropbox link, I will check the GitHub instead. Do you know of delete objects should remove the Zeus module?

 

Also since I have you,   just want to thank you for your hard work.  

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×