da ich nicht immer mit vollgas über die Felder ballern möchte, hab ich probiert den SprayUsage Mod von Lizzar vom 19er in den 22er rüber zu bringen welche die Ausbringmenge der Geschwindigkeit skaliert. So einfach wie Moddesc Version erhöhen ist es unüberraschend nicht. Da meine Lua als auch LS-Script Kenntnisse allerdings leider noch extrem begrenzt sind, hoffe ich jemand begabteres könnte mir hier behilflich sein.
Wenn ein "Sprayer" angehängt wird kommt dieser Fehler:
Code: Select all
2021-11-27 16:17 Warning (script): 'getXMLInt': Argument 1 has wrong type. Expected: Int. Actual: Table
2021-11-27 16:17 D:\auto_builder\cache\svn\f00e38190983dd8c5a19e42a3fb94599\src\base\scripting\lua\LuaScriptSystem.cpp (824): expectedType == Value::VoidType || expectedType == Value::ObjectType || expectedType == Value::IntArrayType || expectedType == Value::FloatArrayType || expectedType == Value::ArrayType
2021-11-27 16:17 LUA call stack:
=C:/Users/Martin/Documents/My Games/FarmingSimulator2022/mods/FS19SprayUsage/sprayUsage.lua (12) : getXMLInt
dataS/scripts/vehicles/specializations/Sprayer.lua (1190) : getSprayerUsage
dataS/scripts/specialization/SpecializationUtil.lua (19)
dataS/scripts/vehicles/specializations/WorkArea.lua (215) : raiseEvent
dataS/scripts/specialization/SpecializationUtil.lua (19)
dataS/scripts/vehicles/Vehicle.lua (1965) : raiseEvent
dataS/scripts/network/NetworkNode.lua (130) : updateTick
dataS/scripts/network/Server.lua (71) : updateActiveObjectsTick
dataS/scripts/BaseMission.lua (1173) : update
dataS/scripts/FSBaseMission.lua (2007) : update
dataS/scripts/missions/mission00.lua (579) : update
dataS/scripts/main.lua (1318) : update
2021-11-27 16:17 Error: Running LUA method 'update'.
2021-11-27 16:17 C:/Users/Martin/Documents/My Games/FarmingSimulator2022/mods/FS19SprayUsage/sprayUsage.lua:15: attempt to perform arithmetic on local 'speedLimit' (a nil value)
Code: Select all
-- sprayUsage mod by Lizzar
sprayUsage = {};
function sprayUsage:getSprayerUsage(superFunc, ...)
local usage = superFunc( self, ... )
if self:getIsActive() then
local speedLimit = getXMLInt(self.xmlFile, "vehicle.base.speedLimit#value")
local speedFx = math.max(3, self.lastSpeedReal*3600)
speedFx = speedFx / speedLimit
usage = usage * speedFx
end
return usage
end
Sprayer.getSprayerUsage = Utils.overwrittenFunction( Sprayer.getSprayerUsage, sprayUsage.getSprayerUsage )
addModEventListener(sprayUsage);