Jump to content
Sign in to follow this  
peppy

AI Report contant to player?

Recommended Posts

I am trying to have a helo report any contact to the player, the helo is not part of the player’s team.

I would like the helo to paint the contacts for as long as it is has contact. Only I have no Idea how to do this.

I would like three things.

a. That the helo will contact the player via a radio call, where it will mention the map grid of the contact

b. That the contact has an icon placed over its last known position.

c. That the Icon will fade after a short time if no longer noticed by the helo.

Any help out there?

Thanks.

Share this post


Link to post
Share on other sites

I've had a think and the answer is not quite coming to me, but at least I can point you to some things that could help get you thinking.

nearTargets createmarker

sideChat

deletemarker

I'd experiment with (opfor) detected by (blufor) triggers utilising the commands above.

Edited by lozz08

Share this post


Link to post
Share on other sites

ya I was just looking in to that, I am not understanding how I can put it all together however.

---------- Post added at 11:27 PM ---------- Previous post was at 11:17 PM ----------

I found this, but I am having a hard time understaning enuff to change it so it updates player about enemys.

// Usage:

// 1. add this script to your mission folder and call it at the beggining of "init.sqf" file, like that:

// null = [] execVM "Awarness.sqf";

//

// 2. Add next row to the init field of the enemy groups leaders:

// if (isNil ("afpEnemyGroups")) then {afpEnemyGroups=[]}; afpEnemyGroups = afpEnemyGroups + [group this];

//

// 3. Add next row to the init field of playable soldiers:

// if (isNil ("afpPlayers")) then {afpPlayers=[]}; afpPlayers = afpPlayers + [this];

if (isNil("afpEnemyGroups")) then { afpEnemyGroups = []; };

if (isNil("afpPlayers")) then { afpPlayers = []; };

if (!isServer) exitWith {};

sleep 4;

_playerIndex = 0;

// check for groups awarness

while {true} do

{

// don't need to update too often

sleep 4;

// first perform a fast check on groups to remove empty groups

// not sure about this (deleting an item while in array), maybe create another array is better

{

if (isNull _x || count units _x <= 0) then

{

afpEnemyGroups = afpEnemyGroups - [_x];

};

} foreach afpEnemyGroups;

sleep 0.01;

// select a new player every cycle

_player = afpPlayers select _playerIndex;

_playerIndex = _playerIndex + 1;

if (_playerIndex >= count afpPlayers) then { _playerIndex = 0};

// share information among enemy groups

_count = count afpEnemyGroups - 1;

_index = 0;

_ready = false;

while {(_index < _count && !_ready)} do

{

sleep 0.001;

if ((afpEnemyGroups select _index) knowsAbout _player > 1) then

{

{_x reveal _player } foreach afpEnemyGroups;

_ready = true;

};

_index = _index + 1;

};

};

// every 4 seconds a player is updated - 15 players / minute which is a decent speed

// for most multiplayer games; for 50 players servers is fast enough because an enemy

// group seeking for a player will self update knowsAbout for other players too

Share this post


Link to post
Share on other sites

Although not the solution, I found attaching a trigger set to Detect Opfor worked well,but it is definitely not the way to go :).

I don't want to use this script above, but I do want to understand how I can get a member of the same side, report contacts, as well as paint them for a shot time so any reports can be seen in the map view.

I know it sounds complicated but I am sure there is a simple way of doing, I just don't know to string it all together.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×