finished the resupply dialog

This commit is contained in:
Dubjunk 2019-02-24 01:45:36 +01:00
parent 91d4510b6e
commit 1cb357aefa
10 changed files with 566 additions and 11 deletions

View File

@ -14,6 +14,7 @@
"KPLIB_eden_boxspawn",
"KPLIB_eden_potatospawn",
"KPLIB_eden_startbase",
"KPLIB_param_aceResupply",
"KPLIB_param_ammoInfluence",
"KPLIB_param_arsenalType",
"KPLIB_param_clearVehicleCargo",
@ -36,6 +37,10 @@
"KPLIB_param_refundSupply",
"KPLIB_param_refundAmmo",
"KPLIB_param_refundFuel",
"KPLIB_param_resupplyAmmoCost",
"KPLIB_param_resupplyFuelCost",
"KPLIB_param_resupplyGallCost",
"KPLIB_param_resupplyMagCost",
"KPLIB_param_reviveBleedOutDuration",
"KPLIB_param_reviveDuration",
"KPLIB_param_reviveForceRespawnDuration",

View File

@ -0,0 +1,65 @@
/*
KPLIB_fnc_calcCosts
File: fn_logi_calcCosts.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-23
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
Calculates the costs of the resupply action.
Parameter(s):
NONE
Returns:
Function reached the end [BOOL]
*/
// Dialog controls
private _dialog = findDisplay 7580233;
private _ctrlCargo = _dialog displayCtrl 68741;
private _ctrlCosts = _dialog displayCtrl 68743;
private _ctrlSlider = _dialog displayCtrl 68744;
private _ctrlSliderValue = _dialog displayCtrl 68745;
private _ctrlTotalCosts = _dialog displayCtrl 68746;
private _resupplyButton = _dialog displayCtrl 68747;
// Read the controls
private _costs = parseNumber (ctrlText _ctrlCosts);
private _count = sliderPosition _ctrlSlider;
// Fill the controls
_index = lbCurSel _ctrlCargo;
if !(KPLIB_param_aceResupply) then {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
_ctrlTotalCosts ctrlSetText str (_costs * _count);
_ctrlSliderValue ctrlSetText str _count;
};
case "FUEL": {
_ctrlTotalCosts ctrlSetText str (_costs * _count);
_ctrlSliderValue ctrlSetText str _count;
};
};
} else {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
_ctrlTotalCosts ctrlSetText str (_costs * (_count / 100));
_ctrlSliderValue ctrlSetText str _count;
};
case "FUEL": {
_ctrlTotalCosts ctrlSetText str (_costs * (_count / 1000));
_ctrlSliderValue ctrlSetText str _count;
};
};
};
if !(_count isEqualTo 0) then {
_resupplyButton ctrlEnable true;
} else {
_resupplyButton ctrlEnable false;
};
true

View File

@ -4,7 +4,7 @@
File: fn_logi_openResupplyDialog.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-21
Last Update: 2019-02-21
Last Update: 2019-02-23
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -23,10 +23,20 @@ disableSerialization;
// Dialog controls
private _dialog = findDisplay 7580233;
private _ctrlCargo = _dialog displayCtrl 68741;
private _resupplyButton = _dialog displayCtrl 68747;
_resupplyButton ctrlEnable false;
// Add the cargo variants
private _index = _ctrlCargo lbAdd "----------";
_ctrlCargo lbSetData [_index, "placeholder"];
_ctrlCargo lbSetCurSel _index;
_index = _ctrlCargo lbAdd localize "STR_KPLIB_DIALOG_RESUPPLY_CARGOAMMO";
_ctrlCargo lbSetData [_index, "AMMO"];
_index = _ctrlCargo lbAdd localize "STR_KPLIB_DIALOG_RESUPPLY_CARGOFUEL";
_ctrlCargo lbSetData [_index, "FUEL"];
// Get near vehicles
[7580233, 68740] call KPLIB_fnc_logi_refreshTargets;

View File

@ -4,7 +4,7 @@
File: fn_logi_recycleTarget.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-31
Last Update: 2019-02-08
Last Update: 2019-02-21
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -39,6 +39,6 @@ deleteVehicle _vehicle;
- Implement Resource refund
*/
[] call KPLIB_fnc_logi_refreshVehicles;
[7580232, 68740] call KPLIB_fnc_logi_refreshTargets;
true

