jcae2798 132 Posted February 4, 2015 I am building a mission where random vehicles will spawn at markers. However rather then run the script of spawning a addon vehicle that a player doesn't have the addon enabled for, is this possible in the script code? I recall a new code introduced not to long ago from BI for identifying addons but cannot find anything on this. Thanks guys. Share this post Link to post Share on other sites
jshock 512 Posted February 4, 2015 Maybe this command will help: https://community.bistudio.com/wiki/activatedAddons //psuedo if (_mod in activatedAddons) then {//do stuff}; *Note must be ran locally if you want to check each specific player, or if ran on the server it will check the server's activated addons. Share this post Link to post Share on other sites
fight9 14 Posted February 4, 2015 You can use isClass to check for specific class names. You could build an array of classnames, check if they are available, and then pick one randomly to spawn. [color="#FF8040"][color="#191970"][b]private[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"_possible"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_available"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_random"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_spawn"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// array of possible classnames[/i][/color] [color="#1874CD"]_possible[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"bat_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"wiener_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"pimp_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"DAR_M1151"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"B_G_Offroad_01_F"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// create array of available[/i][/color] [color="#1874CD"]_available[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]isClass[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]configFile[/b][/color] [color="#8B3E2F"][b]>[/b][/color][color="#8B3E2F"][b]>[/b][/color] [color="#7A7A7A"]"CfgVehicles"[/color] [color="#8B3E2F"][b]>[/b][/color][color="#8B3E2F"][b]>[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#1874CD"]_available[/color] [color="#191970"][b]pushBack[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]forEach[/b][/color] [color="#1874CD"]_possible[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// randomly select one available[/i][/color] [color="#1874CD"]_random[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_available[/color] [color="#191970"][b]select[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]floor[/b][/color] [color="#191970"][b]random[/b][/color] [color="#191970"][b]count[/b][/color] [color="#1874CD"]_available[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// spawn random[/i][/color] [color="#1874CD"]_spawn[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]createVehicle[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#1874CD"]_random[/color][color="#8B3E2F"][b],[/b][/color][color="#191970"][b]position[/b][/color] [color="#000000"]player[/color][color="#8B3E2F"][b],[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#FF0000"]0[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"NONE"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color][/color] Made with KK's SQF to BBCode Converter Share this post Link to post Share on other sites
jcae2798 132 Posted February 4, 2015 ARGGG, can someone tell me why this keeps erroring out? _spawnName = _this select 0; _spawnDistance = _this select 1; _spawnPos = getMarkerPos _spawnName; _ALLCARS = ["DAR_M1151Woodland","DAR_M115_MK19Woodland","DAR_M1151WoodlandUA","DAR_M1167Woodland","DAR_MaxxPro","DAR_MaxxPro_MK19","DAR_MaxxProPlus","DAR_MK23","DAR_MK23A","DAR_MK23AD","DAR_MK27","DAR_MK27T","DAR_4X4","I_G_Offroad_01_armed_F","I_MRAP_03_F","I_MRAP_03_hmg_F","I_Truck_02_covered_F","I_Truck_02_transport_F","I_Truck_02_medical_F","I_G_Van_01_transport_F","O_MRAP_02_F","O_MRAP_02_hmg_F","O_MRAP_02_gmg_F","O_Truck_03_covered_F","O_Truck_03_medical_F","C_Offroad_01_F","C_Hatchback_01_F","C_SUV_01_F","B_MRAP_01_F","B_MRAP_01_hmg_F","B_APC_Wheeled_01_cannon_F"]; sleep 1; _cartype = [_ALLCARS] call BIS_fnc_selectRandom; _veh = createVehicle [_ALLCARS, _spawnPos, [], 0, "NONE"]; ---------- Post added at 20:49 ---------- Previous post was at 20:47 ---------- You can use isClass to check for specific class names. You could build an array of classnames, check if they are available, and then pick one randomly to spawn. [color="#FF8040"][color="#191970"][b]private[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"_possible"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_available"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_random"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"_spawn"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// array of possible classnames[/i][/color] [color="#1874CD"]_possible[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"bat_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"wiener_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"pimp_mobile"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"DAR_M1151"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"B_G_Offroad_01_F"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// create array of available[/i][/color] [color="#1874CD"]_available[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]isClass[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]configFile[/b][/color] [color="#8B3E2F"][b]>[/b][/color][color="#8B3E2F"][b]>[/b][/color] [color="#7A7A7A"]"CfgVehicles"[/color] [color="#8B3E2F"][b]>[/b][/color][color="#8B3E2F"][b]>[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#1874CD"]_available[/color] [color="#191970"][b]pushBack[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]forEach[/b][/color] [color="#1874CD"]_possible[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// randomly select one available[/i][/color] [color="#1874CD"]_random[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_available[/color] [color="#191970"][b]select[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]floor[/b][/color] [color="#191970"][b]random[/b][/color] [color="#191970"][b]count[/b][/color] [color="#1874CD"]_available[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// spawn random[/i][/color] [color="#1874CD"]_spawn[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]createVehicle[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#1874CD"]_random[/color][color="#8B3E2F"][b],[/b][/color][color="#191970"][b]position[/b][/color] [color="#000000"]player[/color][color="#8B3E2F"][b],[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#FF0000"]0[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"NONE"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color][/color] Made with KK's SQF to BBCode Converter Awesome, going to try this now as well. Might have fixed the other issue i just posted as well ---------- Post added at 20:55 ---------- Previous post was at 20:49 ---------- Freaking awesome, just what i was looking for. Thanks guys!! Can't believe i just wasted hours of my time trying to figure it out for the dump spawning crap Share this post Link to post Share on other sites
fight9 14 Posted February 4, 2015 (edited) I think the error in the code you posted came from your use of BIS_fnc_selectRandom. You were putting an array inside of another array, causing there to be only one choice - the whole array. Also, you were passing the whole array to createVehicle. _cartype = [_ALLCARS] call BIS_fnc_selectRandom; _veh = createVehicle [_ALLCARS, _spawnPos, [], 0, "NONE"]; should be _cartype = [b][color="#B22222"]_ALLCARS[/color][/b] call BIS_fnc_selectRandom; _veh = createVehicle [[b][color="#B22222"]_cartype[/color][/b], _spawnPos, [], 0, "NONE"]; since _ALLCARS is already an array and _cartype is the randomly selected one returned from the function. Edited February 4, 2015 by Fight9 Share this post Link to post Share on other sites
jcae2798 132 Posted February 4, 2015 I think the error in the code you posted came from your use of BIS_fnc_selectRandom. You were putting an array inside of another array, causing there to be only one choice - the whole array. Also, you were passing the whole array to createVehicle. _cartype = [_ALLCARS] call BIS_fnc_selectRandom; _veh = createVehicle [_ALLCARS, _spawnPos, [], 0, "NONE"]; should be _cartype = [b][color="#B22222"]_ALLCARS[/color][/b] call BIS_fnc_selectRandom; _veh = createVehicle [[b][color="#B22222"]_cartype[/color][/b], _spawnPos, [], 0, "NONE"]; since _ALLCARS is already an array and _cartype is the randomly selected one returned from the function. Thanks again man, makes sense now. thanks for taking the time to review Share this post Link to post Share on other sites