--[[
https://forum.giants-software.com/viewtopic.php?t=204994
Source of the original code: Trailer.lua by Giants Software
]]
print("------------------------------------------------------------> START LOADING SCRIPT tipSideCountReloaded.lua")
TipSideCountReloaded = {}
function TipSideCountReloaded:onRegisterActionEvents(isActiveForInput, isActiveForInputIgnoreSelection)
if self.isClient then
local spec = self.spec_trailer
-- START ORIGNAL:
-- if spec.tipSideCount < 2 then
-- return
-- end
-- END ORIGINAL
--
-- START ADAPTED:
-- allow processing of further code also if tipSideCount == 1
if spec.tipSideCount < 1 then
return
end
-- END ADAPTED
self:clearActionEventsTable(spec.actionEvents)
if isActiveForInputIgnoreSelection then,
-- START ORIGNAL:
-- local _, actionEventId = self:addActionEvent(spec.actionEvents, InputAction.TOGGLE_TIPSIDE, self, Trailer.actionEventToggleTipSide, false, true, false, true, nil),
-- END ORIGINAL
--
-- START ADAPTED:
-- add the option to toggle tip side only if more than 1 tip side is available
if spec.tipSideCount > 1 then
local _, actionEventId = self:addActionEvent(spec.actionEvents, InputAction.TOGGLE_TIPSIDE, self, Trailer.actionEventToggleTipSide, false, true, false, true, nil)
else
local _, actionEventId = nil
end
-- END ADAPTED
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
local tipSide = spec.tipSides[spec.preferedTipSideIndex]
if tipSide ~= nil then
if tipSide.manualTipToggle then
_, actionEventId = self:addPoweredActionEvent(spec.actionEvents, tipSide.manualTipToggleAction, self, Trailer.actionEventManualToggleTip, false, true, false, true, nil)
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
end
if tipSide.manualDoorToggle then
_, actionEventId = self:addPoweredActionEvent(spec.actionEvents, tipSide.manualDoorToggleAction, self, Trailer.actionEventManualToggleDoor, false, true, false, true, nil)
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
end
end
end
end
end
Trailer.onRegisterActionEvents = Utils.overwrittenFunction(Trailer.onRegisterActionEvents, TipSideCountReloaded.onRegisterActionEvents)
print("------------------------------------------------------------> overwrite done: TipSideCountReloaded:onRegisterActionEvents")
Der Sinn des Lebens ist:
29.61%
Mein Traktor:
Base:
HP Pavilion 690-03xx
Core i7-8700 @ 3.2GHz
NVIDIA GeForce GTX 1060 6GB
2x Benq GL2450H
Windows 10 Home 64bit
Custom:
2 x 16GB Corsair Vengeance LPX DDR4 C16 XMP 2.0
Samsung NVMe M.2 970 EVO Plus 500GB
Samsung SSD 860 EVO 1TB
Logitech G203 Prodigy
Logitech Wireless F710
Leider ist das Wort "Abkippseite" oder halt "Plane" hier mein Steckenpferd
Dann versuch mal hier ne Änderung
<trailer infoText="action_toggleTipSide">
steht nämlich bei <trailer> nix von infoText, wird der default genutz, was bei dir halt immer das "Abkippseite: xyz" erzeugt.
Test da einfach mal bspw. infoText=" " oder irgendwas was dir besser passt.
Ansonsten der generelle Tipp: guck mal in deinem LS Installationsverzeichnis -> /shared/xml/documentation/vehicle.html
Öffnen und mal nach <trailer suchen
Dann hast du alle möglichen Attribute und was man da eintragen kann.....vielleicht hilft dir das ja schon weiter die Möglichkeiten zu verstehen.
PS: leider bin ich quasi nicht mehr aktiv und arbeite deshalb auch an dem toggleAnimations nicht mehr weiter. Die MP-Probleme sind mir aber bekannt.
--[[
https://forum.giants-software.com/viewtopic.php?t=204994
Source of the original code: Trailer.lua by Giants Software
]]
print("------------------------------------------------------------> START LOADING SCRIPT tipSideCountReloaded.lua")
TipSideCountReloaded = {}
function TipSideCountReloaded:onRegisterActionEvents(isActiveForInput, isActiveForInputIgnoreSelection)
if self.isClient then
local spec = self.spec_trailer
-- START ORIGNAL:
-- if spec.tipSideCount < 2 then
-- return
-- end
-- END ORIGINAL
--
-- START ADAPTED:
-- allow processing of further code also if tipSideCount == 1
if spec.tipSideCount < 1 then
return
end
-- END ADAPTED
self:clearActionEventsTable(spec.actionEvents)
if isActiveForInputIgnoreSelection then,
-- START ORIGNAL:
-- local _, actionEventId = self:addActionEvent(spec.actionEvents, InputAction.TOGGLE_TIPSIDE, self, Trailer.actionEventToggleTipSide, false, true, false, true, nil),
-- END ORIGINAL
--
-- START ADAPTED:
-- add the option to toggle tip side only if more than 1 tip side is available
if spec.tipSideCount > 1 then
local _, actionEventId = self:addActionEvent(spec.actionEvents, InputAction.TOGGLE_TIPSIDE, self, Trailer.actionEventToggleTipSide, false, true, false, true, nil)
else
local _, actionEventId = nil
end
-- END ADAPTED
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
local tipSide = spec.tipSides[spec.preferedTipSideIndex]
if tipSide ~= nil then
if tipSide.manualTipToggle then
_, actionEventId = self:addPoweredActionEvent(spec.actionEvents, tipSide.manualTipToggleAction, self, Trailer.actionEventManualToggleTip, false, true, false, true, nil)
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
end
if tipSide.manualDoorToggle then
_, actionEventId = self:addPoweredActionEvent(spec.actionEvents, tipSide.manualDoorToggleAction, self, Trailer.actionEventManualToggleDoor, false, true, false, true, nil)
g_inputBinding:setActionEventTextPriority(actionEventId, GS_PRIO_NORMAL)
end
end
end
end
end
Trailer.onRegisterActionEvents = Utils.overwrittenFunction(Trailer.onRegisterActionEvents, TipSideCountReloaded.onRegisterActionEvents)
print("------------------------------------------------------------> overwrite done: TipSideCountReloaded:onRegisterActionEvents")
Dafür fehlt mir leider noch die Kenntniss es einzubauen. In der xml hat dieses script ja nichts zu suchen.
Meines erachtens muss ich daraus eine .lua machen und dies in der .moddesc und .xml zuweisen?
Ist mir zwar unangenehm zu schreiben: Hierfür bin ich noch in der lernphase und habe keine Ahnung was, wie, wohin.
Leider ist das Wort "Abkippseite" oder halt "Plane" hier mein Steckenpferd
Dann versuch mal hier ne Änderung
<trailer infoText="action_toggleTipSide">
steht nämlich bei <trailer> nix von infoText, wird der default genutz, was bei dir halt immer das "Abkippseite: xyz" erzeugt.
Test da einfach mal bspw. infoText=" " oder irgendwas was dir besser passt.
Ansonsten der generelle Tipp: guck mal in deinem LS Installationsverzeichnis -> /shared/xml/documentation/vehicle.html
Öffnen und mal nach <trailer suchen
Dann hast du alle möglichen Attribute und was man da eintragen kann.....vielleicht hilft dir das ja schon weiter die Möglichkeiten zu verstehen.
Dieser Tip ist Gold wert - damit kann ich wenigstens die Taste "U" komplett umbennen. Ist zwar immernoch im F1 Menü zu sehen - aber als Notlösung akzeptabel. Rein theoretisch kann man <trailer infoText=""> leer lassen und es wird im F1 Menü, bei "U" gar nichts mehr angezeigt
wenn man wenigstens bei Taste "U" einfach nur einen Sound abspielen könnte, wäre sie nicht ganz nutzlos - aber das ist wahrscheinlich wunschdenken. Taste "U" schaltet ja leider nur tipside hin und her
In der Mod-xml muss in diesem Fall nichts geändert werden.
Wenn das Script geladen wird, erscheinen die zwei laaaaaangen print-Zeilen in der Log.
da-hoffi wrote: ↑Mon Feb 19, 2024 10:00 pm
Dann versuch mal hier ne Änderung
<trailer infoText="action_toggleTipSide">
Oh, verdammt ! Daran hab ich gestern ewig rumgebastelt - irgendwie hatte ich das im Quelltext fehlinterpretiert und war die ganze Zeit in "trailerConfiguration" unterwegs. In "trailer" geht es aber. Damit läßt sich für die scriptfreie Variante noch eine ganz schöne Alternative realisieren: per "U" die Funktionen separat benennen und umschalten. Ändere mein Beispiel mit den zwei tipSides mal z.B. so ab:
Das hatte ich tatsächlich schon vorab probiert - hier nun wieder war das problem das immer nur eine animation laufen kann.
Bei meinem Beispiel muss erst die Rundumleuchte wieder einfahren , bevor ich die zweite Animation überhaupt starten kann
Ich teste mal dein script, bin mir aber nicht sicher ob ich es am Ende nutzen werde (Modhub / Crossplay inkompatibel) - das muss ich abstimmen lassen. Wir arbeiten zu dritt an diesem "sehr speziellen" Fahrzeug
Ach ja, stimmt ! Ich vergesse bei der seltsamen Konstruktion immer, dass es sich ja formell weiter um einen "Kipper" handelt.
Aber ... in dem Fahrzeug gibt es doch vermutlich nichts, was eine Entladung triggern könnte (also: kein dischargeable), oder ? Dann könnte man ja die manuellen Animationen alle in die erste tipSide packen und die zweite tipSide auf "Automatik" mit einer dummy-Animation stehen lassen - weil die könnte dann ja nie ausgelöst werden. Der "U-Text" wäre dann z.B. so ganz sinnvoll benutzbar und man kann beide Animationen über Z und Y unabhängig voneinander steuern:
Nun kann ich endlich sagen/zeigen um was es genau ging. Danke für eure damalige Hilfe
Für Konsolen ist er leider lizenztechnisch nicht möglich, also sind scripts kein Problem.