Also ich habe keine Ahnung warum du Variablen setzt.
Licht muss nicht public sein. Das objekt (der Lichtpunkt) wird überall erzeugt.
Brightness kann u.U. = 2 sein!!! Willst du eine Atombombe simulieren? Max. 1 und das ist schon hell.
Dann diese Zeile
Code:
_random = _lichter select (random (round(count _lichter)-1));
Schau dir mal das Kommando floor an
;
Ich habe es mal kurz gefasst.
Aufruf über [] execVM "hauslichter.sqf";
Code:
if (!isServer) exitWith {};
private ["_objHause", "_lichter", "_licht"];
_objHause = nearestObjects [getmarkerpos "licht", ["House"], 250]; //sucht häuser
{
_lichter = [
[250,150,50],//Gelb
[100,200,255],//Tv
[80,40,20],//dunkelgeld
[255,200,100],//gelb
[255,204,102],//gelb3
[255,255,255],//weis
[180,200,255]//tv2
] call BIS_fnc_selectRandom;
_licht = createVehicle ["#lightpoint", getPos _x, [], 0, "CAN_COLLIDE"];
_licht setLightDayLight true;
_licht setLightBrightness (0.05+ (random 0.2);
_licht lightAttachObject [_x, [0,0,1]];
_licht setLightColor _lichter;
} forEach _objHause;
Ein einfaches
Code:
_licht = "#lightpoint" createVehicle (position _x);
macht es auch.
Code:
_licht lightAttachObject [_x, [0,0,1]];
Hebt das Licht an. Bei deiner Version war es im Boden