PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lokale Variable per ParamsArray Definieren?


Kingderek
03.10.2013, 10:57
Hallo an alle, versuche mich seit kurzem im Arma editing und das Scripting macht mich noch irre..

Folgendes Problem: Ich benutze das AI Spawn Script Pack von fdsspun.
Dort kann man den AI Skill wert im Synthax definieren.
Ich würde den Skill wert aber Gerne über die Parameter bei Missionstart einstellen.

Hier ein teil des Spawn Scripts:

EXAMPLE: nul = [this,2,50,true,false,false,[10,0],0.1,[0.2,0.2,0.2,0.85,0.9,0.75,0.1,0.6,1,1],nil,nil,13] execVM "militarize.sqf";
will spawn 10 red team men, which will patrol in radius of 50m from the object this is called from
*/
if (!isServer)exitWith{};
private ["_greenCarArray","_blueMenArray2","_BLUarrays","_redMenArray2","_OPFarrays","_greenMenArray","_grpId","_customInit","_cPos","_skls","_skills","_maxD","_mi","_dir","_range","_unitType","_unit","_radius","_men","_vehicles","_still","_centerPos","_menAmount","_vehAmount","_milHQ","_milGroup","_menArray","_blueMenArray","_redMenArray","_yellowMenArray","_sideOption","_vehArray","_vi","_pos","_blueCarArray","_redCarArray","_yellowCarArray","_sPos","_vCrew","_allUnitsArray","_menRatio","_vehRatio","_sPos2"];

//Extra options:
_smokesAndChems = true;
_doorHandling = true;
//

_cPos = if(count _this > 0)then{_this select 0;};
_sideOption = if (count _this > 1) then { _this select 1; }else{2;};
_radius = if (count _this > 2) then { _this select 2; }else{150;};
_men = if (count _this > 3) then { _this select 3; }else{true;};
_vehicles = if (count _this > 4) then { _this select 4; }else{false;};
_still = if (count _this > 5) then { _this select 5; }else{false;};
_menRatio = if (count _this > 6) then { _this select 6; }else{0.3;};
_vehRatio = if (count _this > 7) then { _this select 7; }else{0.02;};
_skills = if (count _this > 8) then { _this select 8; }else{"default";};
_milGroup = if (count _this > 9) then { _this select 9; }else{nil;}; if(!isNil("_milGroup"))then{if(_milGroup == "nil0")then{_milGroup = nil;};};
_customInit = if (count _this > 10) then { _this select 10; }else{nil;}; if(!isNil("_customInit"))then{if(_customInit == "nil0")then{_customInit = nil;};};
_grpId = if (count _this > 11) then { _this select 11; }else{nil;};
Es geht um die Lokale Variable _skills diese würde ich jetzt gerne in der description.ext per Paramsarray definieren. Also z.B. so:

//Enemy Skill == paramarray 5
title = " Set Enemy Skill";
values[] = {0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0};
texts[] = {"0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0"};
default = 0.3;
};Ich weis das ich jetzt in der init den paramsarray select 5 an die variable _skills übergeben muss... aber wie??? Kann ich einfach eine Globale Variable in den Synthax setzen und die Variable dann in der init definieren ? also z.B:
setskillparam = paramsarray select 5;und dann im synthax einfach den Skillwert durch die variable ersetzen
nul = [this,2,50,true,false,false,[10,0],0.1,setskillparam,nil,nil,13] execVM "militarize.sqf";
oder komm ich dann in die Scripterhölle...:zahn:
Danke für eventuelle Hilfe.. Mfg..

Xeno
03.10.2013, 11:01
*del*

Xeno

Kingderek
03.10.2013, 11:10
Oh ja ist noch Früh am Morgen lol..
Ist ne MP Mission, also kann ich das so rein Basteln ?
Oder gibt es da noch eine schönere Lösung?
Danke für die schnelle Antwort.

Xeno
03.10.2013, 11:15
*delete*

Xeno