Wie kann ich diese Datei den öffnen?
mfg,
simpson95
Wie kann ich diese Datei den öffnen?
mfg,
simpson95
Hallo,
ich wollte mir den Füllstand von meinem Fahrsilo über die vehicles.xml ändern. Ich habe da alle werte die mit dem Füllstand des Fahrsilos zu tun haben geändert jedoch ohne Erfolg.
Weiß jemand von Euch wie ich da vorgehen soll?
mfg,
simpson95
hallo
habe ein Problem, und zwar wenn ich das Spiel starte ist alles normal doch wenn ich ein Spielstand laden will lädt keine der beiden Maps.
Patch 1.1 ist drauf und neu installiert habe ich auch schon.
hier ist mal die LOG:
[expander]GIANTS Engine Runtime 6.0.2 64bit (Build Date: Oct 28 2014)
Copyright (c) 2008-2014, GIANTS Software GmbH (giants-software.com), All Rights Reserved.
Copyright (c) 2003-2014, Christian Ammann and Stefan Geiger, All Rights Reserved.
Application: FarmingSimulator2015
Main System
CPU: Intel(R) Core(TM)2 Duo CPU P7450 @ 2.13GHz
Memory: 4095 MB
OS: Windows NT 6.2 64-bit
Physics System
Version: 5.9.4
Thread(s): 1
Input System
Keyboard enabled
Mouse enabled
Gamepad/Joystick enabled
Force Feedback disabled
Name: Xbox 360 Controller
Number of Axes: 5
Number of Buttons: 14
Sound System
Driver: OpenAL
Version: 1.1
Device: Generic Software
Max. sources: 256
Render System
Driver: OpenGL
Card Vendor: NVIDIA Corporation
Renderer: GeForce 9600M GS/PCIe/SSE2
Version: 3.3.0
Shader Version: 3.30 NVIDIA via Cg compiler
max_texture_layers: 16
OpenGL initialization successful
Hardware Profile
Level: High (forced)
View Distance Factor: 1.100000
Shadow Quality: 1.000000
Skip Mipmaps: 0
LOD Distance Factor: 1.100000
Terrain LOD Distance Factor: 1.500000
Foliage View Distance Factor: 1.400000
Volume Mesh Tessellation Factor: 0.850000
Tyre Tracks Segments Factor: 2.000000
Farming Simulator 15
Version: 1.1.0.0 RC12
Available Languages: de
Language: de
Game vehicle types loaded
Mod directory: C:/Users/Fandel/Documents/My Games/FarmingSimulator2015/mods/
Load mod: BrantnerDPW18000
Load mod: FS15_flieglVFW10600
Load mod: FS15_kuhnSitera3000
Load mod: FS15_kuhnVB2190
Load mod: FS15_lamborghiniNitro120
Register vehicle type: BrantnerDPW18000.dpw18000
data/sky/sky_day_night.i3d (9.86 ms)
data/sky/rain.i3d (2.38 ms)
data/sky/hail.i3d (1.69 ms)
data/sky/dust.i3d (1.07 ms)
data/maps/map02.i3d (16716.27 ms)
Error: Running LUA method 'loadMapFinished'.
D:/code/lsim2015/build/finalbin/dataS/scripts/gui/InGameMessage.lua(35) : attempt to index a nil value
Application exit request forced.
Application exit request forced.
[/expander]
vielen Dank, versuchs morgen mal
Hallo liebe Community,
wollte mal fragen ob zufällig einer weiß wie man den Stundenzähler (OperatingTime) nach den Stunden im Spiel laufen lassen kann und nicht nach den realen Stunden? Habe mir das so vorgestellt, dass man die Zeit im Spiel z.B. 5x oder 15x schneller hat als die reale Zeit und der Stundenzähler mit diesen Stunden arbeitet und nicht mit den realen. Würde es realistischer finden.
Würde mich freuen wenn mir da einer weiterhelfen könnte.
Hier mal die ESLimiter LUA: [expander][lua]--
-- ESLimiter
-- Specialization for ESLimiter
--
-- SFM-Modding
-- @author Manuel Leithner
-- @date: 13/11/12
-- @version: v3.1
-- @history: v1.0 - initial implementation
-- v2.0 - convert to LS2011 and some bugfixes
-- v2.1 - Network-Fixes
-- v2.2 - Bugfixes and new huds
-- v3.0 - LS13 & integration of OperatingHours
-- v3.1 - self-installing modification for standard-vehicles and mod-vehicles & manualIgnition compatible (by gotchTOM)
--
-- free for noncommerical-usage
--
ESLimiter = {};
local esl_directory = g_currentModDirectory;
function ESLimiter.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(Motorized, specializations);
end;
function ESLimiter:load(xmlFile)
self.setNewLimit = SpecializationUtil.callSpecializationsFunction("setNewLimit");
self.addOperatingTime = SpecializationUtil.callSpecializationsFunction("addOperatingTime");
self.ESLimiter = {};
self.ESLimiter.maxRPM = {};
self.ESLimiter.orgMaxRPM = {};
self.ESLimiter.percentage = {};
for k,_ in pairs(self.motor.maxRpm) do
local percentage = string.format("%d",(self.motor.maxRpm[k] * 100 / self.motor.maxRpm[3]));
self.ESLimiter.percentage[k+1] = tonumber(percentage);
self.ESLimiter.maxRPM[k+1] = self.motor.maxRpm[3];
self.ESLimiter.orgMaxRPM[k+1] = self.motor.maxRpm[k];
end;
-- set limits for reverse
self.ESLimiter.maxRPM[1] = self.ESLimiter.maxRPM[2];
self.ESLimiter.percentage[1] = self.ESLimiter.percentage[2];
self.ESLimiter.default = self.motor.maxRpm[3];
self.isLimiterActive = false;
self.ESLimiter.isButtonPressed = false;
self.ESLimiter.xPos = Utils.getNoNil(getXMLFloat(xmlFile, "vehicle.ESLimiter#posX"), 0.5029);
self.ESLimiter.yPos = Utils.getNoNil(getXMLFloat(xmlFile, "vehicle.ESLimiter#posY"), 0.01238);
self.ESLimiter.yOffset = 0.014;
self.ESLimiter.hudBarWidth = 0.205;
self.ESLimiter.overlay = Overlay:new("hudESLOverlay", Utils.getFilename("ESLimiter_hud.png", esl_directory), self.ESLimiter.xPos, self.ESLimiter.yPos, 0.2371, 0.039525);
self.ESLimiter.overlayBg = Overlay:new("hudESLBackground", Utils.getFilename("ESLimiter_bg.png", esl_directory), self.ESLimiter.xPos, self.ESLimiter.yPos, 0.2371, 0.039525);
self.ESLimiter.overlayBar = Overlay:new("hudESLbar", Utils.getFilename("ESLimiter_bar.png", esl_directory), self.ESLimiter.xPos + 0.123, self.ESLimiter.yPos + 0.01, 0.21, 0.02190);
self.ESLimiter.operatingTime = 0;
self.lastLevelUpdate = 0;
self.lastLevel = 0;
end;
function ESLimiter:delete()
end;
function ESLimiter:readStream(streamId, connection)
for level,_ in pairs(self.ESLimiter.percentage) do
local percentage = streamReadInt16(streamId)/10;
self:setNewLimit(level, percentage, true);
end;
self:addOperatingTime(streamReadFloat32(streamId), true);
end;
function ESLimiter:writeStream(streamId, connection)
for _,percentage in pairs(self.ESLimiter.percentage) do
streamWriteInt16(streamId, percentage*10);
end;
streamWriteFloat32(streamId, self.ESLimiter.operatingTime);
end;
function ESLimiter:mouseEvent(posX, posY, isDown, isUp, button)
end;
function ESLimiter:keyEvent(unicode, sym, modifier, isDown)
end;
function ESLimiter:update(dt)
if self.isMotorStarted then
self:addOperatingTime(dt);
end;
if self:getIsActive() then
local level = 0;
if self.movingDirection < 0 then
level = 1;
else
if self.motor.speedLevel > 0 then
level = self.motor.speedLevel + 1;
end;
end;
if self.isHired then
if self.attachedCutters ~= nil then
level = 2;
for cutter,implement in pairs(self.attachedCutters) do
if Cutter.getUseLowSpeedLimit(cutter) then
level = 1;
break;
end;
end;
else
level = 1;
end;
level = level + 1;
end;
if self.lastLevel == level then
self.lastLevelUpdate = self.lastLevelUpdate + dt;
else
self.lastLevelUpdate = 0;
end;
self.lastLevel = level;
if level ~= 0 and self.isClient and self:getIsActiveForInput(false) and not self:hasInputConflictWithSelection() then
local percentage = self.ESLimiter.percentage;
if InputBinding.isPressed(InputBinding.ESLimiter_PLUS) and percentage[level] < 100 then
percentage[level] = percentage[level] + 0.25;
self:setNewLimit(level, percentage[level], true);
self.ESLimiter.isButtonPressed = true;
elseif InputBinding.isPressed(InputBinding.ESLimiter_MINUS) and percentage[level] > 10 then
percentage[level] = percentage[level] - 0.25;
self:setNewLimit(level, percentage[level], true);
self.ESLimiter.isButtonPressed = true;
else
if self.ESLimiter.isButtonPressed then
-- only send event to other players if key was released -> performance issue
self:setNewLimit(level, percentage[level]);
self.ESLimiter.isButtonPressed = false;
end;
end;
end;
if level ~= 0 then
local newRpm = tonumber(string.format("%d",(self.ESLimiter.percentage[level] * self.ESLimiter.maxRPM[level] / 100)));
if self.movingDirection >= 0 then
self.motor.maxRpm[level - 1] = newRpm;
else
-- backward
self.motor.maxRpm[3] = newRpm;
end;
else
-- reset to default value if no level is set
self.motor.maxRpm[3] = self.ESLimiter.default;
end;
end;
end;
function ESLimiter:draw()
local text = Steerable.ESL_DEACTIVATED;
local currentLevel = self.motor.speedLevel;
local currentLevelText = 0;
local percentage = 0;
if self.movingDirection < 0 then
currentLevel = 1;
currentLevelText = "R";
else
if self.isHired then
if self.attachedCutters ~= nil then
currentLevel = 2;
for cutter,implement in pairs(self.attachedCutters) do
if Cutter.getUseLowSpeedLimit(cutter) then
currentLevel = 1;
break;
end;
end;
else
currentLevel = 1;
end;
end;
if currentLevel ~= 0 then
currentLevel = currentLevel + 1;
currentLevelText = currentLevel - 1;
end;
end;
if currentLevel ~= 0 and (self.lastLevelUpdate > 500 or self.movingDirection > 0) then
percentage = tonumber(string.format("%d", self.ESLimiter.percentage[currentLevel]));
if percentage < 100 then
percentage = " " .. percentage;
end;
text = Steerable.ESL_LEVEL .. currentLevelText .. ":" .. percentage .. "% ";
g_currentMission:addExtraPrintText(string.format(Steerable.ESL_CONTROLS, self.typeDesc) .. " " .. InputBinding.getKeyNamesOfDigitalAction(InputBinding.ESLimiter_PLUS) .. "/" .. InputBinding.getKeyNamesOfDigitalAction(InputBinding.ESLimiter_MINUS));
end;
self.ESLimiter.overlayBg:render();
self.ESLimiter.overlayBar.width = self.ESLimiter.hudBarWidth * math.min(1, percentage/190);
setOverlayUVs(self.ESLimiter.overlayBar.overlayId, 0, 0.05, 0, 1, math.min(1, percentage/190), 0.05, math.min(1, percentage/190), 1);
self.ESLimiter.overlayBar:render();
self.ESLimiter.overlay:render();
setTextBold(true);
setTextAlignment(RenderText.ALIGN_LEFT);
setTextColor(0, 0, 0, 1);
renderText(self.ESLimiter.xPos + 0.139, self.ESLimiter.yPos + 0.008, 0.02, text);
setTextColor(1, 1, 1, 1);
renderText(self.ESLimiter.xPos + 0.139, self.ESLimiter.yPos + 0.010, 0.02, text);
local operatingHours = math.floor((self.ESLimiter.operatingTime / 1000 / 60 / 60)*10) / 10;
local hours = math.floor(operatingHours);
local minutes = tostring(math.floor((operatingHours - hours)*10));
setTextAlignment(RenderText.ALIGN_RIGHT);
setTextBold(true);
setTextColor(0, 0, 0, 1);
renderText(self.ESLimiter.xPos+0.062, self.ESLimiter.yPos + 0.008, 0.02, tostring(hours) .. ",");
setTextColor(1,1,1,1);
renderText(self.ESLimiter.xPos+0.062, self.ESLimiter.yPos + 0.010, 0.02, tostring(hours) .. ",");
setTextColor(0, 0, 0, 1);
renderText(self.ESLimiter.xPos+0.071, self.ESLimiter.yPos + 0.008, 0.02, minutes);
setTextColor(0.95,0,0,1);
renderText(self.ESLimiter.xPos+0.071, self.ESLimiter.yPos + 0.010, 0.02, minutes);
setTextColor(0, 0, 0, 1);
renderText(self.ESLimiter.xPos+0.08, self.ESLimiter.yPos + 0.008, 0.02, "h");
setTextColor(1,1,1,1);
renderText(self.ESLimiter.xPos+0.08, self.ESLimiter.yPos + 0.010, 0.02, "h");
setTextAlignment(RenderText.ALIGN_LEFT);
end;
function ESLimiter:setNewLimit(level, percentage, noEventSend)
ESLimiterEvent.sendEvent(self, level, percentage, noEventSend);
self.ESLimiter.percentage[level] = percentage;
end;
function ESLimiter:loadFromAttributesAndNodes(xmlFile, key, resetVehicles)
local valueStr = getXMLString(xmlFile, key.."#limiterValues");
if valueStr ~= nil then
local found = string.find(valueStr, ";");
local index = 1;
while found ~= nil do
local value = string.sub(valueStr, 0, found-1);
valueStr = string.sub(valueStr, found+1);
found = string.find(valueStr, ";");
self:setNewLimit(index, tonumber(value), true);
if found == nil then
value = tonumber(valueStr);
self:setNewLimit(index+1, tonumber(value), true);
end;
index = index + 1;
end;
end;
local operatingTime = Utils.getNoNil(getXMLFloat(xmlFile, key .. "#operatingTime"), self.ESLimiter.operatingTime) * 1000;
self:addOperatingTime(operatingTime);
return BaseMission.VEHICLE_LOAD_OK;
end;
function ESLimiter:getSaveAttributesAndNodes(nodeIdent)
local values = "";
for k,v in pairs(self.ESLimiter.percentage) do
if k ~= 1 then
values = values .. ";";
end;
values = values .. string.format("%d", v);
end;
local attributes = 'limiterValues="'.. values .. '" operatingTime="' .. tostring((self.ESLimiter.operatingTime / 1000)) ..'"';
return attributes, nil;
end;
function ESLimiter:addOperatingTime(addTime)
local time = math.max(Utils.getNoNil(addTime, 0), 0);
self.ESLimiter.operatingTime = self.ESLimiter.operatingTime + time;
if self.ESLimiter.operatingTime > (99999.9 * 1000 * 60 * 60) then
self.ESLimiter.operatingTime = 0;
end;
end;
--
-- ESLimiterEvent
-- Networkevent for ESLimiter
--
-- SFM-Modding
-- @author Manuel Leithner
-- @date: 14/12/11
-- @version: v1.0
-- @history: v1.0 - initial implementation
--
ESLimiterEvent = {};
ESLimiterEvent_mt = Class(ESLimiterEvent, Event);
InitEventClass(ESLimiterEvent, "ESLimiterEvent");
function ESLimiterEvent:emptyNew()
local self = Event:new(ESLimiterEvent_mt);
return self;
end;
function ESLimiterEvent:new(vehicle, level, percentage)
local self = ESLimiterEvent:emptyNew()
self.vehicle = vehicle;
self.level = level;
self.percentage = percentage;
return self;
end;
function ESLimiterEvent:readStream(streamId, connection)
local id = streamReadInt32(streamId);
self.level = streamReadInt8(streamId);
self.percentage = streamReadInt16(streamId)/10;
self.vehicle = networkGetObject(id);
self:run(connection);
end;
function ESLimiterEvent:writeStream(streamId, connection)
streamWriteInt32(streamId, networkGetObjectId(self.vehicle));
streamWriteInt8(streamId, self.level);
streamWriteInt16(streamId, self.percentage*10);
end;
function ESLimiterEvent:run(connection)
self.vehicle:setNewLimit(self.level, self.percentage, true);
end;
function ESLimiterEvent.sendEvent(vehicle, level, percentage, noEventSend)
if noEventSend == nil or noEventSend == false then
if g_server ~= nil then
g_server:broadcastEvent(ESLimiterEvent:new(vehicle, level, percentage), nil, nil, vehicle);
else
g_client:getServerConnection():sendEvent(ESLimiterEvent:new(vehicle, level, percentage));
end;
end;
end;[/lua][/expander]
und die Register LUA: [expander][lua]SpecializationUtil.registerSpecialization("esLimiter", "ESLimiter", g_currentModDirectory.."ESLimiter.lua")
ESLimiter_Register = {};
function ESLimiter_Register:loadMap(name)
if self.firstRun == nil then
self.firstRun = false;
print("--- loading ESLimiter - specialization for ESLimiter + OperatingHours by Manuel Leithner (SFM-Modding)");
for k, v in pairs(VehicleTypeUtil.vehicleTypes) do
if v ~= nil then
local allowInsertion = true;
for i = 1, table.maxn(v.specializations) do
local vs = v.specializations[i];
if vs ~= nil and vs == SpecializationUtil.getSpecialization("steerable") then
local v_name_string = v.name
local point_location = string.find(v_name_string, ".", nil, true)
if point_location ~= nil then
local _name = string.sub(v_name_string, 1, point_location-1);
if rawget(SpecializationUtil.specializations, string.format("%s.ESLimiter", _name)) ~= nil then
allowInsertion = false;
-- print(tostring(v.name)..": Specialization ESLimiter is present! ESLimiter was not inserted!");
end;
if rawget(SpecializationUtil.specializations, string.format("%s.operatingHours", _name)) ~= nil then
allowInsertion = false;
-- print(tostring(v.name)..": Specialization operatingHours is present! ESLimiter was not inserted!");
end;
if rawget(SpecializationUtil.specializations, string.format("%s.OperatingHours", _name)) ~= nil then
allowInsertion = false;
-- print(tostring(v.name)..": Specialization OperatingHours is present! ESLimiter was not inserted!");
end;
end;
if allowInsertion then
-- print("adding ESLimiter to:"..tostring(v.name));
table.insert(v.specializations, SpecializationUtil.getSpecialization("esLimiter"));
end;
vs.ESL_DEACTIVATED = g_i18n:getText("ESLimiter_deactivated");
vs.ESL_LEVEL = g_i18n:getText("ESLimiter_level");
vs.ESL_CONTROLS = g_i18n:getText("ESLimiter_controls");
end;
end;
end;
end;
end;
end;
function ESLimiter_Register:deleteMap()
end;
function ESLimiter_Register:keyEvent(unicode, sym, modifier, isDown)
end;
function ESLimiter_Register:mouseEvent(posX, posY, isDown, isUp, button)
end;
function ESLimiter_Register:update(dt)
end;
function ESLimiter_Register:draw()
end;
addModEventListener(ESLimiter_Register);[/lua][/expander]
mfg
die LOG ist sauber alles ganz normal
1. MapDirt Objects sind im Modordner
2.Transformgroups sind drin
3. habe die Eintrgäge aus dem JohnDeere 6920 von Maurus genommen, wenn du willst kann ich sie mal posten
Kann es sein das es nicht geht weil der Schlepper im GE keine Räder hat? Es ist der NewHolland TM175 von BJR-Modding.
mfg
Hallo,
ich will momentan die WheelTracks in einen Schlepper einbauen. Habe alle Einträge eingetragen und die Texturen sowie die .LUA eingefügt.
Nun wollte den Schlepper testen, habe mir ein großes Feld umgepflügt doch es ist nichts com Dirt Ground auf dem Boden zu sehen.
Könnte mir jemand Helfen?
mfg
also ich habe ihn auf der Platte und habe mir eine Rundumleuchte angebaut.
wenn du ihn willst kannst du dich ja melden!
es sind neue Maschinen online
Hallo, habe versucht den PowerTakeoff (Zapfwellenanschluss, Powershaft) der in dem gratis DLC vorhanden ist auf einen Schlepper zu bauen.
Habe alle Eintrgäge in die Moddesc und Traktor XML eingefügt und auch im GE den Attacher an den bestimmten Ort platziert. Doch nun im Spiel möchte ich den Schlepper kaufen, klicke auf den Kaufen Button, es lädt paar sekunden und dann stürzt das Spiel ab. Habe den PowerTakeoff in einen Wender eingebaut und es funktioniert einwandfrei.
Kann mir einer weiterhelfen, wenn sich schon einer damit beschäftigt hat?
mfg
hatte ich auch mit meinen Samsung Galaxy Nexus, es ist irgent ein defekt im Bootloader, musste ihn in die Reparatur geben und nun läuft wieder alles
der Big M500 ist geplant steht sogar auf der offizillen LS Seite, ist nur noch kein Bild zu sehen
klasse Video!
gibt es diese Stettbachtal Map zum DL oder kommt die nocht?