Aller directement au contenu
  • Catégories
  • Récent
  • Mots-clés
  • Populaire
  • Web
  • Utilisateurs
  • Groupes
Habillages
  • Clair
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Sombre
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Défaut (Aucun habillage)
  • Aucun habillage
Réduire
Melinyel

Melinyel

  1. Accueil
  2. Emulation
  3. Arma III
  4. Tutoriels
  5. Mettre du nitro

Mettre du nitro

Planifié Épinglé Verrouillé Déplacé Tutoriels
4 Messages 3 Publieurs 2.1k Vues
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • hamzadamsH Hors-ligne
    hamzadamsH Hors-ligne
    hamzadams
    a écrit sur dernière édition par
    #1

    Mettre du nitro

    Adapter pour la version 3.1.4.8 (La dernière de itsyuka)

    Pour commencer on va créée l'item "nitro" :

    Vous aller dans le fichier fn_VarHandle.sqf pour y rajoutez  dans la case 0 dans le switch

    case 0:
    {
    switch (_mode) do
    {
    	case 0:
    	{
    		switch (_var) do
    		{
    			case "nitro": {"life_inv_nitro"};
    		};
    	};
    

    Maintenant vous aller juste en bas dans case 1

    case 1:
    	{
    		switch (_var) do
    		{
    			case "life_inv_nitro": {"nitro"};
    		};
    	};
    };
    

    Voila maintenant l'items créer on va le configurer pour ça il faut aller dans le fichier Config_Master.hpp

    puis aller dans la class VirtuelItems

    //Virtual Items
    class VirtualItems {
    	VITEMMACRO(nitro,"Nitro",nitro,5,1500,0,-1,false,-1,"")
    };
    

    Voila vous rajouter ça puis vous pouvez configurer le poids le prix ...

    et pour terminer la config il faut aller dans le fichier fn_useItem.sqf

    Vous rajouter ça a la fin avant Default

    case (EQUAL(_item,"nitro")): {
    		if(vehicle player != player) exitWith {hint "Nitro Activer"};
    		[] spawn life_fnc_nitroUse;
    		else {
    			hint format ["Il faut etre dans un vehicule pour utiliser %1",player ]
    		}
    };
    

    Puis vous allez dans le fichier de configuration des touches fn_KeyHandler.sqf

    vous rajouter ça ou vous voulez de façon logique bien sur ^^

    //N Touche Nitro 
    	case 49: 
    		if([false,"nitro",1] call life_fnc_handleInv) then
    		{
    			[] spawn life_fnc_nitroUse;	
    		}
    	}
    

    Pour finir vous créer un fichier fn_nitroUse.sqf dans \Altis-Life-master\extDB-Build\Altis_Life.Altis\core\items

    /*fn_nitroUse.sqf
    Adapter pour altis life par HamzaDams
    By: Hellop 2008
    Copyright: Released to the Public Domain.  It would be cool if you gave me credit in your mission if you use it.
    Purpose: Simulate Nitrous Oxide speed-boost for vehicles.  Sets global variable on client computer, cli_nitroLock 
    so that the nitro can't be engaged more than once at at time.
    
    Pre: 1. Global var: cli_nitroLock = true;
    2. Player's vehicle has an action menu item enabled that runs this script. e.g. in the initline of a car/tank:
    this addEventHandler ["getin", {
    if ((_this select 1) == "driver") then {
    actionIDNitro = _this select 0 addAction ["Nitro", "client\action\fn_nitroUse.sqf"];  
    }; 
    }]; 
    this addEventHandler ["getout", {_this select 0 removeAction actionIDNitro;}]; 
    
    Post: cli_nitroLock is set to true;
    
    Testing: 5 min. reverse doesn't work.  Would be nice if it worked dynamically from vehicle weight/maxspeed.
    Air Vehicles not tested.
    */
    
    private ["_obj", "_vel", "_tmrInterval", "_dir", "_maxSpeed"];
    
    _actionID = _this select 2; 
    _obj = vehicle player;
    //Tanks and stuff get less nitro.
    _tmrInterval = .1;
    _maxSpeed = 120;
    _speedMultiplier = .4; //2 is good for cars, too much for tanks
    _nitroDuration = 5;
    
    if ((typeOf _obj) isKindOf "Car")  then {
    _tmrInterval = .02;
    _maxSpeed = 180;
    _speedMultiplier = 1.5; 
    };
    
    if ((typeOf _obj) isKindOf "Air") then {
    _tmrInterval = .02;
    _maxSpeed = 500;  //What is best val here?
    _speedMultiplier = .3; 
    };
    
    if ((typeOf _obj) isKindOf "Motorcycle") then {
    _tmrInterval = .02;
    _maxSpeed = 140;  //What is best val here?
    _speedMultiplier = .2; 
    };
    
    //Initialize vars;
    _vel = 0;
    _velX = 0;
    _velY = 0;
    _velZ =0;
    _dir = 0;
    _sinDir = 0;
    _cosDir = 0;
    _previousVel = velocity _obj;
    _previousSpeed = speed _obj;
    _curSpeed = 0;
    if ((speed _obj) <= 3) then {
    player sideChat format ["Vous devez être en mouvement pour activer Nitro."];
    }
    else {    
    if (cli_nitroLock) then { 
    cli_nitroLock = false;
    player sideChat format ["Nitro engagé."];
    //player globalchat format["Time: %1, Vehicle Type: %2, MaxSpeed: %3", time, typeOf _obj, _maxSpeed]; 
    _startTime = time;
    _tmpSpeedMultiplier = _speedMultiplier;
    while {(time - _startTime) < _nitroDuration} do { 
    sleep _tmrInterval;
    _vel = velocity _obj;
    _curSpeed = (speed _obj);
    if (((abs _curSpeed) - (abs _previousSpeed)) > 30) then {_vel = _previousVel};  //To prevent getting thrown far in collisions
    _velX = _vel select 0;
    _velY = _vel select 1;
    _velZ = _vel select 2;
    _dir = getdir _obj;
    //player globalChat format ["Speed: %1", speed _obj];
    if ((speed _obj) > _maxSpeed) then {_tmpSpeedMultiplier = 0} else {_tmpSpeedMultiplier = _speedMultiplier}; 
    _sinDir = _tmpSpeedMultiplier*(sin _dir);
    _cosDir = _tmpSpeedMultiplier*(cos _dir);
    _obj setvelocity [_velX + _sinDir, _velY + _cosDir, _velZ -.1]; //Keep Z vector moving with gravity
    _previousSpeed = _curSpeed;
    _previousVel = _vel; 
    };
    cli_nitroLock = true;
    player sideChat format ["Test Nitro Fait ! Vel: %1. Dir: %2, Speed: %3", velocity _obj, direction _obj, speed _obj];
    };
    };
    

    Voila j’espère ça marchera pour tout le monde et que j'ai été le plus claire ^^ Faite moi des retour

    1 réponse Dernière réponse
    1
    • SoulalexS Hors-ligne
      SoulalexS Hors-ligne
      Soulalex
      a écrit sur dernière édition par
      #2

      Merci du partage :)

      Soulalex, Administrateur de Melinyel
      + E-Mail : [[email protected]](mailto:[email protected] "Lien vers un courriel")
      + GitHub : [https://github.com/Soualex](https://github.com/Soualex "Lien externe")

      1 réponse Dernière réponse
      0
      • vfrzV Hors-ligne
        vfrzV Hors-ligne
        vfrz
        a écrit sur dernière édition par
        #3

        Merci pour le tutoriel !

        hbY2yJ9.gif7CNtQh6.gif

        1 réponse Dernière réponse
        0
        • hamzadamsH Hors-ligne
          hamzadamsH Hors-ligne
          hamzadams
          a écrit sur dernière édition par
          #4

          Y'a pas de souci il y'a d'autre contenu qui arrive  ;)

          1 réponse Dernière réponse
          0

          Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.

          Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.

          Grâce à votre participation, ce message peut devenir encore meilleur 💗

          S'inscrire Se connecter
          Répondre
          • Répondre à l'aide d'un nouveau sujet
          Se connecter pour répondre
          • Du plus ancien au plus récent
          • Du plus récent au plus ancien
          • Les plus votés


          • Se connecter

          • Connectez-vous ou inscrivez-vous pour faire une recherche.
          Powered by NodeBB Contributors
          • Premier message
            Dernier message
          0
          • Catégories
          • Récent
          • Mots-clés
          • Populaire
          • Web
          • Utilisateurs
          • Groupes