Jump to content

tinter

Member
  • Content Count

    542
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by tinter


  1. @HBAOplus

    Hey and thanks for showing your interest. I'm sorry to say that it doesn't at the moment. It's not impossible to do, it just takes a lot of time for me to make compositions, so I haven't made any for CUP.

    As always, I have to mention that any help is appreciated and if anyone wants to contribute with compositions for CUP or even just vanilla buildings, then I'd be happy to help make it work.

     

    I've considered whether I should write some guidelines for how contributions should be handled, but I haven't yet worked with anyone, so I'm not sure how it would look.

    • Like 3

  2. unknown.png

    I've updated both the script and the mod so that they use CBA settings now, and the mod will turn off if a mission is running the script, avoiding spawning the wrong kind of furniture and what not. Not that I assume anyone was going around calling the functions in the mod, but I have also changed the function names, so they don't overwrite the script.

    The release can be downloaded from  https://github.com/Tinter/Tinter-Furniture-Mod/releases/tag/v2.0.0 or at the workshop.

    Thanks.

    • Like 6

  3. unknown.png

    So I have now updated the script and the mod so that they both use CBA settings and the mod will turn off if a mission is using the script, avoiding spawning the wrong furniture if the mission is set to use something else.

    Other than that I have now also added the classnames for Global Mobilization buildings. No compositions yet, but it's one step closer.

    As always, get it here: https://github.com/Tinter/Tinter-Furniture/releases

    • Like 1
    • Thanks 1

  4. 1 minute ago, Djavu said:

    I've been using it for a while on the Tanoa map, I created custom compositions for the map. It's working perfectly. I would like to make a suggestion, it would be great if we could, define in a black list, places where we do not want you to generate compositions, perhaps by placing a mark and checking BIS_fnc_inTrigger, for example. Thank you and congratulations for the work.

    Glad to hear it's working well!

    As far as adding that as a feature, I'm not sure if I want it to be part of the script, but for now you can do this with a trigger where the condition is set to

    true

    and the on activation is

    { 
        if ([thisTrigger, _x] call bis_fnc_inTrigger) then { 
        _x   setVariable ["tint_house_blacklisted", true] 
        }; 
    } foreach ((getPos thisTrigger) nearObjects ["house_f", (triggerArea thisTrigger#0 max triggerArea thisTrigger#1)])

    then it should automatically blacklist buildings inside of the trigger when the mission starts.

    I hope that helps.

    • Thanks 1

  5. Got a few mores fixes rolled out.

    The most important is furniture sometimes spawning twice, due to two issues appearing at the same time. I got it somewhat fixed, but it might not cover all cases.

    https://github.com/Tinter/Tinter-Furniture/releases/tag/v2.0.2

     

    And for I released a mod version of this for anyone interested who don't happen to be mission makers.

    https://forums.bohemia.net/forums/topic/231111-tinter-furniture-dynamic-furniture-as-a-mod/

     

    • Like 1
    • Thanks 1

  6. Based upon my script, I have decided to make a mod for people who aren't mission makers but still want to spice their missions up.

    For anyone who doesn't know my script, this mod will spawn premade compositions dynamically as simple objects into houses around the player, removing them when they're out of range.

    I have earlier released this as a script:

    I will preface this by saying that I really think this works better as a script. The mod will spawn furniture into every house without checking whether the mission maker has placed anything there. It is not feasible to whether a house is intended to be used some other way by the mission maker, thus why this should be implemented on a per mission basis, ideally.

     

    The script is local, so everyone needs to see it running, and the server as well to make furniture block AI line of sight.

    Download: https://github.com/Tinter/Tinter-Furniture-Mod/releases/

    Github: https://github.com/Tinter/Tinter-Furniture-Mod

    Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2248165312

     

    • Like 10
    • Thanks 2

  7. 10 minutes ago, Melody_Mike said:

    Appreciate the answer.
     


    ^ This is exactly why I asked the question :float:. I realize that you coded this, along with others, a while ago. But it would help if you could give pointers why you chose the CBA versions of those functions, so I can maybe skip certain bits by replacing them with vanilla commands. The CBA documentation on the website is a bit cryptic, and doesn't always explicitly state the differences between CBA and vanilla functions. 

     


    Thank you for the permission. I will not release the modified version in any way, but simply post it in this forum. And if anyone objects to my attempt at recreating CBA functions, they can of course object and contact me as well. I just want to keep things transparent. This is all just a self imposed coding exercise for me, really.  

    Thanks again.

    I can't remember the details well enough to tell you without having to analyze my code. Your best bet would be to use the ingame function viewer so you can see what the actual code of the CBA functions do. Even the headers usually tell you what the function is for, along with any deviation from similar functions.

    • Like 2

  8. 18 hours ago, Melody_Mike said:

    Dear Tinter (and modders).

    Firstly, I will join the others in saying this is a very elegant script that saves lots of performance and mission development time(!). I've tested it with several missions in different towns, and the performance impact is quite acceptable.

    I had a question, all the same. 

     

    Is there a to remove the CBA dependency of the script? I took a dive into the script and it seems you use the following functions:

    CBA_fnc_createNamespace  
    CBA_fnc_players  
    CBA_fnc_addEventHandler
    CBA_fnc_execNextFrame
    CBA_fnc_waitAndExecute
    CBA_fnc_globalEvent

    I suppose my question is two-fold:

    1) Firstly, many of these functions (eg createNameSpace) have a vanilla equivalent; why did you use the CBA versions? 
    2) And secondly, would you mind if I created an alternate script that loaded these functions during mission startup, thereby removing the mod dependency?

    I am aware this could be seen as a step backwards in terms of performance (no caching of functions before mission start), and compatibility (no updates of CBA). And, that I am technically reverse engineering the hard work of CBA (who I will obviously credit in FULL). I don't want to step on any toes. But, because I work exclusively with public servers that have zero mod dependencies, I have a strong incentive to remove dependencies from missions. 

    Thank you, I'm glad to hear when someone finds this useful.

    As for why I use the CBA functions, it's because I think their functions are nice and convenient. I'm not sure if any of the functions I've used have a vanilla function that does the same. I find that even if they seem to be the same they might often differ in the details.

    As for modifying the script, you are allowed to modify it in any way you see fit, but of course I can't give you permission for any CBA stuff.

    • Like 1

  9. Thanks for all the feedback, a late reply as I was on vacation.

    The amount of furniture is probably the biggest impact on performance, more so than actually spawning it, but Diwako is right that they're all local simple objects.

    I think the compositions and thus also the amount of furniture per building, should be decided by the individual mission maker with regards to how much they want to compromise and what else is in their mission.

     

    I've thought about making modules and such, but that would require me to make this into a mod.

    It could probably be made into a mod, but I think overall that the concept fits a script best, as the mission really needs to be added with furniture in mind.

    You could get away with this, by letting the player set the furniture, but first of all respecting mission settings, if any, and having a debug menu to remove furniture in houses that shouldn't have them.

    Maybe some day, but probably not for the near future.


  10. Sounds to me like you don't want to take objects you've placed in eden, but objects that are part of the map?

    If you have a grabber or placer function that takes a list of objects, you can pass it the output of nearestObjects to get a list of map objects. You can run this from the debug console in the eden editor

    If not then, you will probably have to code some function to save and load it manually.

     

    • Thanks 1

  11. So through finishing my semester thus finally getting a break from Uni and a prod from @haleks (Sorry to say that I couldn't use your solution), I've been working on this again over the past three weeks.

    I'm pleased to now release Version 2 of Tinter furniture, I'm really proud of the changes that I have introduced and I do think that it's much nicer than it was before.

    Here is a commentated list of changes.

    Quote

    Changes:
      New and more accurate coordinate calculation
        -Big thank you to Nigel for helping me with this. This should make objects spawn exactly where they need to be, but unfortunately makes all previous compositions incompatible
      Position is now based off of bounding center
        -This eliminates the need for specific offsets for models that are the same visually, this is the other reason that compositions are incompatible
      All compositions changed to the new coordinate system
        -There's a script offset.sqf to help with it, and you'll need to import it with the old method, export it with the new one. The easiest way is to load your mission and just export everything again. You did save your compositions in its own mission file, right? (I didn't)
      Added a max house limit
        -Default is 42 houses, this lets the range be a huge 300m, but your FPS won't be murdered if you're in Kavala
      in.sqf will now set the rotation and position attributes in eden
        -This makes editing compositions much nicer, as before they would reset their orientation when you touched them
      Spawning furniture is done in a separate thread
        -This makes it spawn in (relatively) slowly, which should avoid any stutter from all of it being done at once
      Added a seed variable that controls what composition each houses uses
        -I've had 3 houses next to each other all use the same composition out of like 13, so this lets you change the seed and avoid that
      Added object variable "tint_house_index" to set a specific composition index for a specific house
        -You can count the array entry that a specific composition has, but remember to add it up when using multiple files
      Faster load in
        -It seemed like the script would initially have to complete a cycle before spawning in furniture, but I circumvented  that

      New compositions courtesy of JonoPorter
        -Big thanks to JonoPorter for letting me look through all their missions to scour for furniture
      Compositions from the orange DLC
        -These might just be the most detailed compositions so far, having also clean prewar, war and postwar presets
      Compositions separated into categories
        -Tried to seperate compositions into categories so that those who make sense being used together are in the same file, feedback welcome
      Miscellanous composition changes
        -Small tweaks to object positions and so on, check the git commit stack if you really just need to know exactly what is going on

    And of course, what would this be without some pictures?

    D5BeHhq.png

    LpE5Lkt.png

    0psrQxm.jpg

    As always, the newest release can be found at https://github.com/Tinter/Tinter-Furniture/releases

    • Like 3
    • Thanks 1

  12. On 2/19/2020 at 6:12 AM, thursday_0451 said:

    First off I just want to say this is amazing and super useful Tinter, excellent work!

     

    I do have some questions though:

     

    1) Do you have any more composition sets for Tanoa? Lots of buildings with interiors don't have any furniture compositions.

     

    2) How exactly do you get the furniture to spawn for a house in Eden? I tried running the command from the github wiki, but it seems like it isn't grabbing the furniture for the correct building as the same stuff spawns no matter which building, and its always like floating or half in walls or something. I'm sure im doing something incorrectly, probably need to specify the building before spawning the furniture in...?

    EDIT: Ignore this question, i figured it out. You explained it on your github page I just missed it on my first skim through reading it 😛

     

    3) What is your stance on your script being used in script/modpack and/or slightly modified? My long term goal is to make a... fairly ambitious project, and I would love to be able to use your script! I don't want to use it if you aren't ok with that, and I want to give proper attribution in the readme file or wherever else is necessary if you are ok with your script being part of a larger project. Oh also the modifications I'm talking about would be minor things like tweaking spawn distances and making my own custom compositions. I may also use your script and a couple other scripts I've found as a base for making a dynamic spawner/despawner for various assets.

     

    When I finish up with my own Tanoa compositions I will... I guess like upload them to pastebin and then post a link here to share?

    I'm excited to hear about someone actually using it, and sorry for the late reply.

    I'm sorry to say that I only have the compositions that are included. A big hurdle is actually making them because I'm not very creative.

    By all means, use the script as you see fit. The thing I care most about is that the code stays free for people to use.

    If you've made any progress in the last few months since your reply, do let me know!

    And if you have any compositions you'd like to share, you can either make a pull request or share them with me and I could include them when I have time.
     

    • Like 2

  13. 16 hours ago, EO said:

    I don't really have the inclination to run these compositions through your script but your more than welcome to use them for this project. :icon_biggrin:

      Reveal hidden contents

    Malden Structures...

    2cGn71D.jpg

    Tanoa Structures...

    AuW5UBJ.jpg

    Some Livonia Structures...

    AZAN0rT.jpg

    Be aware Furniture_1 and Furniture_2 compositions were created for the Ravage mod so the layouts have a bit of a post-apo feel to them, Furniture_3 compositions are a bit more conservative. 

    https://www.dropbox.com/sh/5rsk84t2onxjmqw/AADItuhAoSKptgo_UGbe21yua?dl=0

     

    Thank you! I've taken a look at them, and while it requires ravage mod, I did manage to open it without.

    I like the look of the interiors and I'm now in the process of converting them.

    I've also made some clean versions without blood and garbage.

    You should be happy that you're not converting them, since it turns out that medical garbage is also of type House_F. A bit annoying, but not a huge issue.


  14. Nothing helps you find bugs like releasing things. I have to say this is the first time I've been screwed over by the Arma 3 scheduler itself.

    Oh well, I guess it's my fault since this might be the first time I've actually tested the script in Kavala. It does stutter a bit when updating, but now it actually works.

     

    I hope I can make some more optimizations, but it will not be my priority right now.


  15. I hope you can get some use out of it!

    I haven't actually seen Phronk's and Haleks' scripts. Very interesting!

    • To compare this script with theirs, it looks like the main difference of this is that you can (and at this point in time, will have to) define compositions of your own. So if your mission requires messy or if you require clean furniture you can choose. Downside is of course how I haven't made many compositions so you'll have to do it yourself. This is why I'm very interested in crowdsourcing. This script is built around the idea of adding your own compositions, so that is why I also have scripts to export these.
    • Looking at the the ravage script, it seems they work in very similar ways too.
    • This script will select random compositions(If they exist) and thus has to synchronize that, but I don't know if their scripts have to deal with that at all, maybe they just use one per house?
    • It seems their scripts do not spawn the objects on dedicated servers. I would think this would cause AI to ignore it, whereas they would normally act like they can't see through it.
    • I only looked at Phronk's thread, but it seems it works on towns, through triggers. This script is meant to be more seamless, looking for every building you come across.

    I think those are the points worth noting, but this is not an exhaustive list.

     

    On another note, I'm going to make a small video to try and illustrate how to build and use compositions.

    • Like 2
    • Thanks 1

  16. I have with the help of others created a script that spawns and despawns furniture in houses.

    Download: https://github.com/Tinter/Tinter-Furniture/releases

    At the moment it currently is more of a tool-suite as I'm not an impressive interior decorator. I would very much like to gather up a library of compositions with the help of the community, although I'm not entirely sure on how to organize this yet.

    Github: https://github.com/Tinter/Tinter-Furniture

    Steam workshop (Does only have a test mission): https://steamcommunity.com/sharedfiles/filedetails/?id=1895377640

    Showcase of the script:

     

    Quick showcase of how to add make and add compositions:

     

    It spawns furniture locally as simple objects in nearby houses, despawning it when you're far away.

    The furniture is defined by compositions that you make in eden and using the scripts provided, organize them into files. The compositions are defined on classnames, but a lot of work has gone into trying to make similar buildings compatible, for example the buildings on Altis and Malden are different, but the script will recognize them as the same. Info on how exactly to do this is in the readme file.

    Furniture is also spawned on the server so that AI will also (hopefully) consider it.

    I have no indepth test of performance with this script active, but I have played missions with it active and it didn't slow the mission to a crawl at least.

     

    At the moment it currently is more of a tool-suite as I'm not an impressive interior decorator. I would very much like to gather up a library of compositions with the help of the community, although I'm not entirely sure on how to organize this yet.

    Thanks to Diwako, G4rrus, Tennessee,  jonoPorter, Meanwhile

    • Like 13
    • Thanks 1

  17. 3 hours ago, joostsidy said:

    Hey you're moving the goal-posts! Before you said 'we could expect the same level of quality as other DLC content has.' 

     

    I agree that it's fair to expect that it'll be better than what you can get for free (besides perhaps some exceptional exceptions). BI is indeed often late and vague in communications regarding new stuff, but part is that they burnt themselves in the past on releasing information too soon, basically making promises they couldn't keep. This created even bigger (longer?) crashing hype trains. BI's strategy is not perfect, but I can understand. That's why I'm kind of trying to spread the message of only releasing your feelings of hype when you can see the finished product. Because this has been the situation for years and I'm pretty sure it will be for years to come. I've been playing OFP / Arma for almost 20 years, but I would not buy Arma 4 pre-order for instance.

     

    Full disclosure: I'm also responding to your post to keep just ahead of you in number of posts.. 😉

    That's not moving the goal posts, since the official DLC is also better than what you get for free. That's a matter of opinion, but it's my opinion the quality from Bohemia has consistently been higher. That is entirely ignoring the amount of content, on purpose mind you.

     

    I will say that after joining the discord and viewing the discussion with the developers, that I'm feeling more sure that this will eventually end up with a level of polish that I will be satisfied with. Seeing them talk about the work they're doing and collecting bug reports, responding personally to discussion, gives me a lot of faith in their ability to deliver work.

    But it's just sort of hidden away, and I really am of the opinion that the release should've been marked as beta or been released on the dev branch first, to sate people's expectations.

     

    I can entirely see how saying too much can also be a bad thing, but I don't really think that's a good argument to make. It's not a situation of 'say everything or nothing,' there's a middle ground and I think they missed it by not saying what state the initial release of the DLC will be in, and more importantly in my opinion, what they're doing moving forward and what the goal is.

    • Like 1
×