Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 05.02.2011, 09:20   #21 (permalink)
500 Beiträge
 
Benutzerbild von Muecke
 
Registriert seit: 03.09.2006
Beiträge: 716
Standard

Super Vienna, hab das mal mit deiner Beispielmission getestet.
Was mir besonders gefällt ist der Radarberreich.Einen Radar haben wir in unserer Missi schon drin, doch so einen Berreich leider nicht.

Wird schwer das mit dem bestehenden Skript und deinem zu kombinieren....

Aber gut gemacht
__________________
Event: Jeden Freitag & Sonntag
Projekt: crCTI Proman
Spruch: I am washed with all waters...
Muecke ist offline  
Alt 05.02.2011, 18:32   #22 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Stell euer Skript einmal hier rein.
Vienna ist offline  
Alt 06.02.2011, 12:13   #23 (permalink)
500 Beiträge
 
Benutzerbild von Muecke
 
Registriert seit: 03.09.2006
Beiträge: 716
Standard

Ja das Skript ist SQS!
Ab einem bestimmten Berreich (< 4000) werden feindliche Aircrafts auf der Map angezeigt. Cool wäre es jetzt noch den Berreich mit deinem blinkenden Kreis zu markieren...

Code:
; args: [si]
_GroupLetters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R"]

#Begin
_si = _this select 0
_return = "Update"

? (_si == siWest): _textSide = "West"; _textSideEnemy = "East"; _siEnemy = siEast; goto "Start"
? (_si == siEast): _textSide = "East"; _textSideEnemy = "West"; _siEnemy = siWest; goto "Start"
? (_si == siCiv):goto "StartSpectator"

Exit

#Start
_groups = groupMatrix select playerSideIndex
_groupNames = groupNameMatrix select playerSideIndex
_PlayerNames = call compile format["SQ_Names%1",[west,east]select playerSideIndex]
_count = count _groups

