Category | Farming Simulator 2011 |
Created | 01.08.2011 21:36 |
Saracaen (saracaen) | 01.08.2011 21:38 |
---|---|
I have created a mod that appends some new functions to the Steerable class, but it interferes with some of the functions of the ESLimiter specialization. Is there a way to identify that the ESLimiter specialization is present in the current steerable, so that I can disable my interfering function? |
Stefan Geiger - GIANTS Software | 02.08.2011 09:04 |
---|---|
Yes, you can check this with the following code: if g_modIsLoaded["ESLimiter"] then -- the mod with the .zip name "EsLimiter" is loaded. end; |
Saracaen (saracaen) | 02.08.2011 18:58 |
---|---|
Thanks for the quick reply, although that is not exactly what I meant. I have created a script that injects a piece of code in every object containing the Steerable specialization. That script interferes with some other specializations and I want to be able to check if these specializations are present in the current steerable. Is there a way to identify if , for example, the ESLimiter specialization is present on the current Steerable? |
Saracaen (saracaen) | 03.08.2011 20:37 |
---|---|
On, for example, the Fendt 380 GTA, the ESLimiter specialization is prepended with the mod namespace. So it would be Fendt380GTATurbo.ESLimiter. Is there a way to prepend this "namespace" to the SpecializationUtil.hasSpecialization function call? |
Saracaen (saracaen) | 04.08.2011 21:34 |
---|---|
I have found a solution: "local check1 = Utils.getNoNil(getXMLBool(xmlFile, "vehicle.features#vario"), true); self.isVarioEnabled = check1; if self.customEnvironment ~= nil then local specialization1 = loadstring(string.format("return %s.ESLimiter", self.customEnvironment))(); local specialization2 = loadstring(string.format("return %s.rpmlimiter", self.customEnvironment))(); local check2 = SpecializationUtil.hasSpecialization(specialization1, self.specializations); local check3 = SpecializationUtil.hasSpecialization(specialization2, self.specializations); self.isVarioEnabled = check1 and not check2 and not check3; end;" Due to the use of loadstring, it might not be optimal. If anyone has a better solution, please let me know. |
Note: Log in to post. Create a new account here.