Page 1 sur 1

Script pour les mines

Posté : jeu. 8 avr. 2010, 17:22
par =[TTK]= Yourry
Voila le but est de créer un script pour de mine pour que les voitures les déclenchent en passant dessus:
J'ai trouver un qui marche mais le hic est qu'il ne fonctionne que pour les unitées west ....

Code : Tout sélectionner

if (!isServer) exitWith {};
 
_objet = _this select 0;
_pos = getPos _objet;

deleteVehicle _objet;
_mine = "MineE" createVehicle _pos;

 
 
_declencheur = createTrigger["EmptyDetector",_pos];
_declencheur setTriggerArea[3,3,0,false];
_declencheur setTriggerActivation["ANY","PRESENT",false];

WaitUntil {({side _x == west} count list _declencheur) > 0};
 
 
_boom = "BO_GBU12_LGB" createVehicle _pos;
deleteVehicle _mine;
 
if (true) exitWith {};
Je sais que c'est
WaitUntil {({side _x == west} count list _declencheur) > 0};
qui déclenche (et qui fait que c'est west qui ramasse) mais comment réecrire pour que cela marche avec les opfor et indépendant
j'ai essayé de mettre
WaitUntil {({side _x == west} count list _declencheur) > 0} or WaitUntil {({side _x == est} count list _declencheur) > 0} etc..

mais sa marche pas du tout :mrgreen: :mrgreen:

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 17:39
par =[TTK]= Freshmeat
Tu retires la ligne, ça devrait être suffisant.

Ensuite, il ne faut pas utiliser exitWith pour sortir sauvagement du script.
Il vaut mieux faire :

Code : Tout sélectionner

if (isserver) then {
// blablabla
};
De même, la dernière ligne ne sert à rien : le script s'arrête de lui-même après exécution de sa dernière instruction.

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 17:57
par =[TTK]= Memphis007
Tu aurais pu essayer avec "east" au lieu de "est"

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 18:01
par =[TTK]= Yourry
Merci Freash mais si j'enlève
WaitUntil {({side _x == west} count list _declencheur) > 0};
elle explose toute seule

Heu après pour tes indics, le coup du
if (isserver) then {
// blablabla
};
Je ne comprend pas.

EDIT: pour memphis, cela ne marche pas du tout quand je met "est" :roll: à la place :mrgreen:
j'y comprend vraiment rien :Evil:

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 18:07
par Camille Caz
Non. En anglais l'est se dit east, il faut "east".

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 18:16
par =[TTK]= Yourry
Arf oui je suis bête, sa marche mais cela ne déplace que le problème. Après vous me dirais que je peux faire 3 mines spéciales pour chaque camps avec 3 scripts en remplacent juste "west", "east" et "guerrila" ... mais c'est top quand même
Je vais essayer de trouver une autre solution sinon au pire je ferais ça.

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 18:46
par Camille Caz
les 4 factions sont west, east, resistance, civilian.
voir
http://community.bistudio.com/wiki/west
__________________________
As-tu vu ceci
http://www.clan-ado.fr/wiki/doku.php?id=editions:tuto31
__________________________
En fait, c'est tout ça qu'il te faut apprendre par cœur !
http://www.clan-ado.fr/wiki/doku.php?id ... s:editions

Re: Script pour les mines

Posté : jeu. 8 avr. 2010, 21:09
par =[TTK]= Clem
tas déjà essayer les pièges a cons ? :

tu place une mine postiche que tu vas apeler mine1(a part pour les véhicules blindes)

Image

puis n'importe quel objet appeler IED1 que tu vas cacher en l'enterant avec la commande This setpos [getpos this select 0, getpos this select 1, -0.5] ;



Image

puis un declencheur de 5 par 5 ,activation n'importe qui ,une fois, type interrupteur et tu lui met çà dedans le champ sur act :

Code : Tout sélectionner

_IED1 = "ARTY_R_227mm_HE" createVehicle (getPos IED1); _IED1_2 = "ARTY_Sh_122_WP" createVehicle (getPos IED1); _IED1_3 = "BO_GBU12_LGB" createVehicle (getPos IED1); hint "boum tes mort" ; deleteVehicle IED1; deleteVehicle mine1;
(virer le hint boum tes mort c'est juste pour voir si le déclencheur s'active )

et tu vas l'apeler boum 1

ce qui donne une unite passe dans le declencheur boum 1 et active l'explosion sur ied1
pour diferente bombe tu met un declenheur aec le code ci dessus pour chaque bombe et tu change le nom de l'objet enterrer par IED2 et ainsi de suite et dans le déclencheur tu remplace IED1 par IED2 , _IED1_2 par _IED2_2 etc

Image

le placement des trois objets est important pour maximiser les dégâts tu place la mine,puis le déclencheur juste sur la mine et juste derrière a la périphérie du rayon du déclencheur tu place IED1.

missions demo : tu ouvre l'editeur et tu place un type tu sauvegarde sous le nom de momo ,tu quites arma tu vas dans ton dossier missions tu cherche le dossier momo , tu edites le mission.sqm avec notepad ou autres,tu efface tout et tu remplace par ceci et tu sauvegarde et puis tu charge la mission dans l'editeur

Code : Tout sélectionner

version=11;
class Mission
{
	addOns[]=
	{
		"cacharacters2",
		"CAWheeled",
		"utes",
		"camisc3",
		"caweapons",
		"CATracked2_T90"
	};
	addOnsAuto[]=
	{
		"cacharacters2",
		"CATracked2_T90",
		"CAWheeled",
		"camisc3",
		"caweapons",
		"utes"
	};
	randomSeed=13433890;
	class Intel
	{
		startWeather=0.40000001;
		forecastWeather=0.25;
		year=2008;
		month=10;
		day=11;
		hour=14;
		minute=20;
	};
	class Groups
	{
		items=2;
		class Item0
		{
			side="WEST";
			class Vehicles
			{
				items=1;
				class Item0
				{
					position[]={3919.3254,19,3606.8738};
					azimut=89.510101;
					id=0;
					side="WEST";
					vehicle="USMC_Soldier_AT";
					player="PLAYER COMMANDER";
					leader=1;
					skill=0.60000002;
					ammo=0;
				};
			};
		};
		class Item1
		{
			side="EAST";
			class Vehicles
			{
				items=1;
				class Item0
				{
					position[]={3846.9771,19,3591.0046};
					special="NONE";
					id=3;
					side="EAST";
					vehicle="RU_Soldier";
					player="PLAY CDG";
					leader=1;
					skill=0.2;
					ammo=0;
				};
			};
		};
	};
	class Vehicles
	{
		items=4;
		class Item0
		{
			position[]={3856.0371,19,3590.6614};
			azimut=87.377899;
			special="NONE";
			id=1;
			side="EMPTY";
			vehicle="T90";
			skill=0.2;
		};
		class Item1
		{
			position[]={3923.6584,19,3602.5183};
			azimut=93.190697;
			special="NONE";
			id=2;
			side="EMPTY";
			vehicle="HMMWV";
			skill=0.2;
		};
		class Item2
		{
			position[]={3952.0488,19,3604.7654};
			special="NONE";
			id=4;
			side="EMPTY";
			vehicle="Land_Pneu";
			skill=0.2;
			text="IED1";
			markers[]=
			{
				"mkrIED2_2",
				"mkrIED2_0",
				"mkrIED2_1"
			};
			init="This setpos [getpos this select 0, getpos this select 1, -0.5]";
		};
		class Item3
		{
			position[]={3946.7727,19,3605.0493};
			special="NONE";
			id=5;
			side="EMPTY";
			vehicle="MineMine";
			skill=0.2;
		};
	};
	class Sensors
	{
		items=1;
		class Item0
		{
			position[]={3946.7234,19,3605.1206};
			a=5;
			b=5;
			activationBy="ANY";
			interruptable=1;
			type="SWITCH";
			age="UNKNOWN";
			name="tgrIED2";
			expActiv="_IED1 = ""ARTY_R_227mm_HE"" createVehicle (getPos IED1); _IED1_2 = ""ARTY_Sh_122_WP"" createVehicle (getPos IED1); _IED1_3 = ""BO_GBU12_LGB"" createVehicle (getPos IED1); hint ""boum tes mort"" ;";
			class Effects
			{
			};
		};
	};
};
class Intro
{
	addOns[]=
	{
		"utes"
	};
	addOnsAuto[]=
	{
		"utes"
	};
	randomSeed=5913530;
	class Intel
	{
		startWeather=0.40000001;
		forecastWeather=0.25;
		year=2008;
		month=10;
		day=11;
		hour=14;
		minute=20;
	};
};
class OutroWin
{
	addOns[]=
	{
		"utes"
	};
	addOnsAuto[]=
	{
		"utes"
	};
	randomSeed=15841324;
	class Intel
	{
		startWeather=0.40000001;
		forecastWeather=0.25;
		year=2008;
		month=10;
		day=11;
		hour=14;
		minute=20;
	};
};
class OutroLoose
{
	addOns[]=
	{
		"utes"
	};
	addOnsAuto[]=
	{
		"utes"
	};
	randomSeed=5437844;
	class Intel
	{
		startWeather=0.40000001;
		forecastWeather=0.25;
		year=2008;
		month=10;
		day=11;
		hour=14;
		minute=20;
	};
};

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 08:54
par =[TTK]= Freshmeat
J'avais cru comprendre que tu voulais que ca saute à tous les coups :p
(Et non je ne suis pas de mauvaise foi)

Code : Tout sélectionner

if (isServer) then {

_objet = _this select 0;
_pos = getPos _objet;

deleteVehicle _objet;
_mine = "MineE" createVehicle _pos;

_declencheur = createTrigger["EmptyDetector",_pos];
_declencheur setTriggerArea[3,3,0,false];
_declencheur setTriggerActivation["ANY","PRESENT",false];

WaitUntil {(count list _declencheur) > 0};

_boom = "BO_GBU12_LGB" createVehicle _pos;
deleteVehicle _mine;

};
count sans condition renvoie le nombre d'éléments du tableau, tout simplement.
ou au pire tu aurais pu utiliser une condition qui revoie tout le temps vrai :

Code : Tout sélectionner

WaitUntil {({true} count list _declencheur) > 0};

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 10:24
par =[TTK]= Yourry
Merci à vous, je vais essayer tout ça.
ps: j'aime bien ta technique Clem qui est en plus super simple !!! Elle marche Nickel. Sinon la technique de Fresh marche aussi :D
Encore merci à vous deux !!!

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 11:03
par =[TTK]= Clem
sauf que j'avais oublier de faire disparaitre les élément du piège

faut juste renommer ta mine mine 1 et placer ceci dedans le declencheur a la fin

Code : Tout sélectionner

 deleteVehicle IED1; deleteVehicle mine1;

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 14:16
par =[TTK]= Freshmeat
@Clem : pourquoi tu utilises un objet caché et pas directement le déclencheur ? C'est juste pour éventuellement faire sauter une mine depuis un autre endroit ?

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 14:53
par =[TTK]= Clem
quand j'utilise juste le declencheur ,en voiture a pleine vitesse l'explosion se produit a quelques mètres dériere le véhicule et ne l'endommage que partiellement
tandis que avec un objet cacher placer a l'extérieur du déclencheur ça le détruit ou l'endommage gravement et éventuellement ce truc peut être réadapter a beaucoup de situation impliquant un explosif visible ou non.


PS : Fresh tu peux jeter un coup d'œil sur le script que j'ai poster dans ca sent bon la trahison,édition de missions et me dire comment le faire fonctionner s.v.p

Re: Script pour les mines

Posté : ven. 9 avr. 2010, 16:06
par =[TTK]= Freshmeat
Ok, dans ce cas, tu pourrais envisager :

_IED1 = "ARTY_R_227mm_HE" createVehicle (position (list mon_declencheur select 0));