Doolittle/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 16: Line 16:
myglobal comes out empty. But if you put '''private ["_temp"]''' then it is filled with values. Like the engine knows it's a temp var and so copies it over. Otherwise it doesn't think it's temp (without private) so it doesn't bother to copy, but then the value gets dropped from memory anyways.
myglobal comes out empty. But if you put '''private ["_temp"]''' then it is filled with values. Like the engine knows it's a temp var and so copies it over. Otherwise it doesn't think it's temp (without private) so it doesn't bother to copy, but then the value gets dropped from memory anyways.


I've noticed that when you are working with arrays, if the array isn't properly initialized, either with private or a simple _temp []; then you get some undefined type errors and unexpected results. As soon as you initialize the array it seems ok. I've just noticed this over the past few days myself. [[User:Hoz|hoz]]
:I've noticed that when you are working with arrays, if the array isn't properly initialized, either with private or a simple _temp []; then you get some undefined type errors and unexpected results. As soon as you initialize the array it seems ok. I've just noticed this over the past few days myself. [[User:Hoz|hoz]]

Revision as of 00:53, 17 July 2007

Ah, scripting. Here's some fun stuff: myfunc = {objnull}; _unit = ["foo"] call myfunk; if (isnull _unit) then {hint "wow!"}; You won't see "wow". The error is it should be spelled myfunc... but it's hard to catch because, since myfunk is not defined, _unit is not defined, so isnull on a not defined var doesn't even work. So it's hard to track what went wrong here.

More interesting stuff about private. I never got private. Why is it needed? This was interesting: myfunc = { _temp = [1,2,3]; myglobal = _temp; }; call myfunc; player sidechat str myglobal; myglobal comes out empty. But if you put private ["_temp"] then it is filled with values. Like the engine knows it's a temp var and so copies it over. Otherwise it doesn't think it's temp (without private) so it doesn't bother to copy, but then the value gets dropped from memory anyways.

I've noticed that when you are working with arrays, if the array isn't properly initialized, either with private or a simple _temp []; then you get some undefined type errors and unexpected results. As soon as you initialize the array it seems ok. I've just noticed this over the past few days myself. hoz