View File

@ -0,0 +1,77 @@
/*
KPLIB_fnc_logi_resupplyTarget
File: fn_logi_resupplyTarget.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-24
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
Resupplies the given vehicle.
Parameter(s):
NONE
Returns:
Function reached the end [BOOL]
*/
// Dialog controls
private _dialog = findDisplay 7580233;
private _ctrlVehicleList = _dialog displayCtrl 68740;
private _ctrlCargo = _dialog displayCtrl 68741;
private _ctrlCosts = _dialog displayCtrl 68743;
private _ctrlSliderValue = _dialog displayCtrl 68745;
private _ctrlTotalCosts = _dialog displayCtrl 68746;
private _cfgVeh = configFile >> "CfgVehicles";
private _cfgMag = configFile >> "CfgMagazines";
// Read controls
private _index = lbCurSel _ctrlVehicleList;
private _vehicleId = _ctrlVehicleList lbData _index;
// Get the target vehicle
private _vehicle = objectFromNetId _vehicleId;
private _type = typeOf _vehicle;
// Do the resupply
_index = lbCurSel _ctrlCargo;
if !(KPLIB_param_aceResupply) then {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
_vehicle setVehicleAmmo 1;
};
case "FUEL": {
private _fuelMax = getNumber (_cfgVeh >> _type >> "fuelCapacity");
private _fuelState = _fuelMax * (fuel _vehicle);
private _addValue = parseNumber ctrlText _ctrlSliderValue;
private _newFuelState = ((_fuelState + _addValue) /_fuelMax);
if (_newFuelState > 1) then {
_newFuelState = 1;
};
_vehicle setFuel _newFuelState;
};
};
} else {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
private _ammoMax = getNumber (_cfgVeh >> _type >> "ace_rearm_defaultSupply");
private _ammoState = [_vehicle] call ace_rearm_fnc_getSupplyCount;
private _addValue = parseNumber ctrlText _ctrlSliderValue;
[_vehicle, _ammoState + _addValue] call ace_rearm_fnc_setSupplyCount;
};
case "FUEL": {
private _fuelMax = getNumber (_cfgVeh >> _type >> "ace_refuel_fuelCargo");
private _fuelState = [_vehicle] call ace_refuel_fnc_getFuel;
private _addValue = parseNumber ctrlText _ctrlSliderValue;
[_vehicle, _fuelState + _addValue] call ace_refuel_fnc_setFuel;
};
};
};
[] spawn KPLIB_fnc_logi_selectResupplyTarget;
true

View File

