Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 13.07.2016, 14:20   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard Zivilistenscript wirft Fehler beim Start

Hallo zusammen

Ich verwende nun schon ziemlich lange das COS-Script von BangaBob (https://forums.bistudio.com/topic/16...on-system-cos/).

Nun bekomme ich die Fehlermeldung im Anhang, wenn ich das Script auf Tanoa einsetzen will (auf Stratis/Altis klappt das problemlos... oder kam das Problem mit Apex?).

Die Meldung bezieht sich auf das Script cosCore.sqf (eines von mehreren Scripts in einem Folder voller Scripts), welche wie folgt aussieht:

Code:
if (!isServer) exitWith {};
private ["_groupCount","_localGrpCount","_grp","_rdCount","_n","_r","_tempUnit","_tempVeh"];
_mkr= (_this select 0);

// Get trigger status
_trigID=format["trig%1", _mkr];
_isActive=server getvariable _trigID;

// Get stored town variables
_popVar=format["population%1", _mkr];
_information=server getvariable _popVar;
	_civilians=(_information select 0);
	_vehicles=(_information select 1);
	_parked=(_information select 2);
	_roadPosArray=(_information select 3);


 IF (debugCOS) 
		then {
	COSGlobalSideChat=[_civilians,_vehicles,_parked, _mkr];publicvariable "COSGlobalSideChat";
	player groupChat (format ["Town:%4 .Civilians:%1 .Vehicles:%2 .Parked:%3",_civilians,_vehicles,_parked, _mkr]);//for singleplayer
		};	

_showRoads=false;				
	IF (_showRoads) 
		then {
			{
	_txt=format["roadMkr%1",_x];
	_debugMkr=createMarker [_txt,getpos _x];
	_debugMkr setMarkerShape "ICON";
	_debugMkr setMarkerType "hd_dot";
			}foreach _roadPosArray;
		};
					

_glbGrps=server getvariable "cosGrpCount";
_townGrp=createGroup DefaultSide;
_localGrps=1;

waituntil {!populating_COS};
populating_COS=true;
_glbGrps=server getvariable "cosGrpCount";


//SPAWN CIVILIANS NOW
_civilianArray=[];
_vehicleArray=[];
_PatrolVehArray=[];
_ParkedArray=[];

_roadPosArray=_roadPosArray call BIS_fnc_arrayShuffle;	
_UnitList=COScivPool call BIS_fnc_arrayShuffle;	
_vehList=COSmotPool call BIS_fnc_arrayShuffle;
_countVehPool=count _vehList;
_countPool=count _UnitList;
_v=0;
_n=0;
_rdCount=0;

// SPAWN PEDESTRIANS
for "_i" from 1 to _civilians do {
	if (!(server getvariable _trigID)) exitwith {_isActive=false;};
		
		if (_i >= _countPool) 
			then {
				if (_n >= _countPool) then {_n=0;};
					_tempUnit=_UnitList select _n;
					_n=_n+1;
				};
		if (_i < _countPool) 
			then {
			_tempUnit=_UnitList select _i;
				};						
						
		_tempPos=_roadPosArray select _rdCount;
		_rdCount=_rdCount+1;
		
		if (COSmaxGrps < (_glbGrps+_localGrps+1)) 
					then {
			_grp=_townGrp;	
					}else{
				_grp=createGroup DefaultSide;
				_localGrps=_localGrps+1;
						};
						
		_unit = _grp createUnit [_tempUnit, _tempPos, [], 0, "NONE"];	
		_civilianArray set [count _civilianArray,_grp];
									
				null =[_unit] execVM "cos\addScript_Unit.sqf";
					
					IF (debugCOS) then {
				_txt=format["INF%1,MKR%2",_i,_mkr];
				_debugMkr=createMarker [_txt,getpos _unit];
				_debugMkr setMarkerShape "ICON";
				_debugMkr setMarkerType "hd_dot";
				_debugMkr setMarkerText "Civ Spawn";
						};
					};
												
// SPAWN VEHICLES
for "_i" from 1 to _vehicles do {

if (!(server getvariable _trigID)) exitwith {_isActive=false;};

		if (_i >= _countVehPool) 
			then {
				if (_v >= _countVehPool) then {_v=0;};
					_tempVeh=_vehList select _v;
					_v=_v+1;
				};
		if (_i < _countVehPool) 
			then {
			_tempVeh=_vehList select _i;
				};

		if (_i >= _countPool) 
			then {
				if (_n >= _countPool) then {_n=0;};
					_tempUnit=_UnitList select _n;
					_n=_n+1;
				};
		if (_i < _countPool) 
			then {
			_tempUnit=_UnitList select _i;
				};
				
		_tempPos=_roadPosArray select _rdCount;
		_rdCount=_rdCount+1;		
		_roadConnectedTo = roadsConnectedTo _tempPos;
		_connectedRoad = _roadConnectedTo select 0;
		_direction = [_tempPos, _connectedRoad] call BIS_fnc_DirTo;
				
	if (COSmaxGrps < (_glbGrps+_localGrps+1)) 
		then {
			_grp=_townGrp;	
				}else{
			_grp=createGroup DefaultSide;
			_localGrps=_localGrps+1;
				};
						
	_veh = createVehicle [_tempVeh, _tempPos, [], 0, "NONE"];
	_unit = _grp createUnit [_tempUnit, getpos _veh, [], 0, "CAN_COLLIDE"];
		_veh setdir _direction;
				
			_unit assignAsDriver _veh;
			_unit moveInDriver _veh;
					
				_vehPack=[_veh,_unit,_grp];
				_PatrolVehArray set [count _PatrolVehArray,_grp];
				_vehicleArray set [count _vehicleArray,_vehPack];

								
null =[_veh] execVM "cos\addScript_Vehicle.sqf";
null =[_unit] execVM "cos\addScript_Unit.sqf";
										
		IF (debugCOS) then {
			_txt=format["veh%1,mkr%2",_i,_mkr];
			_debugMkr=createMarker [_txt,getpos _unit];
			_debugMkr setMarkerShape "ICON";
			_debugMkr setMarkerType "hd_dot";
			_debugMkr setMarkerText "VEH Spawn";
						};
			};

				
// SPAWN PARKED VEHICLES
for "_i" from 1 to _parked do {

if (!(server getvariable _trigID)) exitwith {_isActive=false;};

		if (_i >= _countVehPool) 
			then {
				if (_v >= _countVehPool) then {_v=0;};
					_tempVeh=_vehList select _v;
					_v=_v+1;
				};
		if (_i < _countVehPool) 
			then {
			_tempVeh=_vehList select _i;
				};
	
		_tempPos=_roadPosArray select _rdCount;
		_rdCount=_rdCount+1;
		_roadConnectedTo = roadsConnectedTo _tempPos;
		_connectedRoad = _roadConnectedTo select 0;
		_direction = [_tempPos, _connectedRoad] call BIS_fnc_DirTo;
			
			_veh = createVehicle [_tempVeh, _tempPos, [], 0, "NONE"];
			_veh setdir _direction;
			_veh setPos [(getPos _veh select 0)-6, getPos _veh select 1, getPos _veh select 2];
								
		_ParkedArray set [count _ParkedArray,_veh];

		
null =[_veh] execVM "cos\addScript_Vehicle.sqf";

	IF (debugCOS) then {
		_txt=format["Park%1,mkr%2",_i,_mkr];
		_debugMkr=createMarker [_txt,getpos _veh];
		_debugMkr setMarkerShape "ICON";
		_debugMkr setMarkerType "hd_dot";
		_debugMkr setMarkerText "Park Spawn";
					};
			};

			
// Apply Patrol script to all units
null =[_civilianArray,_PatrolVehArray,_roadPosArray] execVM "cos\CosPatrol.sqf";

if (debugCOS) then {player sidechat  (format ["Roads used:%1. Roads Stored %2",_rdCount,count _roadPosArray])};		
			
// Count groups 		
_glbGrps=server getvariable "cosGrpCount";
_glbGrps=_glbGrps+_localGrps;
server setvariable ["cosGrpCount",_glbGrps];
populating_COS=false;

// Show town label if town still active
if (showTownLabel and (server getvariable _trigID)) 
	then {
	
	COSTownLabel=[(_civilians+_vehicles),_mkr];PUBLICVARIABLE "COSTownLabel";
	_population=format ["Population: %1",_civilians+_vehicles];
		0=[markerText _mkr,_population] spawn BIS_fnc_infoText;// FOR USE IN SINGLEPLAYER
		};

		
// Check every second until trigger is deactivated
 while {_isActive} do
		{
	_isActive=server getvariable _trigID;
		if (!_isActive) exitwith {};
		sleep 1;
		};

// If another town is populating wait until it has finished before deleting population
waituntil {!populating_COS};

// Delete all pedestrians
 _counter=0;		
			{
	_grp=_x;
	_counter=_counter+1;
		if (debugCOS) then { deletemarker (format["INF%1,MKR%2",_counter,_mkr]);};
		{ deleteVehicle _x } forEach units _grp;
		deleteGroup _grp;  
				}foreach _civilianArray;

				
// Delete all vehicles and crew	
 _counter=0;
		{
	_veh=_x select 0;
	_unit=_x select 1;
	_grp=_x select 2;
	_counter=_counter+1;
		if (debugCOS) then {deletemarker (format["veh%1,mkr%2",_counter,_mkr]);};

 
// CHECK VEHICLE IS NOT TAKEN BY PLAYER
	if ({isPlayer _veh} count (crew _veh) == 0) 
	 then {};
	
	}foreach _vehicleArray;

// Delete all parked vehicles
 _counter=0;
		{
	_counter=_counter+1;
	 if (debugCOS) then {deletemarker (format["Park%1,mkr%2",_counter,_mkr]);};
 
  // CHECK VEHICLE IS NOT TAKEN BY PLAYER
	if ({isPlayer _x} count (crew _x) == 0) 
		then {
		
			}; 
		}foreach _ParkedArray;

deletegroup _townGrp;

// Update global groups
_glbGrps=server getvariable "cosGrpCount";
_glbGrps=_glbGrps-_localGrps;
server setvariable ["cosGrpCount",_glbGrps];
Leider bin ich nicht wirklich gut in Sachen Script, weshalb ich mit der Fehlermeldung nicht viel anfangen kann. Weiss jemand, was hier evtl. nicht stimmt, bzw. was man anpassen müsste, damit das Script auch auf Tanoa fehlerlos läuft?

P.S: Ich wollte zuerst mal hier im deutschen Forum schreiben, bevor ich mich ins englische (und somit direkt an BangaBob) wage.

Jetzt schon vielen Dank für eure Unterstützung.
Angehängte Grafiken
Dateityp: jpg script_error_COS.jpg (34,7 KB, 83x aufgerufen)
Wolkenbeisser ist offline  
Alt 14.07.2016, 09:08   #2 (permalink)
Newbie
 
Benutzerbild von Sarogahtyp
 
Registriert seit: 20.06.2016
Beiträge: 37
Standard

Das script is mir zu fett um es mal eben schnell zu debuggen, aber versuch mal das

_direction = [_tempPos, _connectedRoad] call BIS_fnc_DirTo;

hiermit zu ersetzen:

if(!isNil "_connectedRoad") then
{_direction = [_tempPos, _connectedRoad] call BIS_fnc_DirTo}
else
{_direction = 0;};

P.S. BongaBob wirst du nicht errei hen, der ist inaktiv. Soll dich aber n8cht davon abhalten im release thread nachzufragen... vielleicht weiß dort jemand mehr...
__________________
Sarogahtyps Spawn Script Creator - SSSC
the easy way to cache ur units, vehicles and their waypoints

Geändert von Sarogahtyp (14.07.2016 um 09:11 Uhr).
Sarogahtyp ist offline  
Alt 27.07.2016, 11:10   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ich habe festgestellt, dass sich das Skript - je nach Ort auf Tanoa, wo die Spielerfigur steht - anders verhält.

Starte ich die Missionsvorschau beispielsweise auf der Airbase Tuvanaka (oder wie die heisst, dort im Nordwesten), kommt keine Fehlermeldung .

Ich muss hier noch ein wenig weiter herumprobieren und auch die mögliche Lösung von Sarogahtyp mit einbeziehen.

Kann also noch eine Weile dauern, bis ich hier mehr weiss....
Wolkenbeisser ist offline  
Alt 27.07.2016, 11:25   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ich werde mal meine Version auf Tanoa testen und die bescheid geben. Es ist an BangaBob seiner Version angelehnt. Ich arbeite allerdings ohne Trigger
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 27.07.2016, 16:12   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Zitat von Drunken Officer Beitrag anzeigen

Ich werde mal meine Version auf Tanoa testen und die bescheid geben. Es ist an BangaBob seiner Version angelehnt. Ich arbeite allerdings ohne Trigger

Danke, DO
Wolkenbeisser ist offline  
Alt 27.07.2016, 17:12   #6 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ich lasse mir die Marker auszählen. Ich komme auf 60. Bei 49 z.B. gibt es Probleme. Ich muss noch die anderen Sorgenkinder finden. Auf ALTIS hat da Script 1a funktioniert. Das kann man aber mit manuellen Markern kompensieren



Problem erkannt- Schaut man sich mal das hier an, weiß man, warum das Script teilweise spinnt:
Genau wie BangaBob sein Script hat auch meines einen Suchraduis beginnt. Irgendwo muss man ja anfangen, und ein Startparament festlegen. Wenn dann nix drin ist, kann es Probleme geben.
Hier dieser Marker liegt einfach zwischen den Inseln und es wird kein Haus erkannt.



Laß dir mal bei Banga seinem Script die Marker anzeigen und haue die Problemfälle aus dem Array raus. Dann sollte es hinhauen.
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (27.07.2016 um 17:32 Uhr).
Drunken Officer ist offline  
Alt 15.08.2016, 10:40   #7 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Bis jetzt habe ich das (Marker anzeigen lassen und die "faulen" ausmisten) noch nicht ausprobiert, weil die Fehlermeldungen plötzlich nicht mehr auftauchen.

Ich vermute, es kommt darauf an, wo auf der Map die Logik platziert wird. Je nach Ort, wo man diese Logik hinschiebt kommen Fehlermeldungen (oder eben keine). Ich vermute mal, die Marker werden je nach Standort der Logik anders platziert...?

Wie auch immer. Im Moment scheint's zu klappen. Ich denke ich nehme mir die Sache erst wieder vor, wenn ich wieder auf Probleme stosse.
Wolkenbeisser ist offline  
Alt 22.08.2016, 15:10   #8 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ich habe mich hier wohl zu früh gefreut . Wenn der Spieler sich (z.B. in einem Flugzeug) über die Insel bewegt, tauchen die Fehlermeldungen wieder auf. Sobald ich also dazu komme, werde ich versuchen, diejenigen Marker, welche im Wasser liegen auszuschliessen.....
Wolkenbeisser ist offline  
Alt 22.08.2016, 21:33   #9 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Jo, lasse dir die MArker anzeigen und lösche die aus der Liste.
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 23.08.2016, 12:49   #10 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ups, hab's mir noch halb gedacht: Wie man die Marker anzeigt habe ich zwar herausgefunden, aber...

  • das sind grüne Ovale, deren Zentrum man nicht genau ermitteln kann
  • die Marker haben keine Namen. Ich weiss also nicht, wie ich sie mir für den Ausschluss merken kann
  • Ich finde keinen Array, aus dem ich sie löschen könnte

Ich befürchte meine (ziemlich rudimentären) Scriptkenntnisse reichen dafür nicht aus.

Wie soll ich bei dieser Aufgabe vorgehen? Wäre froh, wenn mir das jemand beschreiben könnte. Vielen Dank.
Wolkenbeisser ist offline  
Alt 24.08.2016, 23:38   #11 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

ich schaue mir am WE mal das COS an. Welche Karte? Tanoa?
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 25.08.2016, 08:07   #12 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ja, Tanoa. Auf Altis funktioniert es fehlerfrei.

Danke, DO
Wolkenbeisser ist offline  
Alt 28.08.2016, 20:13   #13 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ich war am WE bei dieser Hitze ( 37°C im Schatten ! ) einfach zu faul...
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 29.08.2016, 08:09   #14 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

@DO: Easy

Ich hatte sowieso auch keine Zeit am WE.
Wolkenbeisser 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
Kein Update und Start von Arma3 mehr möglich mstolle Technische Fragen & Probleme 6 09.06.2016 14:28
Arma 3 start fehler DeluxeSchnidde Technische Fragen & Probleme 1 28.06.2015 18:38
A.C.E Mod Fehler beim Start Jukeman Operation Flashpoint 3 21.11.2014 21:59
Stammtisch Webinstaller Rockhount Multiplayer 106 07.01.2014 15:09


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