I am looking for a mod or instructions on how to change the reward value on contracts on my personally hosted dedicated server. I see I can modify the current contract rewards in the missions.xml file but I am looking for something that will increase the reward for all new missions permanently. Maybe like a multiplier setting somewhere.
Even with the economy on easy the contracts in FS22 are horribly low reward for the amount of time spent on them. I know everyone has there own opinion on what contracts should pay out and some want them low and some want them higher so there has to be someway to modify them permanently!
Any information or guidance is appreciated.
FS22 Contract Pricing Modifier??
7 posts
Page 1 of 1
Re: FS22 Contract Pricing Modifier??
Real life numbers mod is a nice mod to start with. it changed how much revard you get from contracts.
-
- Posts: 9
- Joined: Thu Nov 25, 2021 8:02 am
Re: FS22 Contract Pricing Modifier??
Thanks strauts6!
I took a look into this mod and this seems to be a lot more advanced then what I am looking for. I do see I can configure it to only use the contracts script.
But even if I could get it all setup and ironed out for my needs the mod is only out for FS19 not FS22 which is what I wanted it for. I will keep messing around with it and test it out on my secondary test server but I don't think it will work right for my needs.
I took a look into this mod and this seems to be a lot more advanced then what I am looking for. I do see I can configure it to only use the contracts script.
But even if I could get it all setup and ironed out for my needs the mod is only out for FS19 not FS22 which is what I wanted it for. I will keep messing around with it and test it out on my secondary test server but I don't think it will work right for my needs.
-
- Posts: 9
- Joined: Thu Nov 25, 2021 8:02 am
Re: FS22 Contract Pricing Modifier??
If anyone stumbles upon this post looking for the same thing I was, I figured it out. Below are lines needed in the LUA script to modify the reward per ha for contracts. the $$$$$ is the money amount. This works for multiplayer aswell.
CultivateMission.REWARD_PER_HA = $$$$$$
PlowMission.REWARD_PER_HA = $$$$$$
SowMission.REWARD_PER_HA = $$$$$$
FertilizeMission.REIMBURSEMENT_PER_HA = $$$$$$
FertilizeMission.REWARD_PER_HA = $$$$$$
SprayMission.REIMBURSEMENT_PER_HA = $$$$$$
SprayMission.REWARD_PER_HA = $$$$$$
WeedMission.REWARD_PER_HA = $$$$$$
HarvestMission.REWARD_PER_HA_SMALL = $$$$$$
HarvestMission.REWARD_PER_HA_WIDE = $$$$$$
BaleMission.REWARD_PER_HA_HAY = $$$$$$
BaleMission.REWARD_PER_HA_SILAGE = $$$$$$
CultivateMission.REWARD_PER_HA = $$$$$$
PlowMission.REWARD_PER_HA = $$$$$$
SowMission.REWARD_PER_HA = $$$$$$
FertilizeMission.REIMBURSEMENT_PER_HA = $$$$$$
FertilizeMission.REWARD_PER_HA = $$$$$$
SprayMission.REIMBURSEMENT_PER_HA = $$$$$$
SprayMission.REWARD_PER_HA = $$$$$$
WeedMission.REWARD_PER_HA = $$$$$$
HarvestMission.REWARD_PER_HA_SMALL = $$$$$$
HarvestMission.REWARD_PER_HA_WIDE = $$$$$$
BaleMission.REWARD_PER_HA_HAY = $$$$$$
BaleMission.REWARD_PER_HA_SILAGE = $$$$$$
-
- Posts: 5
- Joined: Thu May 14, 2020 4:52 am
Re: FS22 Contract Pricing Modifier??
any idea on how I go about plugging those values in? what file? or is this only for mod makers?
-
- Posts: 9
- Joined: Thu Nov 25, 2021 8:02 am
Re: FS22 Contract Pricing Modifier??
The info above is for making a mod. Its the values needed for the LUA script.
-
- Posts: 65
- Joined: Thu Dec 30, 2021 12:11 pm
Re: FS22 Contract Pricing Modifier??
To dig this out:
i found only these values in the .lua from the reallife numbers mod:
I don't really get the calculation method, or where the difference is between REWARD_PER_METER and REWARD_PER_HAY for example. Also I don't see any mission types.
I can change the vehicle costs by editing RN.contractRewards.vehicleUseCostPerHa and change the overall rewards by modifing the 0.333 to higher numbers but i don't get the calculation / meaning behind it.
The following seems to be a loop, calculating the different variables - but the calculation itself seems always to be the same for each value? Where's the point in repeating the same calc with same factors on same variables?
Someone has a little explanation for this or the whole mission-reward-calculation in the background?
i found only these values in the .lua from the reallife numbers mod:
Code: Select all
--
-- Mod: FS22_RealLifeNumbers by Kaj-Aage Henneberg "Ki", ArmChairFarming
-- Script: RealNumbersContractRewards by Kaj-Aage Henneberg "Ki", ArmChairFarming
-- e-mail: kaj-aage.henneberg@outlook.dk
-- Download: www.modhoster.com
-- All rights reserved.
-- Version 1.0.0.8
-- 26-11-2021
RealNumbersContractRewards = {};
function RealNumbersContractRewards:loadMap(name)
RN.notRunYetRealNumbersContractRewards = true;
RN.upStartRealNumbersContractRewards = true;
RN.contractRewards = {};
RN.contractRewards.vehicleUseCostPerHa = 100; -- default RLN value 100
RN.contractRewards.priceScales = {};
RN.contractRewards.priceScales.REWARD_PER_HA = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_HA_WIDE = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_HA_SMALL = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_HA_SILAGE = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_METER = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_HA_HAY = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REIMBURSEMENT_PER_HA = 0.333; -- default RLN value 0.333
RN.contractRewards.priceScales.REWARD_PER_OBJECT = 0.333; -- default RLN value 0.333
print("\n --- RealNumbersContractRewards.lua started --- \n");
if g_missionManager.missionTypes ~= nil then
for i, v in pairs(g_missionManager.missionTypes) do
if g_missionManager.missionTypes[i].classObject.REWARD_PER_HA ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_HA = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA
* RN.contractRewards.priceScales.REWARD_PER_HA;
RN.contractRewards.REWARD_PER_HA = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_WIDE ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_WIDE = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_WIDE
* RN.contractRewards.priceScales.REWARD_PER_HA_WIDE;
RN.contractRewards.REWARD_PER_HA_WIDE = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_WIDE;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SMALL ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SMALL = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SMALL
* RN.contractRewards.priceScales.REWARD_PER_HA_SMALL;
RN.contractRewards.REWARD_PER_HA_SMALL = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SMALL;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SILAGE ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SILAGE = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SILAGE
* RN.contractRewards.priceScales.REWARD_PER_HA_SILAGE;
RN.contractRewards.REWARD_PER_HA_SILAGE = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_SILAGE;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_METER ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_METER = g_missionManager.missionTypes[i].classObject.REWARD_PER_METER
* RN.contractRewards.priceScales.REWARD_PER_METER;
RN.contractRewards.REWARD_PER_METER = g_missionManager.missionTypes[i].classObject.REWARD_PER_METER;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_HAY ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_HAY = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_HAY
* RN.contractRewards.priceScales.REWARD_PER_HA_HAY;
RN.contractRewards.REWARD_PER_HA_HAY = g_missionManager.missionTypes[i].classObject.REWARD_PER_HA_HAY;
end;
if g_missionManager.missionTypes[i].classObject.REIMBURSEMENT_PER_HA ~= nil then
g_missionManager.missionTypes[i].classObject.REIMBURSEMENT_PER_HA = g_missionManager.missionTypes[i].classObject.REIMBURSEMENT_PER_HA
* RN.contractRewards.priceScales.REIMBURSEMENT_PER_HA;
RN.contractRewards.REIMBURSEMENT_PER_HA = g_missionManager.missionTypes[i].classObject.REIMBURSEMENT_PER_HA;
end;
if g_missionManager.missionTypes[i].classObject.REWARD_PER_OBJECT ~= nil then
g_missionManager.missionTypes[i].classObject.REWARD_PER_OBJECT = g_missionManager.missionTypes[i].classObject.REWARD_PER_OBJECT
* RN.contractRewards.priceScales.REWARD_PER_OBJECT;
RN.contractRewards.REWARD_PER_OBJECT = g_missionManager.missionTypes[i].classObject.REWARD_PER_OBJECT;
end;
end;
else
print("No missions defined");
end;
print("\n --- RealNumbersContractRewards.lua updates every 10 min --- \n");
end;
function RealNumbersContractRewards:keyEvent(unicode, sym, modifier, isDown)
end;
function RealNumbersContractRewards:update(dt)
local minute = g_currentMission.environment.currentMinute;
local runMinute = minute % 10; -- remainder
local fruitTypeIndex = 0;
local contractFruitType = {};
local fruitName = " ";
local missionfield = {};
local fieldArea = 0;
local fieldId = 0;
local isHost = true;
if runMinute ~= 5 then RN.notRunYetRealNumbersContractRewards = true; end;
if runMinute == 5 or RN.upStartRealNumbersContractRewards then
if RN.notRunYetRealNumbersContractRewards then
if g_missionManager.missions ~= nil then
for i, mission in pairs(g_missionManager.missions) do
local name = mission.type.name;
if name == "transport" then
local numObjects = mission.numObjects;
local objectFeeTotal = numObjects * RN.contractRewards.REWARD_PER_OBJECT;
local totalTransportFee = objectFeeTotal;
if mission.reward ~= nil then mission.reward = totalTransportFee; end;
else
missionfield = mission.field;
fieldArea = missionfield.fieldArea;
fieldId = missionfield.fieldId;
if missionfield.fruitType == nil then
fruitTypeIndex = nil;
fruitName = "noFruitName";
else
fruitTypeIndex = missionfield.fruitType;
contractFruitType = g_fruitTypeManager:getFruitTypeByIndex(fruitTypeIndex);
end;
if mission.rewardPerHa ~= nil then
mission.rewardPerHa = RN.contractRewards.REWARD_PER_HA;
end;
if mission.vehicleUseCost ~= nil then
mission.vehicleUseCost = fieldArea * RN.contractRewards.vehicleUseCostPerHa;
end;
if mission.reward ~= nil then
mission.reward = fieldArea * mission.rewardPerHa;
end;
if mission.reimbursementPerHa ~= nil then
mission.reimbursementPerHa = RN.contractRewards.REIMBURSEMENT_PER_HA;
end;
end;
end;
else
print("No missions defined");
end;
end;
RN.notRunYetRealNumbersContractRewards = false;
RN.upStartRealNumbersContractRewards = false;
end;
end;
function RealNumbersContractRewards:draw()
end;
function RealNumbersContractRewards:deleteMap()
end;
function RealNumbersContractRewards:mouseEvent(posX, posY, isDown, isUp, button)
end;
addModEventListener(RealNumbersContractRewards);
I don't really get the calculation method, or where the difference is between REWARD_PER_METER and REWARD_PER_HAY for example. Also I don't see any mission types.
I can change the vehicle costs by editing RN.contractRewards.vehicleUseCostPerHa and change the overall rewards by modifing the 0.333 to higher numbers but i don't get the calculation / meaning behind it.
The following seems to be a loop, calculating the different variables - but the calculation itself seems always to be the same for each value? Where's the point in repeating the same calc with same factors on same variables?
Someone has a little explanation for this or the whole mission-reward-calculation in the background?
7 posts
Page 1 of 1