Einzelnen Beitrag anzeigen
Alt 04.11.2016, 01:08   #1 (permalink)
Papabär
50 Beiträge100 Beiträge
 
Benutzerbild von Papabär
 
Registriert seit: 27.03.2013
Ort: Ausm Wald oder aus der Luft
Beiträge: 145
Standard Random KI, Problem bei Auslösung

Moin Leute,

mich plagt folgendes Problem:

Ich habe ein Script aus der Versenkung geholt, womit zufällige Einheiten spawnen (mit zufälligem Verhalten, Anzahl und Bewegung)

Mein Problem: Ich bekomme es nicht hin, dass es nur dann ausgelöst wird, wenn ein Spieler in der Nähe des Markers ist.


Ich habe es nun versucht mittel waitUntil zu lösen, dann spawnen die Einheiten aber überhaupt nicht mehr.
Die Mission ist im Anhang, falls jemand etwas mehr Übersicht über die Architektur benötigt (es sind Mods vorhanden, für die Scripts sind aber nur die Marker benötigt.)

Hat wer von euch eine Idee wie ich das ganze lösen könnte? In Sachen Performance macht es überhaupt keinen Sinn alles von Anfang spawnen zu lassen, weil dadurch die Performance nur unnötig in den Keller rauscht (die Leichen werden automatisch gelöscht.)

Code:
nul = [getMarkerPos "Task_tank_1",2 + random 3, 50 + random 50] call task1_tanks;
nul = [getMarkerPos "Task_tank_2",2 + random 5, 50 + random 50] call task2_tanks;
Code:
waitUntil {((player distance getMarkerPos "Task_1") <= 3000)};
hint "TEST";
/*
	File: "sts_tanks.sqf";
	Author: Phantom
	visit: http://www.24th-sts.eu
			
	e.g.
	[[position,number of units,radius] execvm "sts_tanks";
	
	sts_tanks = compile preprocessFile "fn_tanks.sqf"; // call from init.sqf
	[[position,number of units,radius] call sts_unitspawn;
	
	terms of use: feel free to use and modify
*/

if (!isServer) exitWith {};

private ["_pos","_num","_unitpool","_unitspawn","_grp","_type","_behaviourpool","_behaviour"];

_pos = _this select 0;
_num = _this select 1;
_rad = _this select 2;

_anz = 4;

_units = ["rhs_t90_tv", "rhs_t90a_tv", "rhs_t80", "rhs_t80a", "rhs_t72bc_tv", "rhs_zsu234_aa", "CUP_O_ZSU23_SLA", "CUP_O_ZSU23_TK"];

_group = createGroup east;
_type = _units call bis_fnc_selectRandom;
_vehicle = _type createVehicle (_pos);



for "_unitspawn" from 1 to _anz do
{
    _unit = _group createUnit ["O_Soldier_F", _pos, [], 0, "FORM"];
    _unit moveInCargo _vehicle;
	[_unit,2 + floor(random 3)] call sts_unitskill;
	[_unit,_pos,_rad] call cba_fnc_taskPatrol;
	_behaviourpool = ["careless","safe","aware"];
	_behaviour = _behaviourpool call bis_fnc_selectRandom;
	_unit setBehaviour _behaviour;
	_unit setspeedmode "limited";
	{_x addmpeventhandler ["mpkilled", {_this execvm "scripts\deletebody.sqf"}]} forEach units _group;
};
_unit1 = _group createUnit ["O_Soldier_F", _pos, [], 0, "FORM"];
_unit1 moveInDriver _vehicle;

_unit2 = _group createUnit ["O_Soldier_F", _pos, [], 0, "FORM"];
_unit2 moveInGunner _vehicle;

Ich bin für jeden hilfreichen Tipp dankbar

Ps das Script ist von einem alten Clan, den es nicht mehr gibt. Die Nutzung ist erlaubt, siehe Kopfbereich des Scripts.
Angehängte Dateien
Dateityp: rar Dynamic_Mission_Cloud_v05.Tanoa.rar (555,2 KB, 40x aufgerufen)
__________________
-

Geändert von Papabär (04.11.2016 um 01:12 Uhr).
Papabär ist offline