Page 2 sur 2

Re: Course d'étape => Compter les points

Posté : ven. 26 févr. 2010, 14:19
par =[TTK]= MoreBack

Dernier message de la page précédente :

bon j'ai père fait qu'scionné le bazar !

l'init :

Code : Tout sélectionner

/* execVM "briefing.sqf"; */

// Compteurs des joueurs.
C1=0; publicVariable "C1";
C2=0; publicVariable "C2";
C3=0; publicVariable "C3";
C4=0; publicVariable "C4";
C5=0; publicVariable "C5";
C6=0; publicVariable "C6";
// drapeaux des joueurs pour la dernière étape.
le1=false; publicVariable "le1";
le2=false; publicVariable "le2";
le3=false; publicVariable "le3";
le4=false; publicVariable "le4";
le5=false; publicVariable "le5";
le6=false; publicVariable "le6";
// compteur du rang et coef nombre de joueurs x étape.
rangPoint=0; publicVariable "rangPoint";
nbr=12; publicVariable "nbr";
Le script de comptage :

Code : Tout sélectionner

/* Script sqf de comptage Baille MoreBack on dze TTK compagny */

_p = player;
_ran = rangPoint;
_offset=nbr;

switch (_p) Do
{
	case J1 :
		{ C1 = C1 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C1, le1]; };
	case J2 :
		{ C2 = C2 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C2, le2]; };
	case J3 :
		{ C3 = C3 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C3, le3]; };
	case J4 :
		{ C4 = C4 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C4, le4]; };
	case J5 :
		{ C5 = C5 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C5, le5]; };
	case J6 :
		{ C6 = C6 + _offset - _ran; hint format["%1 Score %2 lastE %3", _p, C6, le6]; };
};

rangPoint = rangPoint + 1;
sleep 0.5;
extrêmement simple !

puis le script pour la dernière étape (pour savoir si tout le monde est passé)
ça fonctionne mais j'ai été obligé de scinder une condition !
le or ne fonctionne pas avec isNil {} (peut être les crochets ?)

Code : Tout sélectionner

/* Script sqf de comptage Baille MoreBack on dze TTK compagny */

_p = player;
// on active les drapeaux personnels des joueurs pour la dernère étape.
switch (_p) Do
{
	case J1 :
		{ le1 = true; };
	case J2 :
		{ le2 = true; };
	case J3 :
		{ le3 = true; };
	case J4 :
		{ le4 = true; };
	case J5 :
		{ le5 = true; };
	case J6 :
		{ le6 = true; };
};
// Comme c'est la dernère étape on compte les derniers points.
execVM "scores.sqf";
sleep 2;
// si un joueur meurt ou n'existe pas on active son lastetape
if (!alive J1) then { le1 = true; };
if (!alive J2) then { le2 = true; };
if (!alive J3) then { le3 = true; };
if (!alive J4) then { le4 = true; };
if (!alive J5) then { le5 = true; };
if (!alive J6) then { le6 = true; };
if (isNil {J1}) then { le1 = true; };
if (isNil {J2}) then { le2 = true; };
if (isNil {J3}) then { le3 = true; };
if (isNil {J4}) then { le4 = true; };
if (isNil {J5}) then { le5 = true; };
if (isNil {J6}) then { le6 = true; };
hint format["%1 %2 %3 %4 %5 %6", isNil {J1}, isNil {J2}, isNil {J3}, isNil {J4}, isNil {J5}, isNil {J6}];
sleep 2;
hint format["%1 %2 %3 %4 %5 %6", le1, le2, le3, le4, le5, le6];
sleep 2;
// On verifie que tous joueurs vivants ont franchis la dernière étape.
if (le1 && le2 && le3 && le4 && le5 && le6) then {
	_Ligne1 = formatText["Joueur J1 score: %1" , C1];
	_Ligne2 = formatText["Joueur J2 score: %1" , C2];
	_Ligne3 = formatText["Joueur J3 score: %1" , C3];
	_Ligne4 = formatText["Joueur J4 score: %1" , C4];
	_Ligne5 = formatText["Joueur J5 score: %1" , C5];
	_Ligne6 = formatText["Joueur J6 score: %1" , C6];
	"Scores" hintC [_Ligne1,_Ligne2,_Ligne3,_Ligne4,_Ligne5,_Ligne6];
};
les slips c'est pour le debug hein. faut pas déconner.
et cerise sur la porte ouverte n'amasse pas mousse !
le tableau des scores à la fin.

d'ailleurs le score final faudra que je le mette dans le débriefing sinon y'a que le dernier joueur qui le verra :D !


seti pablo ?

Re: Course d'étape => Compter les points

Posté : ven. 26 févr. 2010, 14:22
par Camille Caz
C'était trop d'enthousiasme.
Tout compte fait, ça marche pas :cry:

Re: Course d'étape => Compter les points

Posté : lun. 1 mars 2010, 00:04
par =[TTK]= MoreBack
En fait je pensais que le script était déclenché uniquement par le joueur qui active le déclencheur.
et ce n'est visiblement pas le cas.
il est exécuté chez tous les joueurs.
et si je veut que du coté serveur,
quand j'entoure le script d'un if (isServer) then { .... }
rien ne se passe !
même un hint ne fonctionne pas.
Freshmeat si tu peut m'expliquer les nuances du bazar :D