#Update
	~1
	_PlayerNames = call compile format["SQ_Names%1",[west,east]select playerSideIndex]
	?((_si == siWest)&&(pvCommHacked1)):player sidechat "Comm Hacked";_hackedSide = siWest;playsound "Track3";goto "StartSpectator"
	?((_si == siEast)&&(pvCommHacked0)):player sidechat "Comm Hacked";_hackedSide = siEast;playsound "Track3";goto "StartSpectator"
	
	? ((_si == siWest)&& pvbase1W && (count (BaseMatrix select _si)>=1)):"Base1" setMarkerPosLocal ((BaseMatrix select _si) select 0);player sidechat"Base-1 Established";pvbase1W = false
	? ((_si == siEast)&& pvbase1E && (count (BaseMatrix select _si)>=1)):"Base1" setMarkerPosLocal ((BaseMatrix select _si) select 0);player sidechat"Base-1 Established";pvbase1E = false
	
	? ((_si == siWest)&& pvbase2W && (count (BaseMatrix select _si)==2)):"Base2" setMarkerPosLocal ((BaseMatrix select _si) select 1);player sidechat"Base-2 Established";pvbase2W = false 
	? ((_si == siEast)&& pvbase2E && (count (BaseMatrix select _si)==2)):"Base2" setMarkerPosLocal ((BaseMatrix select _si) select 1);player sidechat"Base-2 Established";pvbase2E = false
	
	? (0 == count ([playerSideIndex, stComm] call funcGetWorkingStructures)): goto "HideAll"
	
	; LEADERS
	_index = 0
	{_leader=leader _x; _markerType= (["mil_objective","Dot"] select (alive _leader));_marker=Format ["%1 %2 Marker", _textSide, _groupNames select _index];if(isplayer _leader)then{ _marker setmarkertextlocal (_PlayerNames select _index)}else{_marker setmarkertextlocal ((groupNameMatrix select _si)select _index)}; _marker setMarkerPosLocal getPos _leader; _marker setMarkerTypeLocal _markerType; _wpPos = [_x] call fn_getExpectedGroupDestPos; [_marker+"_1", position _leader, _wpPos, "ColorBlue"] call fn_drawMapLine; _index = _index + 1} foreach _groups

  ; GROUP MEMBER MARKERS
  _gi = 0
  _countGroups = count (groupMatrix select playerSideIndex)
  #CheckGroup
	  _group = (groupMatrix select playerSideIndex) select _gi
	  _units = units _group - [leader _group]
	  ;//_units = units _group
	  _count = count _units
    _index = 0
    #CheckAI
  		_marker = Format["UnitMarker_%1_%2_%3", playerSideIndex, _gi, _index]
  		_marker2 = Format["UnitWpMarker_%1_%2_%3", playerSideIndex, _gi, _index]
  		? !((_index < _count) && (_gi == playerGroupIndex || giMarkersAI == _gi || giMarkersAI == _countGroups)): _marker setMarkerPosLocal hiddenMarkerPos; [_marker2, [0,0,0], [0,0,0], "ColorRed"] call fn_drawMapLine; goto "CheckNextAI";
      _ai = _units select _index
      _marker setMarkerPosLocal getPos _ai
  		? (_gi != playerGroupIndex): goto "CheckNextAI";
      _destRecord = expectedDestination _ai
      _wpPos = [0,0,0]
      ?(count _destRecord > 0): _wpPos = _destRecord select 0
      [_marker2, position _ai, _wpPos, "ColorRed"] call fn_drawMapLine
  		#CheckNextAI
	    _index = _index + 1
	    ? (_index < 11): goto "CheckAI"

	  _gi = _gi + 1
	  ? (_gi < _countGroups): goto "CheckGroup"

	; VEHICLES OWN
	_vehicleMapping = (vehicleMarkerMapping select playerSideIndex) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0): goto "NoVehiclesOwn"
	#CheckVehicleOwn
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSide, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleOwn"
		? (_vehicle != mhq) && !(alive _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleOwn"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle		
		#CheckNextVehicleOwn
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleOwn"
	#NoVehiclesOwn

	? (2 != (upgMatrix select playerSideIndex) select upgRadarAircraft): goto "Update"

	; VEHICLES ENEMY
	_vehicleMapping = (vehicleMarkerMapping select _siEnemy) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0):goto "NoVehiclesEnemy"
	#CheckVehicleEnemy
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSideEnemy, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? (50 > ((getPos _vehicle) select 2)): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_inrange = false
		_radars = [playerSideIndex, stAAradar] call funcGetWorkingStructures
		{ if ((_vehicle distance _x) < 4000) then { _inrange = true } } foreach _radars 
		? !_inrange: _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? !(alive _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle
		#CheckNextVehicleEnemy
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleEnemy"
	#NoVehiclesEnemy

	goto "Update"

#StartSpectator

_groupsWest = groupMatrix select siWest
_groupsEast = groupMatrix select siEast
_groupNamesWest = groupNameMatrix select siWest
_groupNamesEast = groupNameMatrix select siEast

#UpdateSpectator
;~2
	?((_hackedSide == siWest)&&(!(pvCommHacked1))):player sidechat "Lost Comm Hack";_return = "Begin";goto "HideAll"
	?((_hackedSide == siEast)&&(!(pvCommHacked0))):player sidechat "Lost Comm Hack";_return = "Begin";goto "HideAll"
	; LEADERS
	_index = 0
	{_leader=leader _x; _markerType= (["mil_objective","Dot"] select (alive _leader));_marker=Format ["West %1 Marker", _groupNamesWest select _index]; _marker setMarkerPosLocal getPos _leader; _marker setMarkerTypeLocal _markerType; _marker+"_1" setMarkerSizeLocal [0,0]; _wpPos = [_x] call fn_getExpectedGroupDestPos; [_marker+"_1", position _leader, _wpPos, "ColorBlue"] call fn_drawMapLine; _index = _index + 1} foreach _groupsWest
	_index = 0
	{_leader=leader _x; _markerType= (["mil_objective","Dot"] select (alive _leader));_marker=Format ["East %1 Marker", _groupNamesEast select _index]; _marker setMarkerPosLocal getPos _leader; _marker setMarkerTypeLocal _markerType; _marker+"_1" setMarkerSizeLocal [0,0]; _wpPos = [_x] call fn_getExpectedGroupDestPos; [_marker+"_1", position _leader, _wpPos, "ColorBlue"] call fn_drawMapLine; _index = _index + 1} foreach _groupsEast

  ; GROUP MEMBER MARKERS
  _si = 0
  #SpecCheckSide
    _countGroups = count (groupMatrix select _si)
    _gi = 0
    #SpecCheckGroup
	    _group = (groupMatrix select _si) select _gi
	    _units = units _group - [leader _group]
	    _count = count _units
      _index = 0
      #SpecCheckAI
  		  _marker = Format["UnitMarker_%1_%2_%3", _si, _gi, _index]
;  		  _marker2 = Format["UnitWpMarker_%1_%2_%3", _si, _gi, _index]
;  		  ? (_index >= _count): _marker setMarkerPosLocal hiddenMarkerPos; [_marker2, [0,0,0], [0,0,0], "ColorYellow"] call fn_drawMapLine; goto "SpecCheckNextAI"
				? (_index >= _count): _marker setMarkerPosLocal hiddenMarkerPos;  goto "SpecCheckNextAI"
        _ai = _units select _index
        _marker setMarkerPosLocal getPos _ai
;        _marker setmarkerTextlocal (_GroupLetters select _gi)
        _destRecord = expectedDestination _ai
        _wpPos = [0,0,0]
        ?(count _destRecord > 0): _wpPos = _destRecord select 0
;        [_marker2, position _ai, _wpPos, "ColorYellow"] call fn_drawMapLine	      
  		  #SpecCheckNextAI
	      _index = _index + 1
	      ? (_index < 11): goto "SpecCheckAI"
	    _gi = _gi + 1
	    ? (_gi < _countGroups): goto "SpecCheckGroup"
	  _si = _si + 1
	  ? (_si < 2): goto "SpecCheckSide"

	; VEHICLES WEST
	_si = siWest
	_textSide = "West"
	_vehicleMapping = (vehicleMarkerMapping select _si) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0): goto "NoVehiclesWest"
	#CheckVehicleWest
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSide, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleWest"
		? !(alive _vehicle) && (_vehicle != mhqWest): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleWest"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle
		#CheckNextVehicleWest
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleWest"
	#NoVehiclesWest

	; VEHICLES EAST
	_si = siEast
	_textSide = "East"
	_vehicleMapping = (vehicleMarkerMapping select _si) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0): goto "NoVehiclesEast"
	#CheckVehicleEast
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSide, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEast"
		? !(alive _vehicle) && (_vehicle != mhqEast): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEast"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle
		#CheckNextVehicleEast
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleEast"
	#NoVehiclesEast

	goto "UpdateSpectator"

