hallo alle,
ich habe die Passenger.lua aus dem Newholland, welcher veröffentlicht wurde,die Lua in einen anderen Traktor gebaut.
Funktoniert auch gut.
nur wenn ich als Passagier aussteige, kommt ein lua Fehler in der Log.
ZitatLua: Error running function: update
C:/Users/xxxx/Documents/My Games/FarmingSimulator2011/mods/meintraktor/Specializations/Passenger.lua(101) : attempt to index field 'passengerPlayer' (a nil value)
wenn man sich nun den Teil in der Lua ansieht:
[lua]function Passenger:update(dt)
if self.passengerPlayer ~= nil then
self.passengerCameras[1]:update(dt);
if self.passengerName == g_settingsNickname then
if InputBinding.hasEvent(InputBinding.CHAT) and not self.isChatting then
self.isChatting = true;
end;
if InputBinding.hasEvent(InputBinding.SEND_CHAT_MESSAGE) and self.isChatting then
self.isChatting = false;
end;
if InputBinding.hasEvent(InputBinding.ENTER) and not self.isChatting then
self.passengerCameras[1]:onDeactivate();
setCamera(self.passengerPlayer.cameraId);
self:setPassenger("Exited", nil);
end;
local pcx, pcy, pcz = getRotation(self.passengerPlayer.cameraId);
local prx, pry, prz = getRotation(self.passengerPlayer.graphicsRootNode);
setRotation(self.passengerCameras[1].cameraNode, pcx, pry, 0);
g_currentMission:addHelpButtonText(string.format(g_i18n:getText("EXIT_PASSENGERSEAT"), self.typeDesc), InputBinding.ENTER);
end;
if self.passengerPlayer ~= nil then
if g_currentMission:getIsServer() then
if g_currentMission.connectionsToPlayer[self.passengerPlayer.creatorConnection] == nil then
self:setPassenger("Disconnected", nil);
end;
end;
end;
end;
if self.passengerPlayer ~= nil then
-- if player joins a vehicle, set passenger-spot not taken!
if not self.passengerPlayer.isControlled and not self.passengerPlayer.isEntered then
self:setPassenger("ExitedToOtherVehicle", nil);
end;
end;
-- Manage key events for inrange --
if self.inRangeOfVehicle and self.passengerPlayer == nil and self.isControlled and g_settingsNickname ~= self.controllerName then
g_currentMission:addHelpButtonText(string.format(g_i18n:getText("ENTER_PASSENGERSEAT"), self.typeDesc), InputBinding.ENTER);
if InputBinding.hasEvent(InputBinding.ENTER) then
self:setPassenger(g_settingsNickname, g_currentMission.player);
self.passengerCameras[1]:onActivate();
end;
end;
end;[/lua]
kann es doch gar nicht sein, dass self.passengerPlayer ein nil ist oder, weil oben wird doch gesagt,
[lua] if self.passengerPlayer ~= nil then[/lua]
dass er nur ausführen soll, wenn self.passengerPlayer nicht nil ist.
Wo liegt denn nun der Fehler?
ich bin ratlos