Hallo,
ich habe vor in meinen IHC 856 XLA IC Steuerung für die Arbeitslichter einzubauen. Ich weiß nur nicht wie ich das machen soll. Weiß jemand von euch wie man das machen?
Hallo,
ich habe vor in meinen IHC 856 XLA IC Steuerung für die Arbeitslichter einzubauen. Ich weiß nur nicht wie ich das machen soll. Weiß jemand von euch wie man das machen?
das wird über die interactive_buttons gemacht.
Allerdings haben die meisten im Umlauf befindlichen luas das nicht dabei.
Also entweder scripten lernen oder n mod suchen der das schon hat.
Ich persönlich kenne sogar nur private mods damit.
Wie muss sowas denn aussehen?
ich schließe mic der frage an weil ich würde das gerne auch wissen weil ich spaß am selber machen und probieren habe
Ja, was soll ich jetzt sagen "wie es aussieht". LUA halt
Hier mal die gängigste. Ab Zeile 111 wird die Funktion geschrieben für die einzelnen "Knöpfe"
--
-- InteractiveButtons
-- Specialization for an interactive control button
--
-- @author Manuel Leithner (SFM-Modding)
-- @version v2.1
-- @date 29/08/11
-- @history: v1.0 - Initial version
-- v2.0 - converted to ls2011
-- v2.1 - improvements
--
-- free for noncommerical-usage
--
InteractiveButtons = {};
function InteractiveButtons.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(InteractiveControl, specializations);
end;
function InteractiveButtons:load(savegame)
local i=0;
while true do
local buttonName = string.format("vehicle.interactiveComponents.buttons.button(%d)", i);
if not hasXMLProperty(self.xmlFile, buttonName) then
break;
end;
local name = Utils.getNoNil(g_i18n:getText(getXMLString(self.xmlFile, buttonName .. "#name")), "ERROR");
local mark = Utils.indexToObject(self.components, getXMLString(self.xmlFile, buttonName .. "#mark"));
local highlight = getChildAt(mark, 0);
local size = Utils.getNoNil(getXMLFloat(self.xmlFile, buttonName .. "#size"), 0.1);
local event = getXMLString(self.xmlFile, buttonName .. "#event");
local onMessage = g_i18n:getText(Utils.getNoNil(getXMLString(self.xmlFile, buttonName .. "#onMessage"), "ic_button_on"));
local offMessage = g_i18n:getText(Utils.getNoNil(getXMLString(self.xmlFile, buttonName .. "#offMessage") , "ic_button_off"));
local button = Button:new(nil, highlight, name, mark, size, event, self, onMessage, offMessage, self.infoBar);
button.synch = Utils.getNoNil(getXMLBool(self.xmlFile, buttonName .. "#synch"), true);
table.insert(self.interactiveObjects, button);
i = i + 1;
end;
end;
function InteractiveButtons:delete()
end;
function InteractiveButtons:mouseEvent(posX, posY, isDown, isUp, button)
end;
function InteractiveButtons:keyEvent(unicode, sym, modifier, isDown)
end;
function InteractiveButtons:update(dt)
end;
function InteractiveButtons:draw()
end;
--
-- Button Class
-- Specifies an interactive Button
--
-- SFM-Modding
-- @author Manuel Leithner
-- @date 29/08/11
--
Button = {};
function Button:new(node, highlight, name, mark, size, event, vehicle, onMessage, offMessage, infobar)
local Button_mt = Class(Button, InteractiveComponentInterface);
local instance = InteractiveComponentInterface:new(node, highlight, name, mark, size, onMessage, offMessage, infobar, Button_mt);
instance.vehicle = vehicle;
instance.event = event;
return instance;
end;
function Button:delete()
InteractiveComponentInterface.delete(self);
end;
function Button:mouseEvent(posX, posY, isDown, isUp, button)
InteractiveComponentInterface.mouseEvent(self, posX, posY, isDown, isUp, button);
end;
function Button:keyEvent(unicode, sym, modifier, isDown)
InteractiveComponentInterface.keyEvent(self, unicode, sym, modifier, isDown);
end;
function Button:update(dt)
if self.vehicle ~= nil then
if self.event == "cablight" then
self.isOpen = self.vehicle.cl.turnOn;
--elseif self.event == " " then
end;
end;
InteractiveComponentInterface.update(self, dt);
end;
function Button:draw()
InteractiveComponentInterface.draw(self);
end;
function Button:doAction(noEventSend, forceAction)
if self.vehicle ~= nil then
if self.event == "cablight" then
if forceAction == nil then
local state = not self.vehicle.cl.turnOn;
self.vehicle:setCablight(state, true);
end;
-- elseif self.event == "" then
end;
end;
end;
function Button:onEnter(dt)
InteractiveComponentInterface.onEnter(self, dt);
end;
function Button:onExit(dt)
InteractiveComponentInterface.onExit(self, dt);
end;
function Button:setActive()
InteractiveComponentInterface.setActive(self, isActive);
end;
function Button:setVisible(isVisible)
InteractiveComponentInterface.setVisible(self, isVisible);
end;
Alles anzeigen
Was muss ich in der InteractiveButtons.lua in meinem Mod noch hinzufügen, damit ich die Lichter per IC Steuern kann
--
-- InteractiveButtons
-- Specialization for an interactive control button
--
-- @author Manuel Leithner (SFM-Modding)
-- @version v2.1
-- @date 29/08/11
-- @history: v1.0 - Initial version
-- v2.0 - converted to ls2011
-- v2.1 - improvements
--
-- free for noncommerical-usage
--
InteractiveButtons = {};
function InteractiveButtons.prerequisitesPresent(specializations)
return SpecializationUtil.hasSpecialization(InteractiveControl, specializations);
end;
function InteractiveButtons:load(savegame)
local i=0;
while true do
local buttonName = string.format("vehicle.interactiveComponents.buttons.button(%d)", i);
if not hasXMLProperty(self.xmlFile, buttonName) then
break;
end;
local name = Utils.getNoNil(g_i18n:getText(getXMLString(self.xmlFile, buttonName .. "#name")), "ERROR");
local mark = Utils.indexToObject(self.components, getXMLString(self.xmlFile, buttonName .. "#mark"));
local highlight = getChildAt(mark, 0);
local size = Utils.getNoNil(getXMLFloat(self.xmlFile, buttonName .. "#size"), 0.1);
local event = getXMLString(self.xmlFile, buttonName .. "#event");
local onMessage = g_i18n:getText(Utils.getNoNil(getXMLString(self.xmlFile, buttonName .. "#onMessage"), "ic_button_on"));
local offMessage = g_i18n:getText(Utils.getNoNil(getXMLString(self.xmlFile, buttonName .. "#offMessage") , "ic_button_off"));
local button = Button:new(nil, highlight, name, mark, size, event, self, onMessage, offMessage, self.infoBar);
button.synch = Utils.getNoNil(getXMLBool(self.xmlFile, buttonName .. "#synch"), true);
table.insert(self.interactiveObjects, button);
i = i + 1;
end;
end;
function InteractiveButtons:delete()
end;
function InteractiveButtons:mouseEvent(posX, posY, isDown, isUp, button)
end;
function InteractiveButtons:keyEvent(unicode, sym, modifier, isDown)
end;
function InteractiveButtons:update(dt)
end;
function InteractiveButtons:draw()
end;
--
-- Button Class
-- Specifies an interactive Button
--
-- SFM-Modding
-- @author Manuel Leithner
-- @date 29/08/11
--
Button = {};
function Button:new(node, highlight, name, mark, size, event, vehicle, onMessage, offMessage, infobar)
local Button_mt = Class(Button, InteractiveComponentInterface);
local instance = InteractiveComponentInterface:new(node, highlight, name, mark, size, onMessage, offMessage, infobar, Button_mt);
instance.vehicle = vehicle;
instance.event = event;
return instance;
end;
function Button:delete()
InteractiveComponentInterface.delete(self);
end;
function Button:mouseEvent(posX, posY, isDown, isUp, button)
InteractiveComponentInterface.mouseEvent(self, posX, posY, isDown, isUp, button);
end;
function Button:keyEvent(unicode, sym, modifier, isDown)
InteractiveComponentInterface.keyEvent(self, unicode, sym, modifier, isDown);
end;
function Button:update(dt)
if self.vehicle ~= nil then
if self.event == "cablight" then
self.isOpen = self.vehicle.cl.turnOn;
--elseif self.event == " " then
end;
end;
InteractiveComponentInterface.update(self, dt);
end;
function Button:draw()
InteractiveComponentInterface.draw(self);
end;
function Button:doAction(noEventSend, forceAction)
if self.vehicle ~= nil then
if self.event == "cablight" then
if forceAction == nil then
local state = not self.vehicle.cl.turnOn;
self.vehicle:setCablight(state, true);
end;
-- elseif self.event == "" then
end;
end;
end;
function Button:onEnter(dt)
InteractiveComponentInterface.onEnter(self, dt);
end;
function Button:onExit(dt)
InteractiveComponentInterface.onExit(self, dt);
end;
function Button:setActive()
InteractiveComponentInterface.setActive(self, isActive);
end;
function Button:setVisible(isVisible)
InteractiveComponentInterface.setVisible(self, isVisible);
end;
Alles anzeigen
Ich kann nicht scripten!
Das ist ja das Problem an der Sache...das ist nicht mal so eben da reingeschrieben.
Ich würd mal bei den 1050 Fendt suchen wenn ich du wäre da habs ich auf jeden fall her für meinen 1455xl.
Ps. Wer suchet der findet. Google. mfg. Mc.323.
Welcher war das denn?
'McCormick 323' Welcher war es denn?
Eigentlich hab ich nicht die Zeit und die Lust für irgendwelche User ihren Sachen zusammenzusuchen mir hilft auch keiner, aber ich habn guten Tag such mal die 6-844 raus von Kreters und schau mal da rein da gibts das was du brauchst.