@ -0,0 +1,140 @@
/*
KPLIB_fnc_selectResupplyTarget
File: fn_logi_selectResupplyTarget.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-23
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
Selects the vehicle from the combo cox and fills the dialog.
Parameter(s):
NONE
Returns:
Function reached the end [BOOL]
*/
// Dialog controls
private _dialog = findDisplay 7580233;
private _ctrlVehicleList = _dialog displayCtrl 68740;
private _ctrlCargo = _dialog displayCtrl 68741;
private _ctrlCargoStateValue = _dialog displayCtrl 68742;
private _ctrlCosts = _dialog displayCtrl 68743;
private _ctrlSlider = _dialog displayCtrl 68744;
private _ctrlSliderValue = _dialog displayCtrl 68745;
private _ctrlTotalCosts = _dialog displayCtrl 68746;
private _resupplyButton = _dialog displayCtrl 68747;
private _cfgVeh = configFile >> "CfgVehicles";
private _cfgMag = configFile >> "CfgMagazines";
// Read controls
private _index = lbCurSel _ctrlVehicleList;
private _vehicleId = _ctrlVehicleList lbData _index;
_ctrlSlider ctrlEnable false;
_ctrlSliderValue ctrlSetText "---";
_ctrlCargoStateValue CtrlSetText "---";
_ctrlCosts CtrlSetText "---";
_ctrlTotalCosts CtrlSetText "---";
_resupplyButton ctrlEnable false;
// Check for empty selection
if (_vehicleId isEqualTo "placeholder") exitWith {
};
// Get the target vehicle
private _vehicle = objectFromNetId _vehicleId;
private _type = typeOf _vehicle;
// Fill the controls
_index = lbCurSel _ctrlCargo;
private _ammoMax = 0;
private _ammoState = 0;
private _fuelMax = 0;
private _fuelState = 0;
if !(KPLIB_param_aceResupply) then {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
_ammoMax = count magazinesAllTurrets _vehicle;
_ammoState = {_x select 2 isEqualTo (getNumber (_cfgMag >> (_x select 0) >> "count"))} count magazinesAllTurrets _vehicle;
_ctrlCargoStateValue ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_AMMOSTATE", _ammoMax - _ammoState, _ammoMax];
_ctrlCosts ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_COSTSAMMO", str KPLIB_param_resupplyMagCost];
_ctrlTotalCosts ctrlSetText str ((_ammoMax - _ammoState) * KPLIB_param_resupplyMagCost);
_resupplyButton ctrlEnable true;
};
case "FUEL": {
_ctrlSlider ctrlEnable true;
_fuelMax = getNumber (_cfgVeh >> _type >> "fuelCapacity");
_fuelState = _fuelMax * (fuel _vehicle);
_ctrlCargoStateValue ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_FUELSTATE", _fuelState toFixed 2, _fuelMax];
_ctrlCosts ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_COSTSFUEL", str KPLIB_param_resupplyGallCost];
_ctrlSlider sliderSetRange [0, ceil (_fuelMax - _fuelState)];
_ctrlSlider sliderSetPosition 0;
_ctrlSlider sliderSetSpeed [1, 1];
};
};
} else {
switch (_ctrlCargo lbData _index) do {
case "AMMO": {
_ctrlSlider ctrlEnable true;
_ammoMax = getNumber (_cfgVeh >> _type >> "ace_rearm_defaultSupply");
if (_ammoMax isEqualTo 0) then {
_ammoState = 0;
} else {
_ammoState = [_vehicle] call ace_rearm_fnc_getSupplyCount;
};
_ctrlCargoStateValue ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_AMMOSTATEACE", _ammoState, _ammoMax];
_ctrlCosts ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_COSTSAMMOACE", str KPLIB_param_resupplyAmmoCost];
_ctrlSlider sliderSetRange [0, ceil (_ammoMax - _ammoState)];
_ctrlSlider sliderSetPosition 0;
_ctrlSlider sliderSetSpeed [100, 100];
};
case "FUEL": {
_ctrlSlider ctrlEnable true;
_fuelMax = getNumber (_cfgVeh >> _type >> "ace_refuel_fuelCargo");
if (_fuelMax isEqualTo 0) then {
_fuelState = 0;
} else {
_fuelState = [_vehicle] call ace_refuel_fnc_getFuel;
};
_ctrlCargoStateValue ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_FUELSTATEACE", _fuelState, _fuelMax];
_ctrlCosts ctrlSetText format [localize "STR_KPLIB_DIALOG_RESUPPLY_COSTSFUELACE", str KPLIB_param_resupplyFuelCost];
_ctrlSlider sliderSetRange [0, ceil (_fuelMax - _fuelState)];
_ctrlSlider sliderSetPosition 0;
_ctrlSlider sliderSetSpeed [1000, 1000];
};
};
};
/* TODO:
- Implement check for resources
*/
// Spawn camera object
camUseNVG false;
showCinemaBorder false;
private _cam = "camera" camCreate (getpos _vehicle);
_cam cameraEffect ["internal", "front", "rtt"];
KPLIB_logi_activeCam = _cam;
_cam camSetTarget _vehicle;
_cam camSetFov 0.5;
_cam camCommit 0;
_cam camSetPos ((_vehicle getRelPos [15, 0]) vectorAdd [0, 0, 5]);
_cam camCommit 0;
private _index = lbCurSel _ctrlVehicleList;
while {(lbCurSel _ctrlVehicleList) isEqualTo _index || !dialog} do {
for "_i" from 1 to 36 do {
_cam camSetPos ((_vehicle getRelPos [15, _i * 10]) vectorAdd [0, 0, 5]);
_cam camCommit 30/36;
waitUntil {camCommitted _cam};
};
};
true

View File

