Jump to content

ViseVersa

Member
  • Content Count

    15
  • Joined

  • Last visited

  • Medals

Posts posted by ViseVersa


  1. Hello ViseVersa,

     

    have you tried isFlatEmpty ?

     

     

    Nikander

     

     

    Hello,

     

    I haven't tried it directly, but I`m using BIS_fnc_findSafePos, which is using that function to. It's basically build - in.

     

     

    ----------------------------

     

    It's not that BIS_fnc_findSafePos is failing, it's working "ok", it's more the fact, that it will not actually find a flat position, it will only find an empty Position. That's the main Problem I got at the Moment, as I'm using WAI (An AI spawning Framework) to spawn in smal side Missions, but they look extremely ugly due to that they spawn on hills a lot (Napf Map).


  2. Hi,

     

    I'm trying to find a safe and flat position anywhere on the map, so I'm using BIS_fnc_findSafePos.

    _safepos	= [getMarkerPos "center",0,8500,(_this select 0),0,0,0];
    _position 	= _safepos call BIS_fnc_findSafePos;
    

    But sometimes it spawns on hills to. How can I prevent that? Apparently you can set the terrain altitude, but that doesn't seems to work, as I tried it with

    _safepos	= [getMarkerPos "center",0,8500,(_this select 0),0,999,0];
    

    Nothing seems to work, it will spawn on hills and then everything looks crap. Anybody got an Idea?


  3. Maybe running two separated FSMs instead? Or connecting the left and right side loops to the knee in the middle? From your picture, the FSM never terminates and only enters the loop whose condition was satisfied first (priorities aside of course).

     

    Yeah i thought about seperate FSM`s, but i wanted to build in like a security layer - basically if one loop fails it will restart. For that purpose all Loops must be in the same file :/

     

     

    //EDIT:

    Out of interest, what`s the Difference between Input Condition, User Condition and Condition? Will it make any difference, if i change that?


  4. Hi,

     

    i have a huge Problem at the Moment. I want to make 2 Things happen the same Time, if the Criteria is furfilled. The thing is, it will be in a Loop continiously. So basically i want 2 Loops running the same time.

     

    XamhiAi.png

     

     

     

    That`s an example Picture. The Problem is, if it goes in one Loop it won`t start the next Loop untill i cancel the first loop. I tried literally everything i can think of, but it just won`t work. Has anybody got any idea that could help me out of this? The Loops are definately needed.

     

     


  5. Hi,

     

    so i'm not into arma3, i "still" like arma2 and i noticed on arma2 BIS_fnc_findSafePos is critically malfunctioning, when you call it a few in a row. On Napf it will output Position: [10240,10240,800] after a few times. Here an Example from an script i was working on:

     

    diag_log format ["[Dog] - Var is: %1",_var];
    
    _tmpPos =  [_var, 1, 5, 3, 1, 20, 0] call BIS_fnc_findSafePos;
    
    diag_log format ["[Dog] - Tmp Pos is: %1",_tmpPos];
    

     

    "[Dog] - Var is: [13423.6,13258.7,0]"
    "[Dog] - Tmp Pos is: [13428.5,13262.9]"
    "[Dog] - Var is: [13426.2,13248.9,0]"
    "[Dog] - Tmp Pos is: [13427.1,13253.2]"
    "[Dog] - Var is: [13426.7,13238.8,0]"
    "[Dog] - Tmp Pos is: [13421.7,13242.8]"
    "[Dog] - Var is: [13425.1,13228.8,0]"
    "[Dog] - Tmp Pos is: [10240,10240,800]"
    "[Dog] - Var is: [13425.1,13228.8,0]"
    "[Dog] - Tmp Pos is: [10240,10240,800]"
    "[Dog] - Var is: [13425.1,13228.8,0]"
    "[Dog] - Tmp Pos is: [10240,10240,800]"

     

    It will continue to output the same Position over and over and over....

     

    It will also malfunction, if i call it to often, without the step inbetween like in the following example:

    diag_log format ["[Dog] - Var is: %1",(_array select 0)];
    
    _tmpPos =  [(_array select 0), 1, 5, 3, 1, 20, 0] call BIS_fnc_findSafePos;
    
    diag_log format ["[Dog] - Tmp Pos is: %1",_tmpPos];
    

    My Solution is to simply wait a large amount of Time, before calling that script again or don't use it at all. If you need to spawn something it`s alright, because the script is just called once, but if you do it a lot i suggest you use nearObjects to check, if it`s a good position.


  6. For anybody, who is also interested in this - This is how i am doing it at the Moment:

     

    private ["_handle","_hund","_pfeil"];
    mm_tmpHandle = _this select 3;
    
    //_handle setFSMVariable ["_command","move","_spieler"];
    
    pfeil = createVehicle ["Sign_arrow_down_large_EP1", getPosASL mm_playerDoggie, [], 0, "CAN_COLLIDE"];
    pfeil setObjectTexture [0, "#(argb,8,8,3)color(0,0.8,0,1)"];
    
    mm_cleanup = {
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_02];
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_04];
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_06];
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_08];
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_lk];
    	(findDisplay 46) displayRemoveEventHandler ["KeyDown", mm_eh_rk];
    	mm_02 = nil;
    	mm_04 = nil;
    	mm_06 = nil;
    	mm_08 = nil;
    	mm_lk = nil;
    	mm_rk = nil;
    	mm_eh_02 = nil;
    	mm_eh_04 = nil;
    	mm_eh_06 = nil;
    	mm_eh_08 = nil;
    	mm_eh_lk = nil;
    	mm_eh_rk = nil;
    	mm_tmpHandle = nil;
    };
    
    mm_02 = {
    	pfeil setPosATL [(getPosASL pfeil select 0),((getPosASL pfeil select 1) - 1),0];
    };
    
    mm_04 = {
    	pfeil setPosATL [((getPosASL pfeil select 0) - 1),(getPosASL pfeil select 1),0];
    };
    
    mm_06 = {
    	pfeil setPosATL [((getPosASL pfeil select 0) + 1),(getPosASL pfeil select 1),0];
    };
    
    mm_08 = {
    	pfeil setPosATL [(getPosASL pfeil select 0),((getPosASL pfeil select 1) + 1),0];
    };
    
    mm_lk = {
    	mm_tmpHandle setFSMVariable ["_command","move"];
    	mm_tmpHandle setFSMVariable ["_moveComPos",getPosASL pfeil];
    	deleteVehicle pfeil;
    	pfeil = nil;
    	mm_camera cameraEffect ["Terminate", "Back"];
    	camDestroy mm_camera;
    	[] call mm_cleanup;
    };
    
    mm_rk = {
    	deleteVehicle pfeil;
    	pfeil = nil;
    	mm_camera cameraEffect ["Terminate", "Back"];
    	camDestroy mm_camera;
    	[] call mm_cleanup;
    };
    
    mm_eh_02 = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x50) then {[] call mm_02;};"];
    mm_eh_04 = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x4B) then {[] call mm_04;};"];
    mm_eh_06 = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x4D) then {[] call mm_06;};"];
    mm_eh_08 = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x48) then {[] call mm_08;};"];
    mm_eh_lk = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x4E) then {[] call mm_lk;};"];
    mm_eh_rk = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x9C) then {[] call mm_rk;};"];
    
    mm_camera = "camera" camCreate (pfeil modelToWorld [0,-6,15]);
    mm_camera camSetTarget pfeil;
    mm_camera cameraEffect ["External", "RIGHT BACK"];
    mm_camera camCommit 0;
    
    while {!isNil "pfeil"} do {
    	player setDamage 0;
    	
    	mm_camera camSetRelPos [0, -6, 15];
    	mm_camera camCommit 0;
    };
    
    

     

    You obviously have to remove, what you don`t need and it`s not the nicest thing to have, but it works.


  7. Hi,

     

    i have a slight issue. I'm currently using the dayZ / Epoch mod for arma2 and basically i want a Dog to play an Attack, but the creators of the mod didn`t put the Action in the class Actions. They created it tho, so it is available, but unless they put it in Actions there is no chance of playing that action with playActionNow, or is there?

     

    I`m fine with any solution, except for custom addons / mods.

     

    Is there any way of doing this, example putting the corresponding part in the description.ext and overwriting it or will that not work?

     

     

×