hamzadams Posté(e) November 1, 2015 Signaler Share Posté(e) November 1, 2015 (modifié) 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 switchcase 0: { switch (_mode) do { case 0: { switch (_var) do { case "nitro": {"life_inv_nitro"}; }; };Maintenant vous aller juste en bas dans case 1case 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.hpppuis 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.sqfVous 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.sqfvous 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 Modifié November 1, 2015 par hamzadams 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulalex Posté(e) November 1, 2015 Signaler Share Posté(e) November 1, 2015 Merci du partage Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
vfrz Posté(e) November 1, 2015 Signaler Share Posté(e) November 1, 2015 Merci pour le tutoriel ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
hamzadams Posté(e) November 1, 2015 Auteur Signaler Share Posté(e) November 1, 2015 Y'a pas de souci il y'a d'autre contenu qui arrive Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.