HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Platzierung einer Einheit mit Mindestabstand (https://hx3.de/editing-scripting-187/platzierung-einheit-mindestabstand-22691/)

hypercop 29.06.2013 23:49

Platzierung einer Einheit mit Mindestabstand
 
Ich habe eine Ammobox über folgenden Befehl erstellt.

HTML-Code:

_Ammo = createVehicle ["Box_East_Wps_F", getMarkerPos "area1", [], 800, "FORM"];
Die Ammobox darf nicht weiter als 800 Meter von dem Marker "area1" entfernt sein. Ich möchte allerdings auch nicht, dass sie näher als 400 Meter am Marker ist.

Gibt es eine einfache Möglichkeit, einen Mindestabstand zu definieren?

Moerderhoschi 30.06.2013 09:01

Thema verschoben da "Box_East_Wps_F" ein Classname aus ArmA3 ist.

Zur Loesung deiner Problematik:

PHP-Code:

_Ammo createVehicle ["Box_East_Wps_F"GetMarkerPos "area1", [], 800"FORM"];

if ((
getpos _Ammodistance (GetMarkerPos "area1") < 400then
{
    private [
"_object","_pos","_minDistance","_maxDistance","_newPosX","_newPosY","_newPos","_i"];
    
    
_object _Ammo;
    
_pos GetMarkerPos "area1";
    
_minDistance 400;
    
_maxDistance 800;
    
    for 
"_i" from 1 to 2 do
    {
        
_newPosX = ((_pos select 0) + (random _maxDistance - (random _maxDistance)));
        
_newPosY = ((_pos select 1) + (random _maxDistance - (random _maxDistance)));
        
_newPos = [round _newPosXround _newPosY];

        if (
_newPos distance _pos _minDistance && _newPos distance _pos _maxDistancethen
        
{
            
_object setpos _newPos;
        }
        else
        {
            
_i _i 1;
        };
    };
};

hintsilent format ["Das Objekt ist %1 meter vom Marker entfernt",(_ammo distance (GetMarkerPos "area1"))];
    
if (
isNil "objectMarkerC"then {objectMarkerC 0};
objectMarkerC objectMarkerC 1;
_objectMarkerS format ["%1",objectMarkerC];
    
_objectMarker createMarker ["t_objectmarker" _objectMarkerSgetpos _Ammo];
_objectMarker setMarkerShapeLocal "ICON";
_objectMarker setMarkerTypeLocal "hd_dot";    
_objectMarker setMarkerColor "ColorRed";    
_objectMarker setMarkerTextLocal format ["Ammob%1",_objectMarkerS]; 

gruß
hoschi


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118