SCRIPT LIBERATION HABITANTS

Aller en bas

nouveau script lien a suivre

Message par ('l|) Nach le Dim 30 Sep - 21:55

avatar
('l|) Nach

Messages : 458
Date d'inscription : 31/01/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

LIBERATION.sqf

Message par ('l|) Nach le Dim 8 Jan - 23:36

_unit = _this select 0;
_Group = Group leader _unit;

_unit removeAction 0;
_unit enableAI "move";
_unit setCaptive false;

_pos = getmarkerpos "spawcivil";
_posecentre = _pos;
_start_distance = 1200;


_xpos = _posecentre select 0;
_ypos = _posecentre select 1;
_zpos = _posecentre select 2;

_distance = _start_distance;

_angle = random 360;

_xxpos = (_distance * cos _angle);
_yypos = (_distance * sin _angle);

_xpos = _xpos + _xxpos;
_ypos = _ypos + _yypos;

_posecentre set [0, _xpos];
_posecentre set [1, _ypos];
_posecentre set [2, _zpos];



_waypoint = _Group addWaypoint [_pos, 0];
_waypoint setWaypointType "MOVE";
_waypoint setWaypointSpeed "FULL";

_message = format ["Merci soldat %1",name player];
hint _message;

sleep 40;
deleteVehicle _unit;
avatar
('l|) Nach

Messages : 458
Date d'inscription : 31/01/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: SCRIPT LIBERATION HABITANTS

Message par ('l|) Nach le Dim 8 Jan - 23:21

Voici une de mes créations la seule chose a faire c est d exécuter ce script  avec null =[] execvm "*.sqf";
La deuxième est de placé un marqueur nommé  spawncivil sur la carte de l editeur sur la zone habité;
Les variables exemple "Land_House_Small_01_F" etc. sont les maisons que l on souhaite affecter le script ici elle appartiennent au DLC TANOA;
comment trouver une variable maison ou autre d un objet dans l éditeur  me diriez vous  allez c est partit!!

Voici ma méthode >>> en appuyant sur echap dans l éditeur on fait apparaître une fenêtre de debug .
Une fenêtre s ouvre avec un grand carré , elle permet d y insérer un script ..

1/ je vise l objet
2/ Touche ESC
3/ je tape ceux ci hint str(typeOf cursortarget); copyToClipboard str(typeOf cursortarget); et je click sur ExcServeur;

Votre variable est copiée il n y a plus qu a faire contrôle+V pour la coller dans votre script. Celle ci est toujours entre guillemet voir couleur vert sur le script précèdent.

Le diamètre autour du marqueur spawncivil est en rouge attention de ne pas mettre une valeur trop exhaustive . Sur le script c est un diamètre de 150

Pas de magie mais la variable s est copié dans votre presse papier

un derniere chose mettre devant les trois lignes qui commence par _mrkr  ces signes // lors de l envoi de la mission sinon des marqueurs apparaitront sur la carte de la mission avec la position des otages.



Dernière édition par ('l|) Nach le Dim 8 Jan - 23:51, édité 2 fois
avatar
('l|) Nach

Messages : 458
Date d'inscription : 31/01/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

SCRIPT LIBERATION HABITANTS

Message par ('l|) Nach le Dim 8 Jan - 22:57

if (!isServer) exitWith {};

// null = [objet,2,300] execVM "otage2.sqf"; >>> [nom de l objet editeur, le nombre d otage , Radius de spawn autour de l objet]

_listecivils = ["C_man_1","C_man_1_1_F","C_man_1_2_F","C_man_1_3_F","C_man_hunter_1_F","C_man_p_beggar_F","C_man_p_fugitive_F",
"C_man_p_shorts_1_F","C_man_polo_1_F","C_man_polo_2_F","C_man_polo_3_F","C_man_polo_4_F","C_man_polo_5_F",
"C_man_polo_6_F","C_man_shorts_1_F","C_man_shorts_2_F","C_man_shorts_3_F","C_man_shorts_4_F","C_man_w_worker_F"];

_lop = ["O_T_Support_GMG_F","O_T_Support_MG_F","O_T_Support_MG_F","O_T_Support_AMG_F","O_T_Support_AMort_F","O_T_Soldier_TL_F","O_T_Soldier_SL_F","O_T_Soldier_Exp_F","O_T_Soldier_F","O_T_Soldier_LAT_F","O_T_Soldier_AR_F","O_T_Soldier_AR_F","O_T_Soldier_AAR_F","O_T_Soldier_GL_F","O_T_Crew_F","O_T_Medic_F","O_T_Officer_F","O_T_Soldier_A_F","O_T_Soldier_Repair_F","O_T_Engineer_F","O_T_Soldier_AA_F","O_T_Soldier_AT_F","O_T_Soldier_AAA_F","O_T_Soldier_AAT_F","O_T_Recon_F","O_T_Recon_LAT_F","O_T_Recon_Exp_F","O_T_Spotter_F"];



private["_houseObjects","_position","_buildings","_newpos","_unit","_bposs","_i","_i2","_x","_habiter","_side"];



_position = _this select 0;
_side = CIVILIAN;
_Nombredemaison = (_this select 1);
_iamaison = 1;
_radiusmaison = (_this select 2);
_wtime = 30;

_x = 0;
_y = 0;
_t = 0;
_timeout = 0;


for [{_n=0}, {_n<_Nombredemaison}, {_n=_n+1}] do {

_habiter = [];

for "_i" from 1 to _iamaison do {
_nombre3 = round(random (count (_listecivils)));
_unit2 = _listecivils select _nombre3;
_habiter set [count _habiter ,_unit2];
};



_houseObjects = nearestObjects [_position, ["building"],_radiusmaison];

if(isNil("_houseObjects"))exitWith{nil};
if((count _houseObjects)==0)exitWith{nil};

_buildings = [];
{
if(str(_x buildingPos 0) != "[0,0,0]")then{_buildings set[(count _buildings),_x];};
}forEach _houseObjects;

if((count _buildings)==0)exitWith{nil};

_bPoss = [];
_a = 0;
while { _a < (count _buildings) } do {
_building = (_buildings select _a);
_i = 0;
while { ((_building buildingPos _i) select 0) != 0 } do {
_bPoss set [count (_bPoss), (_building buildingPos _i)];
_i = _i + 1;
};
_a = _a + 1;
};


_newPos = _bposs select floor(random count _bposs);

_spawnGroup2 = [_newpos, _side ,_habiter,[],[],[],[],[],180] call BIS_fnc_spawnGroup;


};




// Recherche de chaque civils addaction + unité ennemi le gardant

_otage = nearestObjects [_position ,_listecivils,_radiusmaison];
{
// addaction Civil
_x addAction ["liberer Civil","otagegriff\liberation.sqf",[],1,false,true,"","(_target distance _this) < 3"] call bis_fnc_mp;
_x disableAI "move";
_x setCaptive true;
_x addEventHandler ["killed", {deleteVehicle (_this select 0)}];

// creation d un opfor aleatoire par variable civil

_grb2 = createGroup east;
_grb3 = createGroup east;
_nombre2 = round(random ((count _lop)-1));
_nombre3 = round(random ((count _lop)-1));
_s11 = _lop select _nombre2;
_s12 = _lop select _nombre3;


_posx = (getPosatl _x select 0)+2;
_posy = (getPosatl _x select 1)-2;
_posz = (getPosatl _x select 2)+1;
_pos = [_posx,_posy,_posz];
_s11 createUnit [_pos, _grb2];

_posx = (getPosatl _x select 0)+2;
_posy = (getPosatl _x select 1)-2;
_posz = (getPosatl _x select 2)+1;
_pos1 = [_posx,_posy,_posz];
_s12 createUnit [_pos1, _grb3];

{null = [_x] execVM "otagegriff\housep.sqf";} foreach (units _grb3);

//[_grb2, getpos _x, 1] call BIS_fnc_taskDefend;



} forEach _otage;

hint format ["%1 civil(s) sur cette mission",_Nombredemaison ];


// installation du trigger et de la task civil absent

pos9Miss = position (_this select 0);
textoMiss = "Libérer les habitants";
misot1 = "obj9";
valide = false;
publicVariable "pos9Miss";
publicVariable "textoMiss";
publicVariable "misot1";
publicVariable "valide";



// creation est spawn de la task
[west,misot1,["",textoMiss, pos9Miss],"",true]call bis_fnc_taskCreate;

// validation par civil absent
trg9 = createTrigger["EmptyDetector",pos9miss];
trg9 setTriggerArea[1000,1000,0,false];
trg9 setTriggerActivation["CIV","NOT PRESENT",false];
trg9 setTriggerStatements["this", "null = [misot1,""SUCCEEDED"",true] call bis_fnc_taskSetState; publicVariable 'misot1'; publicVariable 'textomiss';valide = true; publicvariable 'valide';", ""];
publicVariable "trg9";


waitUntil {triggerActivated trg9};
sleep 5;

["obj9"] call BIS_fnc_deleteTask;
deleteVehicle trg9;


Dernière édition par ('l|) Nach le Mar 24 Avr - 19:35, édité 5 fois
avatar
('l|) Nach

Messages : 458
Date d'inscription : 31/01/2016

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: SCRIPT LIBERATION HABITANTS

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum