Jump to content

fleepee

Member
  • Content Count

    127
  • Joined

  • Last visited

  • Medals

Posts posted by fleepee


  1. I captured 13 hostages, went to the camp to unload the truck, but some didn't disembark.

    I went back to Rasman, captured some more hostages, and here is what I get:

    pk3_er10.jpg

    This hint is inserted for testing in the capture.sqf script to monitor who is aboard:

    list_hostages_aboard = crew camion1;
    publicVariable "list_hostages_aboard";
    
    sleep 0.1;
    
    hint format ["count list A bord: %1:\nlist: %2\ncount crew: %3", count list_hostages_aboard, list_hostages_aboard, count crew camion1];
    

    What's happening?!!

    ---------- Post added at 04:40 PM ---------- Previous post was at 04:33 PM ----------

    Thanks for your response.

    I posted and read your message afterwards.

    keep it simple and streamlined and worry more about gameplay then details perhaps?

    Yes, sure...

    Everything else in the mission is working allright (secondary tasks), but as this is the main task, i'm doing my best to have it working.

    Perhaps the problem comes from civilians being spawned by the ALICE module?

    ---------- Post added at 05:13 PM ---------- Previous post was at 04:40 PM ----------

    I updated codes of the first post...

    ---------- Post added at 06:33 PM ---------- Previous post was at 05:13 PM ----------

    Perhaps the problem comes from civilians being spawned by the ALICE module?

    The answer is : YES!!!

    Everything is allright with editor placed civilians, so I've suppressed the ALICE module...:(


  2. I'd have the hostages moved to the player's group. I believe that should then make them local to the player, able to run animations for the player and you're able to order them into a vehicle rather than rely on scripts to do so.

    I know it is the simpliest way, but I didn't want to care about them and give them orders, as you can have 20 or more hostages in your team whilst being in a big urban fight...

    The method I'm using is almost perfect now...

    ---------- Post added at 03:42 PM ---------- Previous post was at 02:29 PM ----------

    One thing I don't understand is how I can have P3Ds counted in the crew of the truck?!!


  3. HI script masters!

    ;)

    I'm making a mission in which you play on the takistany OPFOR forces and you have to take civilian hostages in Rasman.

    Everything works fine in the editor and hosting the game, but not on dedicated servers, of course!

    The amount of hostages is set in the MP lobby, in a variable called NB_hostages.

    In a (repeating) trigger condition field, I have:

    (cursorTarget getVariable ["NORRN_unconscious",false])) and (alive cursorTarget) and (player distance cursorTarget <40) and (vehicle player== player) and (player knowsAbout cursortarget>3) 

    In its activation field:

     New_threaten= true; publicVariable "New_threaten"; threaten_hostage = cursorTarget; publicVariable "threaten_hostage"; player sidechat (no_move select floor(random 4));  

    another trigger with condition "New_threaten" has for activation field:

    nul = [threaten_hostage] execVM "threaten_civ.sqf"; 

    Here's the threaten_civ.sqf code:

    //////////////////////////////////////////////////////////////////
    // Function file for Armed Assault
    // Created by: FleePee
    //////////////////////////////////////////////////////////////////
    _hostage = _this select 0;
    
    sleep 0.05;
    threaten_hostage= nil;
    publicVariable "threaten_hostage";
    New_threaten= false;
    publicVariable "New_threaten";
    
    _killed = _hostage addMPEventHandler ["mpkilled", {Null = _this execVM "hostage_killed.sqf";}];
    
    if ((typeof _hostage == "TK_CIV_Woman01_EP1") or (typeof _hostage == "TK_CIV_Woman02_EP1") or (typeof _hostage == "TK_CIV_Woman03_EP1")) exitWith {
    hint localize "STR_no_woman";
    _hostage setVariable ["threaten", true, true]; 
    };
    
    if (_hostage distance camion1 >500) exitWith { hint localize "str_truck_too_far";};
    
    _hostage setVariable ["threaten", true, true]; 
    
    if (not (_hostage in list civ_rasman)) exitWith {
    _hostage playmove "AmovPercMstpSsurWnonDnon";
    sleep 3;
    _list= (position _hostage) nearEntities [["soldierEB"],40];
    _unit= _list select 0;
    _hostage globalChat Localize "STR_not_from_rasman";
    _hostage playMove "AmovPercMstpSsurWnonDnon_AmovPercMstpSnonWnonDnon";
    sleep 3;
    _unit sidechat localize "STR_not_from_rasman2";
    };
    
    _hostage playmovenow "AmovPercMstpSsurWnonDnon";
    _hostage disableAI "ANIM"; 
    
    capturer = _hostage addAction [("<t color=""#1A8DEB"">" + (localize "STR_Capture") + "</t>"), "capture_init.sqf"];
    
    while {(alive _hostage) and (not (_hostage in assignedCargo camion1))} do {
    
    _list= (position _hostage) nearEntities [["soldierEB"],40];
    
    if (count _list ==0) exitWith {
    	_hostage setVariable ["threaten", false, true];
    	_hostage removeAction capturer;
    	_hostage enableAI "ANIM";
    	_hostage setbehaviour "careless";
    	_hostage playMovenow "AmovPercMstpSsurWnonDnon_AmovPercMstpSnonWnonDnon"; 
    	};
    
    sleep 5;
    };
    

    In the first part, if the civilian unit is not in the trigger including Rasman, you can't take him hostage.

    In the end of that script, if there is no OPFOR in a 40m perimeter around the threaten civilian, he's free again.

    here's the capture_init.sqf:

    _hostage = _this select 0;
    _unit = _this select 1;
    
    New_captured = true;
    publicVariable "New_captured";
    captured_hostage = _this select 0;
    publicVariable "captured_hostage";
    
    //hint format ["otage: %1", captured_hostage];
    sleep 0.5;
    _unit sidechat (board select floor(random 4));
    _hostage removeAction capturer;
    
    if (true) exitWith {};
    

    I added a capture trigger with condition field: "New_captured"

    and on its activation field:

    nul = [captured_hostage] execVM "capture.sqf"; captured_hostage = nil; publicVariable "captured_hostage"; New_captured = false; publicVariable "New_captured";  

    Here's the capture.sqf script:

    //////////////////////////////////////////////////////////////////
    // Function file for Armed Assault
    // Created by: FleePee
    //////////////////////////////////////////////////////////////////
    
    _hostage = _this select 0;
    _hour = daytime;
    
    
    _hostage setVariable ["captured", true, true];
    _hostage enableAI "ANIM";
    _hostage setbehaviour "careless";
    _hostage assignAsCargo camion1; 
    [_hostage] orderGetIn true;
    
    waitUntil {(vehicle _hostage == camion1) or (not alive _hostage) or (camion1 emptyPositions "cargo" ==0) or (daytime > _hour + (1/12))};
    
    if (not alive _hostage) exitWith {};
    
    /////////////////////////
    //Added to force hostages to be in the truck
    /////////////////////////
    if ((daytime > _hour + (1/12)) and (camion1 emptyPositions "cargo" !=0) and (vehicle _hostage==_hostage)) then {
    _hostage moveinCargo camion1;
    _hostage disableAI "MOVE";
    _hostage disableAI "ANIM";
    };
    ////////////////////////
    
    if (camion1 emptyPositions "cargo" ==0) exitWith {
    hint_cargo=true;
    publicVariable "hint_cargo";
    while {(_hostage getvariable ["threaten", true]) and (_hostage getvariable ["captured", true])} do {
    	_list= (position _hostage) nearEntities [["soldierEB"],40];
    	if (count _list ==0) then {
    		_hostage setVariable ["threaten", false, true];
    		_hostage setVariable ["captured", false, true];
    		unassignvehicle _hostage;
    		_hostage enableAI "ANIM";
    		_hostage setbehaviour "careless";
    		};
    	sleep 5;
    	};
    };
    
    WaitUntil {vehicle _hostage == camion1};
    
    _hostage disableAI "MOVE";
    _hostage disableAI "ANIM";
    
    if (not (_hostage in list_hostages)) then {
    list_hostages = list_hostages +[_hostage];
    publicVariable "list_hostages";
    };
    
    list_hostages_aboard = crew camion1;
    publicVariable "list_hostages_aboard";
    
    sleep 0.1;
    
    hint format ["count list A bord: %1:\nlist: %2\ncount crew: %3", count list_hostages_aboard, list_hostages_aboard, count crew camion1];
    
    //hint_hostage=true;
    //publicVariable "hint_hostage";
    
    if (count list_hostages >= NB_hostages) then {
    NB_hostages_reached=true;
    publicVariable "NB_hostages_reached";
    };
    
    if (true) exitWith {};
    

    As there are only 13 cargo spaces in the truck, when it's full of hostages, you have to go back to the camp to unload the truck before going again to Rasman and take some more hostages if NB_hostages>13.

    The truck is synced with a trigger at the camp, when the truck enters it, another script make hostages disembark and set them to a position from which they won't move:

    //////////////////////////////////////////////////////////////////
    // Function file for Armed Assault
    // Created by: FleePee
    //////////////////////////////////////////////////////////////////
    list_hostages_aboard = list_hostages_aboard - [driver camion1];
    camion1 engineOn false;
    
    {unassignVehicle _x} forEach list_hostages_aboard;
    
    {_x action ["eject", camion1]; sleep 0.2} foreach list_hostages_aboard; 
    
    {_pos= [(getpos flag_priso select 0) - 10+(random 20), (getpos flag_priso select 1) - 10+(random 20)];
    _dir= floor (random 360);
    
    if (side _x != east) then {
    _x disableAI "MOVE";
    sleep 0.1;
    _x setpos _pos;
    _x setdir _dir;
    _x setCaptive true; 
    _x playMove "AmovPercMstpSsurWnonDnon"; 
    _x disableAI "ANIM";
    list_hostages_aboard = list_hostages_aboard - [_x];
    };
    
    } foreach list_hostages_aboard;
    
    publicVariable "list_hostages_aboard";
    
    1 setRadioMsg "NULL";
    
    if (true) exitWith {}; 

    Here's the problem: some of hostage in truck don't disembark, and if I go back to Rasman to take some more civilian hostages, I can monitor that these embarked hostages are just P3Ds instead of AI hostages, perhaps because they are spanwned with the ALICE module?

    :confused:

    I hope you'll find it interesting to solve.

    Thanks in advance for your time and answers.

    :D

    FleePee

    P.S: I can send the mission folder if needed...


  4. Norrin told me it wasn't possible to have 2 mobile respawn (mash or vehicle) at the same time...

    You just can spawn at respawn markers positions...

    For the UAV, you have to resync objects and module by the way of a script launched in the NORRNCustomExec1=""; and NORRNCustomExec3 =""; lines of the revive_init script (line 190)


  5. Helping the government in Afghanistan which asked help from USSR.

    Verry funny!!:mad:

    or naive...

    Third reich was also asked to "help" austrian and czechoslovakian german minorities...

    But this is out of topic....


  6. Worrying news from Zargabad...

    zargab10.jpg

    The results challenged by various armed factions of recent presidential elections in Takistan had unfortunate consequences: a strong insurgent movement was created in the city of Zargabad and grows throughout the country!

    The civilian population is terrorized by armed militias that occupy the city and the UN forces were "invited" to leave the airport where they were stationed for two years...

    Karim Ben Feshaoui, the local warlord who somehow succeeded in controlling militias in the region, could do nothing...

    Another information: Reuters news agency reported they had no contacts with the independent american reporter Steve Harris for 24 hours...

    Because of the chaotic security situation in the country, they had agreed on three punctual and daily telephone appointments; morning, noon and evening, to inform and reassure the agency about his situation.

    Harris was in Zargabad to investigate on the connections between BASS party extremists and some well known international terrorists groups.

    This very sensitive topic suggests it could be possible that Steve Harris may be more than a freelance reporter: takistany militias accuse him of being a CIA agent, which the United States formally deny.

    By the most incredible coincidence, CIA informants reported that Harris would have laid hands on important documents, and that should now be sequestered somewhere in Zargabad because of that...

    Steve Harris being alive is good news, as it means that militias do not know where these famous informations are...

    NATO intelligence services identified a radio-active marker with a fixed position inside a building in Zargabad: it is likely that this marker comes from a smart card contained in Harris' files.

    Takistany militias may ally with whom help them getting back the files; they made Karim Ben Feshaoui know they could tell him where the reporter is detained if he could get his hands on the documents.

    Three NATO eight men special forces squads have been discreetly deployed nearby the city.

    Their mission is to get the files and save Steve Harris.

    Features:

    • 24 playable slots: 3 squads of 8 soldiers
    • Alpha leader is the high commander, select at least that slot!
    • Mobile Respawn
    • Revive by all units
    • Overview, briefing and debriefing, intro and outro
    • French and English versions
    • satellite viewing (access with the deployed mobile respanw vehicle)

    Lobby Options:

    • number of revives
    • time before respawn location choice
    • grass layer
    • view distance

    Installation:

    Place the pbo file in your ArmA2 Operation Arrowehad\MPMissions folder.

    ARMA2 CO patch 1.59

    External Scripts Credits:

    Revive V0.50 by Norrin

    Air Support by Drapper

    Heli extract and Satellite View by Pumpkin

    Vehicle Respawn Script v1.7 by Tophe of Östgöta

    Urban Patrol Script by Kronsky

    I'm having fun with this mission, I hope you'll enjoy it too!

    I wish I could have some feedback on it and a correction of my english version...

    I'm looking forward to your feedback!

    FleePee

    Armaholic mirror:

    [PK1] Get Steve Harris Co-24 (@)


  7. A new version is available:

    •10 more slots available (total=30) in a small camp, east of Nagara's oil field, which is also a new respawn point.

    •You have to save at least one derrick, but for a total mission success, you have to save one derrick in each oil field, Nagara and Lalezar.

    •Changed some of the revive options

    see first post for download link.

×