Génération aléatoire




huntertherabbit - 09 Mars 2016, 1:38


Bonjour,

J'aimerais faire des spawns d'escouades en utilisant le script de Raph_VR.

Ce que j'aimerais faire c'est l'utilisation d'une variable aléatoire,
pour choisir l'escouade afin de tromper tout le monde même le mappeur! ^^

Cependant mes connaissances dans ce langage sont limitées.
C'est pourquoi j'ai besoin de votre aide :fsb2_cry:



Par peur de n'être pas compris voilà un petit exemple:

Voici les lignes à mettre dans l'Init du déclencheur, afin de faire spawn l'escouade.

Citation
//Escouade (10)
case1=patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD"] execVM "spawn\pat_spawn.sqf";

//Escouade de commandement (4)
case2=patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_CHQ"] execVM "spawn\pat_spawn.sqf";

//Escouade 2xMittrailleurs (7)
case3=patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_2MG"] execVM "spawn\pat_spawn.sqf";

//Escouade Sniper (2)
case4=patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_SNIPER"] execVM "spawn\pat_spawn.sqf";

//Escouade Mitrailleurs, Snipers (7)
case5=patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_MG_SNIPER"] execVM "spawn\pat_spawn.sqf";


J'aimerais que le script choisis aléatoirement la ligne de code correspondant à l'escouade,
et que celle-ci sois inséré automatiquement dans le déclencheur ou autre script facile à mettre en place.

Aussi j'aimerais que le nombres de patrouilles soit aléatoire (1 patrouilles ou 2 patrouilles etc...)


J'espêre avoir été sufisemment clair :fsb2_smyle:

Merci d'avance
Huntertherabbit


huntertherabbit - 09 Mars 2016, 23:54


Bonjour,

Aprês réflexion, et lecture d'un tuto proposé par un membre du forum, j'ai trouvé une solution.

Je part donc sur une utilisation d'un switch.

Cependant, la fonction "random" me fait défaut.
Je en sais pas comment l'utiliser et je ne trouve rien.

J'aimerais également savoir si le numéro sorti de la fonction est il x => [0;1]?

Voici le script (pas du tout opérationnel), je suis sur la bonne voie?

Citation
_choix_pat = random *10;


switch (choix_pat) do {

case VALEUR_1: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_2: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_CHQ"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_3: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_2MG"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_4: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_SNIPER"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_5: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_MG_SNIPER"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_6: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_MG"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_7: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_MARKSMAN"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_8: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_AT"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_9: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_AA"] execVM "spawn\pat_spawn.sqf";};
case VALEUR_10: {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_FIRETEAM"] execVM "spawn\pat_spawn.sqf";};

default {patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_2MG"] execVM "spawn\pat_spawn.sqf";};
};

hint "spawn";

if (true) exitWith {};



Merci d'avance,
Huntertherabbit


The-KiLLeR - 14 Mars 2016, 18:20


Salut,

Cela devrait plutôt ressembler à ça (en optimisant un peut le code) :

Code (Sélectionner)
_infantry = switch (random 10) do {
	case 0: { "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD" };
	case 1: { "RHS_GROUP_RUS_MSV_INFANTRY_CHQ" };
	case 2: { "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_2MG" };
	case 3: { "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_SNIPER" };
	case 4: { "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_MG_SNIPER" };
	case 5: { "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_MG" };
	case 6: { "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_MARKSMAN" };
	case 7: { "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_AT" };
	case 8: { "RHS_GROUP_RUS_MSV_INFANTRY_SECTION_AA" };
	case 9: { "RHS_GROUP_RUS_MSV_INFANTRY_FIRETEAM" };
	default { "RHS_GROUP_RUS_MSV_INFANTRY_SQUAD_2MG" };
};

patrouille = [pat,6,800,350,east,configfile >> "CfgGroups" >> "East" >> "RHS_FACTION_MSV" >> "RHS_GROUP_RUS_MSV_INFANTRY" >> _infantry] execVM "spawn\pat_spawn.sqf";

hint "spawn";

if (true) exitWith {};