@ -4,7 +4,7 @@
File: fn_logi_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-28
Last Update: 2019-02-08
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -17,6 +17,10 @@
Function reached the end [BOOL]
*/
/*
----- RECYCLE SETTINGS -----
*/
// KPLIB_param_recycleFactor
// Defines the resource refund from vehicle recycling.
// Default: 50
@ -108,4 +112,73 @@
{}
] call CBA_Settings_fnc_init;
/*
----- RESUPPLY SETTINGS -----
*/
// KPLIB_param_resupplyMagCost
// Defines the costs to resupply one vehicle magazine.
// Default: 10
[
"KPLIB_param_resupplyMagCost",
"SLIDER",
[localize "STR_KPLIB_SETTINGS_RESUPPLY_MAGCOST", localize "STR_KPLIB_SETTINGS_RESUPPLY_MAGCOST_TT"],
localize "STR_KPLIB_SETTINGS_RESUPPLY",
[0, 1000, 10, 0],
1,
{}
] call CBA_Settings_fnc_init;
// KPLIB_param_resupplyGallCost
// Defines the costs to resupply one vehicle gallon.
// Default: 10
[
"KPLIB_param_resupplyGallCost",
"SLIDER",
[localize "STR_KPLIB_SETTINGS_RESUPPLY_GALLCOST", localize "STR_KPLIB_SETTINGS_RESUPPLY_GALLCOST_TT"],
localize "STR_KPLIB_SETTINGS_RESUPPLY",
[0, 1000, 10, 0],
1,
{}
] call CBA_Settings_fnc_init;
// KPLIB_param_aceResupply
// Enables/Disables the ACE resupply functions.
// Default: false
[
"KPLIB_param_aceResupply",
"CHECKBOX",
[localize "STR_KPLIB_SETTINGS_RESUPPLY_ACERESUPPLY", localize "STR_KPLIB_SETTINGS_RESUPPLY_ACERESUPPLY_TT"],
[localize "STR_KPLIB_SETTINGS_RESUPPLY", localize "STR_KPLIB_SETTINGS_RESUPPLYACE"],
false,
1,
{}
] call CBA_Settings_fnc_init;
// KPLIB_param_resupplyAmmoCost
// Defines the costs to resupply the ammo cargo of an ACE ammo vehicle.
// Default: false
[
"KPLIB_param_resupplyAmmoCost",
"SLIDER",
[localize "STR_KPLIB_SETTINGS_RESUPPLY_AMMOCOST", localize "STR_KPLIB_SETTINGS_RESUPPLY_AMMOCOST_TT"],
localize "STR_KPLIB_SETTINGS_RESUPPLY",
[0, 1000, 10, 0],
1,
{}
] call CBA_Settings_fnc_init;
// KPLIB_param_resupplyFuelCost
// Defines the costs to resupply the fuel cargo of an ACE fuel vehicle.
// Default: false
[
"KPLIB_param_resupplyFuelCost",
"SLIDER",
[localize "STR_KPLIB_SETTINGS_RESUPPLY_FUELCOST", localize "STR_KPLIB_SETTINGS_RESUPPLY_FUELCOST_TT"],
localize "STR_KPLIB_SETTINGS_RESUPPLY",
[0, 1000, 10, 0],
1,
{}
] call CBA_Settings_fnc_init;
true

View File

