Ich versuche mir ein SkriptMod aus LS 13 zu LS 15 zu konvertieren.
Soweit funktioniert alles bis auf eine Fehlermeldung:
Error: Running LUA method 'update'. C:/Users/Tom/Documents/My Games/FarmingSimulator2015/mods//zzz_parkButtonGlobal/parkButton.lua:61: attempt to perform arithmetic on field 'ingameMapWidth' (a nil value) | ||
parkButton = {}; function parkButton.prerequisitesPresent(specializations) return true; end; function parkButton:load(xmlFile) self.setparkButtonMode = SpecializationUtil.callSpecializationsFunction("setparkButtonMode"); self.parkMode = false; self.parkHotspot = nil; end; function parkButton:delete() if self.parkHotSpot ~= nil then g_currentMission.missionPDA:deleteMapHotspot(self.parkHotSpot); end; end; function parkButton:readStream(streamId, connection) self:setparkButtonMode(streamReadBool(streamId), true); end; function parkButton:writeStream(streamId, connection) streamWriteBool(streamId, self.parkMode); end; function parkButton:mouseEvent(posX, posY, isDown, isUp, button) end; function parkButton:keyEvent(unicode, sym, modifier, isDown) end; function parkButton:update(dt) if self:getIsActive() and self:getIsActiveForInput(false) and self.isClient then if InputBinding.hasEvent(InputBinding.parkCar) then self:setparkButtonMode(not self.parkMode); end; end; end; function parkButton:updateTick(dt) end; function parkButton:draw() if g_currentMission.showHelpText and self.isClient then if self.parkMode then g_currentMission:addHelpButtonText(g_i18n:getText("unparkCar"), InputBinding.parkCar); else g_currentMission:addHelpButtonText(g_i18n:getText("parkCar"), InputBinding.parkCar); end; end; end; function parkButton:setparkButtonMode(parkMode, noEventSend) if parkMode ~= nil then self.parkMode = parkMode; self.nonTabbable = parkMode; parkButtonEvent.sendEvent(self, parkMode, noEventSend); if self.parkMode then local x, y, z = getWorldTranslation(self.rootNode); local iconSize = g_currentMission.ingameMap.Width / 15; if g_currentMission.parkSpotIcon ~= nil then self.parkHotSpot = g_currentMission.ingameMap:createMapHotspot("Parkedcar", g_currentMission.parkSpotIcon, x, z, iconSize, iconSize * (4 / 3), false, false, false, 0, true); end; else if self.parkHotSpot ~= nil then g_currentMission.ingameMap:deleteMapHotspot(self.parkHotSpot); self.parkHotSpot = nil; end; end; end; end; function parkButton:getSaveAttributesAndNodes(nodeIdent) local attributes = ""; attributes = 'parkMode="'..tostring(self.parkMode)..'"'; return attributes, nil; end; function parkButton:loadFromAttributesAndNodes(xmlFile, key, resetVehicles) local parkMode = Utils.getNoNil(getXMLBool(xmlFile, key .. "#parkMode"), false); self:setparkButtonMode(parkMode); return BaseMission.VEHICLE_LOAD_OK; end; ------------------------------------------------------------ parkButtonEvent = {}; parkButtonEvent_mt = Class(parkButtonEvent, Event); InitEventClass(parkButtonEvent, "parkButtonEvent"); function parkButtonEvent:emptyNew() local self = Event:new(parkButtonEvent_mt); self.className="parkButtonEvent"; return self; end; function parkButtonEvent:new(vehicle, parkMode) local self = parkButtonEvent:emptyNew() self.vehicle = vehicle; self.parkMode = parkMode; return self; end; function parkButtonEvent:readStream(streamId, connection) local id = streamReadInt32(streamId); self.parkMode = streamReadBool(streamId); self.vehicle = networkGetObject(id); self:run(connection); end; function parkButtonEvent:writeStream(streamId, connection) streamWriteInt32(streamId, networkGetObjectId(self.vehicle)); streamWriteBool(streamId, self.parkMode); end; function parkButtonEvent:run(connection) self.vehicle:setparkButtonMode(self.parkMode, true); if not connection:getIsServer() then g_server:broadcastEvent(parkButtonEvent:new(self.vehicle, self.parkMode), nil, connection, self.object); end; end; function parkButtonEvent.sendEvent(vehicle, parkMode, noEventSend) if noEventSend == nil or noEventSend == false then if g_server ~= nil then g_server:broadcastEvent(parkButtonEvent:new(vehicle, parkMode), nil, nil, vehicle); else g_client:getServerConnection():sendEvent(parkButtonEvent:new(vehicle, parkMode)); end; end; end; | ||