Jump to content

Sandbird

Member
  • Posts

    1045
  • Joined

  • Last visited

  • Days Won

    16

Posts posted by Sandbird

  1. 5 minutes ago, Jexie said:

    downloaded edited etc. Arma shuts down after the timer runs out. May be me not configuring correctly still verifying that. Batch file was also an issue .....maybe Windows 10 not sure, the varables with spaces was problematic but managed a workaround however still left with the editor timing out and arma closing.

    I am not sure this works anymore..it was for the 10.6.2 version...i havent played dayz for some time now but i guess a lot of variables have changed since then. If i is a path related bug then make sure all folder paths are inside double quotes. From the start of the path till the end.

  2. On 11/12/2018 at 8:50 PM, BigEgg said:

    _result = "['[array1]', '[array2]']";

    I would see the purpose in the KRON function.

    Let me know what I am not understanding correctly.

    Here is the log+error without the Kron functions running for this query:

    _key = format["SELECT ObjectID, ObjectUID, Classname, CharacterID, Worldspace, Inventory, Hitpoints, Fuel, Damage, StorageCoins FROM object_data WHERE Instance=%1 AND Classname IS NOT NULL LIMIT %2,1",dayZ_instance, _i];
    _response = _key call server_hiveReadWriteLarge;
    diag_log format["::::::: 1- Before compile ::::: %1",_response];
    _response = call compile _response;
    _response = _response select 1 select 0;
    
    LOG:
    
    "::::::: 1- Before compile ::::: [1,[[2,3,"VaultStorageLocked",881,"[126,[6326.18,7802.88,0.00143433],"76561198017478031",[[-0.892854,0.450347,0],[0,0,1]]]",[[[],[]],[[],[]],[[],[]]],"[]",0.00000,0.00000,3000610]]]"
    Error in expression <881,"[126,[6326.18,7802.88,0.00143433],"76561198017478031",[[-0.892854,0.450347,>
      Error position: <76561198017478031",[[-0.892854,0.450347,>
      Error Missing ]

    The Wordspace (and also Hitpoints) cells because they are Varchar, they come back as strings "[126,[6326.18,7802.88,0.00143433],"76561198017478031",[[-0.892854,0.450347,0],[0,0,1]]]" not arrays, thus breaking the code. Without the Kron functions to convert them back to arrays (by removing the double quotes) the whole thing breaks. Same goes for the server_publishvehicle files, server_playerSetup etc...since Character_data table also has arrays stored as varchar in the db. 
    That's what i mean.
    But in the end, I think mass replacing the "[ and ]" strings to [ ]  for the whole result that comes back from the database is much easier and faster than to take care each individual varchar value.

    Arma2Net also has this bug...but for some weird reason when you are sending the whole query inside double quotes like this:

    _data = format["Arma2NETMySQLCommand ['%2',""%1""]",_key, DB_NAME];
    SQL_RESULT = "Arma2Net.Unmanaged" callExtension _data;

    negates the problem...and the values come back as arrays....so you dont have to do the KRON parsing.
     

     

     

    Screenshot_2.png

  3. 1 hour ago, BigEgg said:

    You only need this line (line 48):

    
    _result = call compile _result;

     

    If _result is "[blah,blah]", the above line will return the following:

    
    _result = [blah,blah];

    Call compile removes the string.

    Hi Biggy, 
    Yeah i know that. Maybe a better example would be the server_monitor.sqf (here).
    The problem is that you have to call compile the result and then select the array (the select 1 select 0 part). While what you said is true..the select part always breaks in the server_monitor because the varchar entries come back as strings even though they are as arrays in the database. So i would have to do what you said almost everywhere for every single varchar entry that comes from the database....which of course is tedious and not to mention crazy :) There has to be an easier way to 'tell' extdb3 how to treat the outcome of the query...like it does with non-async calls. Premade queries have that option (look here), but since i dont want to rewrite every single query as a prepared statement (some people might wanna write their own sql queries for their own crazy mod ideas) having a robust 'hive_write', instead of 20 different queries helps a lot to that end. Arma2Net wasnt like that...i remember having the same problem with Arma2net at some point..but adding the queries inside double quotes for some reason negated that effect.

    I contacted the author of arma2net about the battleye block, and he sent a request to them to add it to their exception list. Hopefully we'll be able to return to A2Net at some point.

  4. Guys i pushed some changes up...I was playing with WAI (it works fine btw, all you have to do is search/replace /z/addons/dayz_server/ type of paths to plain dayz_server/) and noticed that the emu-server was not spawning events properly...Also the player was not assigned to the playableUnits array properly, so just redownload the affected files if you want. Changed files are here: https://github.com/Sandbird/Dayz.Epoch.1062.3d.Editor.Hive.Mission/commit/591aa33628d75184512eb533aef78701326dd0f6
    or you can just check the CHANGELOG i uploaded

  5. 17 minutes ago, godmode8 said:

     

    when a player enters the server near a certain object, he must be teleported to certain coordinates. I am writing through a translator, sorry

    I think It should go into server_playerSetup.sqf not server_playerLogin. Under line:

    if (_lastInstance != dayZ_instance) then {_randomSpot = true;};

    I am not sure what : "%ClassnameItem%"  is but i guess its a generic class object.

     

  6. extDB3 is a real b...h to work with. It uses premade SQL queries instead of allowing you to easily create your own queries inside .sqf files. I've played around with an asyncCall script (dayz_server\extDB\custom\asyncCall.sqf) trying to allow the use of my hive calls (ie: search for server_hiveReadWrite) but its not working well with VARCHAR types in the database. I had to use some very shameful ways to fix values coming from the database (varchar values) that were coming back inside quotes (ie: "[blah, blah]"   when it should come back as [blah, blah]).
    You can see my trickery inside \dayz_server\compile\server_publishVehicle2.sqf  line 46. I am manually removing the quotes and convert the string back to a proper arma array.

    If anyone knows how to properly tell extDB3 to return these values as arrays and not strings feel free to share it cause every time i see that ugly code i am pulling my hair :P
    The same goes for the server_monitor.sqf which spawns Hive Objects. I guess the biggest reason why it takes so long to spawn a lot of vehicles on from the db is because of this. Thats why i only leave like 30-50 vehicles in my db. It's pointless loading a full db with player bases etc.

    Edit: Oh also in the server_monitor.sqf i separate the player buildings from the epoch vehicles etc into 2 arrays. (_BuildingQueue + _objectQueue). So first i am spawning all the buildings and then all the vehicles...This way if a car is on the 2nd floor of a building it wont randomly spawn on the ground and then 2 floors spawn on top of that. Just something to keep in mind...i dont know if 10.6.2 is taking care of that bug some other way...i had that on my 10.5.1 server so i thought to keep using it since it's bug free. The separation is happening in line 80. If its a building it adds it into the Buildings array, otherwise in the vehicles array...and further down in line 344 it starts spawning first the Buildings and then the Vehicles.

    if ((_response select 2) isKindOf "ModularItems") then {

     

  7. A lot of things have changed since the last version. This time you can also build items properly (just use the action Enable Keyboard actions) when you want to enable keystroke capture. For example Right click a safe to start building and then enable the mouse wheel action to allow rotation with Q,E etc. Since there is no (display 46 in the editor it was the only hacky way i could think of to capture keystrokes)

  8. Dayz.Epoch.1.0.62 - 3d.Editor.Live.Mission with Database interaction

    687474703a2f2f6f6935382e74696e797069632e


    -=Youtube Demo=-

     

    What is this
    A custom mission file for the purpose of testing/writing scripts for DayZ Epoch without the need of a server.
    It emulates the dayz_server and dayz_mission files, so you can write scripts using the 3d editor. No need to use a dayz_server for debugging anymore. We all know how time consuming that is.

    Features

    • Full Database integration (yes thats right... [:)]
    • I would suggest to have a maximum of 100 objects in your object_data table for faster results.
      Took 5 min to load 10000 objs from my real database, so also make sure you dont go crazy with the MaxVehicleLimit, MaxDynamicDebris values in the init.sqf
    • Fully working GUI, zombies, hit registration, addactions, everything!
    • Write code and execute it on the fly. No need to start a server and join with a client to test things.
    • 100% of your scripts will work! (dynamic weather, default loadouts, custom scripts etc)
    • 2 setups. A default 3d editor player with a default loadout or a Real database character based on your UID
    • Includes most of BIS_fnc functions, so actions like BIS_fn_invAdd will work (i've added most common ones...more included though...check details bellow.)
    • Everything works...when i say everything i mean EVERYTHING !. (Spawning objects on mission start, traders (buy/sell), maintenance, character update, events, stats...etc)

    New Features!

    • All .FSM files have been converted to .SQF meaning the mission acts as a full fledged server / client merge. New character creation has been ignored though, so the server expects that the client that is about to connect exists in the database. The server will start, wait for a 'fake client connection to happen' (you pressing the Preview button), and then it will load your character from the database, spawn Hive objects and create new based on your MaxVehicleLimit values etc, then initialize the events and finally spawn the character to his worldspace location.
    • Use AdminTools to spawn any Perm, Temp vehicle you want, including buildings, crates etc.
    • Building objects is working as expected with a little AddAction trick. Unfortunately the primary display (eg: findDisplay 46) isnt working inside the editor. That means that building stuff or placing objects is very hard to do since we can't 'capture' keystrokes.
      Further details below after the Installation instructions.
    • Arma2Net is not allowed by Battleye anymore, so i am using extDB3 now.

    Requirements:

    • A mysql server on the same machine as your Arma2 editor. Well...a remote PC would work as well...just make sure YOU ARE NOT using your original database. Make a copy of it!. This mission will interact with your database !
      If you don't have a mysql server on your pc...i suggest you get WampServer. It's the easiest php/mysql server out there.


    Installation

    • Head over to the GitHub where the project is.
    • Click Download on the right sidebar, and extract the rar file.
    • Copy the 3d.live1062.DayzEpochTemplate.Chernarus mission file in your \My Documents\ArmA 2\missions\ folder
      • If your active Arma profile is not the default one, then you probably should extract it in the \My Documents\ArmA 2 Other Profiles 2\missions\ folder, otherwise you won't be able to find the mission inside the editor.
    • Copy everything inside "Arma2OA root folder" in your root Arma2OA folder (the same folder where @DayZ_Epoch_Server, MPMissions are).
      • The real_date.dll...(Thanks to killzonekid) is used to get your machine's date/time to be used for live day/night cycles inside the game (...you can set a fixed day if you want...details bellow).
      • The tbbmalloc - tbbmalloc_x64.dll files are provided by extDB3. They shouldnt interfere with your normal game, but they are needed for the mission to be able to connect to your MySQL server. (Make a backup of your original ones if you want, just be safe.)
      • EATbaseExporter is used by the AdminTools, and allows you to export bases to an .sqf format so you can import them afterwards to your server.
    • Now edit -=START HIVE MISSION=-.bat which was placed in your Arma2 folder, and fix the paths to their proper values. If you are using DZLauncher then the @Dayz_Epoch folder is probably where i placed it myself. 
      • Battleye needs to be disabled inside the editor otherwise the extDB3 addon will not work. The .bat is taking care of that. It will disable Battleye after 7 seconds. Depending on your machine, if you see that the time isn't sufficient, raise that value a little bit.
    • A sample Database has been provided with me as a character and a basic loadout. You can of course use your own database, just remember to delete most of your Object_Data table vehicles. The more vehicles you have there, the longer it will take for the dayz_server to spawn them. If you just want to write a script independent of cars etc...why wait 5 minutes for the server to spawn 10000 vehicles :)
    • Open "ArmaOA\@extDB\extdb3-conf.ini" and add your test database data there. I named the test SQL DB dayz_cherno
    • [dayz_cherno]
      IP = localhost
      Port = 3306
      Username = dayz
      Password = mypass123
      Database = dayz_cherno
      
      # dayz_cherno is the name of the database (change it in both values)
      # localhost   is your mysql server (could be an IP value as well)
      # 3306        your mysql port
      # dayz        is your database username
      # mypass123   is your database password

       

    • When the game launches, press Alt+E, select Chernarus, then Load mission 3d.live1062.DayzEpochTemplate.Chernarus

    • Open \My Documents\ArmA 2\missions\3d.live1062.DayzEpochTemplate.Chernarus\init.sqf

      • Go to line 61 and start editing the values there. DB_NAME is the name of your database (same as the extdb3 config file).

      • Add your PlayerUID value (same as the DB one) in line 72. (That the player you want to load from the database)

      • Depending which map you want to use, you have to change the dayZ_instance variable and also the MarkerP values (line 62) based on your mission.sqm file. Its for the Hive to spawn random vehicles, roadblocks and mines at proper locations based on the map. Just read the comments there for how to get the values. Its really simple. Just copy paste stuff from your mission.sqm file.

    Default setup vs Database setup
    There are 2 ways of initializing your player.

    1. A live database player based on his UID in the character_data table (coordinates, medical states, inventory etc)
    2. A default 3d editor player with a basic loadout. (Ignores Hive Loadouts and initial vehicle spawns)

    Default setup (extDB3)

    • [DefaultTruePreMadeFalse = true;]
    • This option is now the default one, because it's so much easier to set up, plus a lot of things have changed in the 1062 Epoch version. I couldn't totally separate the server files from the client files, so in the end a Database is necessary for the Mission files to work properly.
    • To setup your character with this method, leave DefaultTruePreMadeFalse to true
    • Everything is database based..so no need to do anything else. The mission will start with all your stats, inventory, conditions and spawn you where your world coordinates are.

    Premade Character Setup

    • [DefaultTruePreMadeFalse = false;]
    • This setup DOES NOT initialize the character based on a database entry, or does any HIVE related queries on mission start. (like load objects etc). Instead it uses some premade stats that you set, and only uses the Database on updates (buy vehicles etc)
    • The loadout of the player is set in the init.sqf in line 77

     

    player setVariable ["CharacterID", "1", true];		// Set here the characterID of the player. It can be anything...just leave it 1 if you want.
    player setVariable ["playerUID", "111111", true]; // Set here the playerUID of the player you want to have.
    player setVariable["Z_globalVariable", 100000];
    player setVariable["Z_BankVariable", 100000];
    player setVariable["Z_MoneyVariable", 100000];
    player setVariable["humanity", 11000];
    player setVariable["humanKills", 10];
    player setVariable["banditKills", 20];
    player setVariable["zombieKills", 30];
    player setVariable ["friendlies", ["222222","333333"], true]; //Both DZE_Friends and this must be set for friendlies to work properly
    DZE_Friends = ["222222","333333"];
    • Everything else should work fine with the database....like traders, salvaging, etc...Unfortunately since the 1062 ver had many differences from the 1051 one, i couldn't really make this Profile option a standalone one, without any Database interaction. So in order for you to minimize any errors in the log file, i would suggest you load my sample db file provided, and also change those CharacterID and PlayerUID values in PLAYER_Data and CHARACTER_Data tables to the ones you set up here, just in case....
    • The Premade character setup is for people that want to fast debug a script they are making and don't want to wait for the Hive to load all map objects and authenticate the player first.

    Further Details to change (in both Profile Cases)
    The description.ext, mission.sqf, mission.biedi files have your character's name in them. Just search for the word Sandbird in all of them and change it according to the PlayerName value you have in your Player_DATA table for your PlayerUID value.
    Example taken from description.ext. DONT change the actual My_Player text. The mission file needs that string to read what you typed in the name field.

    	class My_Player
    	{
    		name="Sandbird";
    		face="Face20";
    		glasses="None";
    		speaker="Male01EN";
    		pitch=1.1;
    	};

     

    Important info

    Init.sqf values

    • DefaultTruePreMadeFalse = true; // True: Read player's data from the database (based on UID), False: the normal player the editor has
    • StaticDayOrDynamic = true; // A static date is set at the bottom of \dayz_server\init\server_function.sqf. Set this to false if you want real time/date inside the mission.
    • DZEdebug = false; // Set to true if you want a more detailed log file
    • Enable Keyboard actions (menu option) // (findDisplay 46) wont work inside the editor. That means that building stuff or placing objects is very hard to do since we cant 'capture' keystrokes. I kinda fixed this with a trick. In order to build something first you have to initiate the building action (holding the object in your hands) and then scroll with your mouse wheel and select Enable Keyboard actions. This will create a layer on your screen capturing your keystrokes thus allowing you to change orientations etc. Pressing ESC twice after and it will close the fake display and return to normal play mode. You will have to do this every time you want to build something.

    Related to coding

    • Since the Editor has some limitations because its not a real server some things will never work. For example:
      _playerUID = getPlayerUID player; will never work in the editor. To get the _playerUID you have to do this:
      _playerUID = player getVariable ["playerUID", 0];
      This is the most important thing to remember. Lots of scripts use getPlayerUID. You have to remember to change it every time you want to use it.  Of course the player value is just an example here. If you were inside a loop and it had (getPlayerUID _x) then you have to rewrite it like this: (_x getVariable["PlayerUID",0])
    • findDisplay 46 does not work in the editor. If you are using/making a script that uses Display 46 try using my Enable Keyboard action. It might work in your case.
    • publicvariableServercommands don't exist in the editor. There is no server to accept the command. If you want to use addpublicvariableeventhandler you can do it with call/spawn commands. You can find the handlers usually in the PublicEH.sqf.
      Example:
    • PVDZE_plr_Save = [player,dayz_Magazines,false,true];
      publicVariable "PVDZE_plr_Save";

      can be written like:

      PVDZE_plr_Save = [player,dayz_Magazines,false,true];
      publicVariableServer "PVDZE_plr_Save"; // keeping this so when you move the code to the real server you remember to add it.
      [player,dayz_Magazines,false,true] spawn server_playerSync;  
      // what to call is usually inside publicEH.sqf. In this case search for PVDZE_plr_Save in the PublicEH file and check the call it makes in the end.

      You could also change the publicVariableServer to publicVariable. That should work inside the editor. But keep in mind these changes wont work on the live server, since one command broadcasts something to the server while the other just to the client running it. I would suggest you keep the original value and do the PublicEH call instead, marking it down with some debug comments next to it, so when you are done and want to transfer the files to your live server you just remove the call and everything should work as expected.

    • Don't forget to change the paths when you are adding addons to test/modify them. For example, notice the differences here: 
      player_switchModel = compile preprocessFileLineNumbers "dayz_code\compile\player_switchModel.sqf";
      player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf";
      The first line will look up for player_switchModel.sqf inside the editor mission files, while the 2nd one will go to the @Dayz_Epoch map file and get the .sqf file. Same thing applies for the dayz_server files (server_functions.sqf). Once you are done with your script and you have added new compile lines, you need to fix them back to their proper values before you upload them to your live server.
       
    • If you are missing any BIS_fnc functions then check the folder dayz_code\system\functions and see if it's available there to include it in the compiles.sqf.
    • Set DZEdebug = true;  in the init.sqf. And ALWAYS check your RPT log file for debugging. Its located at : %AppData%\Local\ArmA 2 OA folder.

    Related to mission file included

    • You'll notice when you start the mission there are 2 bots standing there. If you double click the soldier you'll see that he initiates this script scripts\BotInit.sqf. I left that in purpose in case you want to do some scripting that requires 'another player', and you want to initialize the fake player like that. The other bot can be deleted. I just left it there because i was testing a Tag Friendly script, and needed a 3rd 'player' that has me as a friend.
    • I've included a simple Fireworks script i made a while back only this time i used some better effects taken from aliascartoons work. Just add a 'SMAW_HEDP' into your inventory and right click on it to test it out. Here is how the old script used to look like Fireworks.
    • Also you'll find a little 'hat script' in the files, just right click a 'IRStrobe' item to add a hat to your player.
    • Both script were written inside the editor using the mission file above...just a small example to show you how easy it is to write code there.
    • The @extDB folder contains a folder called debug_files. These .dlls (when replaced the ones provided) activate a more detailed log file (found under arma 2 operation arrowhead\logs folder). It will show ALL MySQL queries going in/out of the database. Very useful if you are running any custom SQL queries and the RTP log file isn't enough.


    Final Notes

    These are heavily modified files...Dont overwrite them with your own files. Add to them instead of replacing them.
    If you are writing scripts that dont require the server to restart, then you can just go to 2D editor and press Preview again after you make the changes. No need to hit Restart. As long as you are doing changes that doesnt affect the Hive loading you can basically run things on the fly. For example in the init.sqf at the bottom i added a Add BankMonkey example. That command just loads the custom\money.sqf and shows a simple extDB3 example on how to select/update a DB table. Since this command doesnt require the server to restart, you can just hit Preview, test things out, and if you want to make changes, go back to 2D Editor, edit your changes in the money.sqf file and hit Preview again. No need to hit Restart and wait for the dayz_server functions to do their thing again.
    The whole purpose of this project was to not waste any more time trying to code on this god forsaken Arma engine.

    And a personal note....You will NEVER find an easier way to code stuff for Dayz....period. This is the fastest way to write code and see it in action.

    Hope this code will help you write code faster and easier !

    ### Credits

    This mission file would not be possible without the help of these addons/people

    DayzEpochTeam | http://epochmod.com
    killzonekid | http://killzonekid.com
    extDB3 | https://bitbucket.org/torndeco/extdb3/wiki/Home
    ebayShopper | https://github.com/ebayShopper/TestKit
    JasonTM (for the latest beta AdminTools)| https://epochmod.com/forum/topic/44863-release-epoch-admin-tools-v-1107-test-branch/

  9. 50 minutes ago, A Man said:

    @Sandbird the updated version works. There is only the old infistar bug left. If you have DZ_IGNORESHOTSFIRED = false; only admins getting attacked by zombies while firing. A normal player gets the zombie attention aswell but they did not attack them. I have the zombie check in infistar disabled. Does anyone have a solution for that?

    Edit: It looks like the Camo Symbol does not flash as a normal player while firing. As an admin is works as intended.

    I had similar problems with infistar AH with other functions.
    The way i solved this back then, was with with global variables set on the player and tweaked the AH to check for those variables as well.

    For example take a look at these 2 functions : sand_shieldON, sand_shieldOFF.
    Based on variable hasGutsOnHim the AH can know if the player has the guts on him or not. So all you have to do is find in the AH anything that has to do with DZ_IGNORESHOTSFIRED and also add this variable there as we ll. 
    I dont have the latest AH to check the code, but what you want to do is, at the part where Chris checks for DZ_IGNORESHOTSFIRED you can also check for hasGutsOnHim. If that one is false, then you can execute the 'today's equivelant of zombies attacking' of

    player_zombieCheck = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_zombieCheck.sqf';
    player_zombieAttack = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_zombieAttack.sqf';

    on the player...This way the zombies will attack the players as well if they dont have camo on.
    And set these variables to 'empty' if they do have camo on:

    	player_zombieCheck = {};
    	player_zombieAttack = {};


     

  10. Awesome! Thanks salival!

    Although i dont see dayz_hunger in the list, and i still see it being used in DZE_Hotfix_1.0.6.1A, at least its a start.
    I wont lie to you guys....it might take you 5 minutes to convert this to 10.6.1, it might take you 5 days....All i know is that it's possible.
    I kept all the filenames the way they were in the addon files....and at most cases i commented out the lines i edited...so you can still see the original lines above my addtions.
    It will take someone who knows how to code to get this working...

  11. Just now, WLF said:

    Can this be remade for 1061?

    It can, (wont be me, since i stopped playing dayz), but if you replace all the old global variables with the current ones and maybe apply any fixes that 10.6.1 has (although i dont think that is necessary),  I dont see why this wouldnt work.

    For example dayz_hunger is a global variable, and as you can see from the post above it is undefined now...That means there is a new variable somewhere in 10.6.1 that holds the player's hunger value...Mass replace that variable with the new one (and maybe check from the addons files that the functions using this variable are still the same), and the rest should work.

    All i did with this special mission file was to combine dayz_server and client files into one. I extracted some files from the epoch addon, and added some functions from the arma addon since the editor didnt have access to them, then replace all publicvariable_server commands to the local publicvariable one. Thats the biggest change i did to get this working.
    I then added the mysql2arma files so that the editor can connect to the database and boom...it worked.
    If you compare the files with the 10.5.1 server version, you'll see that the tweaks i did are minimum.

    The only problem with the mission was that now both server and client are the same thing...So when you preview the mission in the editor it would spawn 2 characters...one for the server and one for the client.
    That complicated things a bit, so all i had to do was somehow to check if there is already a player spawned on the map...if yes, then dont spawn another.
    So i added a global variable to the player's instance...when he spawned that was set to true, so when the engine was gonna spawn the 2nd player, since that value was true, it didnt execute the script again.
    Thats why there is a "if (isNil "oneTime") then {" check in init.sqf. If oneTime is set, that means the player has spawned already...so dont re-initialise the init.sqf.

     

  12. probably not...Unless you know which global variables are needed to replace the old ones. (ex: dayz_combat).
    I guess if you know how to code, and you are familiar with 10.6.1 changes...you could easily make this work in a few minutes.

    Unfortunately i stopped playing dayz, so i got no idea what has changed since 10.4 (if i am not mistaken...i wrote this for epoch 1.0.4)

     

  13. Hi Viktor

    Although i am not playing dayz anymore, i can spot some things still in the log to help out :)


    Error Undefined variable in expression: dayz_combat
    I guess dayzepoch stopped using dayz_combat to see if the player is in combat mode. You have to find the new global variable that represents this status and MASS REPLACE in all of my script files.


    Error in expression <ty = (player getVariable["humanity",0]) + _change;
    hmmmm, i guess hummanity is also not set on the player anymore. Probably you should SET the hummanity on the player before you get in this line of code.


    File z\addons\dayz_code\compile\player_humanityChange.sqf, line 5
    As you can see from this error, its obvious that hummanity has changed somehow. A good start would be to open that .sqf file (it is in the addons map files) and see what changed.


    Warning Message: Resource title zCamoStatusGUI not found
    You probably messed up the copy/paste in the RscTitles place, and it cant find the zCamoStatusGUI variable


    Error Undefined variable in expression: _displayz
    Same thing....dayzepoch removed or changed _displayz varable when it comes to the GUI interface...you'll have to find the new variable

    Hope that helps :)

  14. 6 hours ago, theduke said:

    I know this has nothing to do with this thread, but i seen long time ago that you had a garage opener script. I have been trying for a while, and for the life of me i cant seem to figure it out.

    Basically i thought all i would have to do is create an action while in vehicle, check nearest locked doors and use the door management script.

    this is what i have, and it doesnt work lol

    Any pointers would be great

     

    Hi, although i have no means of testing this script...i think you can figure things out if i give you the script i wrote back then. It is a bit complex, but i'll try to explain it.

    1) The user must have a Radio in his inventory to act as the remote radio to command the door to open
    2) In the script there is the option to also use and Infostand_2_EP1 to enter a keycode for the door to open...ignore that..its far too advanced to explain that here. There is also an option to remotely enter a code for the door to open...ignore that as well because that uses a GUI to show the dials to press etc.You just need the basic door unlock script.
    3) Line 27 is where you check what door classes are around the player...thats where you have to put your Door class (i was using "CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked")
    4) Line 77 is where i command the door to open...I'll post that script as well...You probably want to do 'your thing' there with the addon you mentioned.
    5) The reason you see a lot of 'player_currentVehicle removeAction'  actions is because due to lag, sometimes menu options would get stuck on the player...This way i am taking precautions to always remove the menu from the player.

    Overall i think you'll find what you're looking for here.

    The whole script:
    http://pastebin.com/wDfzNutE

    My vehicle_remoteunlockdoor.sqf
    http://pastebin.com/PFCxiFQY

    I think the reason your script isnt working is because in your first line you are checking nearby object against the 'player'...and not the 'vehicle player'. If the player is inside a vehicle...there is no player anymore..he has become 'vehicle player'. (well unless something has changed since i stopped coding for arma :P). If you fix that to vehicle player it will probably work.

    Also i am not sure what driver _vehicle is. Is this a new variable ? or maybe i forgot that it ever existed...It seems that it checks if the player is the driver of the vehicle...but i dont remember this variable...if you are sure its working properly then ofc use it.

    Hope this helps :)

    EDIT:
    Sorry...i forgot to mention how you execute the first script...You could hijack the fn_selfActions to continuously check if for something....or you can do this:
    In your init.sqf :
     

    [] spawn {
        waitUntil {!isNil "dayz_animalCheck"};
        _nil = [] execVM "custom\special.sqf";
    };

    Then inside custom\special.sqf put this code:
    http://pastebin.com/2KK6BXWD

    (again...i have some variables leftover from other scripts that control gates with codes...its easy to figure them out...just dont use those.)
    Also i am checking whether the player is around certain objects before i 'fire' the script  (line 15,16). You should put your door classes that you want to command there as well.
    In line 33 I am calling the 1st script i gave your here...I put it in custom\vehicle_remote.sqf

    All the above are a bit too much....but inside these scripts is the answer you are looking for and add some. Hope it gives you an idea how to fix your code, or incorporate more stuff to it :)

     

×
×
  • Create New...