mirror of
https://github.com/Fallingsheep1985/Arma3Epoch.git
synced 2024-08-30 16:42:12 +00:00
build bike/chopper fix
This commit is contained in:
parent
b5187b1f0d
commit
88ab72a437
@ -1,20 +1,25 @@
|
|||||||
//The script://
|
|
||||||
|
|
||||||
|
//Created by - Fallingsheep
|
||||||
//Script created by Bakler2
|
//Special thanks - infistar
|
||||||
//edited by falling sheep to makechopper
|
|
||||||
|
|
||||||
|
//check if player has scrap
|
||||||
if ("ItemScraps" in magazines player) then{
|
if ("ItemScraps" in magazines player) then{
|
||||||
|
//check if player has toolkit
|
||||||
if ("ToolKit" in magazines player) then{
|
if ("ToolKit" in magazines player) then{
|
||||||
|
player playActionNow "Medic"; // play build animation
|
||||||
|
sleep 3; //wait 3 seconds
|
||||||
|
//remove scrap from inventory
|
||||||
player removeMagazine "ItemScraps";
|
player removeMagazine "ItemScraps";
|
||||||
|
//set vehcile tokens
|
||||||
if (!isNil 'EPOCH_server_setVToken') then {_vehObj call EPOCH_server_setVToken;};
|
if (!isNil 'EPOCH_server_setVToken') then {_vehObj call EPOCH_server_setVToken;};
|
||||||
if (!isNil 'EPX_server_setVToken') then {_vehObj call EPX_server_setVToken; };
|
if (!isNil 'EPX_server_setVToken') then {_vehObj call EPX_server_setVToken; };
|
||||||
|
|
||||||
_vehClass = "ebike_epoch";
|
_vehClass = "ebike_epoch"; // vehicle class to spawn
|
||||||
_position = [((getPos player) select 0) + 2, ((getPos player) select 1) + 2, 0];
|
_position = [((getPos player) select 0) + 2, ((getPos player) select 1) + 2, 0]; // get player pos for spawning
|
||||||
_saveVehicle call EPOCH_server_save_vehicle;
|
|
||||||
_dir = getDir player;
|
_dir = getDir player;
|
||||||
|
//spawn the vehicle at players postion
|
||||||
_vehObj = _vehClass createVehicle (_position);
|
_vehObj = _vehClass createVehicle (_position);
|
||||||
|
//set vehicle slots
|
||||||
if (!isNil 'EPX_server_vehicleInit') then {_vehObj call EPX_server_vehicleInit};
|
if (!isNil 'EPX_server_vehicleInit') then {_vehObj call EPX_server_vehicleInit};
|
||||||
EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1;
|
EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1;
|
||||||
EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit);
|
EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit);
|
||||||
@ -22,11 +27,13 @@
|
|||||||
_vehObj setVariable ['VEHICLE_SLOT',_slot,true];
|
_vehObj setVariable ['VEHICLE_SLOT',_slot,true];
|
||||||
EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot];
|
EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot];
|
||||||
EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots;
|
EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots;
|
||||||
publicVariable 'EPOCH_VehicleSlotCount';
|
publicVariable 'EPOCH_VehicleSlotCount';
|
||||||
|
//remove any items from vehicle
|
||||||
clearWeaponCargoGlobal _vehObj;
|
clearWeaponCargoGlobal _vehObj;
|
||||||
clearMagazineCargoGlobal _vehObj;
|
clearMagazineCargoGlobal _vehObj;
|
||||||
clearBackpackCargoGlobal _vehObj;
|
clearBackpackCargoGlobal _vehObj;
|
||||||
clearItemCargoGlobal _vehObj;
|
clearItemCargoGlobal _vehObj;
|
||||||
|
//randomize colour if more than 1 available
|
||||||
_config = (configFile >> 'CfgVehicles' >> _vehClass >> 'availableColors');
|
_config = (configFile >> 'CfgVehicles' >> _vehClass >> 'availableColors');
|
||||||
if (isArray(_config)) then{_textureSelectionIndex = configFile >> 'CfgVehicles' >> _vehClass >> 'textureSelectionIndex';
|
if (isArray(_config)) then{_textureSelectionIndex = configFile >> 'CfgVehicles' >> _vehClass >> 'textureSelectionIndex';
|
||||||
_selections = if (isArray(_textureSelectionIndex)) then {getArray(_textureSelectionIndex)} else { [0] };
|
_selections = if (isArray(_textureSelectionIndex)) then {getArray(_textureSelectionIndex)} else { [0] };
|
||||||
@ -39,15 +46,11 @@
|
|||||||
_vehObj setObjectTextureGlobal [_x, (_textures select _color)];
|
_vehObj setObjectTextureGlobal [_x, (_textures select _color)];
|
||||||
} forEach _selections;
|
} forEach _selections;
|
||||||
_vehObj setVariable ['VEHICLE_TEXTURE',_color];
|
_vehObj setVariable ['VEHICLE_TEXTURE',_color];
|
||||||
};
|
};
|
||||||
|
//Save vehicle
|
||||||
if (!isNil 'EPOCH_server_save_vehicle') then {_vehObj call EPOCH_server_save_vehicle};
|
if (!isNil 'EPOCH_server_save_vehicle') then {_vehObj call EPOCH_server_save_vehicle};
|
||||||
if (!isNil 'EPX_server_save_vehicle') then {_vehObj call EPX_server_save_vehicle;};
|
if (!isNil 'EPX_server_save_vehicle') then {_vehObj call EPX_server_save_vehicle;};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
player playActionNow "Medic";
|
|
||||||
|
|
||||||
sleep 3;
|
|
||||||
cutText [format["You built a EBike."], "PLAIN DOWN"];
|
cutText [format["You built a EBike."], "PLAIN DOWN"];
|
||||||
} else {
|
} else {
|
||||||
SystemChat "You need a Toolkit to build a EBike.";
|
SystemChat "You need a Toolkit to build a EBike.";
|
||||||
|
@ -1,34 +1,61 @@
|
|||||||
//The script://
|
|
||||||
|
|
||||||
|
|
||||||
//Script created by Bakler2
|
//Created by - Fallingsheep
|
||||||
//edited by falling sheep to makechopper
|
//Special thanks - infistar
|
||||||
|
|
||||||
if (("ItemScraps" in magazines player)&&("jerrycan_epoch" in magazines player)&&("CircuitParts" in magazines player)&&("VehicleRepair" in magazines player)) then {
|
if (("ItemScraps" in magazines player)&&("jerrycan_epoch" in magazines player)&&("CircuitParts" in magazines player)&&("VehicleRepair" in magazines player)) then {
|
||||||
if ("ToolKit" in magazines player) then{
|
if ("ToolKit" in magazines player) then{
|
||||||
player removeMagazine "ItemScraps";
|
|
||||||
player removeMagazine "CircuitParts";
|
player playActionNow "Medic"; // play build animation
|
||||||
player removeMagazine "VehicleRepair";
|
sleep 3; //wait 3 seconds
|
||||||
player removeMagazine "jerrycan_epoch";
|
//remove items from inventory
|
||||||
|
player removeMagazine "ItemScraps";
|
||||||
|
player removeMagazine "CircuitParts";
|
||||||
|
player removeMagazine "VehicleRepair";
|
||||||
|
player removeMagazine "jerrycan_epoch";
|
||||||
|
//set vehcile tokens
|
||||||
|
if (!isNil 'EPOCH_server_setVToken') then {_vehObj call EPOCH_server_setVToken;};
|
||||||
|
if (!isNil 'EPX_server_setVToken') then {_vehObj call EPX_server_setVToken; };
|
||||||
|
|
||||||
_spawn = "B_Heli_Light_01_EPOCH";
|
_vehClass = "B_Heli_Light_01_EPOCH"; // vehicle class to spawn
|
||||||
_posplr = [((getPos player) select 0) + 2, ((getPos player) select 1) + 2, 0];
|
_position = [((getPos player) select 0) + 2, ((getPos player) select 1) + 2, 0]; // get player pos for spawning
|
||||||
_saveVehicle call EPOCH_server_save_vehicle;
|
_dir = getDir player;
|
||||||
_dirplr = getDir player;
|
//spawn the vehicle at players postion
|
||||||
_spwnveh = _spawn createVehicle (_posplr);
|
_vehObj = _vehClass createVehicle (_position);
|
||||||
_spwnveh setVariable ["Sarge",1,true];
|
//set vehicle slots
|
||||||
_vehObj call EPOCH_server_save_vehicle;
|
if (!isNil 'EPX_server_vehicleInit') then {_vehObj call EPX_server_vehicleInit};
|
||||||
|
EPOCH_VehicleSlotsLimit = EPOCH_VehicleSlotsLimit + 1;
|
||||||
_vehObj call EPOCH_server_setVToken;
|
EPOCH_VehicleSlots pushBack str(EPOCH_VehicleSlotsLimit);
|
||||||
|
_slot = EPOCH_VehicleSlots select 0;
|
||||||
|
_vehObj setVariable ['VEHICLE_SLOT',_slot,true];
|
||||||
player playActionNow "Medic";
|
EPOCH_VehicleSlots = EPOCH_VehicleSlots - [_slot];
|
||||||
|
EPOCH_VehicleSlotCount = count EPOCH_VehicleSlots;
|
||||||
sleep 3;
|
publicVariable 'EPOCH_VehicleSlotCount';
|
||||||
|
//remove any items from vehicle
|
||||||
|
clearWeaponCargoGlobal _vehObj;
|
||||||
|
clearMagazineCargoGlobal _vehObj;
|
||||||
|
clearBackpackCargoGlobal _vehObj;
|
||||||
|
clearItemCargoGlobal _vehObj;
|
||||||
|
//randomize colour if more than 1 available
|
||||||
|
_config = (configFile >> 'CfgVehicles' >> _vehClass >> 'availableColors');
|
||||||
|
if (isArray(_config)) then{_textureSelectionIndex = configFile >> 'CfgVehicles' >> _vehClass >> 'textureSelectionIndex';
|
||||||
|
_selections = if (isArray(_textureSelectionIndex)) then {getArray(_textureSelectionIndex)} else { [0] };
|
||||||
|
_colors = getArray(_config);
|
||||||
|
_textures = _colors select 0;
|
||||||
|
_color = floor (random (count _textures));
|
||||||
|
_count = (count _colors)-1;
|
||||||
|
{
|
||||||
|
if (_count >= _forEachIndex) then{_textures = _colors select _forEachIndex;};
|
||||||
|
_vehObj setObjectTextureGlobal [_x, (_textures select _color)];
|
||||||
|
} forEach _selections;
|
||||||
|
_vehObj setVariable ['VEHICLE_TEXTURE',_color];
|
||||||
|
};
|
||||||
|
//Save vehicle
|
||||||
|
if (!isNil 'EPOCH_server_save_vehicle') then {_vehObj call EPOCH_server_save_vehicle};
|
||||||
|
if (!isNil 'EPX_server_save_vehicle') then {_vehObj call EPX_server_save_vehicle;};
|
||||||
cutText [format["You built a Chopper."], "PLAIN DOWN"];
|
cutText [format["You built a Chopper."], "PLAIN DOWN"];
|
||||||
} else {
|
} else {
|
||||||
SystemChat "You need a Toolkit to build a Chopper.";
|
SystemChat "You need a Toolkit to build a Chopper.";
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
SystemChat "You need Scrap,CircutParts,Jerrycan and Vehicle Repair items to build a Chopper.";
|
SystemChat "You need Scrap, CircutParts, A Jerrycan and Vehicle Repair items to build a Chopper.";
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user