dwarden

Scripting Discussion (dev branch)

1313 posts in this topic

You need allowFunctionsLog 1 in the description.ext to allow logging to the RPT.

Changing BIS_fnc_init_displayErrors true/false in your profileNameSpace will toggle the on screen messages.

Ahh, sweet. Great info, thanks!

Updated the wiki to reflect allowFunctionsLog, but can't seem to get the profileNameSpace thing to work properly. Got an example of that?

Edited by kylania

Share this post


Link to post
Share on other sites

Why is settonemappingparams and settonemapping removed? :(

Share this post


Link to post
Share on other sites
DarkDruid, Could we possibly get all the new Simul and weather related Commands here? http://forums.bistudio.com/showthread.php?162909-Secret-SimulWeather-commands&p=2487317&viewfull=1#post2487317

Some of these commands shouldn't be present in public version of the game, because they are not properly implemented and/or they can cause some troubles in the game. We are sorry for confusion. Programmers are analyzing all these commands now and when they finish it, you will get documentation of all safe and finished SimulWeather commands.

Share this post


Link to post
Share on other sites
nearestObjects command freezes on Altis!

Try lowering the search range, or using NearEntitites instead

nearEntities is much faster than nearestObjects given on range and amount of object(s) which are within the given range.

If a range was set to more than 100 meters it is highly recommend to use nearEntities instead of nearestObjects.

@bottom of : http://community.bistudio.com/wiki/Code_Optimisation

Share this post


Link to post
Share on other sites

If i lower the radius I can't accomplish the task. you can try the same command in another island with no troubles, so it has to be something with altis! I'll give a try to nearentities! Thank you!

Share this post


Link to post
Share on other sites
If i lower the radius I can't accomplish the task. you can try the same command in another island with no troubles, so it has to be something with altis! I'll give a try to nearentities! Thank you!

Altis has a lot more 'objects' per 100m than stratis does and of course is larger.. this results in a lot more processing time and larger arrays being returned, not to mention causing a balloon in memory usage which in turn freezes the engine until it completes, which for me was originally about 30 seconds or so. Im no expert on the subject though, this is just what I observed.

Since refining my scripts which used NearestObjects, I have managed to achieve the same results with non of the huge performance loss.

I still use NearestObjects here and there, but only with short ranges, i.e 100.

Share this post


Link to post
Share on other sites
Try lowering the search range, or using NearEntitites instead

nearEntities won't help:

Note: nearEntities only searches for objects which are alive. Killed units, destroyed vehicles, static objects and buildings will be ignored by the nearEntities command.

The problem is with searching buildings and filling them.

Share this post


Link to post
Share on other sites
nearEntities won't help:

The problem is with searching buildings and filling them.

I dont disagree, however the question I responded to did not mention filling houses, just freezing on Altis.

I use nearestObjects myself, but with limited range.. I also specify building class names rather than just "House" since I noticed the number of objects being returned from just 'house' was excessive and including objects that well.. are not houses / buildings.

Share this post


Link to post
Share on other sites

Damn I need more coffee, wrong thread again, sry!

/KC

Share this post


Link to post
Share on other sites

So, if you have to clean up the map from all the weapons on the ground what are you going to do?

I've to search one class only and delete all the array ("groundweaponholder").

I was thinking about starting from position [0,0] and then add 500 meters for every "square", but Altis is pretty large...

Share this post


Link to post
Share on other sites
So, if you have to clean up the map from all the weapons on the ground what are you going to do?

I've to search one class only and delete all the array ("groundweaponholder").

I was thinking about starting from position [0,0] and then add 500 meters for every "square", but Altis is pretty large...

:) I will also add that I'm new(ish) to scripting in Arma, just going off my experiences so far and thought it may help.

I'm not saying its the answer to all problems, just that it helped me with making my scripts work for Altis.

Obviously it depends on what you are searching for, like I said.. using just "House" will return (off the top of my head) high voltage wires, poles, underwater coral etc etc, basically a shed load of objects that should be classified differently IMO and that I am not interested in.

Refining the list as best as you can has to help, but only if there is a more appropriate class to search for.

Share this post


Link to post
Share on other sites
So, if you have to clean up the map from all the weapons on the ground what are you going to do?

I've to search one class only and delete all the array ("groundweaponholder").

I was thinking about starting from position [0,0] and then add 500 meters for every "square", but Altis is pretty large...

Proper way would be to get references to the weapons from each player/AI entity and hold them in a list. Also keeping that list up to date is important (in case someone switches weapons and puts them back to some cargo unit).

Then periodically check if that said weapon is in the cargo/hands/whatever of some unit. If it isn't, delete it.

Note that I don't know if arma 3 has any functions for what I just said :P

I suspect it's not possible with SQF, quick glance at the commands list doesn't show anything for it.

Share this post


Link to post
Share on other sites

Commands

setGearSlotAmmoCount, setIDCAmmoCount, gearIDCAmmoCount, gearSlotAmmoCount

Were never documented from the 1.62.93945 in ArmA 2. I only know limited amount of detail about these and I think that some people would find the documentation pretty useful, thanks.

Share this post


Link to post
Share on other sites

Are those even valid in ArmA 3? We have an entirely different inventory system now don't we?

Share this post


Link to post
Share on other sites
Some new commands added into the list:

- setPitch

- setSpeaker

- setNameSound

- setName

This mean we can "setIdentity" without cfgIdentities in description.ext now. That's a little confusing. Neat I guess, but confusing since if you don't setName and setNamesound both then you'll get a mismatch for example.

Also, boo on "fixing" this non-issue. Having removeAllContainers leave the visual uniform was an extremely useful feature.

Share this post


Link to post
Share on other sites
This mean we can "setIdentity" without cfgIdentities in description.ext now. That's a little confusing. Neat I guess, but confusing since if you don't setName and setNamesound both then you'll get a mismatch for example.

I'm not sure what's confusing about it. Identities are templates which you can call on anyone with a single line of code, while these are for adjusting specific things on the fly. In regards to nameSound, if you fail to set it, unit is referred to by it's number. You can create such "mismatches" with CfgIdentities anyway, this just lets you do stuff on the fly, instead of needing to have it configured in config/description beforehand.

For example, ACE headgear stuff in A2 would have been much more sanely done if we had some of these getters/setters available in A2 instead of having to go through the partial userconfig solution.

Share this post


Link to post
Share on other sites

The confusion would be if all you set was the setNameSound. You'd end up with a guy named "O'Connor" that you keep calling "Givens" when you order him around is all. :) I'm all for the addition of these commands, very cool stuff.

Share this post


Link to post
Share on other sites
The confusion would be if all you set was the setNameSound. You'd end up with a guy named "O'Connor" that you keep calling "Givens" when you order him around is all. :) I'm all for the addition of these commands, very cool stuff.

Well, yeah, but you can do such things with CfgIdentities as well. :P

One good thing about your example would be that you could have a guy with a normal name everywhere but with a namesound nickname "Nomad". :)

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