Jump to content

RimBlock

Member
  • Posts

    1140
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by RimBlock

  1. Repair menu seems to be working (the vehicle just didn't have anything to repair si it was not coming up) but the salvage menu is also not bringing anything up and I think that should work for any vehicle.  The safe unlock is also playing up....  It is possible that has something to do with my base dematerialising and the safe floating though.

     

    Will apply the code to a new server build and go from there.

     

    Vbawol has also acepted the request to update the vehicle hpp files to include the fuelcapacity variable so after I get a Git setup on GitHub I will be able to update them.  That will cut down the code a bit and make things simplier.

     

    The other side of the equation though is the fuel usage rate.  I need to set the capacity in which ever script calculates the fuel usage when the vehicle is moving.  I have not found the script that does so yet though. 

     

    If anyone knows which script controls that then please let me know.

     

    Failing that I will have to write an override script that will work out the burn rate and overwrite the normal process.  Not very efficent but I see no other way if I cannot find the original script, or if it is a built in function of the ARMA II engine).

  2.  - Door lock combos: should be remembered once put in, resets on server restart. Fix bug where you get the option 'unlock' and 'open door' but not 'lock' ( you have to unlock it by entering the code, THEN you get the option to lock. Not 100% sure I've remembered the steps but it's something along the lines of having to re-enter your combo to lock it). Same thing goes for safes/lock boxes.

     

    etc...

     

    It would be nice to be able to mark dead keys.  That would make it a lot easier to know which ones to throw away.  Having an array of live keys populated on server start that is modified to keep a running track would not be too hard to do.

     

    If you had / have multiple vehicles keys in 'the real world' then how do you / would you manage them ?. 

     

    Keys are not 'objects' so do not have their own records in the DB.  They are stored as items so the only information you can store is the item name.  Epoch has apended a unique code to the end of the item name and as it is auto-generated there is less chance of duplicates.  This, is not so easily readable for humans though...

     

    Putting in your own codes for locks seems fairly reasonable.  Would take a bit of work coding but not a massive job (without checking the code).

     

    Agreed that dropping items is a massive PITA.  The items usually spawn a little bit away from the item it fell out of but can fall though the floor or be very well hidden in grass etc.  On the other side, you can purchase unlimited quantities of items from wholesalers (if you have the gold) regardless of item slots.  They just keep adding.  I have had over 40 crates in my inventory.  Changing this is a fairly major undertaking though as a large proportion of the scripts in Epoch would need investigation and probably changing.

     

    Snapping could be improved but again it is quite a lot of work.  Items currently snap on the vertical at 90deg or in line with the item it is placed next to.  I would love to see snapping walls to floors / ceilings.

     

    Doing an auto-unlock of vehicles is not really possible with the current setup as the menu options are reactive to whatever you are looking at.

     

    For the unlocked doors requiring a code, but not everytime, sounds like the menu system is getting a little confused. This tends to happen more if there is a lot of stuff in the actionitems or damageitem scripts and / or the server is running a bit slow as the scripts may not complete before focus changes and the menu items get fully refreshed.

     

    You seem to have a few ideas and with your Epoch veteran and game developer friend, why don't you put in a GitHub pull request and work on a mod to fix those issues.  You could then publish it for everyone to benefit from and the Epoch team may even add it to the standard release.

  3. So I took a couple of hours off from working on my mod to actually play a bit of Epoch yesterday.

     

    For a change I decided to take my MH6X for a quick trip around the south coast, shoot some AI bandits and see about landing on top of the big hotel.

     

    Well having done all that, I then decided to fly back to my base back up north of the Chernarus map.

     

    On the way I spotted what looked like a heli crash site so made a rapid decent to stop off.  Unfortunately I have a new temp keyboard and hit the wrong key resulting in a corkscrew motion and my heli was upside down and heading for the ground rapidly. 

     

    Having, to my shame, been in this position before I knew the only option was to eject and so I did.  On landing next to my charred helicopters wreckage I found that the heli crash site was not a heli crash but was infact a working MI17 with some engine and glass damage.  I had luckily found a couple of glass and an engine during my exploting on the south coast and so fixed it up and flew it back to base.

     

    Tl;Dnr

     

    Found a heli crash site

    Crashed heli landing at crash site.

    Crashed heli was a working heli

    Flew home in new heli.

     

    Any other funny or silly happenings in Epoch anyone else would like to add.

  4. Looks like the refuel menu is working ok.  The repair and salvage submenus are not but I may have 'disturbed'them when first playing around with submenus so I will just confirm the integrity of those parts with the standard Epoch sqf.  The refueling should be completely separate now.

     

    Refueling from a fuel truck is working again from the submenu option as well.  Still need to test with a fuel pump and that could be quite tricky due to a lot of possible combinations.

     

    To give an idea, the base refueling code has doubled in size (from 150 lines to around 315 optimized), but it should allow a lot more options and be a lot more robust.

     

    Will be doing some more on it tomorrow.

  5. Looks like the refuel menu is working ok.  The repair and salvage submenus are not but I may have 'disturbed'them when first playing around with submenus so I will just confirm the integrity of those parts with the standard Epoch sqf.  The refueling should be completely separate now.

     

    Refueling from a fuel truck is working again from the submenu option as well.  Still need to test with a fuel pump and that could be quite tricky due to a lot of possible combinations.

     

    To give an idea, the base refueling code has doubled in size (from 150 lines to around 315 optimized), but it should allow a lot more options and be a lot more robust.

     

    Will be doing some more on it tomorrow.

  6. One less line of code, clarity.

     

    If all the activity is with a single unit then why not use the single unit variable.

     

    If there were multiple units in an array then using _this or another temp variable to loop through the unit setup lines.

     

    If there is no reason for the   _unit_13001 = _this (i.e. you are not referencing _unit_13001 anywhere in the script), then why set it ?.  Less lines = faster execution.

     

    _this is also quite a common variable to use and it would help to prevent clashes if you make future amendments (i.e you add a feature that requires you to pass a variable to the script which would be passed using the standard _this select 0 methodology).

     

    ​Certainly not required, just a suggestion.

  7. Yes... and no...  :) .

     

    post last paragraph.

     

    Short and sweet version...

     

    Yes players will still be tagged friendly as the playerUID is saved in the DB.  Anything non-vanilla Epoch that uses the tag friendly system would need a small amendment to work (see post as an example).

     

    The reason I say no is because as standard in Epoch, even if you are tagged friendly, you need to look at the plot owner to be able to build on their plot each time you login as the friendly playerUIDs are moved to a friendlyTo variable when friendlies look at each other and this friendlyTo variable is used for the building system.  The friendlyTo variable is also not persistant (not saved in the DB).  The variable only needs to be set once per login (look at the owner you are friendly to and you can build on their plot until you log out).

     

    This would be easy to change but it is put there by the Epoch team, I presume, to stop manic building if the plot owner is not around when a friendly logs in.  Once I put in a "remove friendly" option, it would most likely be safe to remove the friendlyTo check.. 

  8. Someone has offered to help look at a GUI to allow vehicle selection for refueling, possibly showing source fuel level and a few other bits of info.  As the underlying mechanism is quite similar, we will also be looking at integrating the salvage and repair lists in to the same gui so an integrated service gui for vehicles really.

     

    Hopefully that will cut some code out of the fn_selfactions.sqf and so improve processing speed there a little and make it a bit easier to manage this stuff.

     

    I will be doing the code to match with the GUI and get the job done but full GUI credits will be with them.  As they offered by PM I will respect their anonymity for now but they will get full credits on release.

     

    If anyone else wants to join in then just let me know here or via PM.  Many hands make light work and all that will help to speed up the release  ;) .

     

    RB

  9. If you have the interest, you may want to try the createagent  command with _unit_13001 = instead of _this = .

     

    You could then replace all the _this with _unit_13001 and remove the _unit_13001 = _this line completely.

     

    I may give it a go when I have the better refueling working but that may be some time yet  ;) 

  10. Logos will probably mean playing around with textures etc which requires a specific skill set.  It should be able to be done but the right person needs to be interested.

     

    As an alternative, there could be a non-visual scripting for a friendly type system for clans which would also allow you to examine dead bodies and see if they had any clan links.  It could also probably be developed so it would display the clan name when you look at the player it the "show name" option was on.  It could be centered around the clan house plot pole with member management there.  I will be doing something quite close to this for builders and plot poles so will keep it in mind and see if a clan membership ssytem can be easily incorporated to that mod.

     

    Of course, someone may have already written something like this.

  11. @betterdeadthanzed...

     

    Thanks for the writeup.  I really want to do something with the trader cities and this saves a lot of groundwork.

     

     Any reason for the '_this' variable being used for the createagent command rather than just using the unit variable (i.e. _unit_13001 in your example) and then just using the unit id for the setdir etc ?.  Have not tried it so not sure if there are any querks that are forcing you to do it that way.

     

    RB

  12. Would suggest you contact them and tell them to fix the script they are supplying as it has a bug.  Give them the error message.

     

    17:41:43 Error in expression <aRbull","ItemSodaRbull","ItemSodaRbull,"ItemSodaRbull","ItemSodaRbull"]

    As Buck0 said,

    aRbull","ItemSodaRbull","ItemSodaRbull,"ItemSodaRbull","ItemSodaRbull"

    should be

    aRbull","ItemSodaRbull","ItemSodaRbull","ItemSodaRbull","ItemSodaRbull"

    From the part of the log posted it looks like the setdir is not getting anything passed in the _this variable.  Hard to be sure without the actual sqf file and log (pastebin is 'not responding' trying to view the big log file it seems).

  13. Ok, little update.

     

    Current progress:

    • The correct source and target are being passed from the submenu script to the main refuel script.
    • The correct logic is being worked out for floodfill, real capacity values, source is a fuel truck or fuel pump etc. 
    • Correct values are going around the refuel loop and filling the vehicle locally (i.e. in the current live version of the world)  

     

    Current issues:

    • The code is not exiting when the vehicle is full.  This is almost certianly due to the exit loop statement being in the wrong nested if statement (there are many, sometimes 6 levels deep to account for all the option combinations in this unoptimised code).  I just need to track through the control structures and realign the exit statement with the master loop.  As the loop is not exiting, the fueling is not being saved to the DB which only happens when the script is exited (full vehicle or refueling interrupted) to save DB calls which can introduce lag issues.
    • Other menu options seem to be behaving strangely (Repair / Salvage are not giving sub options, unlock vehicle seems to be getting stuck on the screen and does not change when looking at other vehicles etc).  I have tried to keep the refuel options completely seperate from any other option choices (new parameters etc) so this is a bit strange.  I am hoping it is just an incorrect ")" or "]" somewhere but with fn_selfactions.sqf being around 1,000 lines it is going to be a pain to troubleshoot it.  Personally I think the fn_[whatever]actions.sqf scripts need to be reorganised as they are just getting bigger and bigger.  Maybe rather than having one massive master script that takes a bit of time for the system to trawel though, there could be a small, fast master script and that calls sub scripts to actually run the logic for adding actions for specific items.  Restricting the master script to three levels. Level 1 for determining alive or dead, Level 2 for determining actions for players, vehicles or animals and level 3 being to filter on initial specifics for types of actions and then calling the code for detailed filtering and addaction commands. 

    An example would be;

     

    1. if alive

    1.1 If cursortarget is typeof "man" then

    1.1.1 If cursortarget = typeof trader

    Call player2traderActions

    1.1.2 if cursortarget = injured

    Call player2injuredActions

    1.2 If cursortarget is typeof "allvehicles" then

    1.2.1 If cursortarget = typeof fueltruck

    Call player2refuelActions

    1.2.2 If cursortarget = locked

    Call player2unlockActions

     

    etc.

     

    The multiple if XXXX and XXXXX or XXXXX and XXXX also force comparison of all elements before determining sucess or failure so breaking it down in to single comparison if statements leads to much more efficent filtering.

     

    Another techneque I would have liked to have tried would have been using bitwize calculations to essentially have a single variable act as a set of bit flags for the cursortarget status.

     

    e.g.

     

    Variable = 100000000

    Values for each bit position: 1 = true.

    Position 1 = control (presuming number variable type)

    Position 2 = alive

    Postiion 3 = fuel vehicle

    Postiion 4 = damaged vehicle

    Postiion 5 = locked vehicle

    Postiion 6 = Flying vehicle

    Postiion 7 = Unconcious Player

    Postiion 8 = Friend

     

    Variable = 11111000 = An alive, locked fuel vehicle with some damage.

    Variable = 11000011 = An alive unconcious friend.

     

    By performing a logical "and" on the variable we can see instantly where multiple states exist in a single opperation.  A logical "and" compares the two bitwize valies and where both have a 1 at the same position, the result for that position will also be a 1 else the result will be a 0.

     

    1010

    and

    1101

    equals

    1000

     

    So if we want to know if there is an alive flying vehicle with damage we would "and" the variable to 11010100 which could result in 11010100 if true.  There are also logical "or", "xor" and "not" operators. 

     

    Unfortunately it seems ARMA II does not support bitwize calculations unless anyone knows differently or of a mod / addon implementation that works ?.

     

    Enhancements:

    • I think I will put in a refueling range variable you can set depending on how far from the fuel source you want players to be able to refuel.  15m will allow refuelig next to the pump/truck, 30-40m will give refueling for a plot pole area if the source in next to the plot pole.  100m could be used for a refueling trader service maybe.  Anyway, it will be up to the server owner to decide.
  14. this is how it is in your exact case and is not always the case:

    _this select 0 //target / whatever the addaction is attached to
    _this select 1 //caller
    _this select 2 //action id (i persume this is the id the addaction is removed with)
    _this select 3 // is all the variables you parsed via the addaction
    
    

    https://community.bistudio.com/wiki/addAction

     

    I have no idea how I missed this on the Wiki site.  I was even reading up on the priority section just below.

     

    At least my guess on what was being passed is verified in the end :) .

     

    Thanks

  15. Sounds good. Feel free to offer a tutorial for the community. I would try to find it our myself, but I dont run a server anymore. :D

     

    Haha,  I seem to be buried 3 hours every night trying to ge tthe Better Refueling mod working at the moment.

     

    As I don't have steam on the server I need the DayZ Epoch server to be created from the client install.

    • I just upgraded the client
    • Rran all the ARMA II games / mods to the main menu screen so the keys are generated. 
    • Extracted the keys using regedit -> export
    • Backed up the 1.62 server install on the Windows server.
    • Copied the steamapps ARMA II and OA folders over to the server, merged them and then merged the Epoch server package.
    • Imported the keys to the server registory
    • Copied the MPMissions, the mission config folder, the startup bat file and the @[mod] folders in from the 1.62 install folder
    • Applied the reg keys to the server
    • Started it up.

    I have never got DayZ Commander to work on my Win 2012r2 server so mine is a copy from the client server build.

  16. Are you using a HC framework mod or just playing with logging in a HC ?.

     

    Sounds like the HC is spawning the units which are then given to the server for control adn tracking (hence the server FPS dropping).

     

    I have not dug i to the HC side of things really but my understanding is the frameworks force the units to HC control and then, presumabily, broadcast position etc for other clients so they can see them.

  17. look at how its done on the older version of remove vehicle parts and you should get a good idea as how to do this ...

     

    Do you have a link to the script in the GitHub ?. 

     

    If you are talking about the actions/salvage_vehicle.sqf then it seems a variable is being set every loop and that variable is being passed via the addaction .

     

    I presumed (possibly incorrectly) that if _x is passing its last value then any other variable set in the loop would also do the same.

     

    Thanks

  18. I would say it is better and worst than Github.

     

    Cloudforge allows user to pick between Git and Subversion.

    It also makes your work private (for free) one thing that github lack on free version.

     

    It also makes callaborative work easier and faster. I would recomend this for Server Owners who compile all the hard work of developers and scripters into thier server. 

    With subversion and compare tool on notepad++ works awesome together. Comparing Old and new versions of your code. 

     

    Add a script, commit the files. Start the server and script doesnt work, just click revert :)

     

    It is almost similar to Github, but makes private and callaborative work easier and cheap

     

    Cool, thanks for the explanation.  Will add it in at the top.

  19. Hi,

     

    I am currently writing a script which creates addaction items for the player based on nearby vehicles.

     

    I get the _vehiclesnear array, step through it in a foreach loop, filter out 'vehicles' I am not interested in and then do an add action for each of the remaining vehicles.

     

    The text for the Addaction includes the vehicle type and works fine for each addaction.  The problem is the passed variable.  I wish to add an action with the object _x as a parameter for each value of _x at the time of the add action. 

     

    What I am getting is the last value of _x after the foreach loop has completed is being passed when any of the actions added are selected.

     

    i.e. (code is not syntax correct as it is from my memory but you should get the general idea)

     

    _vehiclesnear = ["Soldier","SUV","heli", "Player"];

     

    _playerlist = ["Soldier","Player"];

     

    {

    if  !(_x in _playerlist) then { 

    _vehicleType = typeof (_vehicleType);

    _actionText = format["Vechicle is : %1", _x];

    actionHandle = player addaction _actiontext, [_x], "script.sqf";

    };

     

    }foreach vehiclesnear;

     

    The output action  would be something like

     

    "Vechicle is : SUV"

    "Vechicle is : heli"

     

    When any option is selected, "Player" will be sent to script.sqf as it was the last value _x contained when the foreach loop finished.

     

    Any suggestions of how I can get the addaction to send the correct value to the script (i.e. the value of _x when the addaction was run) ?.

     

    Thanks.

     

     

  20. This is disheartening at best.  Anything from DayZ, Arma 2:DayZ can NOT be used in Arma 3.  Period.  Thats why Zoombies and other similar projects using DayZ content were shut down with a quickness.

    Unless of course you're referring to some user created zombies.

     

    Whilst the comment was intended to be very 'tounge in cheek', although I think the reality is that someone is bound to try to do this.

     

    I think it should be highlighted very clearly "Warning: There are no zombies, they all rand screaming when they a new evil moved in to the neigbourhood and brought some friends." or some such as I would imagine the expectation will be that it will be an update of ARMA II Epoch with better graphics and all the good stuff we have come to love but improved.  That was my presumption before I read some posts here and as we all know, the player cycle is likely to be watch video => ignore just about anything written about it -> download -> no zombies -> moan.  People like what they are familiar with.  Maybe seperate it wil a different name ..... how about 3Poch ;)  :) .

     

    Having said that, there will also be a dedicated fan base who will be aware of what A3 Epoch is and will embrace it with open arms (myself now among them).  If having to develop a whole new set of zombies (models, textures, animations, sounds etc) would have been required then that would have been a massive undertaking, possibly with less than impressive results (I wont mention another A3 zombie mod as we all know how their shambling lumps of sillyness are not quite what people would expect from zombies).  It would also, enermy wise at least, have little to make it stand out from the crowd.  New 'bad things' could really make Epoch special but runs the risk of alienating the "we love killing zombies" crowd.

     

    Personally I would like to see the 28 Days Later Infected in a game.  Fast, straight line runners who hide until made aware and then come screeming in volume. The problem should not be shooting them, it should be running out of bullets as they just keep on coming (within reason of course).

     

    Anyway, give us some more teasers please, let us get a glimpse of how epic A3 Epoch is shaping up to be and maybe get some "no zombies" advertising out there to manage expectations.

×
×
  • Create New...