@ -4,7 +4,7 @@
File: functions.hpp
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-16
Last Update: 2019-02-21
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -20,6 +20,9 @@ class logi {
// Adds a new menu to the logistic main menu
class logi_addMenu {};
// Calculates the costs of the resupply action
class logi_calcCosts {};
// Open the logistioc main dialog
class logi_openDialog {};
@ -45,9 +48,15 @@ class logi {
// Refreshes the vehicle list for the given dialog
class logi_refreshTargets {};
// Resupplies the given vehicle
class logi_resupplyTarget {};
// Selects the vehicle from the combo cox and fills the dialog
class logi_selectRecycleTarget {};
// Selects the vehicle from the combo cox and fills the dialog
class logi_selectResupplyTarget {};
// CBA Settings initialization for this module
class logi_settings {};
};

View File

@ -4,7 +4,7 @@
File: KPLIB_resupply.hpp
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-21
Last Update: 2019-02-21
Last Update: 2019-02-24
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -34,7 +34,7 @@ class KPLIB_resupply {
w = KP_GETW(KP_WIDTH_VAL_C,(12/11));
h = KP_GETH(KP_HEIGHT_VAL_C,24);
tooltip = "$STR_KPLIB_DIALOG_RESUPPLY_VEHICLE_TT";
//onLBSelChanged = "KPLIB_logi_activeCam cameraEffect [""terminate"",""back""]; camDestroy KPLIB_logi_activeCam; [] spawn KPLIB_fnc_logi_selectRecycleTarget";
onLBSelChanged = "KPLIB_logi_activeCam cameraEffect [""terminate"",""back""]; camDestroy KPLIB_logi_activeCam; [] spawn KPLIB_fnc_logi_selectResupplyTarget";
};
class KPLIB_RefreshVehicles: KPGUI_PRE_CloseCross {
@ -47,18 +47,84 @@ class KPLIB_resupply {
action = "[7580232, 68740] call KPLIB_fnc_logi_refreshTargets";
};
class KPLIB_ComboCargo: KPLIB_ComboVehicles {
idc = 68741;
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,5,48);
w = KP_GETW(KP_WIDTH_VAL_C,1);
tooltip = "$STR_KPLIB_DIALOG_RESUPPLY_CARGO_TT";
onLBSelChanged = "KPLIB_logi_activeCam cameraEffect [""terminate"",""back""]; camDestroy KPLIB_logi_activeCam; [] spawn KPLIB_fnc_logi_selectResupplyTarget";
};
class KPLIB_TextCargoState: KPGUI_PRE_Text {
text = "$STR_KPLIB_DIALOG_RESUPPLY_CARGOSTATE";
style = 0;
x = KP_GETCX(KP_X_VAL_C,KP_WIDTH_VAL_C,0,1);
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,9,48);
w = KP_GETW(KP_WIDTH_VAL_C,1);
h = KP_GETH(KP_HEIGHT_VAL_C,24);
};
class KPLIB_TextCargoStateValue: KPGUI_PRE_Text {
idc = 68742;
text = "---";
style = 1;
x = KP_GETCX(KP_X_VAL_C,KP_WIDTH_VAL_C,0,1);
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,9,48);
w = KP_GETW(KP_WIDTH_VAL_C,1);
h = KP_GETH(KP_HEIGHT_VAL_C,24);
};
class KPLIB_TextCargoCosts: KPLIB_TextCargoState {
text = "$STR_KPLIB_DIALOG_RESUPPLY_COSTS";
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,13,48);
};
class KPLIB_TextCargoCostsValue: KPLIB_TextCargoStateValue {
idc = 68743;
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,13,48);
};
class KPLIB_SliderResupplyCount: KPGUI_PRE_Slider {
idc = 68744;
x = KP_GETCX(KP_X_VAL_C,KP_WIDTH_VAL_C,0,1);
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,17,48);
w = KP_GETW(KP_WIDTH_VAL_C,1);
h = KP_GETH(KP_HEIGHT_VAL_C,24);
onSliderPosChanged = "[] call KPLIB_fnc_logi_calcCosts"
}
class KPLIB_TextSlider: KPLIB_TextCargoState {
text = "$STR_KPLIB_DIALOG_RESUPPLY_SLIDERVALUE";
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,21,48);
};
class KPLIB_TextSliderValue: KPLIB_TextCargoStateValue {
idc = 68745;
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,21,48);
};
class KPLIB_TextTotalCosts: KPLIB_TextCargoState {
text = "$STR_KPLIB_DIALOG_RESUPPLY_TOTALCOSTS";
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,25,48);
};
class KPLIB_TextTotalCostsValue: KPLIB_TextCargoStateValue {
idc = 68746;
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,25,48);
};
class KPLIB_ResupplyCam: KPGUI_PRE_Picture {
text = "#(argb,512,512,1)r2t(rtt,1.333)";
x = KP_GETCX(KP_X_VAL_C,KP_WIDTH_VAL_C,0,1);
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,31,48);
w = KP_GETW(KP_WIDTH_VAL_C,1);
h = KP_GETH(KP_HEIGHT_VAL_C,3);
}
};
class KPLIB_ButtonResupply: KPGUI_PRE_DialogButtonC {
idc = 68747;
text = "$STR_KPLIB_DIALOG_BUTTON_RESUPPLY";
action = "";
action = "[] call KPLIB_fnc_logi_resupplyTarget";
};
class KPLIB_DialogCross: KPGUI_PRE_DialogCrossC {

View File

@ -827,7 +827,7 @@
<!-- RESUPPLY DIALOG -->
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_TITLE">
<English>KP Liberation Resupply</English>
<German>KP Liberation Nachschub</German>
<German>KP Liberation Versorgung</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_VEHICLE_TT">
<English>Select the vehicle, that you want to resupply.</English>
@ -838,6 +838,66 @@
<Chinese>刷新</Chinese>
<German>Aktualisieren</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_CARGO_TT">
<English>Select the Cargo which you want to resupply.</English>
<German>Wähle den Vorrat den du auffüllen möchtest.</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_CARGOAMMO">
<English>Ammo</English>
<German>Munition</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_CARGOFUEL">
<English>Fuel</English>
<German>Treibstoff</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_CARGOSTATE">
<English>Cargo State:</English>
<German>Vorratsstand:</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_AMMOSTATE">
<English>%1 empty or used from %2</English>
<German>%1 leer oder angebrochen von %2</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_FUELSTATE">
<English>%1 from %2 gallons left</English>
<German>%1 von %2 Gallonen übrig</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_AMMOSTATEACE">
<English>%1 ammo left from %2</English>
<German>%1 Munition übrig von %2</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_FUELSTATEACE">
<English>%1 fuel left from %2</English>
<German>%1 Treibstoff übrig von %2</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_COSTS">
<English>Costs:</English>
<German>Kosten:</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_COSTSAMMO">
<English>%1 ammo per magazine</English>
<German>%1 Munition pro Magazin</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_COSTSFUEL">
<English>%1 fuel per gallon</English>
<German>%1 Treibstoff pro Gallone</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_COSTSAMMOACE">
<English>%1 ammo per 100 ammo cargo</English>
<German>%1 Munition pro 100 Munitionsvorrat</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_COSTSFUELACE">
<English>%1 fuel per 1000 fuel cargo</English>
<German>%1 Treibstoff pro 1000 Treibstoffvorrat</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_SLIDERVALUE">
<English>Slider value:</English>
<German>Schieberegler Wert:</German>
</Key>
<Key ID="STR_KPLIB_DIALOG_RESUPPLY_TOTALCOSTS">
<English>Total costs:</English>
<German>Gesamtkosten:</German>
</Key>
</Package>
@ -1367,6 +1427,56 @@
<English>Defines the fuel refund for vehicles without defined costs.</English>
<German>Definiert die Treibstoff Rückerstattung für Fahrzeuge ohne definierte Kosten.</German>
</Key>
<!-- RESUPPLY CATEGORY -->
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY">
<English>KPLIB - Resupply</English>
<German>KPLIB - Versorgung</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLYACE">
<English>ACE settings</English>
<German>ACE Einstellungen</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_ACERESUPPLY">
<English>ACE resupply</English>
<German>ACE Versorgung</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_ACERESUPPLY_TT">
<English>Activates/deactivates the ACE resupply mode, where only fuel/ammo transports can be resupplied.</English>
<German>Aktiviert/deaktiviert die die ACE Versorgung, sodass nur noch Treibstoff/Munitions Transporter versorgt werden können.</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_MAGCOST">
<English>Magazine price</English>
<German>Magazin Preis</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_MAGCOST_TT">
<English>Defines the price of one magazine.</English>
<German>Definiert die Kosten für ein Magazin.</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_GALLCOST">
<English>Gallon price</English>
<German>Gallonen Preis</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_GALLCOST_TT">
<English>Defines the price of one gallon.</English>
<German>Definiert die Kosten für eine Gallone.</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_AMMOCOST">
<English>Ammo cargo price</English>
<German>Munitionsvorrat Preis</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_AMMOCOST_TT">
<English>Defines the price of 100 ammo cargo for ACE rearm vehicles.</English>
<German>Definiert die Kosten für 100 Munitionsvorrat für ein ACE Munitions Fahrzeug.</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_FUELCOST">
<English>Fuel cargo price</English>
<German>Treibstoffvorrat Preis</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_RESUPPLY_RESUPPLY_FUELCOST_TT">
<English>Defines the price of 1000 fuel cargo for ACE refuel vehicles.</English>
<German>Definiert die Kosten für 1000 Treibstoffvorrat für ein ACE Tank Fahrzeug.</German>
</Key>
</Package>
@ -1497,7 +1607,7 @@
</Key>
<Key ID="STR_KPLIB_LOGI_RESUPPLY">
<English>Resupply</English>
<German>Nachschub</German>
<German>Versorgung</German>
</Key>
</Package>