Hallo,
Hier ein kleineres Script.
Man kauft ein Nitroboost (iTem) und klebt diesen an das Auto fand ich so etwas besser und simpler.
Das anklebscript is von mir geschrieben und das Boostscript da habe ich leider keinen Plan evtl meldet sich ja mal jemand.
Erstellen wir das Erste Script :
fn_nos.sqf
/*
Author : Brizi Jaeger
Created : 17.03.2017
File : fn_nos.sqf
Description : Klebt nen Kistenschlüssel an die Kiste!
*/
private ["_action"];
#include "..\script_macros.hpp"
if (life_action_inUse) exitWith {};
if(!(vehicle player == player)) exitWith {hint format["Steige aus dem Fahrzeug aus! (%1)",name player]};
_unit = cursorTarget;
if (count (_unit getVariable ["vehicle_info_owners", []]) < 1 || !(_unit isKindOf "Car")) exitWith {hint "Du kannst hier kein NoS einbauen.";};
life_action_inUse = true;
_action = [
format ["Nitro einbauen?"],
"Fahrzeuginteraktionsmenü",
localize "STR_Global_Yes",
localize "STR_Global_No"
] call BIS_fnc_guiMessage;
if (_action) then {
[false,"nitro",1] call life_fnc_handleinv;
hint "Nitrochip wird angeklebt...";
player playMove "AwopPercMstpSgthWnonDnon_throw";
sleep 3;
_unit setVariable["nitro",3,true];
hint "Dir stehen 3x Nitrobooster zur Verfügung!";
life_action_inUse = false;
} else {
hint "Nitro ist nicht das beste!";
closeDialog 0;
life_action_inUse = false;
};
Alles anzeigen
2. Als Zweites : fn_boostNitro.sqf erstellen
_vehicle = vehicle player;
if (_vehicle == player) exitWith {};
if (driver _vehicle != player) exitWith {};
if ((_vehicle getVariable ["nitro",0]) < 1) exitWith {};
if ((speed _vehicle) <= 10) exitWith {hint "Du musst schneller als 10km/h fahren um dein Nitro aktivieren zu können!"};
_vehicle setVariable["nitro",((_vehicle getVariable["nitro",0]) - 1),true];
_vehicle setVariable["nitroTime", time, false];
systemChat format ["Nitro aktiviert."];
_vel = velocity _vehicle;
_dir = direction _vehicle;
_speed = 20; //how much you want to add speed for the vehicle
_vehicle setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+ (cos _dir*_speed),(_vel select 2)];
Alles anzeigen
Als Drittes : in die Functions schreiben , aber in den Ordner wo Ihr das Script au rein packt (z.B file = "core\functions\;) dann in den functions ordner
4. Neues iTem erstellen und in den jeweiligen gewünschten Shop eintragen :
class nitro { variable = "nitro"; displayName = "nitro"; weight = 2; buyPrice = 50000; sellPrice = -1; illegal = false; edible = -1; icon = ""; };
5. Stringtable noch eintragen :
6. SetupActions öffnen [core Ordner] den Code in jede Fraktion wie gewünscht eintragen
life_actions pushBack [player addAction["<t color='#00FF00'>Nitro aktivieren</t>",life_fnc_boostNitro,false,2,false,false,"",' (vehicle player != player) && (driver vehicle player == player) && (((vehicle player) getVariable["nitro", 0]) > 0) ']];
7. in die usteitem noch das eintragen (core\pmenu\useitem)
Ansonsten dürfte es das gewesen sein, entschuldigt mich für das bissl Unordnung sollte aber dennoch verständlich sein.
Wer Probleme hat einfach unten melden!
MfG