#HideAll

	; LEADERS
	_index = 0
	{ _leader=leader _x; _marker=Format ["%1 %2 Marker", _textSide, _groupNames select _index]; _marker setMarkerPosLocal hiddenMarkerPos; _marker+"_1" setMarkerSizeLocal [0,0]; _index = _index + 1} foreach _groups

  ; GROUP MEMBER MARKERS
  _gi = 0
  #HideUnitMarkersGroup
    _index = 0
    #HideUnitMarker
	    Format["UnitMarker_%1_%2_%3", playerSideIndex, _gi, _index] setMarkerPosLocal hiddenMarkerPos
	   ?(_return == "Begin"): Format["UnitMarker_%1_%2_%3", _siEnemy, _gi, _index] setMarkerPosLocal hiddenMarkerPos
	    _index = _index + 1
	    ? (_index < 11): goto "HideUnitMarker"

	  _gi = _gi + 1
	  ? (_gi < 9): goto "HideUnitMarkersGroup"

	; VEHICLES OWN
	_vehicleMapping = vehicleMarkerMapping select playerSideIndex
	{ _marker = format["%1 Vehicle %2", _textSide, _x select 1]; _marker setMarkerPosLocal hiddenMarkerPos } foreach _vehicleMapping

	; VEHICLES ENEMY
	_vehicleMapping = vehicleMarkerMapping select _siEnemy
	{ _marker = format["%1 Vehicle %2", _textSideEnemy, _x select 1]; _marker setMarkerPosLocal hiddenMarkerPos } foreach _vehicleMapping

	goto _return
Der Breich des Radars hier nochmal extra.

