Hallo ich brauche Hilfe zwecks LUA

Eure Foren für alle Diskussionen rund ums Thema Modding.
LudmillaPower
Posts: 88
Joined: Tue Apr 16, 2013 3:51 pm

Hallo ich brauche Hilfe zwecks LUA

Post by LudmillaPower »

Hallo ich brauche Hilfe zwecks HardCodedRpm.lua die wir bereits aus den LS 15 in den LS 17 geholt haben , die Lua funktioniert so weit ... wir verwenden Sie in unseren T174 Bagger, es gibt aber ein Problem und zwar, es wird nur motorSoundRun; & motorSound file hochgedreht sobald ich den Bagger Arm bewege , Ich möchte aber das motorSoundLoad file; mit hochdreht! Was Muss ich hinzufügen zum Script??


HardCodedRpm = {};

function HardCodedRpm.prerequisitesPresent(specializations)
return true;
end;

function HardCodedRpm:load(savegame)
self.getPtoRpm = Utils.overwrittenFunction(self.getPtoRpm, HardCodedRpm.getPtoRpm);
self.getDoConsumePtoPower = Utils.overwrittenFunction(self.getDoConsumePtoPower, HardCodedRpm.getDoConsumePtoPower);

self.workRpm = {};
self.workRpm.rpm = 0;
self.workRpm.releaseRpmTimer = 0;
self.workRpm.maxTime = 200; -- how long rpm last after movingTool stopped
self.workRpm.rpmOnLoad = 2000; -- how high rpm will go when movingTool move
self.workRpm.movingToolIds = {3, 4}; -- movingTool indice
end;

function HardCodedRpm:delete()
end;

function HardCodedRpm:readStream(streamId, connection)
end;

function HardCodedRpm:writeStream(streamId, connection)
end;

function HardCodedRpm:mouseEvent(posX, posY, isDown, isUp, button)
end;

function HardCodedRpm:keyEvent(unicode, sym, modifier, isDown)
end;

function HardCodedRpm:update(dt)
end;

function HardCodedRpm:updateTick(dt)
if self:getIsActive() then
local neededRpm = 0;
local implementIndex = self:getImplementIndexByJointDescIndex(1);

if implementIndex ~= nil then
local obj = self.attachedImplements[implementIndex].object;

if obj.getPtoRpm ~= nil then
local rpm = obj:getPtoRpm()

if rpm > 0 then
neededRpm = self.workRpm.rpmOnLoad + rpm;
end;
end;
end;

if neededRpm == 0 then
for _, toolId in ipairs(self.workRpm.movingToolIds) do
local tool = self.movingTools[toolId];

if tool.rotSpeed ~= nil then
if tool.lastRotHistoryRPM == nil then
tool.lastRotHistoryRPM = tool.curRot[tool.rotationAxis];
end;

if 0.00001 < math.abs(tool.lastRotHistoryRPM - tool.curRot[tool.rotationAxis]) then
tool.lastRotHistoryRPM = tool.curRot[tool.rotationAxis];
neededRpm = self.workRpm.rpmOnLoad;
end;
end;

if tool.transSpeed ~= nil then
if tool.lastTransHistoryRPM == nil then
tool.lastTransHistoryRPM = tool.curTrans[tool.translationAxis];
end;

if 0.00001 < math.abs(tool.lastTransHistoryRPM - tool.curTrans[tool.translationAxis]) then
tool.lastTransHistoryRPM = tool.curTrans[tool.translationAxis];
neededRpm = self.workRpm.rpmOnLoad;
end;
end;
end;
end;

if neededRpm > 0 then
self.workRpm.rpm = neededRpm;
self.workRpm.releaseRpmTimer = g_currentMission.time + self.workRpm.maxTime;
else
if g_currentMission.time > self.workRpm.releaseRpmTimer then
self.workRpm.rpm = 0;
self.workRpm.releaseRpmTimer = 0;
end;
end;
end;
end;

function HardCodedRpm:draw()
end;

function HardCodedRpm:onLeave()
self.workRpm.rpm = 0;
self.workRpm.releaseRpmTimer = 0;
end;

function HardCodedRpm:getPtoRpm(oldFunc)
return self.workRpm.rpm;

-- local rpm = self.workRpm.rpm;

-- if oldFunc ~= nil then
-- rpm = rpm + oldFunc(self);
-- end;

-- return rpm;
end;

function HardCodedRpm:getDoConsumePtoPower(oldFunc)
return self.workRpm.rpm > 0;

-- if not consume and oldFunc ~= nil then
-- return oldFunc(self);
-- end;

-- return consume;
end;