• [Résolu] Petite question (sqf)


    Bonjour, ma question est la suivante :
    (PS : C’est en rapport avec ce post là : Lien

    while (player alive) do { // Tant que le joueur est vivant, on fait ...
    	if (player getVariable["restrained",false]) then {
                openMap False;
    	    hint "Vous avez les mains liées !";
    	};
    	else {
    	    openMap True;
    	};
    };
    

    Le résultat est le même que ce code ? :

    if (player getVariable["restrained", false]) exitWith { openMap False};
    
  • Le wiki te sera toujours utilise, pas contre, mettre un else à exitWith, c’est la première fois que je vois ça ^^ (Y a une première a tout comme tout on dit ahaha)

    Voici les liens qui t’aiderais

    https://community.bistudio.com/wiki/openMap
    https://community.bistudio.com/wiki/if

    Mais pourquoi passer via une boucle ?
    Je ne te suis pas trop.

    Cdt.

    Modérateur altisdev.
    SQF, C#, C++, VB, JS, Lua, PHP, HTML5, CSS5, PHP.
    Me contacter via Facebook

  • Pour le exitWith, c’est un fail xD
    Et sinon, pour la boucle… je sais pas trop aussi … je tente des trucs même si il y a pas vraiment d’utilité… mais merci pour les liens :p

  • @Ox745Y Ta boucle est pas trop dérangeante en soit, mais rip les perfs hein, jte conseillerais un waituntil perso

    https://community.bistudio.com/wiki/waitUntil

    Cdt.

    Modérateur altisdev.
    SQF, C#, C++, VB, JS, Lua, PHP, HTML5, CSS5, PHP.
    Me contacter via Facebook

  • removeAllWeapons player;
    

    ça permet de retirer les armes du joueur… Enfin bref, quelle commande utiliser pour faire en sorte de retirer uniquement les chargeurs sur la personne ou bien le chargeur dans l’arme en question ? Merci d’avance. @aecy

  • {player removeMagazine _x} forEach magazines player
    

    Je suis le méchant monsieur qui n aide pas !
    Le SQF ça s'apprend, ça ne s'improvise pas !
    Mon CV: https://www.youtube.com/user/brutalzic
    Mes sites: http://btrteam.fr
    http://devarma3france.fr
    Mon TS = ts3.btrteam.fr:52432
    Projet UnRealLife.fr

  • /* Script Ox745Y */
    
    _miranda = parseText "<t color='#EB0F0F'><t align='right'>Vous avez le droit de garder le silence.\n Si vous renoncez à ce droit, tout ce que vous direz pourra être et sera utilisé contre vous devant une cour de justice.\n Vous avez le droit à un avocat et d’avoir un avocat présent lors de l’interrogatoire.</t></t>";
    _Primary = primaryWeapon player;
    _Secondary = secondaryWeapon player;
    waitUntil {
    	if (player alive) then {
    		if (player getVariable["restrained",false]) then {
    			openMap False;
    			hint "Vous avez les mains liées !";
    			if (_Primary != "" && _Secondary != "") then {
    				{player removeMagazine _x} forEach magazines player; 
    				Sleep 5;
    				hint "Nous avons saisis les chargeurs sur vous !";
    
    			};
    
    			if (_Primary == "" && _Secondary == "") then {
    				hint format["%1", _miranda];
    			
    			};
    		if (player getVariable["restrained", false] > 780) then { // Si il est mennoté + de 13 minutes... il est libre ??
    			player getVariable["restrained", true];
    			hint "Vous êtes libre desormais !";
                            Sleep 10;
                            openMap True;
    				};
    		else {
    			openMap True;};
    		};
    
    
    	};
    };
    
    

    J’ai 2 questions x) :

    1. Le code en lui même peut fonctionner correctement ?
    2. if (player getVariable["restrained", false] > 780)
      Ce bout de code signifie bien que si la personne est
      menottée + de 13minutes(780secondes)… elle est libre ?
  • Comme tu peux le voir ta variable retourne un boolean

    player getVariable["restrained", false]
    

    donc true ou false
    tu ne peux donc pas la comparer a un SCALAR (un numero)

    Il te faudrait faire un script qui surveille la duree de cette variable et qui y mette fin au bout de ton temps:
    regarde => https://community.bistudio.com/wiki/for

    Avec un for tu peux realiser des boucles de temps
    ou une explication global des commande
    https://community.bistudio.com/wiki/Control_Structures

    Je suis le méchant monsieur qui n aide pas !
    Le SQF ça s'apprend, ça ne s'improvise pas !
    Mon CV: https://www.youtube.com/user/brutalzic
    Mes sites: http://btrteam.fr
    http://devarma3france.fr
    Mon TS = ts3.btrteam.fr:52432
    Projet UnRealLife.fr

  • Yo, merci pour l’aide, j’ai add la boucle for pour gérer le temps :
    Par contre, je sais pas si le : 3 enableChannel true est pas obsolète pour les nouvelles versions AltisLife …
    Sur le site de Bohemia, il mette que c’est pour la version:
    1.42
    ah oui, à la place de _primary == "", on peut utiliser _primary isEqualTo "" ?

    /* Script Ox745Y */
    
    _miranda = parseText "<t color='#EB0F0F'><t align='right'>Vous avez le droit de garder le silence.\n Si vous renoncez à ce droit, tout ce que vous direz pourra être et sera utilisé contre vous devant une cour de justice.\n Vous avez le droit à un avocat et d’avoir un avocat présent lors de l’interrogatoire.</t></t>";
    _Primary = primaryWeapon player;
    _Secondary = secondaryWeapon player;
    waitUntil {
    	if (player alive) then {
    		for [{_temps=0}, {_temps =< 780}, {_temps = _temps + 1}] do {
    			player getVariable["restrained", false]; // Quand _temps =< 780, la personne reste menottée !
    			openMap False;
    			hint "Vous avez les mains liées !";
                            3 enableChannel false; /* Desactive le fait de parler + 
                                                         d'envoyer des messages en canal groupe ! */
    			if (_Primary != "" && _Secondary != "") then {
    				{player removeMagazine _x} forEach magazines player; 
    				Sleep 5;
    				hint "Nous avons saisis les chargeurs sur vous !";};
    			if (_Primary == "" && _Secondary == "") then {
    				hint format["%1", _miranda];
    			};
    		};
    		if (_temps > 780) then {
    			player getVariable["restrained", true];
    			hint "Vous êtes libre desormais !";
                            Sleep 10;
               	        openMap True;
                            3 enableChannel true; /* Active le fait de parler + 
                                                         d'envoyer des messages en canal groupe ! */
               	};
    		else {
    			openMap True;
    			};
    	};
    
    };
    
    

    @brutalzic

  • C’est bon, merci pour l’aide ;)
    Bonne soirée @brutalzic, @aecy

sqf1 Messages 10Vues 566
Se connecter pour répondre