Code:
	; VEHICLES ENEMY
	_vehicleMapping = (vehicleMarkerMapping select _siEnemy) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0):goto "NoVehiclesEnemy"
	#CheckVehicleEnemy
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSideEnemy, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? (50 > ((getPos _vehicle) select 2)): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_inrange = false
		_radars = [playerSideIndex, stAAradar] call funcGetWorkingStructures
		{ if ((_vehicle distance _x) < 4000) then { _inrange = true } } foreach _radars 
		? !_inrange: _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? !(alive _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle
		#CheckNextVehicleEnemy
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleEnemy"
	#NoVehiclesEnemy
__________________
Event: Jeden Freitag & Sonntag
Projekt: crCTI Proman
Spruch: I am washed with all waters...
Muecke ist offline  
Alt 06.02.2011, 13:16   #24 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Und warum nimmst du nicht Vienna's Skript und änderst die Reichweite auf 4000 Meter? oO
Cyborg11 ist offline  
Alt 06.02.2011, 20:09   #25 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das würde ich auch vorschlagen. Beim Lesen des SQS Skripts bekommt man Kopfschmerzen

Erstelle ein Skript mit Namen Radar.sqf und dem Code aus Post #20. Das Skript ruf dann so auf:

temp = [player,4000,10] execVM "Radar.sqf";

Wenn das Radar nicht alle sehen sollen, dann musst du das über den Aufruf des Skripts regeln.
Vienna ist offline  
Alt 07.02.2011, 12:56   #26 (permalink)
500 Beiträge
 
Benutzerbild von Muecke
 
Registriert seit: 03.09.2006
Beiträge: 716
Standard

Zitat von Vienna Beitrag anzeigen

Das würde ich auch vorschlagen. Beim Lesen des SQS Skripts bekommt man Kopfschmerzen

Erstelle ein Skript mit Namen Radar.sqf und dem Code aus Post #20. Das Skript ruf dann so auf:

temp = [player,4000,10] execVM "Radar.sqf";

Wenn das Radar nicht alle sehen sollen, dann musst du das über den Aufruf des Skripts regeln.

Ja das hatte ich schon gemacht.Generell ist das Problem das ich einige Skripte in SQS habe und bei manchen nur weitere SQS aufrufen kann.Es geht dann über Umwege....
Wie gesagt interessiert mich nur der Radarbereich, denn der schon eingebaute funktioniert sehr gut und zeigt die Aircrafts mit den vorher schon festgelegten Markern auf.Dann kommt noch hinzu daß das Skript von anderen aufgerufen wird. Ich will da nicht zuviel umbauen, weil Rattenschwanz
Egal, ich werd da nochmal was anderes versuchen.
__________________
Event: Jeden Freitag & Sonntag
Projekt: crCTI Proman
Spruch: I am washed with all waters...
Muecke ist offline  
Alt 07.02.2011, 20:09   #27 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Wenn du zu viel änderst kann das natürlich zu Problemen führen.

Füge in euer SQS-Skript an der ersichtlichen Stelle die lange Zeile ein:

Code:
	; VEHICLES ENEMY
	_vehicleMapping = (vehicleMarkerMapping select _siEnemy) - [0]
	_index = 0
	_count = count _vehicleMapping
	? (_count == 0):goto "NoVehiclesEnemy"
	#CheckVehicleEnemy
		_vehicle = (_vehicleMapping select _index) select 0
		_marker = format["%1 Vehicle %2", _textSideEnemy, (_vehicleMapping select _index) select 1]
		? (isNull _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? (50 > ((getPos _vehicle) select 2)): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_inrange = false
		
		[_vehicle,4000,0.3] spawn {private ["_v","_d","_t","_r"];_v=_this select 0;_d=_this select 1;_t=_this select 2;_r=createMarkerLocal["RA4711", position _v];_r setMarkerShapeLocal"ELLIPSE";_r setMarkerBrushLocal"BORDER";_r setMarkerSizeLocal[_d,_d];_r setMarkerColorLocal"ColorOrange";sleep _t;deleteMarkerLocal _r}
    
                _radars = [playerSideIndex, stAAradar] call funcGetWorkingStructures
		{ if ((_vehicle distance _x) < 4000) then { _inrange = true } } foreach _radars 
		? !_inrange: _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		? !(alive _vehicle): _marker setMarkerPosLocal hiddenMarkerPos; goto "CheckNextVehicleEnemy"
		_marker setMarkerPosLocal getPos _vehicle
		_marker setMarkerDirLocal getDir _vehicle
		#CheckNextVehicleEnemy
		_index = _index + 1
		? (_index < _count): goto "CheckVehicleEnemy"
	#NoVehiclesEnemy
Parameter sind: [Objekt im Mittelpunkt,Radius,Blinkzeit] spawn {.....}

PS: Ich hoffe die Zeile steht am richtigen Ort. Wenn nicht, dann teste die Zeile an einer anderen Stelle.

Geändert von Vienna (07.02.2011 um 20:14 Uhr).
Vienna ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Radar/Aircontroller Al Simmons Mod und Addon Ecke 5 15.06.2006 19:50


Kontakt - HX3.de - Archiv - Nach oben

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 119